やっとマウスで各ツールが使えるようになりました!
あぁ…、マウス操作って楽…。
この間までジョイスティックでポチポチ打ってたのが、なんと馬鹿らしいことか…。
そういえば、実は昔「FONT EDITOR」に追加機能を加えてる途中で、MSXでの開発が終わった経緯があります。
どんな機能だったかと言うと、「自由描画モード」です。
「FONT EDITOR」右側のフリーエリアに、キャラクタを並べてそこで「自由描画モード」にすると、普通にお絵かきが出来ます。
キャラクタ上で描いた絵は、そのままフォントデータとしてフォントエリアにも反映するという、優れものになる構想でした。
この機能は巨大ボスキャラや、ロールプレイングゲームの敵キャラクタを、方眼紙を使わずに楽にデザインできないかと考え、思いついた機能でした。
これをやりかけてた証拠に、前段として「ブロック描画」機能を付けてます。(GRAPHICのを左クリック)
多分、この構想を知らなければ「この機能は何?」と思われたと思います。
「ブロック描画」でキャラクタを配置し、そこへ「自由描画モード」で絵を描けるようにする構想でした。
今後もMSXの開発続けるなら、改めて実装したい機能ですね。
2023年07月31日
2023年07月30日
BlueMSXでマウスが動いた!!
前回の実験で、マウスが動作することが確認でき、何が原因なんだろうと考えていました。
そんな時、ふと、昔はジョイパッドをポート1に、マウスをポート2に刺しっ放しだったなぁ…と、思い出しました。
その状況だったなら、ひょっとしたらマウスのポート判断してない(若しくはバグがあっても気付いていなかった)可能性はないのかな?と、思い当たりました。
うーん…。(プログラム検証中…。)
あれ?
選択したコントローラー?b?、マシン語にPOKEする値がおかしい…。
150行で、キーボードだけを判断する必要性が不明。
これマウスだけ判断と間違ってるかも…。
プログラム修正…。
…う、動いたー!!
こんなことか…。
悩みに悩んだ1ヶ月が…。
まぁ…、そんなもんですね…。
マウスが動かないのを、MSXエミュレーターのせいにしてスイマセン。
…これ、本当に実機でちゃんと動いてたのか?
元々マウス専用だったのを、一度マウスが壊れた時、ジョイスティック対応したのですが、マウス購入後マウス対応に直し忘れたか…。
うーん、自作プログラムをオープンにせず、限られた環境での動作検証しかしてこなかった悪影響が、今更出ました。
マウス使うツール(「FONT EDITOR」、「SPRITE EDITOR」、「MAP8 EDITOR」)修正して、修正版を公開します。
でも、今動いて良かった。
後日公開予定のツール「MAP16 EDITOR」は現状マウス専用なので、マウス動かなければ公開不可でした。
実は前述3ツールも、元々は全てマウス専用でした。
先程書きましたが、ある日、マウスが壊れて動かなくなった時、次のマウス購入するまでの間、ジョイスティック対応させただけなのです。
その時必要のなかった「MAP16 EDITOR」のみジョイスティック対応漏れた感じです。
不具合解消したので、「MAP16 EDITOR」をツール公開する際には、他のツールと合わせてジョイスティック対応にします。
そんな時、ふと、昔はジョイパッドをポート1に、マウスをポート2に刺しっ放しだったなぁ…と、思い出しました。
その状況だったなら、ひょっとしたらマウスのポート判断してない(若しくはバグがあっても気付いていなかった)可能性はないのかな?と、思い当たりました。
うーん…。(プログラム検証中…。)
あれ?
選択したコントローラー?b?、マシン語にPOKEする値がおかしい…。
150行で、キーボードだけを判断する必要性が不明。
これマウスだけ判断と間違ってるかも…。
プログラム修正…。
…う、動いたー!!
こんなことか…。
悩みに悩んだ1ヶ月が…。
まぁ…、そんなもんですね…。
マウスが動かないのを、MSXエミュレーターのせいにしてスイマセン。
…これ、本当に実機でちゃんと動いてたのか?
元々マウス専用だったのを、一度マウスが壊れた時、ジョイスティック対応したのですが、マウス購入後マウス対応に直し忘れたか…。
うーん、自作プログラムをオープンにせず、限られた環境での動作検証しかしてこなかった悪影響が、今更出ました。
マウス使うツール(「FONT EDITOR」、「SPRITE EDITOR」、「MAP8 EDITOR」)修正して、修正版を公開します。
でも、今動いて良かった。
後日公開予定のツール「MAP16 EDITOR」は現状マウス専用なので、マウス動かなければ公開不可でした。
実は前述3ツールも、元々は全てマウス専用でした。
先程書きましたが、ある日、マウスが壊れて動かなくなった時、次のマウス購入するまでの間、ジョイスティック対応させただけなのです。
その時必要のなかった「MAP16 EDITOR」のみジョイスティック対応漏れた感じです。
不具合解消したので、「MAP16 EDITOR」をツール公開する際には、他のツールと合わせてジョイスティック対応にします。
2023年07月29日
ブログについて
カテゴリ整理して気付きましたが、このブログのメイン(?)である「 MSX回顧録 」が全然進んでいない…。
ブログ開設から4カ月も経っているのに、いまだ高校を卒業していない…。
既に未公開記事だけで9月半ば頃まで分はストックがあります。
なかなか減らないのは他のカテゴリの記事が割って入って来てるから…。
うーん、やっぱり「 Laboratory 」に力入れすぎました。
本当は回顧録は3〜4カ月で終わらせて、そこから開発メインで進める予定だったのですが…。
「やっぱりMSXでの開発は面白い!」
自分で考えていた以上に自分はクリエイターだったんだなと思い知りました。
もう今更なので、このペースでゆっくりのんびり続けていきたいと思います。
そういえば、最近ではこのブログのPVも、1日200前後で推移しています。
コメントないのでどなたが見に来てくれているのか分かりませんが、それなりのPVなんじゃないのかな?
FANBLOGの総合人気順位でも、800〜1,700位をウロウロしてます。
でも、流石にこれだけ続けてて全然反応がないのは寂しい…。
ツイッターでMSX関連のツイートが賑わっているので、そっちにも手出してみようかしら…。
2023年07月28日
BlueMSXでマウス動かず!(実験プログラム)
先日書いた、BIOSの「GTPAD」で単純に値のみ読み込んで表示するプログラムを作ってみました。 (2023年7月26日記事参照「 BlueMSXでマウス動かず!(プログラム見直し)
」)
こんな単純なプログラムです。
マウスに合わせてマウスポインタを移動させ、その座標を表示するプログラムです。
座標の表示には、Laboratoryテーマ??5「 16ビットアドレス値の10進数表示 」を利用しています。
実質、マウス値取得とカーソル表示は、330行〜420行です。
いざ、実験!
う、動いた!!
えー…。
何で動いたんだろう??
「SPRITE EDITOR」のプログラムから、マウス値取得とカーソル表示部分を抜き出して、座標表示を追加しただけのプログラムなのに…。
でもこれで動いたってことは、やっぱりどこかに問題があるんだよなぁ…。
うーん…、違いがあるとしたら、「GTPAD」をコールする時、装置IDをAレジスタに代入しますが、このAレジスタに直接値を代入しているか、変数(コントローラー選択値)から代入しているかくらいの違いしかないです。
それで動かないなんてことはないと思うんだけどな…。
こんな単純なプログラムです。
マウスに合わせてマウスポインタを移動させ、その座標を表示するプログラムです。
座標の表示には、Laboratoryテーマ??5「 16ビットアドレス値の10進数表示 」を利用しています。
実質、マウス値取得とカーソル表示は、330行〜420行です。
いざ、実験!
う、動いた!!
えー…。
何で動いたんだろう??
「SPRITE EDITOR」のプログラムから、マウス値取得とカーソル表示部分を抜き出して、座標表示を追加しただけのプログラムなのに…。
でもこれで動いたってことは、やっぱりどこかに問題があるんだよなぁ…。
うーん…、違いがあるとしたら、「GTPAD」をコールする時、装置IDをAレジスタに代入しますが、このAレジスタに直接値を代入しているか、変数(コントローラー選択値)から代入しているかくらいの違いしかないです。
それで動かないなんてことはないと思うんだけどな…。
2023年07月27日
新入部員
突然ですが、パソコン同好会に3人の1年生会員が入りました!
部活動紹介イベントからしばらく経ち、すっかり見学も来なくなり、諦めムード漂う6月頃だったかと思います。
ある日突然、パソコン同好会の顧問の先生が、自分が担任を務めるクラスの部活動がまだ決まっていない女子3名を、勧誘してきてくれました。
GoodJob! 顧問!!
しかも、無事入会してくれました。
おおー!
これで人数構成は、3年10名、1年3名の計13名。
但し、幽霊3名…。
しかしこれでなんとか、パソコン同好会の灯を後年に残す事が出来ました。
最後の会長って嫌ですもんね…。
でもまぁ、ウチの顧問は運動部との掛け持ち顧問だったので、ウチの活動があっても姿を現さないので、年に1回か2回しか見たことなかったのですが、初めて顧問らしい仕事をしてくれたと思いました。
あと、学校で事務仕事に使ってたパソコン(?)を新しいのに変えたとかで、古いパソコン(?)をウチにくれる事になりました。
ただ、OKIのパソコン(?)で、機種名も聞いたことがない代物で、ゲームとか作れるのか?
(そもそもパソコンなのか?)
一応BASICは動くようなのですが、なんか命令も独特で「3年生の今から覚えるの不可能だろ」って、突っ込みたくなりました。(3年生の引退は10月頃)
まぁ、1年生がいるからいっか!
2023年07月26日
BlueMSXでマウス動かず!(プログラム見直し)
未だ「FONT EDITOR」でマウス動きません…。
そろそろ3DダンジョンRPG、敵のグラフィックを考えたいんですが…。
と、言う訳で「FONT EDITOR」のプログラムを見直してみました。
マウス位置の取得には、BIOSの「GTPAD」(&H00DB)を利用しています。
実機では動いていたはずなので、問題ないはずなのですが…。
エミュレーターとマウスの相性が悪いのかと考え、SONYのMSX2+本体に付属していたグラフィックツールを使って実験。
マウス選択…。
おぉ、マウス使える…。
…やっぱり、自作ツールのみ動かない状態ですね。
何が悪いんだろう?
「GTPAD」が悪いのか?
BIOSだし、そんなことあるのか?
うーん、一度「GTPAD」で単純に値のみ読み込んで表示するプログラムを作って、ちゃんと動作するか試してみる事にします。
そろそろ3DダンジョンRPG、敵のグラフィックを考えたいんですが…。
と、言う訳で「FONT EDITOR」のプログラムを見直してみました。
マウス位置の取得には、BIOSの「GTPAD」(&H00DB)を利用しています。
実機では動いていたはずなので、問題ないはずなのですが…。
エミュレーターとマウスの相性が悪いのかと考え、SONYのMSX2+本体に付属していたグラフィックツールを使って実験。
マウス選択…。
おぉ、マウス使える…。
…やっぱり、自作ツールのみ動かない状態ですね。
何が悪いんだろう?
「GTPAD」が悪いのか?
BIOSだし、そんなことあるのか?
うーん、一度「GTPAD」で単純に値のみ読み込んで表示するプログラムを作って、ちゃんと動作するか試してみる事にします。
2023年07月25日
【ゲーム制作】3Dダンジョンロールプレイングゲーム 第7回
3Dダンジョンロールプレイングゲーム第7回目です。
相変わらず遅々として進まない...。
今回は3Dダンジョン表示の準備として、キャラクタデータをデータ化します。
これは、Laboratoryで紹介した、「任意サイズのFONTキャラクタを指定座標に表示」させるサブルーチンで表示させる為です。
しかし、いくらデータ化といえど、DATA文中に直接キャラクタコードを打ち込んでいくのは非常に大変です。
そこで私が昔使っていた、キャラクタを読み込んでキャラクタデータファイル化する便利なプログラムを公開します。
これがあるのとないのとでは、労力が段違いです。
まぁ、大層なことはしていないので、ツール化はしません。
CHARSET.BAS【 ダウンロード 】
使い方は、FONTEDITORでフォントを作成し、保存。
そのまま「Ctrl」+「STOP」で強制終了し、上のプログラムをLOAD。
FONTが残ったままの状態で、プログラムを「LIST」表示し、プログラム下部のDATA文の中にキャラクタを描くように配置していきます。
この時、1行毎の「ENTER」を忘れないように注意。
データ登録ルールとして、1キャラクタデータの最初に、キャラクタ名を登録。(3,160行)
1キャラクタデータの終わりには「FF」を登録(4,150行)、そのまま2キャラ目を配置してください。
データが終わった最後のDATA文に「END」を入れてください。(4,160行)
登録が終わったら「RUN」実行。
「キャラクタ名」、「データ開始アドレス」を一覧化して終了します。
次回は、このツールを使いキャラクタデータを作成します。
2023年07月24日
細かく修正?G
「 MSX雑記 」カテゴリを新設し、他各カテゴリにあまり該当しないMSX関連記事をこちらに統合。(主に「 MSX回顧録 」と「 ゲーム製作 」。)
「 リンク 」に「Disk-Manager」作者であるLex Lechzさんのホームページ追加。
「 Laboratory 」のテーマメニューに新しく9テーマを追加。
「 ダウンロード 」に追加で新規公開したゲームやツール、サンプルの記事へのリンク追加、「 Laboratory 」テーマメニューの公開分記事へのリンク追加。
それ以外は、画像の貼り直しや、記事の誤記の修正程度です。
2023年07月23日
作品?J初ロールプレイングゲーム
次はこれ。
当時のマイコンBASICマガジンの投稿作(投稿者:KARITTO氏)の「DRAGON BUSTER」を移植してみました。
1画面ロールプレイングゲームです。
当時流行っていたロールプレイングゲーム。
私はターン制を嫌っていたこともあり、ドラクエもほぼプレイしていない状態でした。
そんな時、マイコンBASICマガジンに投稿されていた「DRAGON BUSTER」なるソフトを発見し、興味を惹かれ移植してみることにしました。
元作がオールBASICでしたので、ゲーム的にはほぼ完全移植となります。(BGMはありませんでした。)
初ロールプレイングゲームという事で、パラメーター制や、メッセージ表示、お店、レベルアップ制、ターン制バトル等、色々初機能を採用しております。
敵グラフィックをいろんなところから引っ張ってきて組み上げた作品です。
エンディングに著作者表記していますが、公開不可の場合はご連絡をお願いします。
当時のマイコンBASICマガジンの投稿作(投稿者:KARITTO氏)の「DRAGON BUSTER」を移植してみました。
1画面ロールプレイングゲームです。
■主な新テクニック
・初ロールプレイングゲーム
・文字フェードイン/アウト機能実装
・初ロールプレイングゲーム
・文字フェードイン/アウト機能実装
当時流行っていたロールプレイングゲーム。
私はターン制を嫌っていたこともあり、ドラクエもほぼプレイしていない状態でした。
そんな時、マイコンBASICマガジンに投稿されていた「DRAGON BUSTER」なるソフトを発見し、興味を惹かれ移植してみることにしました。
元作がオールBASICでしたので、ゲーム的にはほぼ完全移植となります。(BGMはありませんでした。)
初ロールプレイングゲームという事で、パラメーター制や、メッセージ表示、お店、レベルアップ制、ターン制バトル等、色々初機能を採用しております。
敵グラフィックをいろんなところから引っ張ってきて組み上げた作品です。
エンディングに著作者表記していますが、公開不可の場合はご連絡をお願いします。
タイトル
『 DRAGON BUSTER 』
作品??
11
内容
地図のどこかに潜んでいるドラゴンを見付けて倒してください。
操作方法
起動し、しばらくするとオープニングが始まります(Aボタンで省略可)
タイトルが表示されたら、Aボタンでゲーム開始
十字キーで、自機を移動
メニューは十字キーで選択、Aボタンで決定、Bボタンでキャンセル対応機種
MSX1、MSX2、MSX2+
製作年
1989年
ライセンス
作者:KARITTO氏
THANKS:YOSHIYUKI WAGA氏
THANKS:SHOJI KOBAYASHI氏
THANKS:TOSHIYUKI ARAKI氏
THANKS:KAZUKI NAKAMURA氏
※ THANKSはグラフィック※ゲーム内のキャラクタ、音楽は制作当時の物です。
公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。2023年07月22日
イメージディスクツール「Disk-Manager」
とても便利なツールを発見しました。
「Disk-Manager」です。
MSXのイメージディスクを作るツールです。
元々使っていた「MSX Floppy Disk Manager」と同様のツールなのですが、こちらはフロッピーディスクを経由せずに任意のファイルをまとめてイメージディスクが作成できます! (2023年3月24日記事参照「 ディスクの中が見れた… 」)
例えば、プログラム(*.BAS)と画像ファイル(*.SC2)がWindows上にあり、それを一纏めにしてディスクイメージ(*.DSK)を作りたいとします。
「MSX Floppy Disk Manager」では、2つのファイルを一旦、フロッピーディスクにコピーしてからイメージディスクを作成します。
「Disk-Manager」は、上図のようなエクスプローラー風画面に2つのファイルをドラッグ&ドロップし、そのままイメージディスク化することが可能です!
簡単だし、イメージ化も早い!
因みに、先日のアルファもこの方法でイメージディスク化しました。 (2023年7月15日記事参照「 簡易MMLコンパイラ 活用例 」)
MSXはWindowsのテキストエディタで行?b?付けてテキストを書き、そのファイルをイメージディスク化すれば、そのままプログラムとして開けます。
「MSX Floppy Disk Manager」では、フロッピーディスクに一回落とす必要があり、手間だし時間も掛かるのでしませんでしたが、こんなに簡単なら私が以前言っていたWindowsライクな開発環境が片道ではあるが実現できるかも!? (2023年6月15日記事参照「 MSXでプログラミング 」)
あ、でも逆は出来ないんですね。文字化けがヒドイ…
でも、片道だけでも便利です。(というか、逆は要らないかな?)
テキストエディタでプログラム作って実行の際にディスクイメージ化する方法なら、コピーや置き換え、検索も出来てしまう...。
なんなら、EXCELで作れば、アドレス指定部分に色付けられるので、もっと便利ですね。
よし、一度実験。
EXCELにプログラムを記述。
折角なので、フォントに「Gigamix」さんの配布されている「MSX-WIDTH40J」フォントを利用させてもらいました。(「 リンク 」にあります)
良い感じです!
「Gigamix」さん、素敵なフォントをありがとうございます!
変数部分の色の変更も可能!
なんなら、コメントまで入れられます!!
それをテキスト形式で保存。
メモ帳で開くとこんな感じ。
いけるかも!
最後これを「Disk-Manager」でディスクイメージ化して、BlueMSXで開きます。
おぉ! 成功です!
開くのに少し時間かかったけど、問題なく開きました!
凄い!!
本格的に大作作る際には、もの凄く便利かも。
「Disk-Manager」です。
MSXのイメージディスクを作るツールです。
元々使っていた「MSX Floppy Disk Manager」と同様のツールなのですが、こちらはフロッピーディスクを経由せずに任意のファイルをまとめてイメージディスクが作成できます! (2023年3月24日記事参照「 ディスクの中が見れた… 」)
例えば、プログラム(*.BAS)と画像ファイル(*.SC2)がWindows上にあり、それを一纏めにしてディスクイメージ(*.DSK)を作りたいとします。
「MSX Floppy Disk Manager」では、2つのファイルを一旦、フロッピーディスクにコピーしてからイメージディスクを作成します。
「Disk-Manager」は、上図のようなエクスプローラー風画面に2つのファイルをドラッグ&ドロップし、そのままイメージディスク化することが可能です!
簡単だし、イメージ化も早い!
因みに、先日のアルファもこの方法でイメージディスク化しました。 (2023年7月15日記事参照「 簡易MMLコンパイラ 活用例 」)
MSXはWindowsのテキストエディタで行?b?付けてテキストを書き、そのファイルをイメージディスク化すれば、そのままプログラムとして開けます。
「MSX Floppy Disk Manager」では、フロッピーディスクに一回落とす必要があり、手間だし時間も掛かるのでしませんでしたが、こんなに簡単なら私が以前言っていたWindowsライクな開発環境が片道ではあるが実現できるかも!? (2023年6月15日記事参照「 MSXでプログラミング 」)
あ、でも逆は出来ないんですね。文字化けがヒドイ…
でも、片道だけでも便利です。(というか、逆は要らないかな?)
テキストエディタでプログラム作って実行の際にディスクイメージ化する方法なら、コピーや置き換え、検索も出来てしまう...。
なんなら、EXCELで作れば、アドレス指定部分に色付けられるので、もっと便利ですね。
よし、一度実験。
EXCELにプログラムを記述。
折角なので、フォントに「Gigamix」さんの配布されている「MSX-WIDTH40J」フォントを利用させてもらいました。(「 リンク 」にあります)
良い感じです!
「Gigamix」さん、素敵なフォントをありがとうございます!
変数部分の色の変更も可能!
なんなら、コメントまで入れられます!!
それをテキスト形式で保存。
メモ帳で開くとこんな感じ。
いけるかも!
最後これを「Disk-Manager」でディスクイメージ化して、BlueMSXで開きます。
おぉ! 成功です!
開くのに少し時間かかったけど、問題なく開きました!
凄い!!
本格的に大作作る際には、もの凄く便利かも。