「MB-S1 / レベル3」タグアーカイブ

MB-S1 / ベーシックマスタ レベル3 の話題

S1-CP/M80 移植作戦 その19 BIOSの作成3^^

今回のCP/M80のCBIOSはBIOS09とBIOS80のデータ受け渡しをコマンドとステータスで行う予定なので
仕様をまとめておきます。
作成しながら、このページを更新して情報をまとめていきたいと思います^^

■BIOS80→BIOS09のコマンド
CMDNo 2
コマンド名 CONST
データ構成 要求 リターン
レジスタ CMDNO=2 DATAREG=入力状態(00=データ無し,$FF=データあり)
IOSTAT=$80 IOSTAT=$40
DATAREG=N/A CMDNO=N/A
処理内容
BIOS09内のキー入力変数の値の有無を調べて返す
値あり = $FF
値なし = $00
BIOS80に処理を戻すときにCMDNOとDATAREGをクリアする
備考
将来的にはDATAREGに機器番号を渡して入力を切替えできるようにする
[BIOS80]コンソール ステータス(A←0xFF/0x00)
[BIOS80]”CON:”に割当て中のデバイスのステータスをチェック
CMDNo 3
コマンド名 CONIN
データ構成 要求 リターン
レジスタ CMDNO=3 DATAREG=入力文字(ASCIIコード)
IOSTAT=$80 IOSTAT=$40
DATAREG=N/A CMDNO=N/A
処理内容
BIOS09内のキー入力変数に値の値を返す
BIOS80にデータを渡したらBIOS09内の変数をクリア (CONSTVAL, CONINVAL)
BIOS80に処理を戻すときにCMDNOとDATAREGをクリアする
備考
将来的にはDATAREGに機器番号を渡して入力を切替えできるようにする
現在の”CON:”に割当て中のデバイスから1文字入力しアスキーコードをAレジスタにセットしてリターン
ANKの場合最上位ビットは0でなくてもOK
[BIOS80]コンソール インプット(A←入力キャラクタ)

続きを読む S1-CP/M80 移植作戦 その19 BIOSの作成3^^

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

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

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

ロード完了後は目的のアドレスにプログラムがロードされています
続きを読む S1-CP/M80 移植作戦 その18 BIOSの作成2^^

S1-CP/M80 移植作戦 その17 BIOSの作成1^^

Z80カードも動作するようになったので、BIOS09とBIOS80を実装してみました。

ブログを遡ってみるとBIOS移植作戦の最後の投稿が去年の10月
http://asakita.net/kabekin/2018/10/16111.html
かなりのスローペースですが、未だに続いてます・・・(笑

Z80カードの作り直し中、ローダやBIOSはごにょごにょしていたので一気に実装してみました。

作成したコンソールI/O廻りのBIOS09とBIOS80のフローはこんな感じです。

正しい動作かどうか分かりませんが、晒しておくと
(動作フローと状態遷移が一緒になって読みにくいかも・・)

割込みを使っていないI/Oフラグのポーリング式なので、Z80からの要求確認ごとに処理があっても無くても
必ずZ80がHALTになります

まずは動作するものを作ってから改良を加えていく作戦ですが、難しそう・・・^^;;

こちらの構成で実装したCBIOSを実行してみたところある程度動作していますが、まだまだ先が長い感じです^^

【S1】来夢来人でZ80Bカードのテスト その2^^

Z80のテストプログラムとしてMPC-RA64Sの64KB全範囲に$5Eを書込んでみました

前回は一部の範囲しか書いていなかったので今回はプログラムのエリアを除く$0020~$FFFFの
すべてを$5Eで埋めてみました

動作確認したZ80側のプログラムはこんな感じです

動作確認はこんな感じ

S1のモニタプログラムで空間=Fのページ-0を物理アドレス0にセット
Z80のテストプログラムを書き込み

一度S1モニタを抜けてPOKEコマンドでZ80カードのスタンバイと実行を実施、
その後Z80を停止しS1側にメモリ切替してメモリ内容を確認^^
続きを読む 【S1】来夢来人でZ80Bカードのテスト その2^^

【S1】来夢来人でZ80Bカードのテスト その1^^

自宅に来夢来人を持ち込んでZ80Bカードを取り付けてみました
CP/M80がある程度動作するようになるまでS1/10はお休みにします・・・

このZ80カードは拡張RAMのエリアしかアクセスできないので拡張RAMを取り付け^^
手前のスロットに日立純正のMPC-RA64Sを取り付けています

動作している目安としてZ80Bに供給されているクロックを見てみました 続きを読む 【S1】来夢来人でZ80Bカードのテスト その1^^