Log in

No account? Create an account
Catching exceptions 
20th-Jan-2010 11:43 pm
I figured I better write something on my blog after a month of inactivity so here goes. There isn't a new version of Makaron and it's not going to be ready soon. I'm not happy with the code as it is now but I don't feel like spending all my free time working on it. This isn't the only hobby I have after all.

That said, I've been doing various Dreamcast and NAOMI related things lately, some of those actually progressed to the final result stage :) Those of you who have NAOMI units with DIMM running in satellite mode know that some games will not work in that configuration. Those hang shortly after boot for some reason. Curiously this does not happen when the game is loaded from a GD-ROM reader. Well guess what, I now know the why this happens.
Here's a random shot made a few days ago, I had to trojan Ikaruga with my own exception handler and this is the very early version of it:

I made a pretty universal patcher to fix said games, though a handful still refuse to cooperate. I will work more on those titles sometime in the future. What you need to do is download the DIMM tools set I prepared and patch game images prior to uploading them to DIMM. There are two files here, the patcher and a separate region unlocker for those who don't want to run Japanese BIOS all the time. Patcher does region unlocking as well by the way, I only made a separate program for games (like SF3A) that work but will Error 02 for no good reason :)
There are no instructions included with the tools, but the usage is pretty simple. Just run those from command line, giving the game image to patch as parameter. Not exactly rocket science, trust me, if you got your DIMM working with the custom PIC this will be a breeze.

If you haven't understood a thing from the text above, this blog entry is not for you. Move along now.

UPDATE: Unforeseen consequences

It seems the patcher has some interesting side-effects :) Unfortunately not all of those are beneficial.
I always wondered how credits input in one game are recognized by another one. I guess it's obvious now, it's also handled by BIOS code and/or SEGA libraries. And that was probably the original function of the code I happily disabled. I really need to solder me some of these button things to get an actual JVS input for testing.
Anyway, all other controls seem to work and for now you can play if you start a GD- or cart-based game first, and raise the credit counter before switching to satellite mode. Rather than disable the whole code path I could just try to prevent it from talking to DIMM, it's a bit more difficult but I already thought about this. Expect another version of patcher in few days.


I made a new patcher, redownload form the link above. It's more complicated and hasn't been extensively tested but should work.
21st-Jan-2010 08:58 pm (UTC)
Ha, and that's the funny thing. The offending code is not in the game but comes from BIOS :) Took me a while to figure that one out.
Long story short is when interrupt from DIMM is serviced the code detects it's working in satellite mode and does different things compared to when GD-ROM is connected. And this is what breaks games. Some do boot every now and then (Ikaruga in 30-40 tries) and will work from that point on, but the patch fixes the DIMM problem permanently. It could be a bit more subtle but for that I'd need to come up with hacked BIOS.
21st-Jan-2010 10:09 pm (UTC) - patch
so well patched that my naomi won't reboot as it used too when changing games.
Im using slightly modifier tmbinc python script and don't need any key chip.
managed to play ikaruga, border down, under defeat, senko no ronde so far.

senko no ronde new, asked for a bigger dimm. mine only has 256megs :p

Thanks a lot Deunan for this great release :D
21st-Jan-2010 11:41 pm (UTC) - Re: patch
Yup, that is the side effect, now you have manually reboot. As I said, anything better than this would require fixing the BIOS code.
I get the same message with Senko no Ronde New - tried adding another 128MB stick and ended up with a conflict and zero memory DIMM :)
As for the PIC chip - you mean you have an empty socket? Because I know you can disable the encryption via the script or the chip but if the chip is not a net-type you end up with Error 33...?
22nd-Jan-2010 12:14 am (UTC) - Re: patch
that side effect is not so much of a big deal . i'll be fine as it is :D

i don't have bigger dimm board, not spares dimm to try.

i keep the socket empty : never had to put anything in it to get it working. Side effect is i need the python script to runs in an infinite loop, so the naomi believe the gateway is always there. Otherwise, 30sec, and it reboots saying no gateway found.

this evening test results are :
Working : ikaruga, border down, under defeat, senko no ronde (& maybe new , would need 512meg dimm), super shangai 2005, karous, trizeal, radirgy & trigger heart exelica
Not working : chaos field, tetris kiwamemichi, psyvariar 2 et shikigami no shiro 2

for the unworking ones, i'm not sure i used the right method to convert the chd, extract the track... i'm waiting for a friend to get them another way.

Still got to check kuru kuru chameleon, la keyboard & puyo puyo fever.

would be happy to know where to get dumps of azumanga daioh puzzle bobble, cleopatra fortune, gg xx accent core, etc.... ;) I bet they will appear one day or another.
22nd-Jan-2010 12:35 am (UTC) - Re: patch
Ah, a constant connection then. I considered that at a time but figured a '628 PIC is cheap :) I wonder if now, with the DIMM communication blocked, do you even need the PIC/connection at all? I'm too lazy to pry the bugger out to check :)

"Shikigami No Shiro II" and "Lupin Sansei - The Shooting" didn't work for me as well and "Psyvariar 2 - The Will To Fabricate" uses different code and can't be patched (yet). I don't have "La Keyboard XYU" so can't test, but "Tetris Kiwamemichi" and "Chaos Field" did work. I've been running EXP C BIOS lately (my box came with JP B).

Don't have and never saw the other games you mention, but I do remember seeing some Japanese site with the GD key to Azumanga published. Not the actual game dump though :P
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
Re: patch - Anonymous - Expand
21st-Jan-2010 10:10 pm (UTC)
Do you do native debugging? Not much publicized, but the nertwork interface is active even when in GDROM mode - vxworks wdb is compiled into the image, and you can access the shell through UDP port 17185 with proper software.

It's a bit of a fiddle to set up, because SH7091 is not natively supported by tornado, but you can edit wtxcore.tcl and architecthuredb and add CPU 107 to make it work.
21st-Jan-2010 11:52 pm (UTC)
AFAIK this interface is only for the DIMM side of things (it has it's own SH4 and firmware FLASH + some RAM). And even if you could affect the motherboard side via the communication channel the BIOS has with the DIMM, it's exactly this what's causing the problem in the first place :P
22nd-Jan-2010 07:23 am (UTC) - coin mech
thanks dknute, your patcher works fine..

i´m using s naomi 2 mb with the latest jap. c bios and a 3.17 dimm with 256mh...after switching the 3 jumpers for the terminal mode of the dimm board, i have a problem....i cant enter coins to get credits. when i unswitch the jumpers and run any game from gd-r or insert a cart in the naomi mb everything works fine....does someone other have this bug?

22nd-Jan-2010 08:04 am (UTC) - Re: coin mech
same issue here, but not always.
not always with previously done netboot games.
seems to be always with games with this new patch applied
Re: coin mech - Anonymous - Expand
Re: coin mech - Anonymous - Expand
Re: coin mech - Anonymous - Expand
Re: coin mech - Anonymous - Expand
11th-Feb-2010 10:05 am (UTC) - terminal chip, where to get these?
hi deunan.
where to get the these Terminal chip? i have a good eprom programer at home, is the code for the terminal chips already dumped? so i can try to write these myself on a pic

11th-Feb-2010 10:11 am (UTC) - Re: terminal chip, where to get these?
With the patcher you might not even need one :) Try it first. If you still get "gateway error" then drop me a mail.
11th-Feb-2010 10:59 am (UTC) - Re: terminal chip, where to get these?
but the patcher works only for 3rd party games (didnt tried these without a terminal chip installed(..all other need the terminal chip to boot, cause without i get a black screen or error msg.
11th-Feb-2010 11:03 am (UTC) - Re: terminal chip, where to get these?
i need your mail adress for this :-)
11th-Feb-2010 04:28 pm (UTC) - Re: terminal chip, where to get these?
chip is useless if you tweak tmbinc python script correctly.
I can load/play nearly 50games without any chip.

12th-Feb-2010 11:09 pm (UTC) - Re: terminal chip, where to get these?
and how can i tweak tmbinc python script correctly?
This page was loaded Aug 26th 2019, 1:15 am GMT.