Dec 242013

Ive been dabbling with Rainbow Islands for quite a while now and there are a couple of things that just didn’t feel right to me. They both involve the self check routines invoked at startup.
The first is the C-Chip check. In the original ROMs if the C-Chip fails its test you will be met with nothing but a blank screen as the palette has not yet been initialised. The second issue is with the ROM checks. The two MASKROMs are checked properly, in that they do a bitsum and compare to a value. The four EPROMs however do no such thing, the code simply checks for a WORD value of #$1987. This is poor IMO.

Today, as a Christmas present to myself (and maybe others) I have addressed both of these issues.
There is a catch however. The patch I did for the C-Chip is no problem but to do the patch for the ROM check I had to use free space in the ROM area, this free space is found at the end of the address space for the ROMs meaning that it would be contained in the 23C1000 MASKROMs. So if you want to use these you need to make an adapter of some sort.

Because of this I have included both sets of patches, one for just the C-Chip fix and the second for the whole lot.
I have not yet tested these on the real hardware but I think they should work.

C-Chip only
C-Chip & ROM check (requires pinout mod)

Merry Christmas!

 Posted by at 8:15 pm

  2 Responses to “Rainbow Islands self test mods”

  1. Haven’t yet tried these but they should be really useful – thanks for your hard work and making these available to everyone. When I next have a Rainbow Islands in for repair I’ll give them a go. 🙂

    • Cheers Phil,
      Need to test them myself. They seem to work in MAME which is a start but nothing like testing on the real thing.
      The test for the C-Chip isnt great and im not sure how it would work if the C-Chip was actually missing but its something.
      I think a 27C301 with a small wiring mod for the /OE line is a suitable replacement for a 23C1000 should anyone need to replace the masks.

Sorry, the comment form is closed at this time.