Posted 26 October 2009 - 01:40 AM
- Adopt
-
-
Posts:
5093
-
Joined:
11-January 03
-
Gender:Not Telling
-
Location:CA US
-
Wiki edits:4

00
:O
So I guess this is on of the Sega Channel "test drive" games? Very interesting.
Posted 26 October 2009 - 07:52 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
I'm a bit late, but to get a dump with CE, open the memory view, go to File -> Save Memory Region (Ctrl+S), enter the Start (usually 00400000) and End addresses, click the Add button, check "Don't include Cheat Engine header in file", click Save, give it a .bin extension.
Posted 26 October 2009 - 09:10 AM
- Everything is going to the beat.
-
-
Posts:
459
-
Joined:
03-November 08
-
Gender:Male
-
Location:Yesterday.

00
QUOTE (GerbilSoft @ Oct 26 2009, 05:31 AM)

Here it is:
http://www.soniccenter.org/gerbilsoft/shinobi_smashpack.zipCRC32 is FA1B8AEB. (Doesn't seem to match any ROMs in GoodGen.)
For the record, the actual method I used to dump the ROM was loading Smash Pack in Wine with the GDB debugger. Once the ROM was loaded, I paused GDB with Ctrl-C and entered this command:
CODE
(gdb) dump binary memory dump.raw 0x00400000 0x01000000
This dumped all memory segments starting at 0x00400000 and ending at 0x01000000, totalling 12 MB. I then searched for the standard MD ROM header, and I found it. Extracting the ROM was relatively easy with a hex editor.
EDIT: The addresses I chose were partially guesswork. Windows binaries start at 0x00400000, and I picked 0x01000000 as the ending address because it seemed like a reasonable upper bound.
Thanks man! Tis' good to play this under a more superior emulator for once.
I'm sorely tempted to try decoding the other roms this way myself, except I'm a Windows user, so can't use Wine. =P Do you know of another memory dumping tool I might be able to use?
Posted 26 October 2009 - 09:13 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
QUOTE (MarzSyndrome @ Oct 26 2009, 09:10 AM)

I'm sorely tempted to try decoding the other roms this way myself, except I'm a Windows user, so can't use Wine. =P Do you know of another memory dumping tool I might be able to use?
Try my post directly above you.
Find Cheat Engine at
http://www.cheatengine.org
This post has been edited by MainMemory: 26 October 2009 - 09:17 AM
Posted 26 October 2009 - 10:34 AM
- Everything is going to the beat.
-
-
Posts:
459
-
Joined:
03-November 08
-
Gender:Male
-
Location:Yesterday.

00
Well, following your suggestion, MainMemory, I appear to come across an obstacle (I'm testing it out with Shinobi again to see if I can get an identical dump with it). CE's memory dumper appears to be restricted as to what memory range it can dump atm. I was hoping to use the range Gerbilsoft chose with his dumping technique, but I get told "Not all the memory was readable in 00400000-01000000". Indeed, it'll dump memory up to 00599999, but not 00600000. And out of the memory I was able to dump, I couldn't find the rom header inside it.
Playing the game for a while doesn't make a difference, it seems.
Posted 26 October 2009 - 10:37 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
That probably means that there's nothing assigned to those addresses. The RAM doesn't exist in that area. If you scroll to it in the memory view, you should see a bunch of ??s, scroll until you find actual data, then start from there.
Gerbil, mind telling us where in memory you found the ROM?
This post has been edited by MainMemory: 26 October 2009 - 10:38 AM
Posted 26 October 2009 - 10:43 AM
-
Posts:
9289
-
Joined:
11-January 03
-
Gender:Male
-
Location:Spain
-
Wiki edits:18

04
An officially released beta version? Great find!
This needs to be dissected to pieces.
This post has been edited by ICEknight: 26 October 2009 - 10:44 AM
Posted 26 October 2009 - 10:46 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
Okay, I installed Smash Pack and found the ROM at 02360000, right after a bunch of invalid addresses (??). How do I know where it ends?
Okay, there were $20 extra bytes at the beginning, but otherwise I got the same ROM cutting it off at the chunk of FFs that switches to 00s.
This post has been edited by MainMemory: 26 October 2009 - 11:02 AM
Posted 26 October 2009 - 11:16 AM
- Everything is going to the beat.
-
-
Posts:
459
-
Joined:
03-November 08
-
Gender:Male
-
Location:Yesterday.

00
Are you doing the same thing as me - loading Smash Pack, loading up Shinobi, Alt+Tabbing out when the Sega logo appears, then attaching CE to the process and reading its memory? I don't think I got as far as 02000000.
Posted 26 October 2009 - 11:25 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
I opened Smash Pack, ran Cheat Engine, attached to Smash Pack, started Shinobi, did a Text search for "SHINOBI", found 3 results, right-clicked the second, selected "Browse this memory region".
Posted 26 October 2009 - 11:47 AM
- RickRotate'd.
-
-
Posts:
2223
-
Joined:
11-January 03
-
Gender:Male
-
Location:USA
-
Project:Gens/GS
-
Wiki edits:158

9001
I found the Shinobi ROM at around 0x5F0000 in the memory dump. Adding 0x400000 to that results in 0x9F0000.
Also, I believe GDB is available for MinGW, so consider installing MinGW/MSYS and the latest GDB. Real debuggers work a lot better than things like Cheat Engine. :P
Posted 26 October 2009 - 11:56 AM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
Why exactly is Cheat Engine not a debugger?
Posted 26 October 2009 - 12:04 PM
- RickRotate'd.
-
-
Posts:
2223
-
Joined:
11-January 03
-
Gender:Male
-
Location:USA
-
Project:Gens/GS
-
Wiki edits:158

9001
QUOTE (MainMemory @ Oct 26 2009, 12:56 PM)

Why exactly is Cheat Engine not a debugger?
Actually, now that I looked at the webpage, it seems to have some debugger functionality. But I still don't like it as much as gdb. It just seems more "amateurish" to me, partly because it's written in Delphi.
Posted 26 October 2009 - 12:12 PM
- Every day's the same old thing... Same place, different day...
-
-
Posts:
3369
-
Joined:
14-August 09
-
Gender:Not Telling
-
Project:SonLVL
-
Wiki edits:1,339

02
Well then, I guess I'm
an amateur.
Posted 26 October 2009 - 12:14 PM
- RickRotate'd.
-
-
Posts:
2223
-
Joined:
11-January 03
-
Gender:Male
-
Location:USA
-
Project:Gens/GS
-
Wiki edits:158

9001
QUOTE (MainMemory @ Oct 26 2009, 01:12 PM)

Well then, I guess I'm
an amateur.
=P
In particular, I dislike hardcoding addresses for modern executables, since they can (and usually do) change with every recompile. Though for Sega's PC and console games, this usually isn't a problem, since they never release patches to fix game-breaking bugs anyway. (See Sonic'06.)