S1-CP/M80 移植作戦 その12 データがメモリに書けないっぽい^^

スポンサーリンク

Z80用の簡単なプログラムをメモリに書いて動作確認してみました。

Z80はリセット後0番地からスタートするそうなので0番地からプログラムを書き込みます

まずはS1のモニタで物理メモリの$00000~を論理アドレスの$0000~に割り当てます
0番地からZ80のプログラムで
LD     A,$31
LD    (0020h),A
HALT
をメモリに書き込んで
POKE &HFF7F,&hFFでZ80をリセットしPCを0番地に移動
POKE &HFE19,&H00でZ80 RUNで6809からバス切り離し
POKE &HFE19,&H80でZ80 STOPでバスを6809側に切替

結果を見てみると、
期待した結果の$0020番地には何も書けてません (泣

メモリに書けてないだけ? それとも読み込みもNGで何も動作してない??

それを検証するためにメモリではなくI/Oに出力させてみます
プログラムは
LD     A,31h
LD     (0020h),A
LD     A,,80h
OUT    (01h),A
HALT

このカードはI/O(アドレスは任意)にBit7を出力するとS1に割込要求をかけるようになってるようですが、
プログラムを実行するとS1のキー入力を受け付けずフリーズ状態になるのでI/OからBit7が出力されて
いるようです。(Bit0~6はバンク切替)
ということはメモリからの読み込みはOK
書込みはNGといった症状のようです。

Z80のアセンブラは始めたばかりですが、この短いソフトに問題があるとは思えないので、ハード的な
何かが問題の可能性が大きいです。

やっぱ、一発で動作しなかったようです・・・・^^;;;
(何かとんちんかんな勘違いなどで動いてないんじゃないか等、気づいた点がありましたらアドバイス下さい^^)

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)