2012年02月19日

リリース(10)

 Ver.0215-0032のROMをアップします。

ROM_fpga0215_farm0032.zip

src_fpga0215_farm0032.zip


 Ver.0213-0030 から、以下の箇所を変更しています。


・SUB-CPU 周りの修正

 SUB-CPU に対して直接やり取りするプログラムの場合、実機と差異がある場合がありますが、通常のプログラムでは問題になることはないかと思います。

 (例:割り込みを禁止して、直接SUB-CPUに対してコマンドを発行する場合。コマンドに対するレスポンスを受信しない事を連続すると、実機と挙動が変わることがあります)



  また、CMTへのセーブ、FDD、音声合成は未対応です。


  質問、動作報告など、コメント頂けるとありがたいです。




posted by えすび at 13:18| Comment(10) | FPGA化:リリース | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
動作報告です。

電波新聞社のPACMAN、GALAXIANが起動できました。

MARIO BROS. SPECIAL、PUNCH BALL MARIO BROS.共にをロードしてみましたが起動できません。
ロードが最後まで終わっている?が、起動できないように見えます。
何度か試しましたが、状況は同じでした。

よろしくお願いします。
Posted by aliceteabreak at 2012年02月21日 23:12
>aliceteabreakさん

 動作報告ありがとうございます。

 動かないMARIO の2本ですが、両方とも持っていないため、以下について教えて下さい。

1)動作MODE、PAGE (例:MODE5 PAGE2)
2)ロードのコマンド (例:CLOAD / RUN 、MON R-0 )
3)プログラムの内容 (例:BASIC+マシン語データ、MON用ロードデータ+マシン語データ)
4)ロード終了後に停止するアドレス
5)他のエミュレータで動作するかどうか

 よろしくお願いします。
Posted by えすび at 2012年02月22日 17:06
>aliceteabreakさん

追加の質問です

6)ロード終了時に、SDカードのLEDと、リレーのLEDはついていますか?

7)ロード終了時のテープカウンターの値と、〜.p6のファイルサイズを教えてください。



よろしくお願いします。
Posted by えすび at 2012年02月22日 23:22
ご質問の件ですが、

> 1)動作MODE、PAGE (例:MODE5 PAGE2)
どちらもMODE5, PAGE4です。

> 2)ロードのコマンド (例:CLOAD / RUN 、MON R-0 )
どちらもMON, R-0です。

> 3)プログラムの内容 (例:BASIC+マシン語データ、MON用ロードデータ+マシン語データ)
Mon, R-0の後にNow Loading Programと表示されるので、
「MON用ロードデータ+マシン語データ」だと思います。

> 4)ロード終了後に停止するアドレス
ノーマルMARIOは、3回ロードしましたが、
0x1A7D, 0x1A78, 0x1A7D
でした。

PUNCH BALLは、3回ロードして、
0x0F2B, 0x0F2E, 0x0F65
です。

> 5)他のエミュレータで動作するかどうか
どちらもPC6001VWで動作します。

よろしくお願いします。
Posted by aliceteabreak at 2012年02月22日 23:35
 > aliceteabreak さん

  たびたびすみません。以下について教えて下さい。

 1)ロード終了時に、SDカードのアクセスのLED(一番右)と、リレーのLED(左から2番目)はついていますか?

 2)ロード終了時のテープカウンタの値と、〜.p6 のファイルサイズを教えて下さい。

 3)上記のロード終了時に停止するアドレスで、PUNCH BALL の方に関して、ロード終了後に、何度かSW1を押してみて下さい。0x0F2B 付近以外の場所が表示されると思います。

 4)それぞれの〜.p6 に関して、バイナリエディタで開いて、以下の箇所について教えて下さい。
  4−1)ファイル先頭の64バイト
  4−2)先頭のMON用ファイルが終わる付近の100バイトほど


 例えば、次のような感じです。

00000000: 9c9c 9c9c 9c9c 0d0a 3a31 3046 3839 4630 ;惧惧惧..:10F89F0
00000010: 3030 3346 3934 4534 4634 4535 3434 3134 ;003F94E4F4E54414
00000020: 4434 3130 3030 4334 4536 4637 3732 3034 ;D41000C4E6F77204
00000030: 4341 330d 0a3a 3130 4638 4146 3030 3646 ;CA3..:10F8AF006F

 一番右に、ファイルの内容のアスキーコード表示がされています。
 似たような構成が続いた後、アスキーコードでALL0 になった後、後ろの
 ファイルの先頭が表示されているはずです。

000002f0: 3030 3030 3030 3030 3030 3030 3030 3030 ;0000000000000000
00000300: 3035 390d 0a3a 3030 3030 3030 3030 3030 ;059..:0000000000
00000310: 3030 3030 3030 1aff 0000 0000 0000 0000 ;000000..........
00000320: ff4e 4f4e 5441 4d41 0301 8028 0301 6e68 ;.NONTAMA...(..nh
00000330: 4e6f 697f 5dc0 e6d8 d2e0 353e f3de d61b ;Noi.]タ齎メ.5>黨ヨ.
00000340: 2128 e50d 07ca 4c4b 8606 073d f1fa 4d73 ;!(...ハLK...=髫Ms

 この両方について、教えて下さい。


 お手数お掛けしますが、よろしくお願いします。

Posted by えすび at 2012年02月23日 18:33
すみません、行き違いになりました。

> 1)ロード終了時に、SDカードのアクセスのLED(一番右)と、
> リレーのLED(左から2番目)はついていますか?

<<<MARIO>>>
両方のLEDがついています。

<<<PUNCH BALL MARIO>>>
両方のLEDがついています。


> 2)ロード終了時のテープカウンタの値と、〜.p6 のファイル
> サイズを教えて下さい。

<<<MARIO>>>
カウンタ: 0xB0FF(45,311)
ファイルサイズ: 45,311byte

<<<PUNCH BALL MARIO>>>
カウンタ: 0x77CD(30,669)
ファイルサイズ: 30,669byte


> 3)上記のロード終了時に停止するアドレスで、PUNCH BALL
> の方に関して、ロード終了後に、何度かSW1を押してみて下さい。
> 0x0F2B 付近以外の場所が表示されると思います。

PUNCH BALLで、0x1A7A と表示されました。


>4)それぞれの〜.p6 に関して、バイナリエディタで開いて、
> 以下の箇所について教えて下さい。
>  4−1)ファイル先頭の64バイト
>  4−2)先頭のMON用ファイルが終わる付近の100バイトほど

<<<MARIO>>>

<<先頭64バイト>>
00000000 E5 52 A7 93 67 FB E6 EF CB FF BD AB FE FF E3 5E
00000010 DD 5F A0 5A 2D F8 5D BF F5 93 1E EF FB 1F 94 7D
00000020 AB 4E B3 FA A5 AE FF EB 6B F9 B7 90 78 7F 7E C3
00000030 B5 4D 77 EF A7 BF DF EB CE D7 B7 EE 74 FD 6F FF

<<先頭MON用ファイル終了付近>>
000008A0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
000008B0 30 30 30 30 30 30 30 30 30 30 30 30 35 39 0D 0A
000008C0 3A 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
000008D0 30 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
...(ALLゼロ)
...
000009D0 00 00 00 00 00 00 00 00 00 00 00 00 FF 4E 4F 4E
000009E0 54 41 4D 41 00 01 00 9F 00 01 92 92 93 60 66 66
000009F0 BD 2D 3D C1 FF FC 2F 9F A1 A5 76 B6 88 88 5B 9A
00000A00 77 29 86 6B 2C 0D 75 74 56 54 54 75 F1 F0 D2 C4


<<<PUNCH BALL MARIO>>>

<<先頭64バイト>>
00000000 9C 9C 9C 9C 9C 9C 0D 0A 3A 31 30 46 38 39 46 30
00000010 30 30 33 46 39 34 45 34 46 34 45 35 34 34 31 34
00000020 44 34 31 30 30 30 43 34 45 36 46 37 37 32 30 34
00000030 43 41 33 0D 0A 3A 31 30 46 38 41 46 30 30 36 46

<<先頭MON用ファイル終了付近>>
000002E0 30 30 30 46 46 30 30 30 30 30 30 30 30 30 30 30
000002F0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
00000300 30 35 39 0D 0A 3A 30 30 30 30 30 30 30 30 30 30
00000310 30 30 30 30 30 30 1A 00 00 00 00 00 00 00 00 00
...
...(ALLゼロ)
...
00000420 00 FF 4E 4F 4E 54 41 4D 41 00 01 80 74 00 01 60
00000430 0C 09 29 09 5F 1A 48 1B 52 1D 53 73 42 62 53 6A
00000440 52 66 46 76 4E 6E 5F 6E 4E 0C 55 75 3E 77 3C 69
00000450 49 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69

よろしくお願いします。
Posted by aliceteabreak at 2012年02月23日 23:39
>aliceteabreakさん

両方のソフトとも、マシン語のロードが開始できていないようです。

アップして頂いた、ALLゼロの部分が長すぎるようなので、16バイトくらいにしてみてください。
Posted by えすび at 2012年02月24日 16:39
MARIOの方、ファイルの先頭がヘンです。変換時のゴミかな?

MON用のファイルの場合、先頭は 9C 9C 9C 9C 9C 9C のはずなので。
Posted by えすび at 2012年02月24日 16:53
お返事が遅くなりました。

> アップして頂いた、ALLゼロの部分が長すぎるようなので、
> 16バイトくらいにしてみてください。

ご指摘の通り、16バイトにしてみました。
MARIO、PUNCH BALL MARIO共に起動しました。
ありがとうございます。

数面遊んでみましたが、問題ないようです。


> MARIOの方、ファイルの先頭がヘンです。変換時のゴミかな?
> MON用のファイルの場合、先頭は 9C 9C 9C 9C 9C 9C の
> はずなので。

ご指摘の通り、9Cの前のバイトを削除しました。
問題なく起動したので、ゴミだと思います。

ありがとうございました。
Posted by aliceteabreak at 2012年02月26日 15:13
 >aliceteabreakさん

 動作確認ありがとうございました。


 wav から p6 に変換する際は、wav の先頭を「ぴー」が鳴っている間にすると、ゴミは出なくなり、変換もスムーズに行くと思います。

 参考まで。
Posted by えすび at 2012年02月27日 10:03
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。