SSブログ

「モトローラ6800伝説」で遊ぶ 6809編その5 [マイコン]

今回は、モニタの移植についてです。
移植するモニタは、

http://www.geocities.jp/wnoy/mpb6809.html
こちらから
mpb6809.tar.tar
をもらってきてください。
これを解凍すると、中に、MON6809.ASM があります。これを移植します。
修正する場所を示します。
1つめ
エディタで開くと、
13行目、
ACIACS EQU  $EFFE
これは、ACIAのアドレスです。ターゲットのSBC6809のACIAは
&8018 なので、
ACIACS EQU  $8018
と変更します。

2つめ
401行目
ORG  $DF80
変数やスタックポインタ等の先頭アドレスです。当然RAM上になければいけませんが、SBC6809のRAMは、$1FFF までです。
そこで、
ORG  $1F80
に変更します。
基本的にはこの2カ所で動くはずです。
3つめは、SBC6809 のモニタの位置をSBC6800 に合わせるための変更です。
15行目
ORG  $F000
これを
ORG $E000
とします。変更しなくても動くはずです。

4つめ
これは、私が使ったアークピットのアセンブラ、X6809.EXE 固有の変更です。
330行目から332行目
MTAPE1 FCB $D,$A,'S,'1,0 PUNCH FORMAT
MCL FCB $D,$A,'*,0 C/R,L/F
MEOF FCB $D,$A,'S,'9,0
これを
MTAPE1 FCB $D,$A,'S','1',0 PUNCH FORMAT
MCL FCB $D,$A,'*',0 C/R,L/F
MEOF FCB $D,$A,'S','9',0
とします。
これは、このアセンブラが、キャラクタを表す「'」をうまく解析してくれないからです。
キャラクタが1つだけなら良いのですが、連続すると、区切りの「,」を区切りと認識しません。
そこで、1つのキャラクタを「'」で囲むと上手く認識してくれました。
なお、私は、X6809.EXE をWindows7 32bitで使っています。
64bit版やWindows10では動かないと思います。やっていませんが。

nice!(0)  コメント(0)