MSX/SG-1000カートリッジ開発

MEGA MSX ADAPTERをつかって、MSX/SG-1000カートリッジを開発しようと思います。プログラムは、Absolute assembler for i8080/i8085にて実装していきます。

まずはMSX/SG-1000の両方で動かせるメモリーマップを考えてみました。

モリーマップ

0000-3FFF CART
4000-7FFF RAM
8000-BFFF CART(EXT)
C000-FFFF RAM

ORG 0000でプログラム開発(0000-7FFF)して、MSXは8000からSG-1000は0000から実行します。ブートストラップで8000-BFFFを4000-7FFFにコピーすることで、サブルーチンおよび初期値をもった値を実現します。またワークRAMはC000-FFFFを利用します。

これでI/Oを除けば、ほぼ共通のプログラムで開発できると思います。このような変則的なメモリーマップは、普通のカートリッジやエミュレータでは実行できないのですが、SG-1000 Loaderカートリッジのメモリマッパーを書き換えることで実現しようと思っています。

http://www.geocities.jp/parallel_computer_inc/msx.html

もちろんMSX-DOSでローダーをつくれば、MEGA MSX ADAPTERやSG-1000 Loaderカートリッジなしでも実行できるはずです。