Rambo 3 – Taito

Just taken a random pick from my “to be repaired” stash, an original TAITO B-SYSTEM arcade board.

rambo3-taito-pcb

The sticker il no more readable, but the eproms labels are marked B93. According on the lists found over the internet this should be a RAMBO 3 board.

The usual visual inspection don’t reveal anything strange, the board is good condition so i’m ready for the smoke test. Jamma harness connected and power feeded, finger crossed and …

rambo3-taito-pink-screen

I’m greeted with this amazing “hello kitty-ish” pink screen! I think John Rambo shouldn’t be proud of! So before i’ll found him in front of my door knocking and armed, i must hurry and fix the board as soon as possible. 🙂

I powered off the board and i checked if some ICs were getting hot, but everything seems to be ok, but we know for sure that almost one “guy” shouldn’t do the right job on the board. Now i’m ready for a second run and powered on the board constantly checking it. The board seem stone dead, and in this condition the right thing is starting troubleshooting the main CPU looking for good control signals, time passes and no signs of life come from the board. I try to feed a credit to the board and surprisingly i was greeted with the right sound effect! This is a good news so probably the board is playing blind, i checked the dip switches and i tried to activate the attact demo sound, i did a power cycle of the board, the usual pink screen came out but now music and sound effetcs seems to be played in the right way.

So the issue must involve the graphic section of the board. My one cent bet is for the palette RAM, so i put my finger over it, it’s marked IC41 and it is a 2Kb 6116 compatible SRAM, the one with the yellow border below:

rambo3-taito-palette-ram

Its data and address lines are directly connected to the TAITO Custom IC marked TC0260DAR, the one light blue bordered, the palette generator chip i think, unfortunately no information neither schematics or pinout can be found on the net about this “guy”.

By the way according to the technical specifications the palette RAM on a B-SYSTEM board shoud be 8Kb, a 6264 standard SRAM, but on Rambo 3 board only a 2Kb palette RAM is present, allowing this way a less color depth.

Here’s a brief summary taken from wikipedia:

RAM:
68000 main RAM: 32 KB
68000 video RAM: 46 KB
(8 KB palette, 36 KB tilemaps, 2 KB scrolling)
Video resolution:
320×224 to 512×256 pixels
Color palette depth:
4096 (12-bit RGB), or 32,768 (15-bit RGB)

Looking at this picture we can see the extra unused pins on the left of the palette RAM @IC41 allowing the fitting of a 8Kb palette SRAM as expected by the “standard” base design.

rambo3-taito-palette-ram-6264

I made a quick shot on the MAME source at:

https://github.com/mamedev/mame/blob/master/src/mame/drivers/taito_b.cpp

… here we can found the Rambo 3 address map:

static ADDRESS_MAP_START (rambo3_map, AS_PROGRAM, 16, taitob_state)
 AM_RANGE(0x000000, 0x07ffff) AM_ROM
 AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
 AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
 TC0180VCU_MEMRW( 0x400000 )
 AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
 AM_RANGE(0x600010, 0x600011) AM_READ(tracky1_lo_r) /*player 1*/
 AM_RANGE(0x600012, 0x600013) AM_READ(tracky1_hi_r)
 AM_RANGE(0x600014, 0x600015) AM_READ(trackx1_lo_r)
 AM_RANGE(0x600016, 0x600017) AM_READ(trackx1_hi_r)
 AM_RANGE(0x600018, 0x600019) AM_READ(tracky2_lo_r) /*player 2*/
 AM_RANGE(0x60001a, 0x60001b) AM_READ(tracky2_hi_r)
 AM_RANGE(0x60001c, 0x60001d) AM_READ(trackx2_lo_r)
 AM_RANGE(0x60001e, 0x60001f) AM_READ(trackx2_hi_r)
 AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
 AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
 ADDRESS_MAP_END

as we can see, according to the MAME source, 8Kb for the palette RAM at range (0xa00000, 0xa01fff) are addressed, exactly 0x1fff hex bytes or 8192 bytes. Maybe should be something wrong here … it needs further investigations.

… but let’s take a step backward and bring the focus back to our not working board and its issue.

Probing the palette RAM address lines with the scope reveals they seems to be in good working order and an apparent regular activity seems to be present, also the control signals seems to be in good shape, but when i checked the data signals i think that something wrong were going on, too poor activity for a palette RAM.

This suspect is enough for me, and i start to replace it, i removed the old ram, i tried my best for a neat job …

rambo3-taito-ic41-closeup

… and fitted the proper IC socket.

rambo3-taito-pcb-color-ram-socket

before proceding, i tested the old RAM on the IC tester, and as you can see it was damaged! The RAM data bus miss the test … Yeah!

rambo3-taito-color-ram-test-fail

I replaced the palette RAM, and fed power to the board again, and …

rambo3-taito-gameplay-3

GOTCHA! It worked! So i could proceed fixing minor issues over the PCB as these damaged, loosen or totally missed capacitors, one 1000uF cap on the 12v rail in the audio section:

rambo3-taito-audio-cap-damaged

and two 220uF caps like this …

rambo3-taito-c124-damaged

Both replaced with their equivalent ones in a bloody-red color! Much better!

rambo3-taito-color-ram-fixed

I think also John Rambo should be proud of them … and now he’s ready to kill all the enemies!

rambo3-taito-splash-screen

Board fixed. Another case closed! 🙂

Leave a Reply

Your email address will not be published.