User Tools

Site Tools


x68000:crtc_registers

This is an old revision of the document!


Overview

Horizontal timing control
AddressSizeR/WNameDescription
$E800001.wWR00Horizontal total
$E800021.wWR01HSYNC end position
$E800041.wWR02HDISP start position
$E800061.wWR03HDISP end position
Vertical timing control
AddressSizeR/WNameDescription
$E800081.wWR04Vertical total
$E8000A1.wWR05VSYNC end position
$E8000C1.wWR06VDISP start position
$E8000E1.wWR07VDISP end position
Misc 1
AddressSizeR/WNameDescription
$E800101.wWR08External sync horiz adjustment : Horiz position fine adjust
$E800121.wWR09Raster number : For raster interrupt
Text layer scroll
AddressSizeR/WNameDescription
$E800141.wWR10X scroll
$E800161.wWR11Y scroll
Graphic layer scroll
AddressSizeR/WNameDescription
$E800181.wWR12X0
$E8001A1.wWR13Y0
$E8001C1.wWR14X1
$E8001E1.wWR15Y1
$E800201.wWR16X2
$E800221.wWR17Y2
$E800241.wWR18X3
$E800261.wWR19Y3
Misc 2
AddressSizeR/WNameDescription
$E800281.wR/WR20Memory mode/display mode control
$E8002A1.wR/WR21TVRAM simultaneous access/raster copy/fast clear plane selection
$E8002C1.wWR22For raster copy operation: raster number
$E8002E1.wWR23TVRAM access mask pattern
$E804811.bR/W Image capture/fast clear/raster copy control

Details

CRTC R00($e80000):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │				  │	HTOTAL        │
  └───────────────┴───────────────┘
	HSYNC period × horiz width
R00 = ───────────────── -1
	Display period × 8
※LSB must be 1

CRTC R01($e80002):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │				  │	HSYNC end     │
  └───────────────┴───────────────┘
	HSYNC pulse width × horiz width
R01 = ─────────────────── -1
	Display period × 8

CRTC R02($e80004):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │				  │	HDISP start	  │
  └───────────────┴───────────────┘
	(HSYNC pulse width + horiz back porch) × horiz width
R02 = ───────────────────────────── -5
	Display period × 8

CRTC R03($e80006):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │				  │	HDISP end     │
  └───────────────┴───────────────┘
	(HSYNC pulse width - horiz front porch) × horiz width
R03 = ────────────────────────────── -5
	Display period × 8

CRTC R04($e80008):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			  │	VTOTAL            │
  └───────────┴───────────────────┘
	VSYNC period
R04 = ──────── -1
	HSYNC period

CRTC R05($e8000a):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			  │	VSYNC end		  │
  └───────────┴───────────────────┘
	VSYNC pulse width
R05 = ────────── -1
	HSYNC period

CRTC R06($e8000c):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			  │	VDISP start       │
  └───────────┴───────────────────┘
	VSYNC pulse width + Vertical back porch
R06 = ─────────────────── -1
	HSYNC period

CRTC R07($e8000e):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			  │	VDISP end         │
  └───────────┴───────────────────┘
	VSYNC pulse width - vertical front porch
R07 = ────────────────── -1
	HSYNC period

CRTC R08($e80010):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │				  │ EXT sync horiz adjust│
  └───────────────┴───────────────┘

CRTC R09($e80012):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			 │			   ラスタ番号 │
  └───────────┴───────────────────┘
	垂直同期パルス幅+垂直バックポーチ
R09 = ─────────────────── +ラスタ番号
	HSYNC period
    = R06 +1 +ラスタ番号

CRTC R10($e80014):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			 │				  X位置 │
  └───────────┴───────────────────┘

CRTC R11($e80016):

bit 15			10   9					 0
  ┌───────────┬───────────────────┐
  │			 │				  Y位置 │
  └───────────┴───────────────────┘

CRTC R12($e80018):

bit 15			10   9   8				 0
  ┌───────────┬───────────────────┐
  │			 │ │			   X0 │
  └───────────┴───────────────────┘
※実画面512×512ドットのモードでは bit 8~0 までが有効.

CRTC R13($e8001a):

bit 15			10   9   8				 0
  ┌───────────┬───────────────────┐
  │			 │ │			   Y0 │
  └───────────┴───────────────────┘
※実画面512×512ドットのモードでは bit 8~0 までが有効.

CRTC R14($e8001c):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   X1 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R15($e8001e):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   Y1 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R16($e80020):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   X2 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R17($e80022):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   Y2 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R18($e80024):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   X3 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R19($e80026):

bit 15				 8				 0
  ┌─────────────┬─────────────────┐
  │			   │			   Y3 │
  └─────────────┴─────────────────┘
※実画面1024×1024ドットのモードでは使用されない.

CRTC R20($e80028):

bit 15	    13  12  11  10   9   8   7	     5   4   3   2   1   0
  ┌─────┬─┬─┬─┬───┬─────┬─┬───┬───┐
  │	   │ │ │ │ COL │	   │HF│ VD │ HD │
  └─────┴─┴─┴─┴───┴─────┴─┴───┴───┘
		│ │ └ SIZE
		│ G-MEM
		└ T-MEM
bit 12	 T-MEM	T-VRAM使用モード
		%0  : 表示用
		%1  : バッファ用
bit 11	 G-MEM	G-VRAM使用モード
		%0  : 表示用
		%1  : バッファ用(bit 10~8 は無効)
		      (G-VRAM が 65536 色表示時と同じ構造になる)
bit 10	 SIZE	実画面サイズ
		%0  :  512× 512ドット
		%1  : 1024×1024ドット
bit 9~8 COL	色数モード
		%00 :	 16色
		%01 :	256色
		%10 : 未定義
		%11 : 65536色
bit 4	 HF	水平偏向周波数
		%0  : 15.98kHz
		%1  : 31.50kHz
bit 3~2 VD	垂直ドット数
		%00 :  256ドット
		%01 :  512ドット
		%10 : 1024ドット・インタレース(HF=%1の時のみ)
		%11 : 〃
bit 1~0 HD	水平ドット数
		%00 : 256ドット
		%01 : 512ドット
		%10 : 768ドット
		%11 : クロック 50MHz モード(Compact XVI 以降のみ)

CRTC R21($e8002a):

bit 15			10   9   8   7   6   5   4   3   2   1   0
  ┌───────────┬─┬─┬───────┬───────┐
  │			 │ │ │ │ │ │ │ │ │ │ │
  └───────────┴─┴─┴───────┴───────┘
			  │ │	AP3~AP0	CP3~CP0
			  MEN SA
bit 9	MEN	テキスト画面アクセスマスク
		%0 : 無効
		%1 : 有効
bit 8	SA	テキスト画面同時アクセス
		%0 : 無効
		%1 : 有効
bit 7~4 AP3~AP0
		テキスト画面同時アクセス対象プレーン選択
		%0 : 選択
		%1 : 非選択
bit 3~0 CP3~CP0
		┌ テキスト画面ラスタコピー対象プレーン選択
		└ グラフィック画面高速クリア対象ページ〃
		%0 : 選択
		%1 : 非選択

CRTC R22($e8002c):

bit 15				 8   7				 0
  ┌───────────────┬───────────────┐
  │		  ソースラスタ │ ディスティネーションラスタ │
  └───────────────┴───────────────┘
			(転送元)			(転送先)

CRTC R23($e8002e):

bit 15								 0
  ┌───────────────────────────────┐
  │						  マスクパタン │
  └───────────────────────────────┘
%0 : データが変更される
%1 : データが変更されない

CRTC 動作ポート($e80481):

bit  7		 4   3   2   1   0
  ┌───────┬─┬─┬─┬─┐
  │		 │RC│ 0│FC│VI│
  └───────┴─┴─┴─┴─┘
bit 3	RC	テキスト画面ラスタコピー開始
		%0 : 停止
		%1 : 開始
bit 1	FC	グラフィック画面高速クリア開始
		%0 : 停止
		%1 : 開始
		※高速クリア動作が終了すると自動的に 0 になる.
bit 0	VI	画像取り込み開始
		%0 : 停止
		%1 : 開始
x68000/crtc_registers.1502663512.txt.gz · Last modified: 2019/08/27 20:44 (external edit)