言い訳
今回の機体(SONY HB-F1XDJ)は中古で入手したもので
マニュアル類は一切付いていませんでした。
よってスロット割り当てに関する資料が無い為、
それを他機種などから類推して補っています。
具体的には
- 1:BASICのROMが基本スロット#0のページ0〜1の範囲にある
- 2:基本スロット#0には拡張スロットが無い
という2点です。
1番はほぼ間違いないと確信していますが、2は正直言って不安があります。
MSX関連のサイトを見ていると、そうではない(拡張スロットがある)機種も
存在しているようだからです。
ちゃんと確認する方法があるのかも知れませんが、
今のところ不安を抱えたままの状態です。
改造した点
BASICが載っているROMはスロット#0のページ0〜1にあり、
ここにローカルRAMをマップすることが必要です。
ただしROMの内容をコピーしてからマップしなければなりませんので
マップするかどうかを設定するラッチを新規に設置しました。
これはI/Oアドレス$31のビット0にしました。
このビットを立てると、ページ0〜1のスロット#が0であれば
ローカルRAMをアクセスします。
各ページのスロット#はMSXのI/Oアドレス$A8で設定されますので
このアドレスを監視してページ0〜1のスロット番号をチェックします。
ページ0〜1の様子さえ分れば良いので、監視するのは下位4ビットのみで十分です。
またMSXには拡張スロットというスロットを拡張する仕様もあり、
本来ならそこも監視する必要があります。
しかし今回は回路の簡略化の為それには対応していません。
よって(基本)スロット#0に拡張スロットが有った場合には
問題が発生します。
I/O$31のビット1を立てれば強制的にページ0〜1が
ローカルRAMとなるという仕様はそのままですが、
ビットが立っていない時も書き込まれるという仕様は無くしました。
今回の回路です。
(1枚に納める為ににかなり無理がでてる感じがします。)
前へ
次へ
目次へ戻る