De VDP mode-registers Onbekend, 00-00-00 CBCDXDe VDP mode-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 0 ¡ 0 ¡ 0 ¡ DG ¡ IE0 ¡ IE1 ¡ M5 ¡ M4 ¡ M3 ¡ ----- ¡ ----------------------------------------------------------------------------¢ ¡ 1 ¡ 1 ¡ ----- ¡ blank ¡ IE2 ¡ M1 ¡ M2 ¡ 0 ¡ size ¡ MAG ¡ ----------------------------------------------------------------------------¢ ¡ 9 ¡ 8 ¡ mouse ¡ LCRS ¡ TP ¡ CBD ¡ VRS1 ¡ VRS0 ¡ SPD ¡ B/W ¡ ----------------------------------------------------------------------------¢ ¡ 10 ¡ 9 ¡ LN ¡ 0 ¡ SYM1 ¡ SYM0 ¡ IL ¡ E/O ¡ NTSC ¡ DCD ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- DG = digitize mode IE0 = vertical retrace interrupt enable IE1 = horizontal retrace interrupt enable IE2 = light pen or mouse interrupt enable MAG = magnify of sprite patterns: 0=*1, 1=*2 SIZE = size of sprites: 0=8*8, 1=16*16 BLANK = enable (1) or disable (0) display B/W = black and white mode, 32 gradations composite video output SPD = sprite disable mode M1-M5 = define mode (zie tabel) MOUSE = mouse or light pen mode: 0/1= light pen/mouse interface LCRS = light pen registration/coincidence registration select: 0/1= coincidence/light pen TP = transparent mode: 0/1= pallette code 0 becomes/not transparent CBD = colorbus direction: 0/1= output/input VRS0/1 = Video-RAM select SYM0/1 = synchronisation mode IL = interlace mode: 0= non-interlace,1= interlace and generate complete interlace timing E/O = even/odd: 0= normal display, 1=even/odd screen alternative display NTSC = NTSC or PAL mode select: 0/1= NTSC(60Hz) / PAL(50Hz) DCD = dot clock direction: 0/1= dot clock input/output mode Å----\----\----\----\----\---------------ã Å-------\-----------------ã ¡ M5 ¡ M4 ¡ M3 ¡ M2 ¡ M1 ¡ SCREEN ¡ ¡ VRS ¡ ¡ -----------------------------------------¢ ----\---¢ RAM ¡ ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ SCREEN 1 ¡ ¡ 1 ¡ 0 ¡ ¡ -----------------------------------------¢ --------------------------¢ ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 1 ¡ SCREEN 0 (40) ¡ ¡ 0 ¡ 0 ¡ 1x16Kb ¡ -----------------------------------------¢ --------------------------¢ ¡ 0 ¡ 0 ¡ 0 ¡ 1 ¡ 0 ¡ SCREEN 3 ¡ ¡ 0 ¡ 1 ¡ 4x16Kb ¡ -----------------------------------------¢ --------------------------¢ ¡ 0 ¡ 0 ¡ 1 ¡ 0 ¡ 0 ¡ SCREEN 2 ¡ ¡ 1 ¡ 0 ¡ 1x64Kb ¡ -----------------------------------------¢ --------------------------¢ ¡ 0 ¡ 1 ¡ 0 ¡ 0 ¡ 0 ¡ SCREEN 4 ¡ ¡ 1 ¡ 1 ¡ 64Kb high speed ¡ -----------------------------------------¢ ---_---_----------------- ¡ 0 ¡ 1 ¡ 0 ¡ 0 ¡ 1 ¡ SCREEN 0 (80) ¡ -----------------------------------------¢ Å-------\------------------ã ¡ 0 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ SCREEN 5 ¡ ¡ SYM ¡ ¡ -----------------------------------------¢ ----\---¢ application mode ¡ ¡ 1 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ SCREEN 6 ¡ ¡ 0 ¡ 1 ¡ ¡ -----------------------------------------¢ ---------------------------¢ ¡ 1 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ SCREEN 7 ¡ ¡ 0 ¡ 0 ¡ internal ¡ -----------------------------------------¢ ---------------------------¢ ¡ 1 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ SCREEN 8 ¡ ¡ 0 ¡ 1 ¡ mixing ¡ ----_----_----_----_----_--------------- ---------------------------¢ ¡ 1 ¡ 0 ¡ ext video or dig ¡ Å-----\-----\----------\--------------------ã ---------------------------¢ ¡ CBD ¡ DG ¡ colorbus ¡ application ¡ ¡ 1 ¡ 1 ¡ none ¡ --------------------------------------------¢ ---_---_------------------ ¡ 0 ¡ 0 ¡ output ¡ external encoder & ¡ ¡ ¡ ¡ ¡ external pallette ¡ --------------------------------------------¢ ¡ 1 ¡ 0 ¡ input ¡ mouse ¡ --------------------------------------------¢ ¡ 0 ¡ 1 ¡ input! ¡ digitizing ¡ --------------------------------------------¢ ¡ 1 ¡ 1 ¡ input ¡ digitizing ¡ -----_-----_----------_-------------------- CBCDXDe VDP adres-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 2 ¡ 2 ¡ 0 ¡ A16 ¡ A15 ¡ A14 ¡ A13 ¡ A12 ¡ A11 ¡ A10 ¡ ----------------------------------------------------------------------------¢ ¡ 3 ¡ 3 ¡ B13 ¡ B12 ¡ B11 ¡ B10 ¡ B9 ¡ B8 ¡ B7 ¡ B6 ¡ ----------------------------------------------------------------------------¢ ¡ 11 ¡ 10 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ B16 ¡ B15 ¡ B14 ¡ ----------------------------------------------------------------------------¢ ¡ 4 ¡ 4 ¡ 0 ¡ 0 ¡ C16 ¡ C15 ¡ C14 ¡ C13 ¡ C12 ¡ C11 ¡ ----------------------------------------------------------------------------¢ ¡ 5 ¡ 5 ¡ D14 ¡ D13 ¡ D12 ¡ D11 ¡ D10 ¡ D9 ¡ D8 ¡ D7 ¡ ----------------------------------------------------------------------------¢ ¡ 12 ¡ 11 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ D16 ¡ D15 ¡ ----------------------------------------------------------------------------¢ ¡ 6 ¡ 6 ¡ 0 ¡ 0 ¡ E16 ¡ E15 ¡ E14 ¡ E13 ¡ E12 ¡ E11 ¡ ----------------------------------------------------------------------------¢ ¡ 15 ¡ 14 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ F16 ¡ F15 ¡ F14 ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- A16-A10 = name table (SCHERM-TABEL) bar/1024 (zie *) B16-B6 = color table (KLEUR-TABEL) bar/64 C16-C11 = pattern-generator table (MATRIX-TABEL)/2048 D16-D7 = sprite attribute table (TRANSPARANT-TABEL)/128 E16-E11 = sprite pattern generator table (SPRITES-TABEL)/2048 F16-F14 = Video RAM acces bar * SCREEN 0(80): A16-A12 = name table address/1024. A11 has no meaning and A10 = offset/1024 for second 1024 bytes of screen. CBCDXDe VDP tekstcontrole-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 7 ¡ 7 ¡ TC3 ¡ TC2 ¡ TC1 ¡ TC0 ¡ BCD3 ¡ BCD2 ¡ BCD1 ¡ BCD0 ¡ ----------------------------------------------------------------------------¢ ¡ 13 ¡ 12 ¡ C3 ¡ C2 ¡ C1 ¡ C0 ¡ BC3 ¡ BC2 ¡ BC1 ¡ BC0 ¡ ----------------------------------------------------------------------------¢ ¡ 14 ¡ 13 ¡ ON3 ¡ ON2 ¡ 0N1 ¡ ON0 ¡ OF3 ¡ OF2 ¡ OF1 ¡ OF0 ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- TC3-TC0 = text color BCD3-BCD0 = back drop color C3-C0 = text color \ BC3-BC0 = back color \ CUSCREEN 0(80)Cu ON3-ON0 = blink period/5 sec ON / OF3-OF0 = blink period/5 sec OFF / CBCDXPointers en controle-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 16 ¡ 15 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ RS3 ¡ RS2 ¡ RS1 ¡ RS0 ¡ ----------------------------------------------------------------------------¢ ¡ 17 ¡ 16 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ C3 ¡ C2 ¡ C1 ¡ C0 ¡ ----------------------------------------------------------------------------¢ ¡ 18 ¡ 17 ¡ 0 ¡ 0 ¡ RS5 ¡ RS4 ¡ RS3 ¡ RS2 ¡ RS1 ¡ RS0 ¡ ----------------------------------------------------------------------------¢ ¡ 19 ¡ 18 ¡ ŽV3 ¡ ŽV2 ¡ ŽV1 ¡ ŽV0 ¡ ŽH3 ¡ ŽH2 ¡ ŽH1 ¡ ŽH0 ¡ ----------------------------------------------------------------------------¢ ¡ 20 ¡ 19 ¡ IL7 ¡ IL6 ¡ IL5 ¡ IL4 ¡ IL3 ¡ IL2 ¡ IL1 ¡ IL0 ¡ ----------------------------------------------------------------------------¢ ¡ 21 ¡ 20 ¡ 0 ¡ 0 ¡ CBX5 ¡ CBX4 ¡ CBX3 ¡ CBX2 ¡ CBX1 ¡ CBX0 ¡ ----------------------------------------------------------------------------¢ ¡ 22 ¡ 21 ¡ 0 ¡ 0 ¡ CBY5 ¡ CBY4 ¡ CBY3 ¡ CBY2 ¡ CBY1 ¡ CBY0 ¡ ----------------------------------------------------------------------------¢ ¡ 23 ¡ 22 ¡ 0 ¡ 0 ¡ CBZ5 ¡ CBZ4 ¡ CBZ3 ¡ CBZ2 ¡ CBZ1 ¡ CBZ0 ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- RS3-RS0 = register-number of status-register C3-C0 = relative palette address RS5-RS0 = register-number of control-register ŽV3-ŽV0 = vertical display adjust value ŽH3-ŽH0 = horizontal display adjust value IL7-IL0 = vertical line number of line interrupt CBX5-CBX0 = color burst value of phase 0 CBY5-CBY0 = color burst value of phase 1/3 CBZ5-CBZ0 = color burst value of phase 2/3 CBCDXDe VDP programma-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 33 ¡ 32 ¡ SX7 ¡ SX6 ¡ SX5 ¡ SX4 ¡ SX3 ¡ SX2 ¡ SX1 ¡ SX0 ¡ ----------------------------------------------------------------------------¢ ¡ 34 ¡ 33 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ SX8 ¡ ----------------------------------------------------------------------------¢ ¡ 35 ¡ 34 ¡ SY7 ¡ SY6 ¡ SY5 ¡ SY4 ¡ SY3 ¡ SY2 ¡ SY1 ¡ SY0 ¡ ----------------------------------------------------------------------------¢ ¡ 36 ¡ 35 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ SY8 ¡ ----------------------------------------------------------------------------¢ ¡ 37 ¡ 36 ¡ DX7 ¡ DX6 ¡ DX5 ¡ DX4 ¡ DX3 ¡ DX2 ¡ DX1 ¡ DX0 ¡ ----------------------------------------------------------------------------¢ ¡ 38 ¡ 37 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ DX8 ¡ ----------------------------------------------------------------------------¢ ¡ 39 ¡ 38 ¡ DY7 ¡ DY6 ¡ DY5 ¡ DY4 ¡ DY3 ¡ DY2 ¡ DY1 ¡ DY0 ¡ ----------------------------------------------------------------------------¢ ¡ 40 ¡ 39 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ DY8 ¡ ----------------------------------------------------------------------------¢ ¡ 41 ¡ 40 ¡ NX7 ¡ NX6 ¡ NX5 ¡ NX4 ¡ NX3 ¡ NX2 ¡ NX1 ¡ NX0 ¡ ----------------------------------------------------------------------------¢ ¡ 42 ¡ 41 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ NX9 ¡ NX8 ¡ ----------------------------------------------------------------------------¢ ¡ 43 ¡ 42 ¡ NY7 ¡ NY6 ¡ NY5 ¡ NY4 ¡ NY3 ¡ NY2 ¡ NY1 ¡ NY0 ¡ ----------------------------------------------------------------------------¢ ¡ 44 ¡ 43 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ NY9 ¡ NY8 ¡ ----------------------------------------------------------------------------¢ ¡ 45 ¡ 44 ¡ CH3 ¡ CH2 ¡ CH1 ¡ CH0 ¡ CL3 ¡ CL2 ¡ CL1 ¡ CL0 ¡ ----------------------------------------------------------------------------¢ ¡ 46 ¡ 45 ¡ 0 ¡ MXC ¡ MXD ¡ MXS ¡ DIR ¡ DIR ¡ EQ OR ¡ MAJ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Y ¡ X ¡ NEQ ¡ MIN ¡ ----------------------------------------------------------------------------¢ ¡ 47 ¡ 46 ¡ CM3 ¡ CM2 ¡ CM1 ¡ CM0 ¡ LO3 ¡ LO2 ¡ LO1 ¡ LO0 ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- SX8-SX0 = source X coordinate SY9-SY0 = source Y coordinate DX8-DX0 = destination X coordinate DY9-DY0 = destination Y coordinate NX9-NX0 = number of X dots NY9-NY0 = number of Y dots CH3-CH0 = \ CUcolorcode of color-register writeCu CL3-CL0 = / MAJ/MIN = 0 -> X ax is major direction 1 -> Y ax is major direction EQ OR NEQ = equal or not equal detect (1=NEQ) DIR X = direction of X coordinate DIR Y = direction of Y coordinate MXS = source becomes external memory MXD = destination becomes external memory MXC = CPU-access becomes external memory CM3-CM0 = command LO3-LO0 = logical operation NB: deze registers zijn WRITE ONLY VDP-commando's Å----------\---------\---------------\------\--------------ã ¡ MNEMONIC ¡ CM3-CM0 ¡ direction ¡ unit ¡ operation ¡ -----------------------------------------------------------¢ ¡ HMMC ¡ 1111 ¡ CPU to VRAM ¡ byte ¡ perform ¡ ¡ HMCM ¡ 1110 ¡ VRAM to CPU ¡ byte ¡ a ¡ ¡ HMMM ¡ 1101 ¡ VRAM to VRAM ¡ byte ¡ high speed ¡ ¡ HMMV ¡ 1100 ¡ VDP to VRAM ¡ byte ¡ move ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ LMMC ¡ 1011 ¡ CPU to VRAM ¡ dot ¡ perform ¡ ¡ LMCM ¡ 1010 ¡ VRAM to CPU ¡ dot ¡ a ¡ ¡ LMMM ¡ 1001 ¡ VRAM to VRAM ¡ dot ¡ logical ¡ ¡ LMMV ¡ 1000 ¡ VDP to VRAM ¡ dot ¡ move ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ LINE ¡ 0111 ¡ VDP to VRAM ¡ dot ¡ line ¡ ¡ SRCH ¡ 0110 ¡ VRAM to VDP ¡ dot ¡ search ¡ ¡ PSET ¡ 0101 ¡ VDP to VRAM ¡ dot ¡ pset ¡ ¡ PINT ¡ 0100 ¡ VRAM to VDP ¡ dot ¡ point ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ NOP ¡ rest ¡ - ¡ - ¡ no operation ¡ ----------_---------_---------------_------_-------------- Logical operations Å----------\---------\---------------------------------------ã ¡ MNEMONIC ¡ LO3-LO0 ¡ operation ¡ -------------------------------------------------------------¢ ¡ IMP ¡ 0000 ¡ SC ->DC Å-------------------ã¡ ¡ AND ¡ 0001 ¡ SC AND DC ->DC ¡ SC = source color ¡¡ ¡ ¡ ¡ ¡ DC = destination ¡¡ ¡ OR ¡ 0010 ¡ SC OR DC ->DC ¡ color ¡¡ ¡ EOR ¡ 0011 ¡ SC XOR DC ->DC -------------------¡ ¡ NOT ¡ 0100 ¡ SC ->DC ¡ ¡ ¡ ¡ ¡ ¡ TIMP ¡ 1000 ¡ IF SC=0 AND TP=0 THEN DC->DC ELSE IMP ¡ ¡ TAND ¡ 1001 ¡ IF SC=0 AND TP=0 THEN DC->DC ELSE AND ¡ ¡ TOR ¡ 1010 ¡ IF SC=0 AND TP=0 THEN DC->DC ELSE OR ¡ ¡ TEOR ¡ 1011 ¡ IF SC=0 AND TP=0 THEN DC->ELSE EOR ¡ ¡ TNOT ¡ 1100 ¡ IF SC=0 AND TP=0 THEN DC->ELSE NOT ¡ ¡ ¡ ¡ ¡ ¡ - ¡ rest ¡ ilegal ¡ ----------_---------_--------------------------------------- CBCDXDe VDP status-registersCbCdY Å-----\-----\-------\-------\-------\-------\-------\-------\-------\-------ã ¡ VDP ¡ reg ¡ bit 7 ¡ bit 6 ¡ bit 5 ¡ bit 4 ¡ bit 3 ¡ bit 2 ¡ bit 1 ¡ bit 0 ¡ ----------------------------------------------------------------------------¢ ¡ 8 ¡ 0 ¡ F ¡ SD ¡ C ¡ S4 ¡ S3 ¡ S2 ¡ S1 ¡ S0 ¡ ----------------------------------------------------------------------------¢ ¡ -1 ¡ 1 ¡ FL ¡ LPS ¡ I4 ¡ I3 ¡ I2 ¡ I1 ¡ I0 ¡ FH ¡ ----------------------------------------------------------------------------¢ ¡ -2 ¡ 2 ¡ TR ¡ VR ¡ HR ¡ BD ¡ 0 ¡ 0 ¡ E/O ¡ CE ¡ ----------------------------------------------------------------------------¢ ¡ -3 ¡ 3 ¡ X7 ¡ X6 ¡ X5 ¡ X4 ¡ X3 ¡ X2 ¡ X1 ¡ X0 ¡ ----------------------------------------------------------------------------¢ ¡ -4 ¡ 4 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ X9 ¡ X9 ¡ ----------------------------------------------------------------------------¢ ¡ -5 ¡ 5 ¡ Y7 ¡ Y6 ¡ Y5 ¡ Y4 ¡ Y3 ¡ Y2 ¡ Y1 ¡ Y0 ¡ ----------------------------------------------------------------------------¢ ¡ -6 ¡ 6 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ Y9 ¡ Y8 ¡ ----------------------------------------------------------------------------¢ ¡ -7 ¡ 7 ¡ C7 ¡ C6 ¡ C5 ¡ C4 ¡ C3 ¡ C2 ¡ C1 ¡ C0 ¡ ----------------------------------------------------------------------------¢ ¡ -8 ¡ 8 ¡ BX7 ¡ BX6 ¡ BX5 ¡ BX4 ¡ BX3 ¡ BX2 ¡ BX1 ¡ BX0 ¡ ----------------------------------------------------------------------------¢ ¡ -9 ¡ 9 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ BX9 ¡ BX8 ¡ -----_-----_-------_-------_-------_-------_-------_-------_-------_------- F = interrupt flag of vertical retrace. This flag will be reset by the SR0 read operation SD = 5CSthCs/9CSthCs sprite delected flag C = sprite coincidence flag S4-S0 = 5CSthCs/9CSthCs sprite number FL = interrupt flag of light pen or mouse switch status CDS = light pen switch status or status flag of the second mouse switch FH = interrupt flag horizontal retrace FL, LPS and FH will be reset by the SR1 read operation HR = horizontal retrace timing VR = vertical retrace timing CE = command executing status (0=ready) BD = border detect E/O = even or odd field status I4-I0 = LSI version number TR = transfer ready (data transfer with CPU) X9-X0 = X-coordinate \ sprite coincidence location Y9-Y0 = Y-coordinate > or light pen coordinate or BX9-BY0 = border X-coordinate / mouse coordinates. C7-C0 = color code of color register read NB: deze registers zijn READ ONLY |