- Added ICA1 and FILE1 - CLUT implemented as True Dual-Port RAM to allow writing and reading with two video channels - Added weight calculations - Mouse cursor
31 KiB
Video
30 MHz or 28 MHz ? The MCD212 can do both. Bootscreen is 384 * 280 This usually would indicate a PAL CD-i. This also means that 30 MHz would be correct.
The active line would take up 51.2µs. A full line must be 64µs.
CM=0 CF=1 ST=0
With 96 *16 = 1536 visible clock cycles with a resolution of 384, we have one pixel every 4 clocks. With CM=1 we have double the horizontal resolution. This means 2 clocks per pixel.
Video Memory Timing
According to MCD212 chapter 4-2, everything is synchronized. Like with the Amiga DMA.
One display period of 32 clock cycles contains pixel data for 8 pixels. 8 cycles for CH1, 8 cycles for CPU, 8 cycles for CH2, 8 cycles for CPU
11 clock cycles are required to perform 4 DRAM reads of 16 bit each. RGB555 is able to get 4 pixels out of this which is the exact required timing as one pixel must be pushed out every 4 clocks.
Observation on MAME after bootup of the menu
System menu in active state
Final state of registers:
[:mcd212] ':maincpu' (0041C762): Display Command Register 1 Write: c300 & 0000ffff
[:mcd212] ':maincpu' (0041C848): Control/Status Register 1 Write: 0001 & 0000ffff
[:mcd212] ':maincpu' (00400FF2): Display Command Register 2 Write: 0300 & 0000ffff
[:mcd212] ':maincpu' (0041D654): Control/Status Register 2 Write: 0003 & 0000ffff
In MAME it seems to execute all ICA instructions at once.
[:mcd212] 00000400: 4007ffb0: ICA 0: RELOAD VSR: 07ffb0
[:mcd212] 0007ffb0: cd067216: ICA 0: SET REGISTER cd = 067216
[:mcd212] 0007ffb4: ce88000f: ICA 0: SET REGISTER ce = 88000f
[:mcd212] 0007ffb8: cf008000: ICA 0: SET REGISTER cf = 008000
[:mcd212] 0007ffbc: cf01c000: ICA 0: SET REGISTER cf = 01c000
[:mcd212] 0007ffc0: cf02e000: ICA 0: SET REGISTER cf = 02e000
[:mcd212] 0007ffc4: cf03f000: ICA 0: SET REGISTER cf = 03f000
[:mcd212] 0007ffc8: cf04f800: ICA 0: SET REGISTER cf = 04f800
[:mcd212] 0007ffcc: cf05fc00: ICA 0: SET REGISTER cf = 05fc00
[:mcd212] 0007ffd0: cf06fe00: ICA 0: SET REGISTER cf = 06fe00
[:mcd212] 0007ffd4: cf07ff00: ICA 0: SET REGISTER cf = 07ff00
[:mcd212] 0007ffd8: cf08f800: ICA 0: SET REGISTER cf = 08f800
[:mcd212] 0007ffdc: cf09d800: ICA 0: SET REGISTER cf = 09d800
[:mcd212] 0007ffe0: cf0a8c00: ICA 0: SET REGISTER cf = 0a8c00
[:mcd212] 0007ffe4: cf0b0c00: ICA 0: SET REGISTER cf = 0b0c00
[:mcd212] 0007ffe8: cf0c0600: ICA 0: SET REGISTER cf = 0c0600
[:mcd212] 0007ffec: cf0d0600: ICA 0: SET REGISTER cf = 0d0600
[:mcd212] 0007fff0: cf0e0300: ICA 0: SET REGISTER cf = 0e0300
[:mcd212] 0007fff4: cf0f0300: ICA 0: SET REGISTER cf = 0f0300
[:mcd212] 0007fff8: 10000000: ICA 0: NOP
[:mcd212] 0007fffc: 40062d30: ICA 0: RELOAD VSR: 062d30
[:mcd212] 00062d30: 78000402: ICA 0: RELOAD DISPLAY PARAMETERS (FT1=1 -> RLE)
[:mcd212] 00062d34: 10000000: ICA 0: NOP
[:mcd212] 00062d38: 60000000: ICA 0: INTERRUPT
[:mcd212] 00062d3c: 70000000: ICA 0: SET REGISTER 70 = 000000
[:mcd212] 00062d40: c00c1313: ICA 0: SET REGISTER c0 = 0c1313 CLUT7 CLUT7
[:mcd212] 00062d44: c1800101: ICA 0: SET REGISTER c1 = 800101
[:mcd212] 00062d48: c2000001: ICA 0: SET REGISTER c2 = 000001
[:mcd212] 00062d4c: c4070707: ICA 0: SET REGISTER c4 = 070707 Transparent Color 1 1 1 (in RGB888 it would be 777)
[:mcd212] 00062d50: c7000000: ICA 0: SET REGISTER c7 = 000000
[:mcd212] 00062d54: ca000000: ICA 0: SET REGISTER ca = 000000
[:mcd212] 00062d58: d8000000: ICA 0: SET REGISTER d8 = 000000
[:mcd212] 00062d5c: d9000000: ICA 0: SET REGISTER d9 = 000000
[:mcd212] 00062d60: db00003f: ICA 0: SET REGISTER db = 00003f
[:mcd212] 00062d64: c3000000: ICA 0: SET REGISTER c3 = 000000
[:mcd212] 00062d68: 80ffffff: ICA 0: SET REGISTER 80 = ffffff
[:mcd212] 00062d6c: 81787896: ICA 0: SET REGISTER 81 = 787896
[:mcd212] 00062d70: 829287b5: ICA 0: SET REGISTER 82 = 9287b5
[:mcd212] 00062d74: 83646464: ICA 0: SET REGISTER 83 = 646464
[:mcd212] 00062d78: 84697d73: ICA 0: SET REGISTER 84 = 697d73
[:mcd212] 00062d7c: 8582af96: ICA 0: SET REGISTER 85 = 82af96
[:mcd212] 00062d80: 869287b5: ICA 0: SET REGISTER 86 = 9287b5
[:mcd212] 00062d84: 879287b5: ICA 0: SET REGISTER 87 = 9287b5
[:mcd212] 00062d88: 88787896: ICA 0: SET REGISTER 88 = 787896
[:mcd212] 00062d8c: 8982af96: ICA 0: SET REGISTER 89 = 82af96
[:mcd212] 00062d90: 8a879bc8: ICA 0: SET REGISTER 8a = 879bc8
[:mcd212] 00062d94: 8b727979: ICA 0: SET REGISTER 8b = 727979
[:mcd212] 00062d98: 8c65656b: ICA 0: SET REGISTER 8c = 65656b
[:mcd212] 00062d9c: 8d818888: ICA 0: SET REGISTER 8d = 818888
[:mcd212] 00062da0: 8ed2d2d2: ICA 0: SET REGISTER 8e = d2d2d2
[:mcd212] 00062da4: 8f10162c: ICA 0: SET REGISTER 8f = 10162c
[:mcd212] 00062da8: 90656b79: ICA 0: SET REGISTER 90 = 656b79
[:mcd212] 00062dac: 91565d6b: ICA 0: SET REGISTER 91 = 565d6b
[:mcd212] 00062db0: 92959d9d: ICA 0: SET REGISTER 92 = 959d9d
[:mcd212] 00062db4: 93ced6d6: ICA 0: SET REGISTER 93 = ced6d6
[:mcd212] 00062db8: 946b6b6b: ICA 0: SET REGISTER 94 = 6b6b6b
[:mcd212] 00062dbc: 95161616: ICA 0: SET REGISTER 95 = 161616
[:mcd212] 00062dc0: 96404040: ICA 0: SET REGISTER 96 = 404040
[:mcd212] 00062dc4: 97bebebe: ICA 0: SET REGISTER 97 = bebebe
[:mcd212] 00062dc8: 983a3a3a: ICA 0: SET REGISTER 98 = 3a3a3a
[:mcd212] 00062dcc: 99242424: ICA 0: SET REGISTER 99 = 242424
[:mcd212] 00062dd0: 9a333333: ICA 0: SET REGISTER 9a = 333333
[:mcd212] 00062dd4: 9b4f4f4f: ICA 0: SET REGISTER 9b = 4f4f4f
[:mcd212] 00062dd8: 9c73789b: ICA 0: SET REGISTER 9c = 73789b
[:mcd212] 00062ddc: 9d2c2c48: ICA 0: SET REGISTER 9d = 2c2c48
[:mcd212] 00062de0: 9e3a4056: ICA 0: SET REGISTER 9e = 3a4056
[:mcd212] 00062de4: 9f656b72: ICA 0: SET REGISTER 9f = 656b72
[:mcd212] 00062de8: a040485d: ICA 0: SET REGISTER a0 = 40485d
[:mcd212] 00062dec: a11d2c3a: ICA 0: SET REGISTER a1 = 1d2c3a
[:mcd212] 00062df0: a2727272: ICA 0: SET REGISTER a2 = 727272
[:mcd212] 00062df4: a3727979: ICA 0: SET REGISTER a3 = 727979
[:mcd212] 00062df8: a4242c40: ICA 0: SET REGISTER a4 = 242c40
[:mcd212] 00062dfc: a5949494: ICA 0: SET REGISTER a5 = 949494
[:mcd212] 00062e00: a6949494: ICA 0: SET REGISTER a6 = 949494
[:mcd212] 00062e04: a79287b5: ICA 0: SET REGISTER a7 = 9287b5
[:mcd212] 00062e08: a89287b5: ICA 0: SET REGISTER a8 = 9287b5
[:mcd212] 00062e0c: a9606060: ICA 0: SET REGISTER a9 = 606060
[:mcd212] 00062e10: aa646e64: ICA 0: SET REGISTER aa = 646e64
[:mcd212] 00062e14: ab949494: ICA 0: SET REGISTER ab = 949494
[:mcd212] 00062e18: ac82af96: ICA 0: SET REGISTER ac = 82af96
[:mcd212] 00062e1c: ad101010: ICA 0: SET REGISTER ad = 101010
[:mcd212] 00062e20: ae787896: ICA 0: SET REGISTER ae = 787896
[:mcd212] 00062e24: af787896: ICA 0: SET REGISTER af = 787896
[:mcd212] 00062e28: b0787896: ICA 0: SET REGISTER b0 = 787896
[:mcd212] 00062e2c: b1697d73: ICA 0: SET REGISTER b1 = 697d73
[:mcd212] 00062e30: b2dcdcdc: ICA 0: SET REGISTER b2 = dcdcdc
[:mcd212] 00062e34: b3dcdcdc: ICA 0: SET REGISTER b3 = dcdcdc
[:mcd212] 00062e38: b4949494: ICA 0: SET REGISTER b4 = 949494
[:mcd212] 00062e3c: b5949494: ICA 0: SET REGISTER b5 = 949494
[:mcd212] 00062e40: b6a4abab: ICA 0: SET REGISTER b6 = a4abab
[:mcd212] 00062e44: b7949494: ICA 0: SET REGISTER b7 = 949494
[:mcd212] 00062e48: b88f9595: ICA 0: SET REGISTER b8 = 8f9595
[:mcd212] 00062e4c: b9818888: ICA 0: SET REGISTER b9 = 818888
[:mcd212] 00062e50: bad2d2d2: ICA 0: SET REGISTER ba = d2d2d2
[:mcd212] 00062e54: bb484848: ICA 0: SET REGISTER bb = 484848
[:mcd212] 00062e58: bcd6dddd: ICA 0: SET REGISTER bc = d6dddd
[:mcd212] 00062e5c: bd959d9d: ICA 0: SET REGISTER bd = 959d9d
[:mcd212] 00062e60: beced6d6: ICA 0: SET REGISTER be = ced6d6
[:mcd212] 00062e64: bf6b6b6b: ICA 0: SET REGISTER bf = 6b6b6b
[:mcd212] 00062e68: c3000001: ICA 0: SET REGISTER c3 = 000001
[:mcd212] 00062e6c: 80161616: ICA 0: SET REGISTER 80 = 161616
[:mcd212] 00062e70: 81404040: ICA 0: SET REGISTER 81 = 404040
[:mcd212] 00062e74: 82bebebe: ICA 0: SET REGISTER 82 = bebebe
[:mcd212] 00062e78: 833a3a3a: ICA 0: SET REGISTER 83 = 3a3a3a
[:mcd212] 00062e7c: 84242424: ICA 0: SET REGISTER 84 = 242424
[:mcd212] 00062e80: 85333333: ICA 0: SET REGISTER 85 = 333333
[:mcd212] 00062e84: 864f4f4f: ICA 0: SET REGISTER 86 = 4f4f4f
[:mcd212] 00062e88: 87949494: ICA 0: SET REGISTER 87 = 949494
[:mcd212] 00062e8c: 882c2c48: ICA 0: SET REGISTER 88 = 2c2c48
[:mcd212] 00062e90: 893a4056: ICA 0: SET REGISTER 89 = 3a4056
[:mcd212] 00062e94: 8a656b72: ICA 0: SET REGISTER 8a = 656b72
[:mcd212] 00062e98: 8b787896: ICA 0: SET REGISTER 8b = 787896
[:mcd212] 00062e9c: 8c1d2c3a: ICA 0: SET REGISTER 8c = 1d2c3a
[:mcd212] 00062ea0: 8d727272: ICA 0: SET REGISTER 8d = 727272
[:mcd212] 00062ea4: 8e606060: ICA 0: SET REGISTER 8e = 606060
[:mcd212] 00062ea8: 8f242c40: ICA 0: SET REGISTER 8f = 242c40
[:mcd212] 00062eac: 90787878: ICA 0: SET REGISTER 90 = 787878
[:mcd212] 00062eb0: 91484f5d: ICA 0: SET REGISTER 91 = 484f5d
[:mcd212] 00062eb4: 92606060: ICA 0: SET REGISTER 92 = 606060
[:mcd212] 00062eb8: 9310163a: ICA 0: SET REGISTER 93 = 10163a
[:mcd212] 00062ebc: 9433334f: ICA 0: SET REGISTER 94 = 33334f
[:mcd212] 00062ec0: 955d656b: ICA 0: SET REGISTER 95 = 5d656b
[:mcd212] 00062ec4: 96727279: ICA 0: SET REGISTER 96 = 727279
[:mcd212] 00062ec8: 97333348: ICA 0: SET REGISTER 97 = 333348
[:mcd212] 00062ecc: 985d5d5d: ICA 0: SET REGISTER 98 = 5d5d5d
[:mcd212] 00062ed0: 99888888: ICA 0: SET REGISTER 99 = 888888
[:mcd212] 00062ed4: 9a6b6b72: ICA 0: SET REGISTER 9a = 6b6b72
[:mcd212] 00062ed8: 9b646464: ICA 0: SET REGISTER 9b = 646464
[:mcd212] 00062edc: 9c8f8f95: ICA 0: SET REGISTER 9c = 8f8f95
[:mcd212] 00062ee0: 9d4f5665: ICA 0: SET REGISTER 9d = 4f5665
[:mcd212] 00062ee4: 9e818188: ICA 0: SET REGISTER 9e = 818188
[:mcd212] 00062ee8: 9f101010: ICA 0: SET REGISTER 9f = 101010
[:mcd212] 00062eec: a0dcdcdc: ICA 0: SET REGISTER a0 = dcdcdc
[:mcd212] 00062ef0: a1656565: ICA 0: SET REGISTER a1 = 656565
[:mcd212] 00062ef4: a2333a48: ICA 0: SET REGISTER a2 = 333a48
[:mcd212] 00062ef8: a388888f: ICA 0: SET REGISTER a3 = 88888f
[:mcd212] 00062efc: a43a404f: ICA 0: SET REGISTER a4 = 3a404f
[:mcd212] 00062f00: a54f4f5d: ICA 0: SET REGISTER a5 = 4f4f5d
[:mcd212] 00062f04: a6101633: ICA 0: SET REGISTER a6 = 101633
[:mcd212] 00062f08: a7727981: ICA 0: SET REGISTER a7 = 727981
[:mcd212] 00062f0c: a8565d65: ICA 0: SET REGISTER a8 = 565d65
[:mcd212] 00062f10: a9565665: ICA 0: SET REGISTER a9 = 565665
[:mcd212] 00062f14: aa87c5b0: ICA 0: SET REGISTER aa = 87c5b0
[:mcd212] 00062f18: ab1d243a: ICA 0: SET REGISTER ab = 1d243a
[:mcd212] 00062f1c: ac101010: ICA 0: SET REGISTER ac = 101010
[:mcd212] 00062f20: ad161d33: ICA 0: SET REGISTER ad = 161d33
[:mcd212] 00062f24: ae2c3348: ICA 0: SET REGISTER ae = 2c3348
[:mcd212] 00062f28: af404856: ICA 0: SET REGISTER af = 404856
[:mcd212] 00062f2c: b0565656: ICA 0: SET REGISTER b0 = 565656
[:mcd212] 00062f30: b12c2c2c: ICA 0: SET REGISTER b1 = 2c2c2c
[:mcd212] 00062f34: b2323232: ICA 0: SET REGISTER b2 = 323232
[:mcd212] 00062f38: b31d1d1d: ICA 0: SET REGISTER b3 = 1d1d1d
[:mcd212] 00062f3c: b4818181: ICA 0: SET REGISTER b4 = 818181
[:mcd212] 00062f40: b588959d: ICA 0: SET REGISTER b5 = 88959d
[:mcd212] 00062f44: b69287b5: ICA 0: SET REGISTER b6 = 9287b5
[:mcd212] 00062f48: b73c4678: ICA 0: SET REGISTER b7 = 3c4678
[:mcd212] 00062f4c: b841557d: ICA 0: SET REGISTER b8 = 41557d
[:mcd212] 00062f50: b9c7cece: ICA 0: SET REGISTER b9 = c7cece
[:mcd212] 00062f54: baa4a4a4: ICA 0: SET REGISTER ba = a4a4a4
[:mcd212] 00062f58: bb919191: ICA 0: SET REGISTER bb = 919191
[:mcd212] 00062f5c: bcb7b7b7: ICA 0: SET REGISTER bc = b7b7b7
[:mcd212] 00062f60: bdababab: ICA 0: SET REGISTER bd = ababab
[:mcd212] 00062f64: be9d9d9d: ICA 0: SET REGISTER be = 9d9d9d
[:mcd212] 00062f68: bf949494: ICA 0: SET REGISTER bf = 949494
[:mcd212] 00062f6c: 10000000: ICA 0: NOP
[:mcd212] 00062f70: 10000000: ICA 0: NOP
[:mcd212] 00062f74: 10000000: ICA 0: NOP
[:mcd212] 00062f78: 10000000: ICA 0: NOP
[:mcd212] 00062f7c: 10000000: ICA 0: NOP
[:mcd212] 00062f80: 10000000: ICA 0: NOP
[:mcd212] 00062f84: 10000000: ICA 0: NOP
[:mcd212] 00062f88: 10000000: ICA 0: NOP
[:mcd212] 00062f8c: 10000000: ICA 0: NOP
[:mcd212] 00062f90: 10000000: ICA 0: NOP
[:mcd212] 00062f94: 10000000: ICA 0: NOP
[:mcd212] 00062f98: 10000000: ICA 0: NOP
[:mcd212] 00062f9c: 10000000: ICA 0: NOP
[:mcd212] 00062fa0: 10000000: ICA 0: NOP
[:mcd212] 00062fa4: 10000000: ICA 0: NOP
[:mcd212] 00062fa8: 10000000: ICA 0: NOP
[:mcd212] 00062fac: 10000000: ICA 0: NOP
[:mcd212] 00062fb0: 10000000: ICA 0: NOP
[:mcd212] 00062fb4: 10000000: ICA 0: NOP
[:mcd212] 00062fb8: 10000000: ICA 0: NOP
[:mcd212] 00062fbc: 10000000: ICA 0: NOP
[:mcd212] 00062fc0: 10000000: ICA 0: NOP
[:mcd212] 00062fc4: 10000000: ICA 0: NOP
[:mcd212] 00062fc8: 10000000: ICA 0: NOP
[:mcd212] 00062fcc: 10000000: ICA 0: NOP
[:mcd212] 00062fd0: 10000000: ICA 0: NOP
[:mcd212] 00062fd4: 10000000: ICA 0: NOP
[:mcd212] 00062fd8: 10000000: ICA 0: NOP
[:mcd212] 00062fdc: 10000000: ICA 0: NOP
[:mcd212] 00062fe0: 10000000: ICA 0: NOP
[:mcd212] 00062fe4: 10000000: ICA 0: NOP
[:mcd212] 00062fe8: 10000000: ICA 0: NOP
[:mcd212] 00062fec: 10000000: ICA 0: NOP
[:mcd212] 00062ff0: 10000000: ICA 0: NOP
[:mcd212] 00062ff4: 10000000: ICA 0: NOP
[:mcd212] 00062ff8: 10000000: ICA 0: NOP
[:mcd212] 00062ffc: 10000000: ICA 0: NOP
[:mcd212] 00063000: 10000000: ICA 0: NOP
[:mcd212] 00063004: 10000000: ICA 0: NOP
[:mcd212] 00063008: 10000000: ICA 0: NOP
[:mcd212] 0006300c: 10000000: ICA 0: NOP
[:mcd212] 00063010: 10000000: ICA 0: NOP
[:mcd212] 00063014: 10000000: ICA 0: NOP
[:mcd212] 00063018: 10000000: ICA 0: NOP
[:mcd212] 0006301c: 10000000: ICA 0: NOP
[:mcd212] 00063020: 10000000: ICA 0: NOP
[:mcd212] 00063024: 10000000: ICA 0: NOP
[:mcd212] 00063028: 10000000: ICA 0: NOP
[:mcd212] 0006302c: 10000000: ICA 0: NOP
[:mcd212] 00063030: 10000000: ICA 0: NOP
[:mcd212] 00063034: 10000000: ICA 0: NOP
[:mcd212] 00063038: 10000000: ICA 0: NOP
[:mcd212] 0006303c: 10000000: ICA 0: NOP
[:mcd212] 00063040: 10000000: ICA 0: NOP
[:mcd212] 00063044: 10000000: ICA 0: NOP
[:mcd212] 00063048: 10000000: ICA 0: NOP
[:mcd212] 0006304c: 10000000: ICA 0: NOP
[:mcd212] 00063050: 10000000: ICA 0: NOP
[:mcd212] 00063054: 10000000: ICA 0: NOP
[:mcd212] 00063058: 10000000: ICA 0: NOP
[:mcd212] 0006305c: 10000000: ICA 0: NOP
[:mcd212] 00063060: 10000000: ICA 0: NOP
[:mcd212] 00063064: 10000000: ICA 0: NOP
[:mcd212] 00063068: 10000000: ICA 0: NOP
[:mcd212] 0006306c: 10000000: ICA 0: NOP
[:mcd212] 00063070: 10000000: ICA 0: NOP
[:mcd212] 00063074: 10000000: ICA 0: NOP
[:mcd212] 00063078: 10000000: ICA 0: NOP
[:mcd212] 0006307c: 10000000: ICA 0: NOP
[:mcd212] 00063080: 10000000: ICA 0: NOP
[:mcd212] 00063084: 10000000: ICA 0: NOP
[:mcd212] 00063088: 10000000: ICA 0: NOP
[:mcd212] 0006308c: 10000000: ICA 0: NOP
[:mcd212] 00063090: 10000000: ICA 0: NOP
[:mcd212] 00063094: 10000000: ICA 0: NOP
[:mcd212] 00063098: 10000000: ICA 0: NOP
[:mcd212] 0006309c: 10000000: ICA 0: NOP
[:mcd212] 000630a0: 10000000: ICA 0: NOP
[:mcd212] 000630a4: 10000000: ICA 0: NOP
[:mcd212] 000630a8: 10000000: ICA 0: NOP
[:mcd212] 000630ac: 10000000: ICA 0: NOP
[:mcd212] 000630b0: 10000000: ICA 0: NOP
[:mcd212] 000630b4: 10000000: ICA 0: NOP
[:mcd212] 000630b8: 10000000: ICA 0: NOP
[:mcd212] 000630bc: 10000000: ICA 0: NOP
[:mcd212] 000630c0: 10000000: ICA 0: NOP
[:mcd212] 000630c4: 10000000: ICA 0: NOP
[:mcd212] 000630c8: 10000000: ICA 0: NOP
[:mcd212] 000630cc: 10000000: ICA 0: NOP
[:mcd212] 000630d0: 10000000: ICA 0: NOP
[:mcd212] 000630d4: 10000000: ICA 0: NOP
[:mcd212] 000630d8: 10000000: ICA 0: NOP
[:mcd212] 000630dc: 10000000: ICA 0: NOP
[:mcd212] 000630e0: 10000000: ICA 0: NOP
[:mcd212] 000630e4: 10000000: ICA 0: NOP
[:mcd212] 000630e8: 10000000: ICA 0: NOP
[:mcd212] 000630ec: 10000000: ICA 0: NOP
[:mcd212] 000630f0: 10000000: ICA 0: NOP
[:mcd212] 000630f4: 10000000: ICA 0: NOP
[:mcd212] 000630f8: 10000000: ICA 0: NOP
[:mcd212] 000630fc: 10000000: ICA 0: NOP
[:mcd212] 00063100: 10000000: ICA 0: NOP
[:mcd212] 00063104: 10000000: ICA 0: NOP
[:mcd212] 00063108: 10000000: ICA 0: NOP
[:mcd212] 0006310c: 10000000: ICA 0: NOP
[:mcd212] 00063110: 10000000: ICA 0: NOP
[:mcd212] 00063114: 10000000: ICA 0: NOP
[:mcd212] 00063118: 10000000: ICA 0: NOP
[:mcd212] 0006311c: 10000000: ICA 0: NOP
[:mcd212] 00063120: 10000000: ICA 0: NOP
[:mcd212] 00063124: 10000000: ICA 0: NOP
[:mcd212] 00063128: 10000000: ICA 0: NOP
[:mcd212] 0006312c: 10000000: ICA 0: NOP
[:mcd212] 00063130: 10000000: ICA 0: NOP
[:mcd212] 00063134: 10000000: ICA 0: NOP
[:mcd212] 00063138: 10000000: ICA 0: NOP
[:mcd212] 0006313c: 10000000: ICA 0: NOP
[:mcd212] 00063140: 10000000: ICA 0: NOP
[:mcd212] 00063144: 10000000: ICA 0: NOP
[:mcd212] 00063148: 10000000: ICA 0: NOP
[:mcd212] 0006314c: 10000000: ICA 0: NOP
[:mcd212] 00063150: 10000000: ICA 0: NOP
[:mcd212] 00063154: 10000000: ICA 0: NOP
[:mcd212] 00063158: 10000000: ICA 0: NOP
[:mcd212] 0006315c: 10000000: ICA 0: NOP
[:mcd212] 00063160: 10000000: ICA 0: NOP
[:mcd212] 00063164: 10000000: ICA 0: NOP
[:mcd212] 00063168: 10000000: ICA 0: NOP
[:mcd212] 0006316c: 10000000: ICA 0: NOP
[:mcd212] 00063170: 10000000: ICA 0: NOP
[:mcd212] 00063174: d0000000: ICA 0: SET REGISTER d0 = 000000
[:mcd212] 00063178: d1000000: ICA 0: SET REGISTER d1 = 000000
[:mcd212] 0006317c: d2000000: ICA 0: SET REGISTER d2 = 000000
[:mcd212] 00063180: d3000000: ICA 0: SET REGISTER d3 = 000000
[:mcd212] 00063184: d4000000: ICA 0: SET REGISTER d4 = 000000
[:mcd212] 00063188: d5000000: ICA 0: SET REGISTER d5 = 000000
[:mcd212] 0006318c: d6000000: ICA 0: SET REGISTER d6 = 000000
[:mcd212] 00063190: d7000000: ICA 0: SET REGISTER d7 = 000000
[:mcd212] 00063194: 10000000: ICA 0: NOP
[:mcd212] 00063198: 10000000: ICA 0: NOP
[:mcd212] 0006319c: 10000000: ICA 0: NOP
[:mcd212] 000631a0: 10000000: ICA 0: NOP
[:mcd212] 000631a4: 10000000: ICA 0: NOP
[:mcd212] 000631a8: 10000000: ICA 0: NOP
[:mcd212] 000631ac: 10000000: ICA 0: NOP
[:mcd212] 000631b0: 10000000: ICA 0: NOP
[:mcd212] 000631b4: 10000000: ICA 0: NOP
[:mcd212] 000631b8: 20067850: ICA 0: RELOAD DCP: 067850
[:mcd212] 000631bc: 50076370: ICA 0: RELOAD VSR and STOP: VSR = 76370
FILE0 start:
[:mcd212] Scanline 32: VSR Channel 0, ICM (03), VSR (00076370)
[:mcd212] Scanline 32: Chan 0: VSR[76370] = ff
[:mcd212] Scanline 32: Chan 0: RLE
[:mcd212] Byte ff w/ run length 4b at 0
[:mcd212] Scanline 32: Chan 0: VSR[76372] = fe
[:mcd212] Scanline 32: Chan 0: RLE
[:mcd212] Byte fe w/ run length 05 at 75
[:mcd212] Scanline 32: Chan 0: VSR[76374] = ff
[:mcd212] Scanline 32: Chan 0: RLE
[:mcd212] Byte ff w/ run length 22 at 80
[:mcd212] Scanline 32: Chan 0: VSR[76376] = fe
ICA1 start:
[:mcd212] 00200400: 402610e0: ICA 1: RELOAD VSR: 0610e0
[:mcd212] 002610e0: 78000400: ICA 1: RELOAD DISPLAY PARAMETERS (All 0)
[:mcd212] 002610e4: 10000000: ICA 1: NOP
[:mcd212] 002610e8: 10000000: ICA 1: NOP
[:mcd212] 002610ec: 70000000: ICA 1: SET REGISTER 70 = 000000
[:mcd212] 002610f0: c6070707: ICA 1: SET REGISTER c6 = 070707 Transparent Color 1 1 1 (in RGB888 it would be 777)
[:mcd212] 002610f4: c9000000: ICA 1: SET REGISTER c9 = 000000
[:mcd212] 002610f8: cb000000: ICA 1: SET REGISTER cb = 000000
[:mcd212] 002610fc: da000000: ICA 1: SET REGISTER da = 000000
[:mcd212] 00261100: dc00003f: ICA 1: SET REGISTER dc = 00003f
[:mcd212] 00261104: c3000002: ICA 1: SET REGISTER c3 = 000002
[:mcd212] 00261108: 80ffffff: ICA 1: SET REGISTER 80 = ffffff
[:mcd212] 0026110c: 81787896: ICA 1: SET REGISTER 81 = 787896
[:mcd212] 00261110: 829287b5: ICA 1: SET REGISTER 82 = 9287b5
[:mcd212] 00261114: 83646464: ICA 1: SET REGISTER 83 = 646464
[:mcd212] 00261118: 84697d73: ICA 1: SET REGISTER 84 = 697d73
[:mcd212] 0026111c: 8582af96: ICA 1: SET REGISTER 85 = 82af96
[:mcd212] 00261120: 869287b5: ICA 1: SET REGISTER 86 = 9287b5
[:mcd212] 00261124: 879287b5: ICA 1: SET REGISTER 87 = 9287b5
[:mcd212] 00261128: 88787896: ICA 1: SET REGISTER 88 = 787896
[:mcd212] 0026112c: 8982af96: ICA 1: SET REGISTER 89 = 82af96
[:mcd212] 00261130: 8a879bc8: ICA 1: SET REGISTER 8a = 879bc8
[:mcd212] 00261134: 8b727979: ICA 1: SET REGISTER 8b = 727979
[:mcd212] 00261138: 8c65656b: ICA 1: SET REGISTER 8c = 65656b
[:mcd212] 0026113c: 8d818888: ICA 1: SET REGISTER 8d = 818888
[:mcd212] 00261140: 8ed2d2d2: ICA 1: SET REGISTER 8e = d2d2d2
[:mcd212] 00261144: 8f10162c: ICA 1: SET REGISTER 8f = 10162c
[:mcd212] 00261148: 90656b79: ICA 1: SET REGISTER 90 = 656b79
[:mcd212] 0026114c: 91565d6b: ICA 1: SET REGISTER 91 = 565d6b
[:mcd212] 00261150: 92959d9d: ICA 1: SET REGISTER 92 = 959d9d
[:mcd212] 00261154: 93ced6d6: ICA 1: SET REGISTER 93 = ced6d6
[:mcd212] 00261158: 946b6b6b: ICA 1: SET REGISTER 94 = 6b6b6b
[:mcd212] 0026115c: 95161616: ICA 1: SET REGISTER 95 = 161616
[:mcd212] 00261160: 96404040: ICA 1: SET REGISTER 96 = 404040
[:mcd212] 00261164: 97bebebe: ICA 1: SET REGISTER 97 = bebebe
[:mcd212] 00261168: 983a3a3a: ICA 1: SET REGISTER 98 = 3a3a3a
[:mcd212] 0026116c: 99242424: ICA 1: SET REGISTER 99 = 242424
[:mcd212] 00261170: 9a333333: ICA 1: SET REGISTER 9a = 333333
[:mcd212] 00261174: 9b4f4f4f: ICA 1: SET REGISTER 9b = 4f4f4f
[:mcd212] 00261178: 9c73789b: ICA 1: SET REGISTER 9c = 73789b
[:mcd212] 0026117c: 9d2c2c48: ICA 1: SET REGISTER 9d = 2c2c48
[:mcd212] 00261180: 9e3a4056: ICA 1: SET REGISTER 9e = 3a4056
[:mcd212] 00261184: 9f656b72: ICA 1: SET REGISTER 9f = 656b72
[:mcd212] 00261188: a040485d: ICA 1: SET REGISTER a0 = 40485d
[:mcd212] 0026118c: a11d2c3a: ICA 1: SET REGISTER a1 = 1d2c3a
[:mcd212] 00261190: a2727272: ICA 1: SET REGISTER a2 = 727272
[:mcd212] 00261194: a3727979: ICA 1: SET REGISTER a3 = 727979
[:mcd212] 00261198: a4242c40: ICA 1: SET REGISTER a4 = 242c40
[:mcd212] 0026119c: a5949494: ICA 1: SET REGISTER a5 = 949494
[:mcd212] 002611a0: a6949494: ICA 1: SET REGISTER a6 = 949494
[:mcd212] 002611a4: a79287b5: ICA 1: SET REGISTER a7 = 9287b5
[:mcd212] 002611a8: a89287b5: ICA 1: SET REGISTER a8 = 9287b5
[:mcd212] 002611ac: a9606060: ICA 1: SET REGISTER a9 = 606060
[:mcd212] 002611b0: aa646e64: ICA 1: SET REGISTER aa = 646e64
[:mcd212] 002611b4: ab949494: ICA 1: SET REGISTER ab = 949494
[:mcd212] 002611b8: ac82af96: ICA 1: SET REGISTER ac = 82af96
[:mcd212] 002611bc: ad101010: ICA 1: SET REGISTER ad = 101010
[:mcd212] 002611c0: ae787896: ICA 1: SET REGISTER ae = 787896
[:mcd212] 002611c4: af787896: ICA 1: SET REGISTER af = 787896
[:mcd212] 002611c8: b0787896: ICA 1: SET REGISTER b0 = 787896
[:mcd212] 002611cc: b1697d73: ICA 1: SET REGISTER b1 = 697d73
[:mcd212] 002611d0: b2dcdcdc: ICA 1: SET REGISTER b2 = dcdcdc
[:mcd212] 002611d4: b3dcdcdc: ICA 1: SET REGISTER b3 = dcdcdc
[:mcd212] 002611d8: b4949494: ICA 1: SET REGISTER b4 = 949494
[:mcd212] 002611dc: b5949494: ICA 1: SET REGISTER b5 = 949494
[:mcd212] 002611e0: b6a4abab: ICA 1: SET REGISTER b6 = a4abab
[:mcd212] 002611e4: b7949494: ICA 1: SET REGISTER b7 = 949494
[:mcd212] 002611e8: b88f9595: ICA 1: SET REGISTER b8 = 8f9595
[:mcd212] 002611ec: b9818888: ICA 1: SET REGISTER b9 = 818888
[:mcd212] 002611f0: bad2d2d2: ICA 1: SET REGISTER ba = d2d2d2
[:mcd212] 002611f4: bb484848: ICA 1: SET REGISTER bb = 484848
[:mcd212] 002611f8: bcd6dddd: ICA 1: SET REGISTER bc = d6dddd
[:mcd212] 002611fc: bd959d9d: ICA 1: SET REGISTER bd = 959d9d
[:mcd212] 00261200: beced6d6: ICA 1: SET REGISTER be = ced6d6
[:mcd212] 00261204: bf6b6b6b: ICA 1: SET REGISTER bf = 6b6b6b
[:mcd212] 00261208: c3000003: ICA 1: SET REGISTER c3 = 000003
[:mcd212] 0026120c: 80070707: ICA 1: SET REGISTER 80 = 070707
[:mcd212] 00261210: 81cacaca: ICA 1: SET REGISTER 81 = cacaca
[:mcd212] 00261214: 82070707: ICA 1: SET REGISTER 82 = 070707
[:mcd212] 00261218: 839fe5c7: ICA 1: SET REGISTER 83 = 9fe5c7
[:mcd212] 0026121c: 845b5b5b: ICA 1: SET REGISTER 84 = 5b5b5b
[:mcd212] 00261220: 85606060: ICA 1: SET REGISTER 85 = 606060
[:mcd212] 00261224: 86141414: ICA 1: SET REGISTER 86 = 141414
[:mcd212] 00261228: 87000000: ICA 1: SET REGISTER 87 = 000000
[:mcd212] 0026122c: 88f8f8f8: ICA 1: SET REGISTER 88 = f8f8f8
[:mcd212] 00261230: 89dedede: ICA 1: SET REGISTER 89 = dedede
[:mcd212] 00261234: 8ab4b4b4: ICA 1: SET REGISTER 8a = b4b4b4
[:mcd212] 00261238: 8b4a4a4a: ICA 1: SET REGISTER 8b = 4a4a4a
[:mcd212] 0026123c: 8c86c2ae: ICA 1: SET REGISTER 8c = 86c2ae
[:mcd212] 00261240: 8d007268: ICA 1: SET REGISTER 8d = 007268
[:mcd212] 00261244: 8e005e72: ICA 1: SET REGISTER 8e = 005e72
[:mcd212] 00261248: 8fc8aad2: ICA 1: SET REGISTER 8f = c8aad2
[:mcd212] 0026124c: 90b700b7: ICA 1: SET REGISTER 90 = b700b7
[:mcd212] 00261250: 91949494: ICA 1: SET REGISTER 91 = 949494
[:mcd212] 00261254: 92de1414: ICA 1: SET REGISTER 92 = de1414
[:mcd212] 00261258: 93c8c8c8: ICA 1: SET REGISTER 93 = c8c8c8
[:mcd212] 0026125c: 94c8aad2: ICA 1: SET REGISTER 94 = c8aad2
[:mcd212] 00261260: 95c8aad2: ICA 1: SET REGISTER 95 = c8aad2
[:mcd212] 00261264: 96c8aad2: ICA 1: SET REGISTER 96 = c8aad2
[:mcd212] 00261268: 97c8aad2: ICA 1: SET REGISTER 97 = c8aad2
[:mcd212] 0026126c: 98c8aad2: ICA 1: SET REGISTER 98 = c8aad2
[:mcd212] 00261270: 99c8aad2: ICA 1: SET REGISTER 99 = c8aad2
[:mcd212] 00261274: 9ac8aad2: ICA 1: SET REGISTER 9a = c8aad2
[:mcd212] 00261278: 9bc8aad2: ICA 1: SET REGISTER 9b = c8aad2
[:mcd212] 0026127c: 9cc8aad2: ICA 1: SET REGISTER 9c = c8aad2
[:mcd212] 00261280: 9dc8aad2: ICA 1: SET REGISTER 9d = c8aad2
[:mcd212] 00261284: 9ec8aad2: ICA 1: SET REGISTER 9e = c8aad2
[:mcd212] 00261288: 9fc8aad2: ICA 1: SET REGISTER 9f = c8aad2
[:mcd212] 0026128c: a0c8aad2: ICA 1: SET REGISTER a0 = c8aad2
[:mcd212] 00261290: a1010203: ICA 1: SET REGISTER a1 = 010203
[:mcd212] 00261294: a2050607: ICA 1: SET REGISTER a2 = 050607
[:mcd212] 00261298: a3090a0b: ICA 1: SET REGISTER a3 = 090a0b
[:mcd212] 0026129c: a40d0e0f: ICA 1: SET REGISTER a4 = 0d0e0f
[:mcd212] 002612a0: a5000000: ICA 1: SET REGISTER a5 = 000000
[:mcd212] 002612a4: a6000000: ICA 1: SET REGISTER a6 = 000000
[:mcd212] 002612a8: a7048000: ICA 1: SET REGISTER a7 = 048000
[:mcd212] 002612ac: 10000000: ICA 1: NOP
[:mcd212] 002612b0: 10000000: ICA 1: NOP
[:mcd212] 002612b4: 10000000: ICA 1: NOP
[:mcd212] 002612b8: 10000000: ICA 1: NOP
[:mcd212] 002612bc: 10000000: ICA 1: NOP
[:mcd212] 002612c0: 10000000: ICA 1: NOP
[:mcd212] 002612c4: 10000000: ICA 1: NOP
[:mcd212] 002612c8: 10000000: ICA 1: NOP
[:mcd212] 002612cc: 10000000: ICA 1: NOP
[:mcd212] 002612d0: 10000000: ICA 1: NOP
[:mcd212] 002612d4: 10000000: ICA 1: NOP
[:mcd212] 002612d8: 10000000: ICA 1: NOP
[:mcd212] 002612dc: 10000000: ICA 1: NOP
[:mcd212] 002612e0: 10000000: ICA 1: NOP
[:mcd212] 002612e4: 10000000: ICA 1: NOP
[:mcd212] 002612e8: 10000000: ICA 1: NOP
[:mcd212] 002612ec: 10000000: ICA 1: NOP
[:mcd212] 002612f0: 10000000: ICA 1: NOP
[:mcd212] 002612f4: 10000000: ICA 1: NOP
[:mcd212] 002612f8: 10000000: ICA 1: NOP
[:mcd212] 002612fc: 10000000: ICA 1: NOP
[:mcd212] 00261300: 10000000: ICA 1: NOP
[:mcd212] 00261304: 10000000: ICA 1: NOP
[:mcd212] 00261308: 10000000: ICA 1: NOP
[:mcd212] 0026130c: 10000000: ICA 1: NOP
[:mcd212] 00261310: 10000000: ICA 1: NOP
[:mcd212] 00261314: 10000000: ICA 1: NOP
[:mcd212] 00261318: 10000000: ICA 1: NOP
[:mcd212] 0026131c: 10000000: ICA 1: NOP
[:mcd212] 00261320: 10000000: ICA 1: NOP
[:mcd212] 00261324: 10000000: ICA 1: NOP
[:mcd212] 00261328: 10000000: ICA 1: NOP
[:mcd212] 0026132c: 10000000: ICA 1: NOP
[:mcd212] 00261330: 10000000: ICA 1: NOP
[:mcd212] 00261334: 10000000: ICA 1: NOP
[:mcd212] 00261338: 10000000: ICA 1: NOP
[:mcd212] 0026133c: 10000000: ICA 1: NOP
[:mcd212] 00261340: 10000000: ICA 1: NOP
[:mcd212] 00261344: 10000000: ICA 1: NOP
[:mcd212] 00261348: 10000000: ICA 1: NOP
[:mcd212] 0026134c: 10000000: ICA 1: NOP
[:mcd212] 00261350: 202613a0: ICA 1: RELOAD DCP: 0613a0
[:mcd212] 00261354: 50265c00: ICA 1: RELOAD VSR and STOP: VSR = 65c00
FILE1 start:
[:mcd212] Scanline 32: VSR Channel 1, ICM (03), VSR (00265c00)
[:mcd212] Scanline 32: Chan 1: VSR[65c00] = 42
[:mcd212] Scanline 32: Chan 1: BMP
...
[:mcd212] Scanline 33: VSR Channel 1, ICM (03), VSR (00265d80)
[:mcd212] Scanline 33: Chan 1: VSR[65d80] = 42
[:mcd212] Scanline 33: Chan 1: BMP
...
[:mcd212] Scanline 311: VSR Channel 1, ICM (03), VSR (0027fe80)
[:mcd212] Scanline 311: Chan 1: VSR[7fe80] = 40
[:mcd212] Scanline 311: Chan 1: BMP
A single line is 0x180 in size. This is 384 bytes which makes sense in BMP mode.
Blue screen during bootup
The DCA is required for this.
[:mcd212] 00000400: 40000408: ICA 0: RELOAD VSR: 000408
[:mcd212] 00000408: 78000402: ICA 0: RELOAD DISPLAY PARAMETERS
[:mcd212] 0000040c: c3000000: ICA 0: SET REGISTER c3 = 000000
[:mcd212] (no context): Scanline 0, Channel 0: CLUT Bank Register = 00000000
[:mcd212] 00000410: 8000ffff: ICA 0: SET REGISTER 80 = 00ffff
[:mcd212] (no context): Channel 0: CLUT[0] = 0000ffff
[:mcd212] 00000414: c0101313: ICA 0: SET REGISTER c0 = 101313
[:mcd212] (no context): Channel 0: Image Coding Method = 00101313
[:mcd212] 00000418: c1800008: ICA 0: SET REGISTER c1 = 800008
[:mcd212] (no context): Scanline 0, Channel 0: Transparency Control = 00800008
[:mcd212] 0000041c: c2000000: ICA 0: SET REGISTER c2 = 000000
[:mcd212] (no context): Scanline 0, Channel 0: Plane Order = 00000000
[:mcd212] 00000420: d0000000: ICA 0: SET REGISTER d0 = 000000
[:mcd212] (no context): Scanline 0, Channel 0: Region Control 0 = 00000000
[:mcd212] 00000424: d4000000: ICA 0: SET REGISTER d4 = 000000
[:mcd212] (no context): Scanline 0, Channel 0: Region Control 4 = 00000000
[:mcd212] 00000428: db00003f: ICA 0: SET REGISTER db = 00003f
[:mcd212] (no context): Scanline 0, Channel 0: Weight Factor A = 0000003f
[:mcd212] 0000042c: 20000434: ICA 0: RELOAD DCP: 000434
[:mcd212] 00000430: 5000043c: ICA 0: RELOAD VSR and STOP: VSR = 0043c
[:mcd212] 00200400: 40200408: ICA 1: RELOAD VSR: 000408
[:mcd212] 00200408: 78000402: ICA 1: RELOAD DISPLAY PARAMETERS
[:mcd212] 0020040c: 10000000: ICA 1: NOP
[:mcd212] 00200410: dc000000: ICA 1: SET REGISTER dc = 000000
[:mcd212] (no context): Scanline 0, Channel 1: Weight Factor B = 00000000
[:mcd212] 00200414: 2020041c: ICA 1: RELOAD DCP: 00041c
[:mcd212] 00200418: 50200424: ICA 1: RELOAD VSR and STOP: VSR = 00424
It seems that VSR is set on 0043c on every line. It repeats until the end.
[:mcd212] 00000434: 4000043c: DCA 0: RELOAD VSR: 00043c
[:mcd212] 00000438: 30000434: DCA 0: RELOAD DCP and STOP
[:mcd212] 0020041c: 40200424: DCA 1: RELOAD VSR: 000424
[:mcd212] 00200420: 3020041c: DCA 1: RELOAD DCP and STOP