新規記事の投稿を行うことで、非表示にすることが可能です。
2023年05月23日
マシン語入門購入そのA
この頃、雑誌に掲載されているマシン語コードを調べるのに「くじけちゃいけない! マシン語入門」ではカバーしきれなくなっていました。(全コードの1/3程度しか解説されていないため)(2023年3月28日記事参照「いざ、プログラミング!」)
そこで、「くじけちゃいけない! マシン語入門」の上位版である、同じくアスキー出版刊行のMSX POCKET BANK「めざせ本格派アセンブラプログラマ マシン語入門PART2」を購入しました。
画像出典: 『Generation MSX』
https://www.generation-msx.nl/publication/ascii-corporation/msx-pocket-bank-part/1196/
「くじけちゃいけない! マシン語入門」は、ある程度使い込んだところで卒業し、こちらの本に移行したため、まだ原形をとどめていました。
しかし、こちらは相当長期に渡り使い込んだので、最後の方はページもバラバラ落ちる位、ボロボロだった記憶があるので、たぶん捨ててしまったので残っていないと思います。
こちらも神本でした。
この本で、マシン語の効率化を図ったり、ロジックの短縮化のテクニックを磨いたりして、短く速いコードが書けるようになりました。
感謝!
そこで、「くじけちゃいけない! マシン語入門」の上位版である、同じくアスキー出版刊行のMSX POCKET BANK「めざせ本格派アセンブラプログラマ マシン語入門PART2」を購入しました。
画像出典: 『Generation MSX』
https://www.generation-msx.nl/publication/ascii-corporation/msx-pocket-bank-part/1196/
「くじけちゃいけない! マシン語入門」は、ある程度使い込んだところで卒業し、こちらの本に移行したため、まだ原形をとどめていました。
しかし、こちらは相当長期に渡り使い込んだので、最後の方はページもバラバラ落ちる位、ボロボロだった記憶があるので、たぶん捨ててしまったので残っていないと思います。
こちらも神本でした。
この本で、マシン語の効率化を図ったり、ロジックの短縮化のテクニックを磨いたりして、短く速いコードが書けるようになりました。
感謝!
【このカテゴリーの最新記事】
-
no image
2023年05月22日
作品Cキャラいっぱい
次はこれ。
友人が泊りで遊びに来た時、これまで作ったゲームの部品(ルーチン)を集めて組合わせ、その場でチャチャっと作りました。
製作時間的には30分程度かと…。
■主な新テクニック
・最大24キャラ表示
・最短製作時間
・最大24キャラ表示
・最短製作時間
友人が泊りで遊びに来た時、これまで作ったゲームの部品(ルーチン)を集めて組合わせ、その場でチャチャっと作りました。
製作時間的には30分程度かと…。
タイトル | 『 UCHIAI 』 | 作品 | 4 | |
内容 | 2人専用です。 プレイヤーを操作し、相手を撃破して下さい。 | |||
操作方法 | タイトル画面で「スペース」バー若しくはAボタンでプレイヤー@のコントローラーを決定(音楽が鳴ります)、続けて同様にプレイヤーAのコントローラーも決定しゲーム開始 「←」「→」カーソル若しくは十字キーで、自機移動 「スペース」バー若しくはAボタンで、弾発射 | |||
対応機種 | MSX1、MSX2、MSX2+ | 製作年 | 1988年 | |
ダウンロード | リンク先へ | ジャンル | シューティング |
※ゲーム内のキャラクタ、音楽は制作当時の物です。 公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。 |
2023年05月21日
ツイッター
最近、ツイッターでMSX関連の記事探しては閲覧のみしております。
うちのブログと違ってとても賑わっており、MSXは元気!って感じられます。
なんかハード面でもソフト面でも技術的に高度な内容ばかりで、私ごときが話題に入っていいのか悩んでしまうくらい、レベルが高い…。
お気に入りなのが、とあるドッターさんと、プログラマーさん。
ドッターさんは、MSXで商用を超えるレベルのドット絵を描いており(私の所感です)、尊敬を通り越して崇拝してしまいそうです。
MSX1で、なぜあそこまで描けるんだろう?
プログラマーさんは、レベルの高いゲームを作成しており、今度ROM化して発売される予定のようです。
ホームページにあるプログラムを拝見してレベルの高さが伺えます。
私なら相当悩みそうなアルゴリズムを、いとも簡単にロジック化されています。
MSXユーザーって、やっぱりレベル高いですよね…。
皆さん、どんな勉強の仕方してここまでのレベルになられたんでしょうか。
昔はインターネットもなく、解らないことがあっても聞くこともできず、書籍くらいでしか調べられませんでした。
そのため、難しいアルゴリズムを考える時は、悪戦苦闘し諦めたことも何度もありました。
私の周りにはゲームプログラミングに精通している友人はいませんでした。
だから誰かと一緒に考えるとか、そういったことが出来ない環境でした。
そんな時はどうしていたんでしょう。
ゲーム開発に限らず、やっぱり周りの環境って大事ですよね。
2023年05月20日
3Dダンジョンロールプレイングゲーム
製作再開一発目決まりました。
「3Dダンジョン型ロールプレイングゲーム」です。
要するにアスキーの「WIZARDRY」タイプですね。
画像出典: 『Game Database』
https://refuge.tokyo/msx/msx/00653.html
実は、3Dダンジョン系のロールプレイングゲームは意味なく嫌っていたので、MSXでは製作したことはありませんでした。
私は日本ファルコムの「イース」タイプのARPGが大好きだったので、「ドラクエ」タイプもほとんどこの時期プレイしたことがありません。(2023年4月14日記事参照「ブログタイトル画像更新」)
画像出典: 『Game Database』 イース MSX2版
https://refuge.tokyo/msx/msx/00718.html
専門学校時代に、友人からドラクエの処理について「どうやってるのか教えて」とヘルプされたのをきっかけに、ロジックを教えるためだけにプレイしたのが始めです。
その後も、ドラクエタイプにはハマることなく、ドラクエタイプのロールプレイングゲームは、作るだけの人でした。
では、検証内容は前回示した通り、
@基本はBASIC
ABASIC部で「MuSICA」でBGM演奏
Bマップ表示はマシン語
C敵表示用のFONT書換えもマシン語
で行きます。
仕事で忙しいときは製作が進みませんが、ゆっくりやっていこうと思います。
2023年05月19日
きつかった…
ツール集とサンプルの公開、無事終了しました。
…きつかった!
ツールの改修が完了し、準備が整ったことで記事順に割込む形で入れたツール公開。
まさかサンプル作成にここまで手こずるとは考えておらず、見積もりが甘かったです…。
「操作説明は解り易く、尚且つ詳細に、だがシンプルに!
サンプルも、プログラムは短く解り易く!」
をモットーに、可能な限り解り易くしたつもりです。
しかし現役のサラリーマンですので、1回1回を一晩で仕上げるのはきつかったです…。
おかげで寝不足です…。
もう無理の聞かない年齢です…。
ツール公開以外の記事は、既に6月半ば分までアップ済みですので、ぼちぼち記事数増やしていけばいいだけだったんですが…。
ブログについても、なんだかんだで現在は毎日更新になっていますが、徐々にペースを落としていく予定です。
反響もないし…、ひょっとしたら誰も来てくれていないかも…。
まぁ、自分の回顧録なので、細々と続けます。
2023年05月18日
作品Bパズル
次はこれ。
■主な新テクニック
・初パズルゲーム
・リアルタイム数字表示実装
・面データ暗号化実装
・初パズルゲーム
・リアルタイム数字表示実装
・面データ暗号化実装
タイトル | 『 WONDER BOY 』 | 作品 | 3 | |
内容 | 自機を操作し上下の「黄石」間を、接触すると位置が入替る不思議な「青石」で繋げて下さい。 青石と入替わるには体力が必要です、「POWER」が尽きる前にクリアして下さい。 全30面 | |||
操作方法 | タイトル画面でタイトル文字(WONDER BOY)の色が紫色になったら、「↑」「↓」カーソル若しくは十字キーで、面を選択し「スペース」バー若しくはAボタンでゲーム開始 開始させたコントローラーで操作します 「↑」「→」「↓」「←」カーソル若しくは十字キーで、自機移動 「スペース」バー若しくはAボタンで、ギブアップ | |||
対応機種 | MSX1、MSX2、MSX2+ | 製作年 | 1988年 | |
ダウンロード | リンク先へ | ジャンル | パズル |
※ゲーム内のキャラクタ、音楽は制作当時の物です。 公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。 |
2023年05月17日
MAP8 EDITOR 活用方法
2回目はツールで作ったデータの活用方法について説明します。
このMAP8 EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
そのデータを表示してゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「MAP8SMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
このプログラムでは、最も時間のかかるであろうマップ表示部分をマシン語で組んでいます。
「MAP8PRT.BIN」(180行)
下記機能を提供します。
マシン語アドレスを変えたい人用に、MAP8PRT.BIN作成用のBASICプログラムを用意しました。
起動すると、MAP8PRT.BINを作成します。
「MAP8PRT.BAS」【ダウンロード】
このMAP8 EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
メモリアドレス | データ種別 | 詳細 |
&HA000〜&HBFFF | マップデータ | 最大&H2000=8,192バイト |
そのデータを表示してゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「MAP8SMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
行番号 | 内容 | 説明 |
190 | MAP8PRT.BIN | フォントデータVRAM転送マシン語プログラム |
210〜230 | 表示範囲 | マップの表示の範囲と、マップ全体の横幅を指定 |
310〜340 | マップ表示サブルーチン | 変数AYに全体マップの表示範囲左上のY座標、変数AXに全体マップの表示範囲左上のX座標を代入し、310行のサブルーチンをコールすると、アドレスを計算しマップ表示するサブルーチン |
このプログラムでは、最も時間のかかるであろうマップ表示部分をマシン語で組んでいます。
「MAP8PRT.BIN」(180行)
下記機能を提供します。
実行アドレス | 機能 | 詳細 |
&HC0B8 | マップ表示 | 指定のアドレスから、指定の幅と高さ分の範囲にマップを表示する 最大32フォント×24フォント=768バイト |
マシン語アドレスを変えたい人用に、MAP8PRT.BIN作成用のBASICプログラムを用意しました。
起動すると、MAP8PRT.BINを作成します。
「MAP8PRT.BAS」【ダウンロード】
2023年05月16日
MAP8 EDITOR Ver.2.5
ツール | 3 | 製作年 | 1990〜2023年 |
タイトル | 『 MAP8 EDITOR Ver.2.5 』 | ||
対応機種 | MSX1、MSX2、MSX2+、MSXturboR | ||
ダウンロード | リンク先へ |
『起動時』
起動するとコントローラーの選択です。
マウスが絶対お奨めです。
『基本操作』
操作はマウスを基準としています。
「+」カーソルを動かし、所定の位置でクリックすることで任意の動作を行います。
マウス移動:キーボードのカーソルキー、ジョイスティックの十字キー
マウスの左クリック:キーボードの「スペース」バー、ジョイスティックのAボタン
マウスの右クリック:キーボードの「GRAPH」キー、ジョイスティックのBボタン
『サンプルデータ』
操作を覚えるためのサンプルデータとして、上記データを「SAMPLE.MP8」と「SAMPLE.FNT」としてディスク内に同梱してあります。
『設定画面説明』
『エリア説明』
エリア名 | 詳細 | |
1 | フォント確認エリア | 読み込まれたフォントを表示します |
2 | カラーエリア | 色を直接左クリックすることで、RGB変更する色を選択します(その色の下に「選択カーソル」が付きます) カラー上で右クリックすると、初期色に戻ります。 |
3 | コマンドエリア | をクリックすることで各命令を実行する。(コマンド説明参照) |
『コマンド説明』
表記 | ボタン | クリック | 命令名 | 詳細 | |
1 | CHANGE EDITOR | 左 | エディット | エディット画面へ移行 | |
2 | R | 左 | 赤値 | 選択されたカラーのRGB赤値を0〜7まで指定 | |
3 | G | 左 | 緑値 | 選択されたカラーのRGB緑値を0〜7まで指定 | |
4 | B | 左 | 青値 | 選択されたカラーのRGB青値を0〜7まで指定 | |
5 | XPOS | 左 | 横幅 | マップ全体の横幅を指定する(1単位) | |
右 | 〃 (10単位) | ||||
6 | YPOS | 左 | 高さ | マップ全体の高さを指定する(1単位) | |
右 | 〃 (10単位) | ||||
7 | SAVE | 左 | セーブ | データを保存する(空入力でキャンセル) | |
8 | LOAD | 左 | ロード | データを呼び出す(空入力でキャンセル) フォントデータ展開の際にマップデータを破壊するので、先にフォントデータを読み込んで下さい | |
9 | FONT | 左 | フォント | フォントデータを呼び出す(空入力でキャンセル) フォントデータ展開の際にマップデータを破壊するので、マップ編集途中でフォントを切り替える際は、マップデータをセーブし、切り替え後ロードして下さい 読み込んだフォントによっては▲▼が分らなくなるのでご注意下さい | |
10 | NEXT | 左 | 次メニュー | 将来拡張用(現在未使用) |
『エディット画面説明』
『エリア説明』
エリア名 | 詳細 | |
1 | エディットエリア | 左クリックで選択されたフォントを描きます 右クリックで「描画カーソル」を移動します 連続で描画したい時は「フォントエリア」の描きたいフォントを右クリックで「描画カーソル」に描画し、「描画カーソル」は右へ移動します ▼▲で表示範囲を下上右左へ移動 |
2 | コマンドエリア | をクリックすることで各命令を実行する。(コマンド説明参照) |
3 | フォントエリア | 表示されたフォントを左クリックすることで、フォントを選択します(そのフォントに「フォント選択カーソル」が付きます) |
『コマンド説明』
表記 | ボタン | クリック | 命令名 | 詳細 | |
1 | CHANGE | 左 | チェンジ | フォントエリアに表示されるフォントを変更 | 2 | CLEAR | 左 | クリア | エディットエリアをクリア |
右 | 全クリア | マップ全体をクリア | |||
左 | フル | エディットエリアを選択されたフォントで埋める | |||
左 | 全フル | マップ全体を選択されたフォントで埋める | |||
3 | SETTING | 左 | セッティング | 設定画面へ移行 |
2023年05月15日
FONT EDITOR 活用方法
2回目はツールで作ったデータの活用方法について説明します。
このFONT EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
そのデータをVRAMにセットしてゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「SPRSMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
このプログラムでは、最も時間のかかるであろうフォントデータをVRAMに転送する部分をマシン語で組んでいます。
「SETFNT.BIN」(180行)
下記機能を提供します。
マシン語アドレスを変えたい人用に、SETFNT.BIN作成用のBASICプログラムを用意しました。
起動すると、SETFNT.BINを作成します。
「SETFNT.BAS」【ダウンロード】
このFONT EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
メモリアドレス | データ種別 | 詳細 |
&HA800〜&HAFFF | ワークデータ | フリーエリアデータ等、ゲーム使用の際は不要 |
&HB000〜&HB7FF | パターンデータ | 256フォント×8バイト=2,048バイト=&H800 |
&HB800〜&HBFFF | カラーデータ | 256フォント×8バイト=2,048バイト=&H800 |
そのデータをVRAMにセットしてゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「SPRSMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
行番号 | 内容 | 説明 |
180 | SETFNT.BIN | フォントデータVRAM転送マシン語プログラム |
200〜210 | フォントデータセット | フォントデータをVRAMに転送する |
このプログラムでは、最も時間のかかるであろうフォントデータをVRAMに転送する部分をマシン語で組んでいます。
「SETFNT.BIN」(180行)
下記機能を提供します。
実行アドレス | 機能 | 詳細 |
&HC060 | フォントデータセット | 256フォント分のパターン、カラーデータをVRAMの上中下段全てに転送する 256フォント×8バイト×2(パターン、カラー)×3(上中下段)=12,288バイト |
マシン語アドレスを変えたい人用に、SETFNT.BIN作成用のBASICプログラムを用意しました。
起動すると、SETFNT.BINを作成します。
「SETFNT.BAS」【ダウンロード】