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