Yet Another SEGA MASTER SYSTEM Emulator その5

マスターシステム実機にSK-1100を接続して、ベーシックレベルIIあるいはホームベーシックが使えるようになったのでエミュレータを更新しました。

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

mastersystem.exeを実行します。BIOSはsms.romになります。

f:id:tanam:20140727005612p:image:w360

Cart>Insertメニューからhomebasic.romを開きます。

f:id:tanam:20140727005611p:image:w360

詳しくは、しおんパパのひみつきちを読んで頂いて、Common Source Code Projectへの修正点を説明します。

http://sions-papa.blogspot.jp/2014/07/blog-post.html

f:id:tanam:20140727011608p:image:w360

ホームベーシックは、データレコーダを使用する際に、REMOTEを投げないようなんですが、Common Source Code ProjectではREMOTEを受け取る前提で実装していました。まだまだバグだらけですが、これでエミュレータ上でSK-1100とFM音源が同居したプログラムを実行することが出来ます。

void DATAREC::update_event()
{
#ifdef _MASTERSYSTEM
	if(play || rec) {
#else
	if(remote && (play || rec)) {
#endif

エミュレータに限ってですが、ここらへんのBASICコード例を参考にFM音源がなりました。

http://www28.atwiki.jp/msx-sdcc/pages/46.html

10 'F-Number
20 out &hF0,&h10
30 out &hF1,172
40 'voice number & volume
50 out &hF0,&h30
60 out &hF1,48
70 'key-on
80 out &hF0,&h20
90 out &hF1,24
100 for i=0 to 1000:next i
110 'key-off
120 out &hF0,&h20
130 out &hF1,0