バスのアクセス状況の確認のために安定にループするプログラムを作成します。例によってもっとも単純なプログラム、JUMP $から始めます。これはx86系でも何度も書いていてコードも覚えてしまいました。
EB FE JMP $
これを486CPUのリセットベクタに配置します。ROMへのリロケーションはシステム設計により変わるのでT805につづいてこちらも備忘録でまとめておきました。
32ビットアドレス空間の0x***80000~0x***FFFFFの512kbyteに16ビット幅ROM2個でコードが配置されます
リセットベクタ:0xFFFFFFF0はLOWER側、ROM0に存在するのでここからリトルエンディアンでEB/FEを焼き込みます
ただしワードROMは16bit幅1ワード単位でアドレスが振られているのでROMとしてのスタートアドレスは0x1FFFCとなること、ワード内での表記上はビッグエンディアンで0xFEEBとなるのでここらへんが考えているとこんがらがります。
ROMライタのバッファにコードを転送したとき1バイト8ビットオリエンテッドでダンプすると、どこにどういう順番で書かれるか直感的に判りません
おなじバイナリイメージをワードROMに書くことに備えて、1ワード16ビットオリエンテッドのダンプモードを組み込みました