2019/04/25(木) [n年前の日記]
#1 [pc] Z80のアセンブラについて調べていたり
MZ-700エミュレータ上で動く何かしらを、アセンブラで書けるかどうか確認したくなったので、Z80用のバイナリを出力できるアセンブラをググっていたり。
ググった感じでは、Z80AS が使われている場合が多いようだなと…。
_We Love MZ-700
_Z80 Abusolute Assembler 'Z80AS'
MZ-80K/700エミュレータで利用できるファイルフォーマット ―― .mzt で出力できるあたりがとてもヨサゲ。
問題は、どういうアセンブラソースを書けば MZ上で動くのか、そこが分からないという…。
ググった感じでは、Z80AS が使われている場合が多いようだなと…。
_We Love MZ-700
_Z80 Abusolute Assembler 'Z80AS'
MZ-80K/700エミュレータで利用できるファイルフォーマット ―― .mzt で出力できるあたりがとてもヨサゲ。
問題は、どういうアセンブラソースを書けば MZ上で動くのか、そこが分からないという…。
◎ モニタサブルーチンの一覧をメモ。 :
MZ-700 のマニュアルを発掘して眺めてみたり。
モニタ 1Z-009A に色々サブルーチンがあるので、そのあたりを呼べば Hello World ぐらいは楽に書けそうな気がする。後々作業する際のことを考えて、サブルーチンの一覧を試しにメモ。
_1Z-009Amonitor_note.pdf
_1Z-009Amonitor_note.csv
MZ-80K/700 は、テープからロードすると 1200h以降にプログラムが格納されるらしいけど、終了する時はどんな儀式を行わないといかんのか、そこが分からない。RET を呼ぶだけでいいのだろうか。
余談。マニュアルを眺めていたら、S-BASIC や Hu-BASIC がロードされた直後は、VRAM がフツーのRAMに切り替わると知った。フリーエリアは増えるけど、その代わり S-BASIC や Hu-BASIC で、いきなり VRAM に値を書き込んで何かを表示しようとしても、メモリ上の何かが破壊されるだけで画面表示はされない、ということかな…。これが MZ-80K用のプログラムなら、VRAM を RAM に切り替えたりはしないから、いきなり VRAM に書き込むこともできるのだろう。その代わり、フリーエリアは少なくなるはず。
モニタ 1Z-009A に色々サブルーチンがあるので、そのあたりを呼べば Hello World ぐらいは楽に書けそうな気がする。後々作業する際のことを考えて、サブルーチンの一覧を試しにメモ。
_1Z-009Amonitor_note.pdf
_1Z-009Amonitor_note.csv
MZ-80K/700 は、テープからロードすると 1200h以降にプログラムが格納されるらしいけど、終了する時はどんな儀式を行わないといかんのか、そこが分からない。RET を呼ぶだけでいいのだろうか。
余談。マニュアルを眺めていたら、S-BASIC や Hu-BASIC がロードされた直後は、VRAM がフツーのRAMに切り替わると知った。フリーエリアは増えるけど、その代わり S-BASIC や Hu-BASIC で、いきなり VRAM に値を書き込んで何かを表示しようとしても、メモリ上の何かが破壊されるだけで画面表示はされない、ということかな…。これが MZ-80K用のプログラムなら、VRAM を RAM に切り替えたりはしないから、いきなり VRAM に書き込むこともできるのだろう。その代わり、フリーエリアは少なくなるはず。
[ ツッコむ ]
以上です。