S1-CP/M80 移植作戦 その18 BIOSの作成2^^

スポンサーリンク

こちらのフローで実装したCBIOSを組み込んだCP/M80 Ver2.2を来夢来人+Z80Bカードで実行させてみました

コールドブートローダはDISKBASICのローダを改造しsamさんにマッピングを変更して頂いたものです^^

ロード完了後は目的のアドレスにプログラムがロードされています

プログラムのロード状態を確認するために、BIOS09起動時にZ80カード起動前にS1のモニタに抜けることができます
モニタに抜けてメモリを確認すると
0000~ Z80のリセットベクタ (00 FA 76になっていますがこれはバグで現在はC3 00 FAになっています)
3400(EA00~)  CP/M80 Ver2.2本体
4A00(FA00~)  BIOS80
6000(89000~) BIOS09
ロード先メモ→こちら

BIOS09を実行するとZ80にリセットをかけてZ80をスタートします

めでたくCP/Mの起動メッセージが表示されました^^

その後、サブルーチン05=LISTが一度呼ばれ
サブルーチン08=READが呼ばれたのちサブルーチン04=CONOUTでBdos Err on A: Bad Sectorが
表示されました。

アスキーの「応用CP/M」によるとREADは10回程度リトライされるとの記述があるので、この動作は正しそうです。
EMPTY SUBROUTINE.はREADサブルーチンの中身を実装していないのでBIOS09が出してます・・・

その後、a>のプロンプトが出力された後「^@」がCONOUTで連続して表示され続けます。

CTRL+Sで一時停止は可能ですが、それ以外は何も受け付けません。

この状態は止めるまで続きます。
固定長で^@が出力されているので何か意味があるのかもしれませんが、今のところ何が起こっているか不明

BDOSから「Bdos Err on A: Bad Sector」が戻ってきているということはZ80カードは正常に動作しているっぽいということで一安心^^

とりあえずCP/M80が動作して一安心の記録^^

スポンサーリンク

「S1-CP/M80 移植作戦 その18 BIOSの作成2^^」への4件のフィードバック

  1. わーお。ついにプロンプトがでるところま到達しましたか。。。おめでとうございます。
    来夢来人でもCP/Mが動作するということですね。
    文字色が緑なのはブートローダのを引きずっているんですね。

    独自FDルーチンまだ完成していませんが誠意努力中です。
    (完成するとDiskBASICの助けがいらなくなります)
    >「Bdos Err on A: Bad Sector」
    がでるということはFDへのアクセスがうまくいかないということですね。
    DiskBASICと共存の場合、DISKIOのシステムコールが動かないでしょうか?

    1. これまでに作っていたBIOSを少し手直ししたらBDOSからのエラーメッセージが表示されてびっくりしました^^;;
      来夢来人はIGやBモード、ACIA等いろいろ削られているのでバス廻りはどうかと思っていましたがフローティングバスの仕組みはS1と同じ仕様のようですね。
      文字が緑なのはブートローダを引きずってます^^
      コンソールI/Oの部分をなんとか動くようにしようとしていたのでDISKBASICのローダーは今は使っていません。
      今後ディスク廻りの作業が始まったらDISKBASICのローダーの出番です
      DISKBASICの共存とDISKIOのシステムコールの関係はまだ試せていません^^;;;

    1. 連続で^@が表示されるのはBIOS80のCONINでデータが無い時にも0x00を返し続けていたのが問題だったようです(入力があるまでCONIN内でループしていなかった)
      CONINのループを直してBIOS09から0x00が戻ってきたときはBIOS80のCONIN内でループさせるように修正しましたがどんな文字を打ち込んでも^@が戻ってくるのは変わりませんでした。
      色々試していますが今のところ原因不明です^^

コメントを残す

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

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