Toki / Juju Densetsu (Bootleg)

Jacmar

Active member
Feedback
1 (100%)
Credits
634CR
This journey started (briefly) back in November 2024 when I picked this up from ebay for around £20 ...
It was the first ever pcb I bought with possible repair in mind, the thinking being even if I couldn't fix it, it has around 30 eproms, I could always re-use on other stuff .....

IMG_5176.JPG

It was listed on ebay as an 'untested' Snow Bros ... and being new to all this at the time, I didn't realise until a while later it wasn't a Snow Bros, it was actually a Toki .... or the Japanese rom version in this case - Juju Densetsu ... The main reason I didn't know it wasn't Snow Bros was because when I received it and powered it up with my supergun all I got was this ...

IMG_6419.jpeg

Didn't have much of a clue what that was all about and where to even start, so it got put away for a few months I think, until I needed a some eproms for something else and thought I'd use some off this board ... by then I had gathered a few pieces of test equipment, one being a programmer, so before I wiped the eproms I thought I'd read one, and got surprised when it identified as Juju Densetsu :) Had never heard of it !! So did a bit of research and realised what had happened and it felt like I had acquired a new game ! So I powered it up again and got the same as the picture above (which I'd learnt in the meantime was just bad sync) but also after about 60 seconds or so, music and sound effects kicked in so I knew the game was running ! Therefore the plan to use this board for spare parts was abandoned and I put the board back away until I had another way of viewing it .... which wasn't until last summer when I picked up a cheap Jamma cabinet with CRT which had no trouble handling this boards dodgy sync .... (excuse the screen glare/reflection and I hadn't properly dialed in the pic on the monitor yet)

fl1.jpg

For the most part it appeared to be working ok, then I noticed that some tiles weren't quite right, not just on those screens but throughout gameplay too. But my issue was I didn't have a way to work on this board at home (my cab is currently at my mates warehouse until I have room at home) because it just won't sync with my supergun and 1084 Monitor. So it went back into the 'I'll come back to this later' pile and got on with other stuff ... for around 7 months until February this year.
Had seen/read a few Toki bootleg fixes in the meantime and they had sync issues too, but a small increase in value to one of the crystals had improved the sync signal so I dug this board out and found a 18Mhz crystal near the CPU which when divided by 2 gave a 9Mhz clock to the 68000 ... I thought this game board was meant to run at 10MHz so I swapped the 18Mhz crystal for a 20MHz and hoped this would not only boost the cpu clock to 10Mhz but also increase the woefully low 14KHz sync signal enough for my 1084 to be happy with. It worked for the CPU clock but unfortunately not quite enough for the sync and my monitor ... close but no cigar ...

fl1.1.jpg

Tried a 21Mhz crystal in case it need a little bit more, but that made it worse ... tried a jamma adaptor with sync cleaner too but that didn't work either .. so I've succumbed to using a scart - hdmi video converter with a LCD tv .... the picture sucks but at least I can see it to work on it. it works really well actually for bootleg boards with shit sync signals.

fl1.2.jpg

Text layer and BG / FG tiles layers seem to be fine, this graphical error looks to be confined to the sprites. It's quite hard to show with photo's but some sprite tiles are showing the wrong palette ... it's always the same tiles, but they're not always wrong. they flash in and out of being correct palette and wrong. so as tiles move around on the screen the palette changes .. sometimes they change when they're not moving though. and some tiles are ALWAYS perfect and some are ALWAYS wrong and some are ALWAYS switching :)
So sprites are generated by the smaller top board of this 2 board set ... and unlike the main board where the ROMs are all socketed, here they are directly soldered. As are the RAM chips.

fl1.3.jpg

There was a couple of bodge wires on the underside which despite being a bit messy (I tidied them up) are actually factory and needed for this board to function properly so if you have one of these you need these wires !!
I figured the fault was due to bad sprite attribute data so found the RAM responsible (the 2x 6116 chips at the bottom corner of the board) and dug around looking for anything missing or sketchy on the scope .... thought I'd found the problem, D6 from one of the sprite attribute ram, going into a LS373 latch, the input looked clean but the output weak .. Bridging the clean LS373 input with the weak LS373 output I got stuck bad palette on all those effected sprite tiles. Swapped it out but no change. I now know that weak signal, despite not looking great, is normal here. I did then spend a while chasing this signal (D6) and D7 from the same sprite ram around, as it does seem one of these does carry sprite palette data ... but nothing obvious stood out. Did find a LS157 with outputs to the sprite ram, which failed the slice test so I changed it out and the new chip doesn't fail. But alas no change to the graphics fault.
( I'm usually wary of those small number fails on slice tests but with a minor graphics error like this, it was worth a shot)

fl1.4.jpg

Found another couple of TTL's which aroused similar levels of suspicion which were also replaced to no avail. And at this point it was boiling down to removing the RAM and the ROM ...
I've been suspicious of a dodgy ROM all along because the errors are confined to certain sprites, and in my mind, if it was failing ram the errors would be more random. Whereas these sprite tile errors are the same, every single time, same tiles, same time ...

As I tend to do, if I'm not feeling a certain part of a repair I won't do it and will switch to working on something else I'm more in the mood for. Not ideal in a memory/continuity way, but just the way it is. And I wasn't feeling doing a bunch of de-soldering, so I didn't :) I parked it for the time being. Which turned out to be a good move I think, because then, another one of these exact boards popped up for sale so I grabbed it. Always helps having another (preferably working) board to help diagnose a boards problems ..This one is clearly a non worker though .. but it has socketed ROMs and RAM on the sprite board !!!

fl2.0.jpg

It was filthy as they usually are, main board missing a CPU, sprite board missing RAM. Interestingly has had a replacement crystal fitted - 20MHz!!
But with the board set I've got being almost 100% apart from the minor sprite tile palette issue, I think I can use this set to fix that set, and vice versa!
I popped in a CPU and RAM (on the sprite board) just to see if what state this new set was in and it just booted to garbage on the screen. OK so issues on the main pcb for sure. I'll come back to that ... So then I plugged this new sprite board into my good main board ... let's see what the sprite board is doing .....

fl2.1.jpg

OK, so just one corrupted sprite tile on screen. First thing I noticed was this new sprite board did not have the same bodge wires on the back, it only had one of them .... so I made it match the other one ... (except I made a small mistake here)

fl2.2.jpg

That 2nd wire I added , the vertical one, is vital. (I messed up the smaller diagonal one, hence the tiny wire next to it I added later when I fixed my mistake).
And this made no difference to the problem, but again looking at the signals in and out of the sprite attribute ram I quickly found an LS245 @ U45 with all its pins floating, obviously knackered I swapped that out and got some improvement .... (more to come)
 

Jacmar

Active member
Feedback
1 (100%)
Credits
634CR
So replacing the 245 got some more sprites on screen ... but still not great ...

fl2.3.jpg

Next up I found a dodgy looking signal coming out of a LS00 @ U5 .. Looked like a good signal being pulled to ground, and it was. This led me to my earlier mistake ... when I re-did the small wire on the back of the pcb which connects one of the line buffer ram chip enable pin to ground, I accidentally connected it to the wrong via (trying to be clever rather than just connecting it to the pin) also grounding the output enable pin - doh. Had to redo it with a small wire and cut a trace ...

fl2.4.jpg

So with that fixed (see above) and that good signal restored (went to a number of other IC's too) I got another improvement ...

fl2.5.jpg

Line buffer problems seem to be fixed now as getting solid sprite tiles, but wrong, missing or repeated tiles which usually (to me) points to an addressing issue so I switched to looking at the sprite roms and found a bad signal on address line A7 of said roms ..... signal was coming from a LS373 latch @ U33
Couldn't get a decent photo of the signal (below best I could get) but it was jittering around between 4v and 5v and did not look right ... so swapped out the LS373 ..

fl2.6.jpg

And with a new LS373 in here I got a big improvement ... lots of good sprites, but not perfect. Some tiles perfect, some wrong, some would be good then bad ... here's an example ... the monkey (and the enemies) display perfectly while he's standing on the ledge, but a second later when he jumps they go all messed up ....

fl2.7.jpg

And I started getting the same vibes I was getting form the original sprite board, so I started to wonder about the ROMs ... which I wasn't sure about from the beginning on this board anyway .. these 8 roms, being socketed (unlike the other board) I dumped before I started working on this and all 8 did not match anything in the MAME database. Which I thought odd ... but ok, their 'uv windows' were not covered so maybe they've all got some corrupt data.
The ROMs on the main board all identified with the 'Playmark Bootleg' - except for 2 of the main cpu roms which are 3 bytes different - exactly the same as the other board !! So I burned the 8 sprite roms from the Playmark bootleg set and put them in this board before trying to fix anything ....
But I wondered now about the original roms so I put them in and weirdly it was better, not perfect but better ... which made no sense because when I verified these roms against the MAME roms - to see if they were just a few bits different - they were no where near a match, like 100,000 differences !!!

Here I'll cut a very long story short. This board/version does not have an official dump (as far as I can find) ... there are 2 main cpu roms which are 3 bytes different to the 'playmark bootleg' and all the other main board roms match this set exactly ... but the sprite roms do NOT match this set, these sprite roms are made up of combined roms from the 'toki modular system' set .. that board has 16x 27C512 EPROM's ... This board has 8x 27C010 EPROMS ...

I realised this when I noticed one half of one of the original roms with this board matched half of one of the playmark roms, but the other half didn't. So I split all 8 original 128kb roms into two 64Kb halves and got matches online to the 'modular system' rom set. Both 64Kb files from Rom 2 however did not match anything ... so maybe this was the problem ... so I worked out which files from the 'modular set' were on my 7 matching roms, so I could work out which 2 were missing and I could concatenate and burn to a new Rom2 ... which I did and now have a perfect working board !!! Hurrah !!!!

fl2.8.jpg

So I now have one working board set ... I will put a picture up showing the sprite roms for this version and the relevant files needed. If anyone just wants the roms and not have to do the combinations just message me ...
So now I've got the original sprite board to fix, which should be easier now I've got this fully working one ... but I suspect it's just a failing ROM as that original symptom is very similar to the bad rom on this now working one, I'll just need to be in the mood to de-solder roms, but I can hopefully narrow down the suspect by removing these working socketed ones to see which tiles each one effects ... And then there is the new main board to fix which currently just gives garbage on the screen .... tbc !
 
Last edited:

Martinmurphy30

User
vacBacker
Feedback
4 (100%)
Credits
391CR
Brilliant detective work! I have one of these stashed away with the same sprite issues and never had any success with the available ROM sets, please can I have the files required to finally fix it?
 

Jacmar

Active member
Feedback
1 (100%)
Credits
634CR
I know the feeling.
Desoldering a bunch of roms/rams (or their sockets) is a major drag.
100% mate ! One or two isn't so bad, but eight .... mmmm. Especially when you know it's only ONE that's (probably) at fault, and it's still not 100% guaranteed even a ROM fault.:rolleyes: (Although I'm fairly sure it is). These ROMs don't seem to hold full sprite tiles either but bitplanes for various sprites, so harder to track down the bad one. Maybe I'll try piggybacking see if that gives me any clues, never done that with ROMs though, not sure it can help ?
 

Jacmar

Active member
Feedback
1 (100%)
Credits
634CR
fl2.91.jpg

OK picture above show the front and back of the now fully working sprite board.
Back - shows close up of repair wires it seems this board needs to function correctly, there will obviously be other ways of doing this to restore those connections but these are good enough.
Front - shows correctly labelled ROM's (the bad one on this board was M32) and the 64Kb files from the 'toki modular system' rom set that are combined to make up the Lower Half and Upper Half of each of these 128Kb ROMs (for anyone interested) ... Link to download for THIS BOARDS set of SPRITE ROMS (M26-M33) is here ...
 
Last edited:

Jacmar

Active member
Feedback
1 (100%)
Credits
634CR
OK so back to the original sprite board, tried piggy backing the new working ROMs but as expected nothing to really learn there. Same with bridging pins, nothing that looks linked to the specific palette issue ... and then I think this issue isn't really the same as the previous one ... this issue is specifically palette only.

The sprite board I just fixed with a bad rom (and a few bad TTL), did have specific tiles affected but they were corrupted more than just palette .. This issue is strictly just wrong palette on some tiles, sometimes ... and thinking about it that can't be a ROM issue because my thinking is ROMs contain tile graphics (fixed pixel data) and don't directly contain the information 'this tile uses palette X' ... that information is written into sprite attribute RAM by the cpu.

So if it was a ROM issue, the tiles would always have the wrong palette, everywhere it appeared, every time it appears. But this isn't the case here, this is a sometimes the wrong palette, depending on time and screen position. The tile flits between perfect and 'wrong palette'. So the correct data DOES exist (because I see it sometimes) but the wrong byte is being read.

So I go back to suspecting RAM !! Specifically the 2x 6116 Sprite Attribute Ram which I've probed before, and do again. And all signals look fine... So I piggy back them again, which I know I did back when I first chased this fault down but didn't see any difference. THIS time however I do notice a difference, and I nearly missed it because for a number of tiles it made no difference but for a few it absolutely did ! Best I can show it is in the following pictures ...

fl3.0.jpg

On the left is what normally happens, those tiles pointed at in red, flash/switch between the correct and the wrong palette as the animation runs, so do other tiles that make up that weird witch looking figure ... but with one of the RAM piggy backed I got the result on the right .. where the whole figure was (almost always) correct tiles throughout the whole animation ...

fl3.1.jpg

Here you can see it again on the 16 Weight sprit on the see saw ... wrong palette on the left, correct on the right (when ram piggy backed) ... you also see the see saw tile is wrong (red) for both situations ... so it wasn't fixing everything but then piggy backing rarely does, as the 2 chips can fight against each other, but you're not really looking for a fix, just looking for some signs of positive change can be enough ... so out came the RAM that seemed to be reacting to the piggy backing ...

fl3.2.jpg

And got a massive improvement, at first I thought everything was perfect .... :love:

fl3.3.jpg

But then I noticed a few tiles were not quite right :( the palette issue was totally fixed but now some tiles were glitchy ... hard to catch on a picture but you can just about see it here ... so I thought there's a good chance the other RAM is on it's way out too so lets swap that out as well ...

fl3.4.jpg

But that didn't solve it :( ... in fact it went a litle bit worse ... how could that be ... unless it doesn't like the ram I put in, so I've experimented with different ram in these sockets and the best result is with 2x new TMM2018-35 chips ... with this ram in, the sprites are 99.9% correct.

fl3.5.jpg

Just a few rogue lines/artifacts and pixels around the edges of some sprites here and there, I'm sure a lot of people wouldn't notice but I do. It's bugging me. The RAM I put in first is the same as I put in the other (working perfectly) sprite board - 25ns Ram ... and it yet this doesn't like thta 25ns Ram and is actually working better with this 35ns Ram. That feels backwards to me .... but I'm thinking this board “prefers worse RAM” because it actually needs slightly delayed data to match its timing — the 35ns chip is accidentally compensating for a marginal timing issue in the sprite circuitry ... maybe a tired mux or latch connected to the ram is what's causing the glitches.

And I think it's one of the IC's connected to the first RAM removed, because it's when I swap that Ram around I get different levels of glitches, the second Ram I removed, it doesn't seem to matter what goes in there, nothing changes!

So my main suspect is the LS373 next to it that one ram that laches the Ram data ... Interestingly on the perfectly working sprite board, both these Ram chips AND their LS373 latches have been socketed, so maybe these are susceptible to failing ... but I've run out of time today so I'll pick this up next time I get chance ..... Hopefully replacing the 373 will clear up these last remaining small glitches. But all in all, more good progress made today (y)
 
Top