CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

ROMライタ修正

 
・・とここまでくれば普通は察しがつくのですが、実のところ結構悩みました。
 
要は数値表現のエンディアンの違いです。
ROMライタの制御CPUはH8/3069を使っていて、これはモトローラの流れを汲むビッグエンディアンなわけです。short型の数値はメモリ上には上位下位の順で格納されるので、インテルのようなリトルエンディアンのつもりでバイト単位のアクセスすると上位下位がひっくり返ると。
修正はROMライタ内のバイト⇔ワードの変換関数を修正で完了です
ターゲットが悪いのではなく開発ツールの方が悪かったという基本ダメパタンでした
 
これであらためてROMを焼き実行させると、ROM内での連続アクセスが行われており、成功です。ただA19が一瞬落ちてROMがディセーブルされるのが謎です
 
イメージ 1