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カートリッジなしでも実行できるはずです。