S1-CP/M80 移植作戦 その24 BIOSの作成8-3

スポンサーリンク

CP/Mのディスク関連のMMUメモリマッピングを整理しておきます

S1特有の複雑なメモリマッピングはCP/M80を動作させる上でも設定が必要でした。

今回のCP/M80を動かすために設定したメモリマッピングとロード先を整理すると

メモリマッピングは

ページ 起動時(空間1) ローディング(空間1) BIOS09動作時(空間8)
0 BF BF 00 (メモリ)
1 BF BF 01 (ローダー)
2 01 (ローダー) 01 (ローダー) 0D (CPM $D400-DFFF)
3 BF BF 0E (CPM $E000-EFFF)
4 BC 0D (CPM $D400-DFFF) 0F (CPM $F000-FFFF)
5 E2 0E (CPM $E000-EFFF) BF
6 E3 89 (BIOS09) 89 (BIOS09)
7 E4 8A 8A
8 E5 E5 0F (I/O)
9 E6 E6 00 (I/O)
A E7 E7 BF
B E8 E8 BF
C E9 E9 BF
D 85 85 85
E 84 84 84
F EF EF EF

こんな感じで使っています
(CP/M実行中は空間8を使っています)


2D用のCP/Mローダのメモリロード先は

Trk 開始
Sct
終了
Sct
セクタ
サイズ ロード先 マッピング先 実行時
マッピング
内容 コード
0 1 2 2 512 $2000~ $1000~ $1000~ CP/Mローダ 6809
0 3 24 22 5632 $4400~ $E400~ $E400~ CPM本体+BDOS Z80
0 25 30 6 1536 $4A00~ $EA00~ $EA00~ BIOS80 Z80
0 31 32 2 512 $6000~ $89000~ $6000~ BIOS09 6809
1 1 14 14 3584 $6200~ $89200~ $6200~ BIOS09 6809

にしています。

スポンサーリンク

コメントを残す

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

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