This was started as a troubleshooting guide for Carnival, however most of this information besides the ROM signatures should apply to any of the Sega VIC/VIC dual based games.
RAM range 0x8000 - 0x8FFF
Each RAM chip holds 1 bit of the each address
| Chip location | Bit |
| U76 | Bit 0 |
| U75 | Bit 1 |
| U74 | Bit 2 |
| U73 | Bit 3 |
| U72 | Bit 4 |
| U71 | Bit 5 |
| U70 | Bit 6 |
| U69 | Bit 7 |
| Range | Fluke Checksum | ROM location |
| 0x0000 - 0x3FFF | 271a | All ROMS (u31-u26, u7-u1) |
| Range | Fluke Checksum | ROM location |
| 0x0000 - 0x1FFF | 73e0 | Top Row (u33-u26) |
| 0x0000 - 0x03FF | 9359 | u33 |
| 0x0400 - 0x07FF | 859b | u32 |
| 0x0800 - 0x0BFF | c101 | u31 |
| 0x0C00 - 0x0FFF | 26bf | u30 |
| 0x1000 - 0x13FF | 2b81 | u29 |
| 0x1400 - 0x17FF | b7e8 | u28 |
| 0x1800 - 0x1BFF | a5f0 | u27 |
| 0x1C00 - 0x1FFF | 05d9 | u26 |
| Range | Fluke Checksum | ROM location |
| 0x2000 - 0x3FFF | e212 | Buttom Row (u7-u1) |
| 0x2000 - 0x23FF | a4de | u8 |
| 0x2400 - 0x27FF | a3fe | u7 |
| 0x2800 - 0x2BFF | 8909 | u6 |
| 0x2C00 - 0x2FFF | ccdb | u5 |
| 0x3000 - 0x33FF | f52d | u4 |
| 0x3400 - 0x37FF | 29b6 | u3 |
| 0x3800 - 0x3BFF | 3fd8 | u2 |
| 0x3C00 - 0x3FFF | e09f | u1 |
| Pin | Signal |
| 13 (Input) | 645Khz |
| 14 (Input) | 1.93Mhz |
| 23 (Input) | 5.15Mhz |
| 29 (Input) | 645Khz |
| 30 (Input) | 1.93Mhz |
| 15 (Output) | 15.7Mhz (not exact, it's a composite sync signal, so it mostly looks like a 15.Khz signal, with the verticl component also included) |
| pin | Signal Frequency |
| 2 | 5.15Mhz |
| 6 | 645 Khz |
| 10 | 645 Khz (inverted in respect to pin #6 signal |
| 15 | 1.93Mhz |
| pin | Signal Frequency |
| 2 | 645Khz |
| 7 | 645 Khz |
| 10 | 1.93Mhz |
| 14 | 1.93Mhz |
| 15 | 1.93Mhz |
Perform the following steps/tests in ORDER, do NOT skip, each step is a prerequite to the next. If one of the steps fixes the problem, then stop.

If you are using a VIC 1 board (like Head On) setup the connector as shown in this picture

| PCB header pin | Sound | Chip U63 or U64 | Pin on chip | I/O address | Bit position (0-7) |
| 29 | Bonus #2 | U64 | 12 | 7 | |
| 30 | Bonus #1 | U64 | 9 | 6 | |
| 31 | Pipe | U64 | 15 | 5 | |
| 32 | Duck #3 | U64 | 6 | 4 | |
| 33 | Duck #1 | U64 | 5 | 2 | |
| 34 | Duck #2 | U64 | 16 | 3 | |
| 35 | Clang | U64 | 19 | 1 | |
| 36 | Rifle | U64 | 2 | 0 | |
| 43 | Ranking | U63 | 15 | 5 | |
| 45 | Bear | U63 | 5 | 2 |
| PCB header pin | Sound | Chip U63 or U64 | Pin on chip | I/O address | Bit position (0-7) |
| 44 | ??? to Music Board | U63 | 6 | 4 | |
| 46 | ??? to Music Board | U63 | 16 | 3 |
Main PCB header pins 49-52 are to provide power to the sub boards.
| PCB header pin | Voltage |
| 49 | +12 |
| 50 | -12 |
| 51 | Ground |
| 52 | +5 |
0xc000 - 0xc37F - tiles
0x93:0 -> 0x9c: 9
Tiles (bottom left = 0x00, moving up and over to the right)

Note: pulsar has the entire alphabet at it's ASCII values (0x41 = A - Z), and 0-9 at (0x30 - 0x39)
Important Note: The carnival hardware has ROM from 0x0000 - 0x3FFF HOWEVER it is mirrored into 0x4000 - 0x7FFF and this mirror MUST exist! The code calls routines in this upper address space (0x4000 etc) so if it's not mirrored things don't work!
RAM is also from 0x8000 - 0x8FFF but the hardware maps this into each areas (0x9000 - 0x9FFF, 0xa000 - 0xaFFF... 0xf000 - 0xffff) but the range at least in carnival uses 0xe000 - 0xefff