Manuke Station BBS

RSS
投稿者 題名 内容 URL

4th ROMからの転送

投稿者: Manuke 投稿日:
To PC88さん
> わざわざ詳しい解説までありがとうございます。
> 本当に無知の自分を痛感しています。そこで、恥を忍んで教えていただきたいのですが、
> 4thROMの内容を別のアドレスに移動させたい場合はどうしたらよろしいのでしょうか?

処理内容にもよるかと思いますが、基本はメモリ間のコピーでしょうね。
BASICからもアクセス可能な領域へコピーしてしまえば、後の処理が楽になります。

例えば、BASIC側であらかじめCLEAR文でメモリを確保し、0C000H~0DFFFHがワークエリ
アとして利用可能だとします。(TransRomはここを使用)
この場合、先ほどのコードに挿入するなら、

        PUSH    BC              ; Bレジスタ(71H)をスタックへ待避
        LD      HL, 6000H       ; 4th ROM先頭メモリアドレス
        LD      DE, 0C000H      ; ワークエリアメモリアドレス
        LD      BC, 2000H       ; 転送バイト数
        LDIR                    ; 一括コピー
        POP     BC              ; Bレジスタをスタックから復帰

と実行すれば、6000H~7FFFHの内容が0C000H~0DFFFHへコピーされます。
この領域ならば、BASICのPEEK関数でも読み出し可能です。