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

Last Updated on 2018年9月14日 by kabekin

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のアセンブラは始めたばかりですが、この短いソフトに問題があるとは思えないので、ハード的な何かが問題の可能性が大きいです。
やっぱ、一発で動作しなかったようです・・・・^^;;;
(何かとんちんかんな勘違いなどで動いてないんじゃないか等、気づいた点がありましたらアドバイス下さい^^)

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください