SRのVRAMのアクセス関連の調査中です。
先日挙げた、
○グラフィックモードの場合
☆ポート0xC8 bit3=0 にすると、ポート0xCE、ポート0xCFで座標アクセスが出来る。逆に直接アクセスができない。
☆座標アクセスの際は、ページ番号によりポート0xC8 bit4を変更する。通常は、下位32K(ページ0)。
☆ポート0xC8 bit3=1 、bit4=0 にした場合、通常環境では暴走する。これは、BASICのワークエリアにアクセスができないため。
☆の1つ目の項目はこれで正解のようです。
ただやっかいなのは、X座標0〜319、Y座標0〜203 の範囲なのですが、I/Oとしては両方とも16ビットあるため、範囲外にアクセスした時にどうなるかを調べる必要があります(調査中ですが、多少ヘンな動きをします)。
また、上位32Kに座標アクセス(ビットマップアクセス)するためには、プログラムを二段階に組む必要があるので、まだ調べきれていません。
ちなみに、画面を表示させながら、ディスクからロードするには、以下の方法で実現できます。
SCREEN 2,2,2:POKE &HED1D,&HEE:BLOAD "ファイル名"
0xED1D は、ポート0xC8の値を保存しているワークエリアで、VSYNC割り込みで読み出してポート0xC8に設定しています。
2014年05月12日
この記事へのコメント
コメントを書く

