- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{include unfinished_page}}
,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[3章 レジスタの機能]],{BSIZE:0|RIGHT}[[5章 V9938のコマンド]]→
!!4.1 TEXT 1(SCREEN 0、40字モード)
!4.1.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■1パターンのサイズ ,横6ドット 縦8ドット
,■パターンの数 ,256種類
,■画面上のパターン数 ,横40パターン 縦24パターン
,■パターンの色 ,512色中2色(全画面)
,■1画面表示に必要なVRAM容量,4Kバイト
!4.1.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■パターンのフォント ,VRAM,パターンジェネレータテーブル
,■画面上のパターンの位置 ,VRAM,パターンネームテーブル
,■パターンの1の部分の色コード ,R#7 ,上位4ビット
,■パターンの0の部分の色コード ,R#7 ,下位4ビット
,■バックドロップの色コード ,R#7 ,下位4ビット
!4.1.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P469-1.svg}}
'''Mode register 1'''
{{svg 図P469-2.svg}}
'''Mode register 2'''
{{svg 図P469-3.svg}}
'''Mode register 3'''
{{svg 図P469-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をTEXT 1モード(00001)にセットした例です。そのほかのビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00000000、01110000、00001000、00001000の値で初期化します。
'''2.パターンジェネレータテーブルの設定'''
パターンジェネレータテーブルはパターン(文字)のフォントを記憶させるエリアです。
パターンには#0〜#255の番号がつけられ、パターンを画面に表示するときには、このパターン番号で指定します。
パターンジェネレータテーブルの先頭アドレスはレジスタR#4にセットします。指定できるのは先頭アドレスの上位6ビット(A16〜A11)のみで、下位11ビット(A10〜A0)は「0」とみなされます。したがって、パターンジェネレータテーブルの先頭アドレスとして指定できるのは、00000Hから2Kバイト単位の位置になります。
1個のパターンのフォントは8バイトで構成され、各バイトの下位2ビットは表示されません。
'''Pattern generator table base address register'''
{{svg 図4.2.svg}}
'''図4.2 TEXT 1モードのパターンジェネレータテーブル例'''
'''3.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1パターンに対応しています。このテーブルに0〜255のパターン番号を書き込むと、対応する画面上の位置に指定したパターンが表示されます。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは先頭アドレスの上位6ビット(A16〜A11)のみで、下位11ビット(A10〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hから1Kバイト単位の位置になります。
'''Pattern name table base address register'''
{{svg 図4.3.svg}}
'''図4.3 TEXT 1 モードのパターンネームテーブル'''
'''4.カラーレジスタの設定'''
画面の色はR#7で指定します。背景色はR#7の下位4ビット、前景色はR#7の上位4ビットで指定されたパレットによって色が決まります。フォントパターン中の、「0」の部分は背景色、「1」の部分は前景色で表示されます。なお、TEXT1モードでは画面のバックドロップの色を設定することはできず、背景色と同じになります。
'''Text color / Back drop color register'''
{{svg 図P471.svg}}
!4.1.4 TEXT1(SCREEN 0、40字)モードのVRAMマップ
{{svg 図4.4.svg}}
'''図4.4 TEXT 1 モードのVRAMマップ'''
以下同様に、最高32ページまで割り付けが可能(VRAM128K実装機種)です。ただしMSX-BASICではこのモードはページ0のみサポートしています。
パレット情報はパレットレジスタが書き込み専用のため、MSXのBIOSが管理し、VRAMの一部を使って記憶しています。この画面モードでは、0400Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
color 0の情報は
{{svg 図P472.svg}}
のように連続2バイトで、RGB各3bitが格納されています。この情報は、パレット制御用のcolor命令で参照されます。
!!4.2 TEXT 2(SCREEN 0、80字モード)
!4.2.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■1パターンのサイズ ,横6ドット 縦8ドット
,■パターンの数 ,256種類
,■画面上のパターン数 ,横40パターン 縦24パターン
, ,横80パターン 縦26.5パターン
,■パターンのブリンク ,1文字ごとに指定可能
,■パターンの色 ,512色中2色(全画面)
, ,ブリンクを使用すると4色
,■1画面表示に必要なVRAM容量,8Kバイト
!4.2.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0|SIZE:200},{BSIZE:0},{BSIZE:0}
,■パターンのフォント ,VRAM, パターンジェネレータテーブル
,■画面上のパターンの位置 ,VRAM, パターンネームテーブル
,■ブリンクの属性 ,VRAM, カラーテーブル
,■パターンの1の部分の色コード ,R#7 , 上位4ビット
,■パターンの0の部分の色コード ,R#7 , 下位4ビット
,■バックドロップの色コード ,R#7 , 下位4ビット
,■パターンの1の部分の色コード ,R#12, 上位4ビット,{{svg 図P486.svg}}{ROWS:2},ブリンク用{ROWS:2}
,■パターンの0の部分の色コード ,R#12, 下位4ビット, ,
!4.2.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P474-1.svg}}
'''Mode register 1'''
{{svg 図P474-2.svg}}
'''Mode register 2'''
{{svg 図P474-3.svg}}
'''Mode register 3'''
{{svg 図P474-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をTEXT 2モード(01001)にセットした例です。
この表示モードでは、LN=1のとき26.5行、LN=0のとき24行になります。その他のビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00001000、01110000、00001000、00001000の値で初期化します。
'''2.パターンジェネレータテーブルの設定'''
TEXT1モードと同じです。TEXT1モードのパターンジェネレータテーブルの項を参照して下さい。
'''3.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1パターンに対応しています。このテーブルに0〜255のパターン番号を書き込むと、対応する画面上の位置に指定したパターンが表示されます。
画面上に表示されるパターンはLN=0のとき横80、縦24パターンで、LN=1のときは横80、縦26.5パターンです。縦の27個目のパターンは上半分のみ表示されます。ただし、BASICモードではLN=1のモードはサポートしていません。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは、パターンネームテーブルの先頭アドレスの上位5ビット(A16〜A12)のみで、下位12ビット(A11〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hから4Kバイト単位の位置になります。
'''Pattern name table base address register'''
{{svg 図4.5.svg}}
'''図4.5 TEXT 2 モードのパターンネームテーブル'''
'''4.カラーテーブルの設定'''
TEXT2モードでは、各パターン(文字)に1ビットずつアトリビュートエリアがあり、このビットを1にすることによって、そのパターンにブリンクの属性を持たせることができます。
カラーテーブルの先頭アドレスはレジスタR#3とR#10にセットします。カラーテーブルの先頭アドレスとして指定できるのは00000Hから512バイト単位の位置になります。
'''Color table base address register'''
{{svg 図4.6.svg}}
'''図4.6 TEXT 2 モードのカラーテーブル'''
'''5.カラーレジスタの設定'''
ブリンクの属性を与えられたパターンは、レジスタR#7とレジスタR#12で指定された色コードを交互に表示します。
'''Text color / Back drop color register'''
{{svg 図P476-1.svg}}
'''Text color / Back color register'''
{{svg 図P476-2.svg}}
'''6. ブリンクレジスタの設定'''
ブリンクの属性を与えられたパターンは、レジスタR#7とレジスタR#12で指定された色コードを交互に表示しますが、この時間の間隔はレジスタR#13でしています。R#13の上位4ビットは本来の文字色が指定されている時間を、下位4ビットはブリンク色が表示されている時間を表4.3のように設定します。詳しくは表4.3を参照して下さい。
{{svg 図4.7.svg}}
'''図4.7 ブリンクの周期'''
'''Blinking register'''
{{svg 図P477.svg}}
'''表4.3 ブリンクのデータと時間一覧'''
ON TIMEとOFF TIMEのデータと時間の関係は、このようになります。このデータは、NTSCモードにおいて計算されたものです。
,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0},{BSIZE:1 0},{BSIZE:1 0},{BSIZE:1 0},{BSIZE:1 0}
,DATA(BIN){COLS:4}, , , ,TIME(ms)
,{c},{BSIZE:0|SIZE:40},{BSIZE:0|SIZE:40},{BSIZE:0|SIZE:40},{BSIZE:0|SIZE:60},{BSIZE:0|RIGHT}
,0,0,0,0,0.0
,0,0,0,1,166.9
,0,0,1,0,333.8
,0,0,1,1,500.6
,0,1,0,0,667.5
,0,1,0,1,834.4
,0,1,1,0,1001.3
,0,1,1,1,1168.2
,1,0,0,0,1335.1
,1,0,0,1,1501.1
,1,0,1,0,1668.8
,1,0,1,1,1835.7
,1,1,0,0,2002.6
,1,1,0,1,2169.5
,1,1,1,0,2336.3
,1,1,1,1,2503.2
!4.2.4 TEXT2(SCREEN 0、80字)モードのVRAMマップ
{{svg 図4.8.svg}}
'''図4.8 TEXT 2 モードのVRAMマップ'''
以下同様に、最高16ページまで割り付けが可能(VRAM 128K実装機種)です。ただし、BASICではこのモードはページ0のみサポートし、カラーテーブル、ブリンク機能はサポートしていません。
この画面モードでは、0F00Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.3 MULTI COLOR(SCREEN 3)
!4.3.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■1ブロックのサイズ ,横4ドット 縦4ドット
,■画面上のブロック数 ,横64ブロック 縦48ブロック
,■ブロックの色 ,512色中16色(各ブロック毎に指定可)
,■スプライト ,モード1
,■1画面表示に必要なVRAM容量,4Kバイト
MULTI COLORモードは他のグラフィックモードとは異なり、1画面が横64個、縦48個のカラーブロックで構成されます。各カラーブロックは、ブロックごとに512色中から16色を指定できます。
!4.3.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■カラーブロックの色コード ,VRAM,パターンジェネレータテーブル
,■カラーブロックの位置 ,VRAM,パターンネームテーブル
,■バックドロップの色コード ,R#7 ,下位4ビット
,■スプライト ,VRAM,スプライトアトリビュートテーブル
, ,VRAM,スプライトパターンテーブル
!4.3.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P479-1.svg}}
'''Mode register 1'''
{{svg 図P480-1.svg}}
'''Mode register 2'''
{{svg 図P480-2.svg}}
'''Mode register 3'''
{{svg 図P480-3.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をMULTI COLORモード(00010)にセットした例です。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00000000、01101000、00001000、00001000の値で初期化します。
'''2.パターンジェネレータテーブルの設定'''
パターンジェネレータテーブルはカラーブロックの色を記憶させるエリアです。
1個のパターンは4個のカラーブロックで構成されます。このパターンは画面の表示領域のドット数を256×192とした場合、8×8に相当する大きさです。
{{svg 図P480-4.svg}}
1個のパターンに含まれるカラーブロックの色は下図のように2バイトで表現します。
{{svg 図P480-5.svg}}
1個のパターン名に対して、表示のY座標によって自動的に選択される4個のパターンが対応します。
パターンジェネレータテーブルの先頭アドレスはレジスタR#4にセットします。指定できるのは、先頭アドレスの上位6ビット(A16〜A11)のみで、下位11ビット(A10〜A0)は「0」とみなされます。したがって、パターンジェネレータテーブルの先頭アドレスとして指定できるのは00000Hから2Kバイト単位の位置になります。
{{svg 図P481-1.svg}}
'''Pattern generrator table base address register'''
{{svg 図4.9.svg}}
'''図4.9 MULTI COLORモードのパターンジェネレータテーブル'''
'''3. パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1パターンに対応しています。このテーブルに0〜255のパターン番号を書き込むと、対応する画面上の位置に指定したパターンが表示されます。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは、パターンネームテーブルの先頭アドレスの上位7ビット(A16〜A10)のみで、下位10ビット(A9〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hから1Kバイト単位の位置になります。
'''Pattern name table base address register'''
{{svg 図4.10.svg}}
'''図4.10 MULTI COLORモードのパターンネームテーブル'''
'''4. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます
'''Text color / Back drop color register'''
{{svg 図P482-1.svg}}
'''5. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.1 スプライトモード1」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P483-1.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P483-2.svg}}
!4.3.4 MULTI COLOR(SCREEN 3)モードのVRAMマップ
{{svg 図4.11.svg}}
'''図4.11 MULTI COLORモードのVRAMマップ'''
以下同様に8ページまで割り付けが可能(VRAM 128K 実装機種)です。配置によっては16ページ、スプライトジェネレータの節約で32ページ、64ページなどの割り付けも可能ですが、BASICではサポートしていません。
この画面モードでは、02020Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.4 GRAPHIC1(SCREEN 1)
!4.4.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■1パターンのサイズ ,横8ドット 縦8ドット
,■パターンの数 ,256種類
,■画面上のパターン数 ,横32パターン 縦24パターン
,■パターンの色 ,512色中16色(全画面)
,■スプライト ,モード1
,■1画面表示に必要なVRAM容量,4Kバイト
!4.4.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:30},{BSIZE:0|SIZE:60},{BSIZE:0}
,■パターンのフォント , ,VRAM,パターンジェネレータテーブル
,■画面上のパターンの位置 , ,VRAM,パターンネームテーブル
,■パターンの1の部分の色コード,{{svg 図P486.svg}}{ROWS:2},VRAM,カラーテーブル
,■パターンの0の部分の色コード, , , 8パターンごとに1組指定可能
,■バックドロップの色コード , ,R#7 ,下位4ビット
,■スプライト , ,VRAM,スプライトアトリビュートテーブル
, , ,VRAM,スプライトパターンテーブル
!4.4.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P487-1.svg}}
'''Mode register 1'''
{{svg 図P487-2.svg}}
'''Mode register 2'''
{{svg 図P487-3.svg}}
'''Mode register 3'''
{{svg 図P487-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 1モード(00000)にセットした例です。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00000000、01100000、00001000、00001000の値で初期化します。
'''2.パターンジェネレータテーブルの設定'''
パターンジェネレータテーブルはパターンのフォントを記憶させるエリアです。
パターンには#0〜#255の番号がつけられ、パターンを画面に表示するときには、このパターン番号で指定します。
パターンジェネレータテーブルの先頭アドレスはR#4にセットします。指定できるのは、先頭アドレスの上位6ビット(A16〜A11)のみで、下位11ビット(A10〜A0)は「0」とみなされます。したがって、パターンジェネレータテーブルの先頭アドレスとして指定できるのは00000Hから2Kバイト単位の位置になります。
1個のパターンのフォントは8バイトで構成されます。
'''Pattern generrator table base address register'''
{{svg 図4.12.svg}}
'''図4.12 GRAPHIC 1 モードのパターンジェネレータテーブル例'''
'''3. パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1パターンに対応しています。このテーブルに0〜255のパターン番号を書き込むと、対応する画面上の位置に指定したパターンが表示されます。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは、パターンネームテーブルの先頭アドレスの上位7ビット(A16〜A10)のみで、下位10ビット(A9〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hから1Kバイト単位の位置になります。
'''Pattern name table base address register'''
{{svg 図4.13.svg}}
'''図4.13 GRAPHIC 1 モードのパターンネームテーブル'''
'''4. カラーテーブルの設定'''
パターンの「1」の部分の色と「0」の部分の色を8パターン毎に1組設定します。
カラーテーブルの先頭アドレスはレジスタR#3とR#10にセットします。カラーテーブルの先頭アドレスとして指定できるのは、00000Hから64バイト単位の位置になります。
'''Color table base address register'''
{{svg 図4.14.svg}}
'''図4.14 GRAPHIC 1 モードのカラーテーブル'''
'''5. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます
'''Text color / Back drop color register'''
{{svg 図P490-1.svg}}
'''6. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.1 スプライトモード1」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P491-1.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P491-2.svg}}
!4.4.4 GRAPHIC 1(SCREEN 1)モードのVRAMマップ
{{svg 図4.15.svg}}
'''図4.15 GRAPHIC 1モードのVRAMマップ'''
以下同様に8ページまで割り付け可能(VRAM 128K 実装機種)です。配置によっては32ページなどの割り付けも可能ですが、BASICではサポートしていません。
この画面モードでは、02020Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.5 GRAPHIC2(SCREEN 2)、GRAPHIC3(SCREEN 4)
!4.5.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■1パターンのサイズ ,横8ドット 縦8ドット
,■パターンの数 ,768種類
,■画面上のパターン数 ,横32パターン 縦24パターン
,■パターンの色 ,512色中16色(全画面)
,■スプライト ,モード1(GRAPHIC 2)
, ,モード2(GRAPHIC 3)
,■1画面表示に必要なVRAM容量,16Kバイト
GRAPHIC 2 と GRAPHIC 3 の違いは、スプライトのモードだけです。
!4.5.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:30},{BSIZE:0|SIZE:60},{BSIZE:0}
,■パターンのフォント , ,VRAM,パターンジェネレータテーブル
,■画面上のパターンの位置 , ,VRAM,パターンネームテーブル
,■パターンの1の部分の色コード,{{svg 図P486.svg}}{ROWS:2},VRAM,カラーテーブル
,■パターンの0の部分の色コード, , ,各パターンのラスタに1組指定可能
,■バックドロップの色コード , ,R#7 ,下位4ビット
,■スプライト , ,VRAM,スプライトアトリビュートテーブル
, , ,VRAM,スプライトパターンテーブル
!4.5.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P495-1.svg}}
'''Mode register 1'''
{{svg 図P495-2.svg}}
'''Mode register 2'''
{{svg 図P495-3.svg}}
'''Mode register 3'''
{{svg 図P495-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 2(00100)またはGRAPHIC 3(01000)にセットした例です。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00000010(GRAPHIC 3のときは00000100)、01100000、00001000、00001000の値で初期化します。
'''2.パターンジェネレータテーブルの設定'''
パターンジェネレータテーブルはパターンのフォントを記憶させるエリアです。
パターンには#0〜#255の番号(パターンネーム)がつけられていますが、画面を3分割して、それぞれのブロックごとに1つのパターンテーブルを持つことにより、768種類のパターンを使用できます。これにより、画面に任意のパターンを表示することができるフルビットマップ表示の機能を実現しています。
1個のパターンは8バイトで構成されるので、合計6136バイトの領域を占めることになります。
パターンジェネレータテーブルの先頭アドレスはR#4にセットします。指定できるのは、先頭アドレスの上位4ビット(A16〜A13)のみで、下位13ビット(A12〜A0)は「0」とみなされます。したがって、パターンジェネレータテーブルの先頭アドレスとして指定できるのは00000Hから8Kバイト単位の位置になります。
'''Pattern generrator table base address register'''
{{svg 図4.16.svg}}
'''図4.16 GRAPHIC 2、3 モードのパターンジェネレータテーブル'''
'''3. カラーテーブルの設定'''
カラーテーブルはパターンジェネレータテーブルと1対1に対応し、パターンの「1」の部分の色と「0」の部分の色を各パターンの1ラスタに対して1組指定します。したがって、1つのパターンに対して8バイトのデータとなり、合計でパターンジェネレータテーブルと同じ6136バイトの領域を占めます。
カラーテーブルの先頭アドレスはレジスタR#3とR#10にセットします。カラーテーブルの先頭アドレスとして指定できるのは、00000Hから8Kバイトの位置になります。
'''Color table base address register'''
{{svg 図4.17.svg}}
'''図4.17 GRAPHIC 2、3 モードのカラーテーブル'''
'''4. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます
'''Text color / Back drop color register'''
{{svg 図P498-1.svg}}
'''5. パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1パターンに対応しています。このテーブルに0〜255のパターン番号を書き込むと、対応する画面上の位置に指定したパターンが表示され、画面を上、中、下と3分割して使うことにより、768種類のパターンを表示することができます。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは、先頭アドレスの上位7ビット(A16〜A10)のみで、下位10ビット(A9〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hから1Kバイト単位の位置になります。
'''Pattern name table base address register'''
{{svg 図4.18.svg}}
'''図4.18 GRAPHIC 2、3 モードのパターンネームテーブル'''
'''6. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。GRAPHIC 2モードのときは「6.1 スプライトモード1」の項を、GRAPHIC 3モードのときは「6.2 スプライトモード2」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P499-1.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P499-2.svg}}
!4.5.4 GRAPHIC 2(SCREEN 2)モードのVRAMマップ
{{svg 図4.19.svg}}
'''図4.19 GRAPHIC 2 の VRAM マップ'''
以下同様に、最高8ページまで割り付け可能(VRAM 128K 実装機種)です。しかし、BASICではサポートしていません。
この画面モードでは、01B80Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
表示エリアが256×192のとき図4.19のとおりですが、ハードウェアスクロールの利用によって表示エリアを256×256とする場合には、パターンネームテーブルは768バイトではなく1024バイト連続しており、1024種類のパターンを用意できることになります。また、この場合はパターンジェネレータテーブルとカラーテーブルもそれぞれ連続した8Kバイトとなり、スプライトジェネレータテーブル、パターンネームテーブルなどは別のページに移動しなければなりません。
!4.5.5 GRAPHIC 3(SCREEN 4)モードのVRAMマップ
{{svg 図4.20.svg}}
'''図4.20 GRAPHIC 2 の VRAM マップ'''
'''図4.20 GRAPHIC 3 の VRAM マップ'''
以下同様に8ページまで割り付けが可能(VRAM 128K 実装機種)です。BASICではサポートしていません。
以下同様に、最高8ページまで割り付けが可能(VRAM 128K 実装機種)です。しかし、BASICではサポートしていません。
この画面モードでは、01B80Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.6 GRAPHIC 4(SCREEN 5)
!4.6.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■解像度 ,横256ドット×縦212ドット(または縦192ドット)
, ,のビットマップグラフィックモード
,■表示色 ,512色中16色(全画面)
,■スプライト ,モード2
,■1画面表示に必要なVRAM容量,32Kバイト
!4.6.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■グラフィックス ,VRAM,パターンネームテーブル
,■バックドロップの色コード ,R#7 ,下位4ビット
,■スプライト ,VRAM,スプライトアトリビュートテーブル
, ,VRAM,スプライトパターンテーブル
!4.6.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P503-1.svg}}
'''Mode register 1'''
{{svg 図P503-2.svg}}
'''Mode register 2'''
{{svg 図P503-3.svg}}
'''Mode register 3'''
{{svg 図P503-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 4 (01100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00000110、01100000、00001000、00001000の値で初期化します。
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 4 (01100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00000110、01100000、00001000、00001000の値で初期化します。
'''2.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の2ドットに対応しており、1ドット毎にパレットにより選択された512色中の16色を選んで表示することができます。
パターンネームテーブルは1バイトが画面上の2ドットに対応しており、1ドットごとにパレットにより選択された512色中の16色を選んで表示することができます。
パターンネームテーブルの先頭アドレスはR#2にセットします。指定できるのは、上位2ビット(A16〜A15)のみで、下位15ビットは「0」とみなされます。したがって、パターンネームテーブルが設定可能なアドレスは、00000H、08000H、10000H、18000Hの4箇所になります。
'''Pattern name table base address register'''
{{svg 図4.21.svg}}
'''図4.21 GRAPHIC 4 モードのパターンネームテーブル'''
'''3. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます
'''Text color / Back drop color register'''
{{svg 図P506-1.svg}}
'''4. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.2 スプライトモード2」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P506-2.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P506-3.svg}}
!4.6.4 GRAPHIC 4(SCREEN 5)モードのVRAMマップ
{{svg 図4.22.svg}}
'''図4.22 GRAPHIC 4のVRAMマップ'''
以下同様に4ページまで割り付けが可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
以下同様に4ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
この画面モードでは、07680Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.7 GRAPHIC 5(SCREEN 6)
!4.7.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■解像度 ,横512ドット×縦212ドット(または縦192ドット)
, ,のビットマップグラフィックモード
,■表示色 ,512色中4色(全画面)
,■スプライト ,モード2
,■1画面表示に必要なVRAM容量,32Kバイト
!4.7.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■グラフィックス ,VRAM,パターンネームテーブル
,■バックドロップの色コード ,R#7 ,下位4ビット
,■スプライト ,VRAM,スプライトアトリビュートテーブル
, ,VRAM,スプライトパターンテーブル
!4.7.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P508-1.svg}}
'''Mode register 1'''
{{svg 図P508-2.svg}}
'''Mode register 2'''
{{svg 図P508-3.svg}}
'''Mode register 3'''
{{svg 図P508-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 5 (10000)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00001000、01100000、00001000、00001000の値で初期化します。
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 5 (10000)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00001000、01100000、00001000、10001000の値で初期化します。
'''2.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の4ドットに対応しており、1ドットごとにパレットにより選択された512色中の4色から選んで表示することができます。
パターンネームテーブルの先頭アドレスはR#2にセットします。指定できるのは、先頭アドレスの上位2ビット(A16〜A15)のみで、下位15ビットは(A14〜A0)は「0」とみなされます。したがって、パターンネームテーブルが設定可能なアドレスは、00000H、08000H、10000H、18000Hの4箇所になります。
パターンネームテーブルの先頭アドレスはレジスタR#2にセットします。指定できるのは、先頭アドレスの上位2ビット(A16〜A15)のみで、下位15ビットは(A14〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000H、08000H、10000H、18000Hの4箇所になります。
'''Pattern name table base address register'''
{{svg 図4.23.svg}}
'''図4.23 GRAPHIC 5 モードのパターンネームテーブル'''
'''3. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます
'''Text color / Back drop color register'''
{{svg 図P510-1.svg}}
'''4. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.2 スプライトモード2」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P510-2.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P510-3.svg}}
'''5. ハードウェアタイリング機能'''
GRAPHIC 5モードでは、スプライトとバックドロップの色についてハードウェアタイリング機能が働きます。これらの色はパターンネームテーブルの場合と異なり4ビットで設定します。この4ビットの上位2ビットをX座標(0〜511)の偶数ドットの色コードに、下位2ビットを奇数ドットの色コードに設定します。
GRAPHIC 5モードでは、スプライトとバックドロップの色についてハードウェアタイリングの機能が働きます。これらの色はパターンネームテーブルの場合と異なり4ビットで設定します。この4ビットの上位2ビットをX座標(0〜511)の偶数ドットの色コードに、下位2ビットを奇数ドットの色コードに設定します。
GRAPHIC 5モードでは、スプライトの1ドットの大きさはグラフィックのドットの大きさの2倍ですが、このタイリング機能によってスプライトの1ドットの左半分と右半分にそれぞれ異なる色を表示することができます。
バックドロップの色も同時に偶数ドットと奇数ドットに対して異なる色を指定できます。
{{svg 図4.24.svg}}
'''図4.24 ハードウェアタイリングの設定'''
!4.7.4 GRAPHIC 5(SCREEN 6)モードのVRAMマップ
{{svg 図4.25.svg}}
'''図4.25 GRAPHIC 5のVRAMマップ'''
以下同様に4ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
以下同様に、4ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
この画面モードでは、07680Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.8 GRAPHIC 6(SCREEN 7)
!4.8.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■解像度 ,横512ドット×縦212ドット(または縦192ドット)
, ,のビットマップグラフィックモード
,■表示色 ,512色中16色(全画面)
,■スプライト ,モード2
,■1画面表示に必要なVRAM容量,128Kバイト(2画面)
このモードを使用するためには、VRAMが128Kバイト必要です。
!4.8.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■グラフィックス ,VRAM,パターンネームテーブル
,■バックドロップの色コード ,R#7 ,下位4ビット
,■スプライト ,VRAM,スプライトアトリビュートテーブル
, ,VRAM,スプライトパターンテーブル
!4.8.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P514-1.svg}}
'''Mode register 1'''
{{svg 図P514-2.svg}}
'''Mode register 2'''
{{svg 図P514-3.svg}}
'''Mode register 3'''
{{svg 図P514-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 6 (10100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00001010、01100000、00001000、10001000の値で初期化します。
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 6 (10100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00001010、01100000、00001000、10001000の値で初期化します。
'''2.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の2ドットに対応しており、1ドットごとにパレットにより選択された512色中の16色から選んで表示することができます。
パターンネームテーブルの先頭アドレスはR#2にセットします。指定できるのは、先頭アドレスの上位1ビット(A16)のみで、下位16ビットは(A15〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hと10000Hの位置になります。
'''Pattern name table base address register'''
{{svg 図4.26.svg}}
'''図4.26 GRAPHIC 6 モードのパターンネームテーブル'''
'''3. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます。
'''Text color / Back drop color register'''
{{svg 図P516-1.svg}}
'''4. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.2 スプライトモード2」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P516-2.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P516-3.svg}}
!4.8.4 GRAPHIC 6(SCREEN 7)モードのVRAMマップ
{{svg 図4.27.svg}}
'''図4.27 GRAPHIC 6のVRAMマップ'''
'''図4.27 GRAPHIC 6 モードのVRAMマップ'''
以下同様に2ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
この画面モードでは、0FA80Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
!!4.9 GRAPHIC 7(SCREEN 8)
!4.9.1 特徴
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0}
,■解像度 ,横256ドット×縦212ドット(または縦192ドット)
, ,のビットマップグラフィックモード
,■表示色 ,256色同時(全画面)
,■スプライト ,モード2
,■1画面表示に必要なVRAM容量,128Kバイト(2画面)
このモードを使用するためには、VRAMが128Kバイト必要です。
!4.9.2 関係するレジスタとVRAMの領域
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:250},{BSIZE:0|SIZE:60},{BSIZE:0}
,■グラフィックス ,VRAM,パターンネームテーブル
,■バックドロップの色コード ,R#7 ,下位4ビット
,■スプライト ,VRAM,スプライトアトリビュートテーブル
, ,VRAM,スプライトパターンテーブル
!4.9.3 初期設定
'''1.モードレジスタの設定'''
'''Mode register 0'''
{{svg 図P519-1.svg}}
'''Mode register 1'''
{{svg 図P519-2.svg}}
'''Mode register 2'''
{{svg 図P519-3.svg}}
'''Mode register 3'''
{{svg 図P519-4.svg}}
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 7 (11100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアではモードレジスタをそれぞれ00001110、01100000、00001000、10001000の値で初期化します。
{{svg grayrect.svg,,size:18x18}}は表示モード設定用のビット(M5〜M1)をGRAPHIC 7 (11100)モードにセットした例です。この表示モードでは、LN=1のとき縦212ドット、LN=0のとき縦192ドットに設定されます。その他のビットは任意に設定します。MSXのシステムソフトウェアはモードレジスタをそれぞれ00001110、01100000、00001000、10001000の値で初期化します。
'''2.パターンネームテーブルの設定'''
パターンネームテーブルは1バイトが画面上の1ドットに対応しており、1ドットごとに256色表示することができます。
パターンネームテーブルの先頭アドレスはR#2にセットします。指定できるのは、先頭アドレスの上位1ビット(A16)のみで、下位16ビットは(A15〜A0)は「0」とみなされます。したがって、パターンネームテーブルの先頭アドレスとして指定できるのは00000Hと10000Hの位置になります。
'''Pattern name table base address register'''
{{svg 図4.28.svg}}
'''図4.28 GRAPHIC 7 モードのパターンネームテーブル'''
'''3. カラーレジスタの設定'''
R#7で画面のバックドロップの色が指定できます。
'''Text color / Back drop color register'''
{{svg 図P521-1.svg}}
'''4. スプライトの設定'''
スプライトアトリビュートテーブルの先頭アドレスをレジスタR#5とR#11に、スプライトパターンジェネレータテーブルの先頭アドレスをレジスタR#6にセットします。詳しくは、「6.2 スプライトモード2」の項を参照して下さい。
'''Sprite attribute table base address register'''
{{svg 図P521-2.svg}}
'''Sprite pattern generator table base address register'''
{{svg 図P521-3.svg}}
!4.9.4 GRAPHIC 7(SCREEN 8)モードのVRAMマップ
{{svg 図4.29.svg}}
'''図4.29 GRAPHIC 7のVRAMマップ'''
以下同様に2ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
以下同様に、2ページまで割り付け可能(VRAM 128K 実装機種)です。BASICではSET PAGE命令で切り換えて表示することができます。
この画面モードでは、0FA80Hから32バイトがパレットテーブルとして使われます(MSXのシステムソフトウェアが設定する)。
,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[3章 レジスタの機能]],{BSIZE:0|RIGHT}[[5章 V9938のコマンド]]→