ニャオニャオ21世紀

レトロゲーム(MSX、PCエンジン、セガサターン)と、MSXぽいアプリ開発と、最新ゲーム(PS4、SWITCH)、身体(身体意識など)、ライフハックほか雑記を綴っています

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第12回 BIOSを使う

スポンサーリンク

 

BIOS!よく聞きます。

詳しい意味は最近知りました;

マシン語では必要になってくるというか、使うととても便利なもの

だそうです。

 

MSXのROMには、BASICインタープリタとBIOSが入っています。

 

BASICインタープリタは、BASICプログラムを翻訳しMSXで動くように

するもの。(BASICは、いちいち翻訳しているから遅い)

 

BIOSは、画面に文字を出したり、キーボードが押されているか調べたり、

様々な仕事を実行します。

 

そのBIOSルーチンをコールしてやれば、音を出したり、文字を画面に出したり

できるそうです。

マシン語なんて、とても単純な命令しかないし、どうやってゲームをつくるの

だろう?とても大変ではないんだろうか?と

不思議でしたが、BIOSルーチンを利用していたんですね!

 

勉強リポートが、アセンブラの命令文が LD しかやっていない状態で、

BASICの中でマシン語を使うってことをやり始めて大丈夫か?と

思われたかもしれません。

 

BASICゲームに使うマシン語は、とても簡単なBIOSルーチンが中心なのです!

 

もちろん他の命令文も使いますが、それほど難しくないようです。

 

BIOSの使い方

BIOSルーチンは、決められたアドレスをコールするだけで使用できます。

 

例えば、

CALL  00C0H

とすれば、ビープ音がでます!

おお、簡単!

 

そんな単純なものだけではなくて、

 

画面に文字(1文字のみ)を表示するは

CALL  00A2H

です。

その時、どんな文字を表示できるのか?ですが、

Aレジスタに入っているキャラクターコードを表示します。

 

だいたいがこんな感じみたいで、いくつかのレジスタに入っている値を

利用して、ある機能を実現しているようです。

返り値がある場合は、結果が、あるレジスタに入れられたりします。

 

だからとりあえず簡単なものは、LDでレジスタに値をいれることができれば、

BIOSルーチンは使うことができるのです!

 

BASICゲームでマシン語を使う場合に一番使いたいBIOSルーチンは、

 

1.VRAMからメモリへブロック転送する

2.メモリからVRAMへブロック転送する

 

です。

 

これができるとスクロールとか、画面をぱっと表示することができるはずです。

 

とりあえずはこれができるのが一番の目標です。

マシン語の中でも、BIOSを使うのは簡単そうです。

はやく、実装したい〜。

 

今日のところはここまでにしておきます。

では〜。

 

駿河屋

中古MSXハードMSX本体 V-20

MSX1。

Canon製。メモリが64kバイトもあります。

スポンサーリンク

 

 

 

www.nyaonyao21.com

「ニャオニャオ21世紀は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。 広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。 Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください