Professional software development, amateur BMW tinkering, old arcade game stuff


SNK Ikari Warriors arcade pcb repair

This Ikari Warriors was mostly fine, but had some specific bad graphics – the bullet on the title screen, the plane in the intro, grenades and power ups all displayed with a corrupt line effect.  Ikari has two sets of sprite generators – one for the players, enemies, tanks and one for the all the elements mentioned above, so it’s clear the fault was localised to the second sprite generator circuit only.  The middle board contains the 2 pairs of line buffer RAM, and shorting pins with a logic probe confirmed the top two chips were for the players, and the problem sprites were associated with the bottom two.  As it’s clear the graphics fault was on every second scanline, this was likely a problem in the line buffer setup (1 chip handles odd scanlines, 1 handles even.  If the glitch affected all lines then the problem is likely prior to the line buffer split).

IMG_7737 IMG_7732

After probing the chips feeding the RAM and finding no problems I assumed it was just a failed RAM chip.  So I removed both, but they tested fine off board and replacement RAM acted the same way on board – fault still present.  What’s more running the board with one of the RAMs removed showed the game logo also used the second sprite generator, but that wasn’t corrupt – so it seemed only some of the sprites were being corrupted, not all.  The sprite ROMs all tested good as well.  With no obvious dead chip this just got a lot harder to fix.


Ikari does have a self-test mode – which reported no errors – and a debug sprite display mode – however it only displays sprites for that first sprite generator – the one with the players and enemies.  That is called ‘Front 2′ on the test and the schematics.  I modified the program to make it display ‘Front 1′ – the ROM is attached below.  This threw up an interesting fact – the corruption only happened on sprites using palettes 2, 6, 10, 13, 15 – so anything where bit 2 was set in the palette showed the error.  Very strange but I could verify this by always pulling bit 2 low on the LS245 chips that control the palette – bit 2 low graphics fine, bit 2 high – every other scanline showed an error.



Referring to the schematics shows this is probably 1 of 4 chips.  The two LS374′s, or the two LS298′s.  The job of the LS374 is to pass data into the line buffer RAM pair as the line is built.  The job of the LS298 is to pass data out of the RAM and send it to the priority circuit on the top board.  The data going into the LS374′s must be good (because if it wasn’t the problem would show on every scanline, not just every second), and the circuit past the LS298′s must be good for the same reason.


So, I desoldered the LS374′s and tested them – and a single bit error came up – on the pin that handles the palette bit 2!  Replaced and everything is fine, but what a really strange specific error.  Usually when chips fail all outputs go bad.


IMG_7796 IMG_7786

Diagnostic ROM – up03_l4.front_1_diagnostic





Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>