|
前回で、このハードを単体で使うソフトはほぼ終了してますが
補足と今後の予定を願いを込めて書くこととします。 1)basicソフトを保存する場合の補足 既にFM-7の($33・$34)、($35・$36)のアドレスにおいて前者はbasicの 中間言語の先頭アドレスを保持し後者はこの値から1を引いた値が中間言語 の終端アドレスを保持してると説明してますが、FDD、RS232等を使わない カセットベースの場合は($33・$34)は#0790(16進数)になってます。 この条件で保存したヘッダー付きデータをFDD等を使った環境で展開すると 正常に動作しません。あくまでも保存した時と同一の条件・環境で FM-7のメモリに展開して下さい。理由は($33・$34)が#0790とは 違うことと、basic中間言語のリンクポインタも違うからです。 2)前回、公開したソフトをディスアセンブルしました。 現在、今回製作したデータ転送ハード&ソフトと組み合わせて、 高速にファミコンのディスクシステムをバックアップする仕組みを 予定してますが、その際に現在、使ってるPC用の6809のアセンブラや ディスアセンブラがあると便利と考え用意しました。アセンブラと ディスアセンブラは対になると思われる2セット用意しました。 今回はf9dasmと言うディスアセンブラを使いました。 ・FM7DRV27_20181124.datのディスアセンブラ結果のみ掲載 こちらの結果は良好でした。 [root@localhost Linux]# ./f9dasm FM7DRV27_20181124.dat ***************************************************** ** Used Labels * ***************************************************** M0060 EQU $0060 M00A0 EQU $00A0 Z0470 EQU $0470 MFDFD EQU $FDFD MFDFE EQU $FDFE ***************************************************** ** Program Code / Data Areas * ***************************************************** ORG $0000 M0000 NEG M0000 *0000: 00 00 '..' M0002 LSR M0060 *0002: 04 60 '.`' M0004 LSR M00A0 *0004: 04 A0 '..' M0006 NEG M0000 *0006: 00 00 '..' Z0008 STB MFDFD *0008: F7 FD FD '...' LDA MFDFE *000B: B6 FD FE '...' CLR MFDFD *000E: 7F FD FD '...' RTS *0011: 39 '9' Z0012 LDX M0002,PCR *0012: AE 8C ED '...' LDB #$01 *0015: C6 01 '..' Z0017 LDA MFDFE *0017: B6 FD FE '...' ANDA #$80 *001A: 84 80 '..' BEQ Z001F *001C: 27 01 ''.' RTS *001E: 39 '9' Z001F BSR Z0008 *001F: 8D E7 '..' ASLA *0021: 48 'H' STA M0006,PCR *0022: A7 8C E1 '...' BSR Z0008 *0025: 8D E1 '..' ANDA #$7F *0027: 84 7F '..' ORA M0006,PCR *0029: AA 8C DA '...' STA ,X+ *002C: A7 80 '..' CMPX M0004,PCR *002E: AC 8C D3 '...' BGE Z0035 *0031: 2C 02 ',.' BRA Z0017 *0033: 20 E2 ' .' Z0035 STX M0006,PCR *0035: AF 8C CE '...' RTS *0038: 39 '9' LDX M0002,PCR *0039: AE 8C C6 '...' LDB #$02 *003C: C6 02 '..' Z003E LDA ,X+ *003E: A6 80 '..' STA MFDFE *0040: B7 FD FE '...' STB MFDFD *0043: F7 FD FD '...' CLR MFDFD *0046: 7F FD FD '...' CMPX M0004,PCR *0049: AC 8C B8 '...' BGE Z0050 *004C: 2C 02 ',.' BRA Z003E *004E: 20 EE ' .' Z0050 RTS *0050: 39 '9' JSR Z0012,PCR *0051: AD 8C BE '...' JSR Z0470 *0054: BD 04 70 '..p' RTS *0057: 39 '9' END 3)データ転送ハードの製作16で公開したハードに対応するソフト ハードを用意すれば下のコードが動くには動くと思います https://imgur.com/a/HpHTUX9 ファミコンのディスクシステムにおいて読み書き可能なソフトです。 ただ公開したソフトではディスクシステムのバックアップはできません。 高速にバックアップするために改変して行くことを今後の予定とします。 なお速さを期待しないのであれば「The BASIC誌」の1987年2月号に ソフトは既に掲載されてます。同志には回路図も掲載されてます。 自分は、そのコードを使って補助記憶装置として利用してましたが 再度、原点に戻ります。 ではまた。 |

>
- コンピュータとインターネット
>
- コンピュータ
>
- ソフトウェア






<補足・訂正>
1)「The BASIC誌」を同志と呼称しましたが同誌の間違いです。
2)下のリンク先にあるFAMOS77用コードと言うバイナリーを
改変してファミコンのディスクシステムのバックアップツールを
作成する予定です。なお先頭アドレスは$6700です。
https://imgur.com/a/HpHTUX9
ポジションは固定です。256バイト × 3 で 768バイト程です。
[ shuji_akita2001 ]
2018/12/14(金) 午後 10:45