「6809MPU」タグアーカイブ

6809MPUの話題

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】2DベタデータをD88に変換 その2^^

いつもは2DベタデータをD88に変換するのにL3DiskExを使わせて頂いていますが、
FM-7エミュレータのXM7Dashでも変換できることを思い出しました^^

操作は「ツール」-「2D/2DD→D77変換(2)」

どうやらXM7Dashの2Dベタ→D77変換を使うとスキューのかかっていない
D77イメージができるようですので実験するときに使い分けができそうです

XM7Dashで2D→D77変換したセクタ順序 続きを読む 【S1】2DベタデータをD88に変換 その2^^

【S1】フロッピへの書込みを疑ってみる^^

S1エミュでは思った通りに動作しているプログラムを実機でロードしようとすると動作が違うということで

実FDにDITTで書いたデータに違いがあるのではないかと調べてみました

使ったのはS1DISKBASICのダンプユーティリティ

ローダの先頭セクタをS1エミュで見ると

こんな感じ

DITTで書いたFDを実機で見ると 続きを読む 【S1】フロッピへの書込みを疑ってみる^^