tendril
Well-known member
I don't usually post repair logs here, but this one was quite unusual, I wonder if the original owner is out there as I got this from Ebay 
It's the newer style 4 slot with the custom chips on the top board replacing lots of 74LS TTL chips. A previous owner had installed the Universe Bios onto it, but games would crash right after the NeoGeo startup logo screen or the 'Winners Don't use Drugs' screen (if the BIOS set to US region). Puzzle Bobble showed corruption then a crash and Super Sidekicks 2 would jump to an 'illegal instruction exception' screen. (Reinstalling the regular BIOS just led to a crash and watchdog reset at the same point). So this is quite interesting because for the startup screen to show up the CPU must be executing the program on the cartridge. So the data bus and all control signals must be working between the bottom board and the top board.
My best guess was that an address line was faulty - this would let the CPU execute code as long as it didn't jump to any areas of 'bad' address. A cool feature of the UniBios is that has a memory viewer - so I was able to look through the memory the 68000 on the main board can 'see' of the cartridge. And at 0x10000 the data was identical to that at 0x00000. So that means that address line A16 must be stuck low - whenever the CPU asks for data in the range 0x10000 to 0x1fffff the cartridge is actually returning 0 to 0xffff. So explanation for the illegal instruction found! The CPU would jump to somewhere in that range - but actually be given illegal instruction data from elsewhere in the ROM which causes the exception.
So, time to trace out where A16 goes from the main 68000 CPU on the bottom board, and also trace where cartridge A16 goes on the top board. (Technically it's A15 on the cartridge side because it's a 16 bit ROM rather than 8 bit, but I'll call it A16 to be clearer). Interestingly I found some marker pen marks at some of the A16 points on the lower board, so someone had clearly worked on this before and also suspected an address fault. The main paths for the address lines are to go to the BIOS rom on the main board and to the 245 latches in the lower right of the board. Now I was looking closer I could also see one of the original AS245 latches had been replaced with a LS245 version and A16 went through this chip. So someone had definitely spent some time on this before. The address lines then go from the 245's to the top board connector. On the top board I was hoping to find a broken trace to explain the fault, but continuity tested all the way from the bottom board to the NEO-244 custom chip (A16 goes to pin 1). Tracing from the cartridge connector back showed no breaks either - all address lines are shared between
all address lines are shared between slots 1 & 2 on the board, and A16 traces back to the same NEO-244 chip - pin 62 this time.
It's the newer style 4 slot with the custom chips on the top board replacing lots of 74LS TTL chips. A previous owner had installed the Universe Bios onto it, but games would crash right after the NeoGeo startup logo screen or the 'Winners Don't use Drugs' screen (if the BIOS set to US region). Puzzle Bobble showed corruption then a crash and Super Sidekicks 2 would jump to an 'illegal instruction exception' screen. (Reinstalling the regular BIOS just led to a crash and watchdog reset at the same point). So this is quite interesting because for the startup screen to show up the CPU must be executing the program on the cartridge. So the data bus and all control signals must be working between the bottom board and the top board.
My best guess was that an address line was faulty - this would let the CPU execute code as long as it didn't jump to any areas of 'bad' address. A cool feature of the UniBios is that has a memory viewer - so I was able to look through the memory the 68000 on the main board can 'see' of the cartridge. And at 0x10000 the data was identical to that at 0x00000. So that means that address line A16 must be stuck low - whenever the CPU asks for data in the range 0x10000 to 0x1fffff the cartridge is actually returning 0 to 0xffff. So explanation for the illegal instruction found! The CPU would jump to somewhere in that range - but actually be given illegal instruction data from elsewhere in the ROM which causes the exception.
So, time to trace out where A16 goes from the main 68000 CPU on the bottom board, and also trace where cartridge A16 goes on the top board. (Technically it's A15 on the cartridge side because it's a 16 bit ROM rather than 8 bit, but I'll call it A16 to be clearer). Interestingly I found some marker pen marks at some of the A16 points on the lower board, so someone had clearly worked on this before and also suspected an address fault. The main paths for the address lines are to go to the BIOS rom on the main board and to the 245 latches in the lower right of the board. Now I was looking closer I could also see one of the original AS245 latches had been replaced with a LS245 version and A16 went through this chip. So someone had definitely spent some time on this before. The address lines then go from the 245's to the top board connector. On the top board I was hoping to find a broken trace to explain the fault, but continuity tested all the way from the bottom board to the NEO-244 custom chip (A16 goes to pin 1). Tracing from the cartridge connector back showed no breaks either - all address lines are shared between
all address lines are shared between slots 1 & 2 on the board, and A16 traces back to the same NEO-244 chip - pin 62 this time.