Part A (when MAPMOD=0)
COLDAT Addr CPU Addr Content
0000..00FF: 5FFFh ? Not used (filled with incrementing values: 00h..FFh)
0100..013F: 7FFFh Gate Array 0 (palette index)
0140..017F: 7FFFh Gate Array 1 (palette data)
01C0..01FF: 7FFFh Gate Array 3 (rambank, etc.)
0200..02FF: DFFFh Upper ROM Bank
0300..03FF: FFFFh ? Not used (filled with incrementing values: 00h..FFh)
Part B (when MAPMOD=1)
0400..04FF: 5FFFh ? Not used (filled with incrementing values: 00h..FFhsame as MAPMODE=0)
0500..053F: 7FFFh Gate Array 0 (palette index) (same as MAPMODE=0)
0540..057F: 7FFFh Gate Array 1 (palette data) (other than MAPMODE=0)
05C0..05FF: 7FFFh Gate Array 3 (rambank, etc.) (same as MAPMODE=0)
0600..06FF: DFFFh Upper ROM Bank (same as MAPMODE=0)
0700..07FF: FFFFh ? Not used (filled with incrementing values: 00h..FFhsame as MAPMODE=0)
Address 7FFFh: Gate Array 0: (A13=1, A15=0, DataIn=00h..3Fh) palette index
0100: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ;-pen index 0110: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ;-border(only bit4 is relevant here) 0120: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F ;? NCOLOR4\same of above 0130: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ;? NCOLOR4/(but, with bit5 set, which has no function)
Address 7FFFh: Gate Array 1: (A13=1, A15=0, DataIn=40h..7Fh) palette data
When MAPMOD=0
0570: 03 13 23 33 07 17 27 37 0B 1B 2B 3B 0F 1F 2F 3F ;/
Address 7FFFh: Gate Array 2: (A13=1, A15=0, DataIn=80h..BFh) vmode, rom, leds
0180: 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F;\just a 1:1 translation, 0190: 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F; increasing values 00h..3Fh 01A0: A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF; (but, with bit7=set=blah) 01B0: B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF;/
Address 7FFFh: Gate Array 3: (A13=1, A15=0, DataIn=C0h..FFh) ram bank,
01C0: 80 81 82 83 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ;\basically incrementing
01D0: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ; values 00h..3Fh, but
01E0: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F ; with bit7=1 =VRAMACC in first 01F0: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ;/first four values
Address DFFFh: Upper ROM Bank: (A13=0, A15=1)
0200..0207: 01 01 01 03 01 01 01 02 ;\translates bank 03h to 3 (menu), bank