- Group:
- Tech Member: Tech Members
- Active Posts:
- 129 (0.07 per day)
- Most Active In:
- Technical Discussion (29 posts)
- Joined:
- 02-November 10
- Profile Views:
- 1846
- Last Active:
Private- Currently:
- Offline
My Information
- Age:
- 32 years old
- Birthday:
- October 3, 1982
- Gender:
-
Male
- Location:
- USA
Contact Information
- E-mail:
- Private
- Website:
-
http://
Previous Fields
- Project:
- a disassembly, some small Sega CD projects
- National Flag:
- us
Posts I've Made
-
In Topic: Steps of a Disassembly
03 August 2012 - 08:54 AM
Elektro-Omega, on 03 August 2012 - 08:08 AM, said:@Bgvanbur - to comment all of the lines of the disassembly are you fluent in assembly language so you just kind of know what is happening at each step?
To do a disassembly you need to know lots of things very well, including the assembly language and the (Genesis) hardware. -
In Topic: Steps of a Disassembly
02 August 2012 - 03:58 PM
Well I disassemble the entire binary into 68k assembly (using 68kd). I then convert all the disassembly into comments of the instructions and dc.w commands. This way I can assemble all the dc.w commands and ensure the "disassembly" assembles back into the original binary. I then go to the starting point and start uncommenting code as I figure out the code paths and data locations. After I get a good chunk of instructions uncommented, I start trying to figure out the intent and start replacing generic labels with descriptive names and adding comments about the code's intent. Since the rest of the disassembly is in the dc.w format, I can easily assemble the partial disassembly and verify I didn't break anything (and if I did figure out what small recent change broke it).
Sometimes, I have to make additional tools (PERL scripts) that can analyse something or perhaps implement a decompression routine to emulate a custom 68k decompression routine.
Actually, my main hobby right now is disassembling a certain game. It is a great puzzle with tons of tiny pieces. Eventually, I want to port this game to Sega CD and enhance the game. -
In Topic: Sonic Hacking Contest 2012
14 July 2012 - 04:02 PM
Submitted the demo of my game. Only a year later than I expected to release the demo since I got distracted with other homebrews, hacks, and research. -
In Topic: SCDTools
13 July 2012 - 01:00 PM
You need to update to the latest scdmake for $isoMatch to work with a file with a .isoinfo suffix. Sorry that I forgot to mention that.
IP is the initial program (used by the MAIN-CPU on the Genesis) and the SP is the system program (used by the SUB-CPU on the Sega CD). These are different for every game. To extract these for different CDs, you can now use the new scdextractipsp tool I just added to SCDTools!
Sample usage:
> scdextractipsp Z80ACCESS.ISO Making IP.BIN from ISO offset $00000784 with size $0000087C Making SP.BIN from ISO offset $00001000 with size $00000800
-
In Topic: SCDTools
12 July 2012 - 09:27 PM
In the SCDMAKE.CF you can add "$ipassemble = 0;" and "$spassemble = 0;" to have scdmake not assemble the IP and SP. When you do this, you need to make sure your IP.BIN and SP.BIN are updated appropriately.
You mentioned in a PM that you wanted to use scdmake for Sonic CD. Here are the things needed to append to the SCDMAKE.CFG to be able to rebuild the Sonic CD.
$ipassemble = 0; $spassemble = 0; # soniccd.isoinfo is the output of "isoinfo -l -I soniccd.iso" $isoMatch = 'soniccd.isoinfo'; $isoMatchFileExtent = 0x17; # SEGA CD DEV manual says fill unused file bytes with 0xFF # but the Sega developed Sonic CD uses 0x00... $fillUnusedFileWithZero = 1;
Here is the copy of the IP.BIN, SP.BIN, soniccd.isoinfo, and SCDMAKE.CFG I used to quickly rebuild Sonic CD. You also need to copy all of the files from the Sonic CD to the same directory. It will make an iso where the only differences are "useless" fields (such as file dates).
https://dl.dropbox.c...ONICCDSTUFF.ZIP
Note: Sonic CD requires some files to be in a specific file locations in the ISO which is why we need the $isoMatch support.

Find My Content
Private
Male