Kyuukyoku Tiger (japanese Twin Cobra)

SquidDude

Newbie
Feedback
2 (100%)
Credits
107CR
Got this broken K Tiger board recently, it's pretty minty aside from a few past repairs.
main board.jpg
sub board.jpg
It was missing the GXC-03 custom so I replaced it with one from Caius, hoping it'd be an easy fix, but it booted up to a black screen, no signs of life at all.

The microcontroller I'm using in the GXC repro had a slightly different latency rating to the one in Caius' images on his site, so I tried it in my Sky Shark board just to check it was all working fine, and it was.
Went through the usual checks next: reseated and swapped the ribbons, and the voltages, socketed chips and roms were all fine, aside from 2 program roms which had the Twin Cobra data on them? Swapped them out for the proper 1P K Tiger roms.
Spotted a few dodgy looking traces on the underside of the board too but they were all electronically fine.
Also found a logic chip near the Z80 that was missing a leg? not sure how that happened! I bodged a component leg onto it (you could call it a prosthetic leg!) and it actually tested fine, but I replaced it anyway just to be safe.



Started logic probing from here, a black screen on this hardware is a real pain to troubleshoot (I'll get to that in a bit), since almost anything can cause it.
Started by logic probing the ram chips, all seemed fine so I then started probing the rom chips just to double check that they were all connected up fine.
And then of course whilst probing, my hand had to slip whilst going over the one chip where there were 2 pins connected to 5V and ground right next to each other :rolleyes:
My power supply's protection kicked in instantly, but it still knocked out the board's sync signal, and on further inspection the clock signals to the processors, so I took a break from it for a few days (which I think is always a good idea if you screw something up like this)

Luckily it was a simple fix when I came back to it, traced the clock signal to a 74LS163, which divides the clock signal up for each of the processors, and it was scalding hot, with stuck outputs (measured it at 70 degrees C!). Replaced it, and all was back to normal.



Next I wanted to look into the games startup sequence, came across this great thread on KLOV detailing a repair of a black screened Sky Shark (Sky Shark uses the same mame driver as K Tiger, they both run on very similar hardware).


From that, and a bit of messing around with the mame debugger, I was able to verify that this board has the exact same bug in the self test as Sky Shark, where the game just hangs if any of the self tests fail!
Incredible.
To be specific, if the board is working fine, after the ram tests the main 68K turns on the Z80 sound processor, and then waits for a value at a certain ram address (where the Z80 signals that it's done with its tests). But if any of the tests fail, the code to turn on the Z80 gets skipped, and both chips get stuck waiting for each other!
Diagnosing this isn't helped by the fact that the game doesn't turn the screen on until all of the ram tests are done (unlike later Toaplan games).

Now I'm not a programmer, so this is all new to me, but after poking about a bit more in the debugger, I found a few bytes that could be changed to make the game turn on the screen immediately on boot, but now that the roms were changed it'd fail the rom checksums tests. But I also found a place to bodge in a jump instruction (somewhere around where it starts drawing the ROM ERROR text), and I found a spot where I could jump to and get the game to bypass that check and boot up.

I burned the hacked roms, put them in the board and this is what I got:


I was very happy to see that the audio and the game itself was running fine, clearly major issues with all of the graphics though, and it's doing a similar thing to that Zero Wing board I fixed last year where the colours are completely different on every boot.
So there's no sprites at all, foreground tiles seem fine (e.g. the big boat that carries you in at the start of the game), and background tiles are mostly fine, minus a little bit of corruption like you can see in the sea.
This is where I'm at with it right now, and to be honest, I'm not sure where to go next! (which is partly why I'm writing all this up)

Judging from the mame source code, the daughter board handles sprites (and maybe the area around roms 6, 7, and 8 on the main board?), whilst roms 9-12 handle background tiles, and 13-16 handle foreground tiles.
I'm sure the palette ram circuitry is also dead, but I don't think mame can tell me exactly which ram chip does what, so that'll involve some more probing/piggybacking.
Although if I had to guess, I think these two 4016 chips are probably the ones, as they're in a similar spot on the board to the palette rams on Zero Wing, and they're the same capacity as well.
These 2 chips were already socketed, and they test fine out of circuit, but there could still be an issue in the logic surrounding them (or wherever the palette circuitry is).
ktiger rams.png

Now, if the game's self test actually worked, that would make all of this a lot easier, as judging by screenshots from that KLOV thread it should give you a good bit of info on what's failing.
The guys in that thread did actually create a fixed self test rom, but I highly doubt it'll work on this board since the memory addresses in the code are different.
Fixing the original code looks to be a real pain (my main issue so far has just been trying to get the dumped assembly code from mame to recompile!), but part of me is tempted to look into this further, as it'd be a great thing to have available as this is such a popular game. Or maybe building a simple diagnostic rom from the ground up would be "easier"?

to be continued... but hopefully I'll have this working soon!
 

Jacmar

Active member
Feedback
1 (100%)
Credits
587CR
Great work and nice write up !
I had some fun with a Twin Cobra repair not too long ago .. Link Here
A bootleg but very much a copy of the original, somewhere in that thread there is also a link to some schematics posted by @Georgian2 which I would have been lost without. Only difference really is the extra logic on the bootleg to account for the original's customs.

The big smoking gun here on yours (in my opinion) is the complete lack of sprites, with mine I had the same issue of the boot hanging just before displaying the ram/rom test results. On mine I tracked it to a missing signal (to the ram IIRC) on the the smaller top PCB which does handle the sprites.
I had a multitude of other issues with the other layers too but none of them hung the boot ...Think somewhere on that thread I highlighted the different areas that handled each layer which may also help you with the other issues you have.

Good luck will be following with interest !!!
 

SquidDude

Newbie
Feedback
2 (100%)
Credits
107CR
I had some fun with a Twin Cobra repair not too long ago .. Link Here
A bootleg but very much a copy of the original, somewhere in that thread there is also a link to some schematics posted by @Georgian2 which I would have been lost without. Only difference really is the extra logic on the bootleg to account for the original's customs.
Those schematics are amazing! I was following your thread as you were working on it, and did see those schematics, but when I started on this I naively assumed they'd would be too different from my board to be useful and I never bothered downloading them 🤣 going to read through that thread again now.

And I think you might be right about the sprites and their ram, as before I got that hacked rom working that boots into the game I made a simpler hack that just turns on the screen immediately at boot, and testing those on my board, it displayed video for about 2 seconds before going black.
I compared that to the same hacked roms running in mame, and about 2 seconds into the game, the first ram test finishes (which starts at address 0x030000), and the second one begins, which starts at 0x040000 (which is when the screen blacked out on mine, didn't black out in mame).
And according to mame, the area from 40000 to 40FFF is indeed the sprite ram!

I did quickly check the ram chips on the daughter board with the logic probe, and all of the big chips seem to be working fine, but a couple of the small 2148's seem to have some signals stuck, I assume all of them will be accessed constantly during gameplay so those are my current main suspects. Might buy a couple and try piggybacking them first before I break out the logic probe again. edit: nevermind, those are expensive!
 
Last edited:

SquidDude

Newbie
Feedback
2 (100%)
Credits
107CR
I've been chasing red herrings on this for the past couple weeks, but I've finally made some progress today.

Started off with the sprite board, I noticed a few fujitsu LS08's on there (the same 08's that Jacmar had an issue with on his bootleg) so I replaced all of them, even if they weren't faulty, as I don't want any fujitsus on my boards if I can help it lol
Luckily there was only 4 on the whole board, so replacing them wasn't too bad.
I also replaced one of the suspicious 2148 RAMs that I noticed before, this one had all 4 of its data lines stuck low, but weirdly enough my replacement chip also had the same issue once placed in the board.

Moved my focus to the palette section at this point, after a lot of logic probing I found 90% of it to be working as expected, my only concern with it now is a couple of LS245's that seems to have their active low CE pins stuck high (more on that later).
Decided to leave them for now and trace the inputs of the palette section deeper: it gets data from the CPU's main address bus, which I assumed was fine since the game itself is running fine under all of the graphical glitches, and a "PXL" bus, which originates from the area marked "prio" in jotego's schematics
1773169338530.png
"colmix" aka the palette and video DAC section marked in red, "prio" marked in green (roughly)

There's a PROM in the top right corner here which seems to control a lot of that area judging by the schematics, and shorting its data output lines totally messes with the palette (you can even selectively mess up the FG, BG and sprite palette depending on what pins you short).
I then noticed that one of its address lines was stuck low. Tracing that signal back took me through a few OR gates, and then, very surprisingly, back to the 2148 on the sprite board with the stuck outputs???
1773169569017.png
Those OBJPXL lines 0-3 go through a couple of flip flops, and then directly into the 2148's data lines.

So now I was thinking that there had to be some addressing problem with the 2148's, since their OE and CE lines were good, and I'd of course just put a known good 2148 in with no change.
The address lines for the 2148's are driven by a few LS157 muxers, and the "select" pin on all of them was stuck (so only 1 of the 2 input buses of the 157 was being used).
2 of the 157's used a signal labeled OEA on the schematic, and 2 used a signal called OEB, both of which are generated by an LS74 flip flop.
A lot of chips on the sprite board seem to use those two signals, and they were both stuck, so I piggybacked the LS74, no change, but probing it showed that it was definitely faulty, as it had the what seemed like the right clock signal coming in (which is the only input it has), but obviously stuck outputs.

So I replaced that today, and finally got some sprites!!
k tiger sprites.jpg
Sadly the palette issues are still definitely present, I was hoping that with the signal to the PROM on the main board restored the palette would be magically fixed too but apparently not.

So that's my next thing to work on, and I have done a little bit on those LS245's with stuck CE line that I mentioned earlier already.
Those CE lines are driven by an LS138 next to the main CPU, the signal just seemed stuck so I replaced it and the original failed testing completely, but sadly the LS245's CE line is still stuck high, so this is a job for next week.
My only other piece of info I have on this palette issue is that the palette is completely different on each boot up, that would point to a faulty RAM chip if you ask me but I know the 2 palette RAMs are fine, so who knows what's causing it.

But still, very happy to have some progress!
 

Jacmar

Active member
Feedback
1 (100%)
Credits
587CR
Good stuff !!

If your palette fault is showing on ALL layers of graphics I'd be looking at the IC's involved AFTER the mixing of all the separate layers. On the bootleg this is on the PRIO page of schematics where the OBJPXL and GFXA, GFXB, GFXC and GFXC signals meet in the bank of 5x LS153's to produce the PXL 0-10 signals ... Moving to the COLMIX page of the schematics, these then go through 3x LS157's creating PALA 0-10 which are the address lines for the 2x Palette Ram. The RAM data lines go into 2x LS245 buffers and a bunch of LS08 and gates before becoming RGB ... Hopefully find your fault in there somewhere !
 

SquidDude

Newbie
Feedback
2 (100%)
Credits
107CR
To cut a long story short, that whole palette ram thing was yet another red herring (just my luck!).
For whatever reason this hardware seems to be able to detect simple attempts to turn the screen on during the self-test (like mine), and that causes the colours to be all screwed up, and the game to hang after 5 minutes.
I only recognised this after taking another look through arcadenut's KLOV Sky Shark thread, where his colour issues went away after swapping back to the original program roms.


So I decided to leave all that and go after whatever was causing the board to fail to boot on the original roms, just in case my hacked up roms were also causing the colours to be messed up (as I didn't know for sure that they were the cause of the colour issues at the time).
I found out a few weeks ago that the error was in the "spriteram16" area (addresses 0x40000 to 0x40FFF), so I first had to find which chips handle that area of memory.
This board was also exhibiting that background graphics corruption, so that pointed me towards the BG portion of the spriteram16 circuitry.

In the schematics, roms 09, 10, 11, and 12 (which are the background tile roms), feed into a few LS299's and an LS157, which I believe to be the bootleg's way of reproducing the T.T.1/GXL-01 custom. Those signals then feed into a "GFXD" bus.
Searching the schematic for that bus, I found another chip that outputs into it on the "object" sheet, which is basically just the schematics of the 4 6264 rams that are right next to the BG and FG roms and their data output circuit.

Now, I went probing around this area for a long while, but couldn't find any obviously faulty lines, so today I ran out of patience with it and just decided to start replacing the ram chips.
I did do a lot of address/data line shorting though, and was pretty sure that the fault was either in the ram chips, or further back in the circuitry that drives their address lines. On this board though they come straight from a T.T.2/GXL-02 custom, and I really didn't want to mess with that unless I was 100% sure that it was faulty.
1774556112888.png
Both of these 6264/3664's share the same address lines so I couldn't really narrow the issue down to one chip specifically, so I just picked one at random and replaced it (E14), no change, but then I tried piggybacking E13 before I replaced it, and the background graphics issues cleared up!
I'd tried piggybacking these chips before but nothing changed, I guess the pins weren't making proper contact.

Either way, I replaced E13, switched the program roms from my hacked ones back to the originals, and the game booted up!!!
vlcsnap-2026-03-26-20h19m23s146.png

The colours are all fine, and it no longer freezes after 5 minutes. I'm still really not sure why that happened with the hacked roms, but it's not a huge issue since they were still extremely helpful for troubleshooting this.
I'll attach them to this post just in case they come in useful for anyone in the future.

The game is now totally playable, but there's still a couple of minor issues, there's some weird flickering pixels on sprites that shouldn't be there, you can see them on top of the heli's skids in the image above.
Looks like a similar issue to the one in this repair log https://jammarcade.net/wardner-repair-log/
The board also has a lot of video interference, but that should be a simple fix, I think I've heard that the big 470uF filter caps tend to go bad on these early toaplan boards.
 

Attachments

  • ktigera skip checks.zip
    29.8 KB · Views: 3
Top