What's new

Tailsnic Retroworks

Enthusiast
Joined
Jan 8, 2019
Messages
248
Reaction score
86
Location
Spain
Hi again. Anyone have the correct decrypted binary files for SegaSonic? I think I might be using an older version. All the files I have burnt are rev. C for the normal game. Also, if possible, the correct jumper distribution. I used for 2MB files the 27c160 and for 1MB files the 27c800 on dip42 slots
 

Tailsnic Retroworks

Enthusiast
Joined
Jan 8, 2019
Messages
248
Reaction score
86
Location
Spain
Yeah, they are the same. I have rewritten them to anther 27c1024 and still the same bug. I'm going to tell the memory types I have used:

-- 27c020
epr-15785.ic36
epr-c-80.ic9
epr-c-81.ic18

-- 27c160
mpr-15790.ic32
mpr-15792.ic30
mpr-15794.ic28
mpr-15796.ic26

-- 27c800
mpr-15788.ic5
mpr-15789.ic14
mpr-15791.ic31
mpr-15793.ic29
mpr-15795.ic27
mpr-15797.ic25

-- 27c801
mpr-15782.ic24
mpr-15783.ic34
mpr-15784.ic35

-- 27c1024
epr-c-86.ic8
epr-c-87.ic17

Can someone check if they are the correct memory types or if the game really has that bug when doing 1 loop?
 

Tailsnic Retroworks

Enthusiast
Joined
Jan 8, 2019
Messages
248
Reaction score
86
Location
Spain
I have tried to simulate the bug in MAME and it doesn't show up, the game works good after 1 loop. Could they be the hacked program roms of the game? Do someone have tried to make 2 loops of the game with those memories?
 

Asure

Professional
Joined
Jul 24, 2015
Messages
417
Reaction score
421
Location
Netherlands
How did you simulate in MAME?
You'll need to disable the security emulation responses and recompile.

If you put the patched roms into the zip, and skip the crc error, this still runs on "a board with working security responses" in emulation.
(So when there's an uncatched security check, this still gets a valid response and you won't see it turn up.)
 

Tailsnic Retroworks

Enthusiast
Joined
Jan 8, 2019
Messages
248
Reaction score
86
Location
Spain
How did you simulate in MAME?
You'll need to disable the security emulation responses and recompile.

If you put the patched roms into the zip, and skip the crc error, this still runs on "a board with working security responses" in emulation.
(So when there's an uncatched security check, this still gets a valid response and you won't see it turn up.)
I mean. The game in MAME using the emulation of the encryption doesn't have the bug, so the problem is maybe the hacked roms. Do you have the game or can you test what I'm saying with a board? I'm going crazy with this issue, xD.

Anyone who has a SegaSonic conversion can confirm the bug I am having with 2 converted boards?
 

Asure

Professional
Joined
Jul 24, 2015
Messages
417
Reaction score
421
Location
Netherlands
I mean. The game in MAME using the emulation of the encryption doesn't have the bug, so the problem is maybe the hacked roms. Do you have the game or can you test what I'm saying with a board? I'm going crazy with this issue, xD.

Anyone who has a SegaSonic conversion can confirm the bug I am having with 2 converted boards?
I don't have this game, but i created patches for other System32 games so i know how the protection works.
Mame doesn't "patch" the protection, it emulates the protection instead. So when the game loops and it checks the protection, it's OK.
I'm now assuming the game does a check when it goes to the second loop.

I do not have the game, and did not do the patches for this one. Looking into mame source, they have fully emulated the protection at this point instead of catching the reads/writes.
In older source there was protection hacks in place to catch the reads/writes but i can't seem to find which one. (they now emulate an additional nec V25 cpu.)
The older source is here: https://github.com/mamedev/mame/blo...fc4f169a25e8d539/src/mame/machine/segas32.cpp
I can see a calculation protection for the number of levels cleared and such, i guess this is not patched in your rom properly or something.
 

stj

Grand Master
Joined
May 4, 2017
Messages
1,721
Reaction score
874
Location
England
that will do it!
if (m_system32_workram[CLEARED_LEVELS / 2] == 0)
{
level = 0x0007;
}
else

so if cleared levels divided by 2 =0 then change it to 7
1 cleared level divided by 2 and rounded to a decimal is 0
 

Tailsnic Retroworks

Enthusiast
Joined
Jan 8, 2019
Messages
248
Reaction score
86
Location
Spain
that will do it!


so if cleared levels divided by 2 =0 then change it to 7
1 cleared level divided by 2 and rounded to a decimal is 0
Wow, I don't understand so much, but I must thank you for the time you have spent. So, what do you recommend to do for the board to work properly? I don't know how to patch the binary files. It's impossible to contact to Apocalypse because his account appears to be unavailable.
 
Top