PSII remake delayed · Mega Drive original to be included

Recent happenings of pertinence to Sonic fans.
User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

Sonic CD had better art direction, too, IMO.
I'll agree with that. I honestly think that was Ohshima's influence, and he was the one key Sonic creator who wasn't involved with S3&K. Not that S3&K wasn't fucking gorgeous, or isn't even now.
They don't even have the coding for Sonic 2 anymore, just the ROM.
Really? Where'd you hear that?

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

G.Silver wrote:All that video shows is that some guy who worked on the menu system thought Sonic CD might be included.
I'm sure he/she had a list of games that might be included. I doubt he/she made the menu based on complete guesses.

User avatar
Dark Crow
Posts: 220
Joined: Wed Feb 02, 2005 1:28 am

Post by Dark Crow »

Yeah, I meant to say "Possible".

Spazz, considering the fact that they supposedly did have a half-decent Sega CD emulator in production (that was presumably having sound problems), then they really should have considered finishing it. Virtually every Sonic fan is howling for CD, and Sega should have really knuckled down and finished it.

Everyone else, you are right. Sonic CD does indeed have wicked visuals, an incredible (Japanese) CD soundtrack, and cool anime intro. I just believe the level designs could have been improved upon. Going off the main route to look for little alcoves in the level yealding to the occasion power-up box does not particually lend to coherent level design. Of course, it's purely my opinion.
Last edited by Dark Crow on Wed Feb 02, 2005 3:49 pm, edited 1 time in total.

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Green Gibbon wrote:
They don't even have the coding for Sonic 2 anymore, just the ROM.
Really? Where'd you hear that?
I don't know where that information originally came from, but I remember showing some people <a href="http://ghzforum.nathantsui.com/viewtopi ... ig_smile's post</a> about SMC+ including a special Sonic 1 version of Sonic 2, and they all said that's impossible for that reason. It turns out it was just a misconception in the commercial. Besides, I'm sure if they did still have it, we'd <i>probably</i> have a few more questions answered through various interviews with developers.

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Dark Crow wrote:considering the fact that they supposedly did have a half-decent Sega CD emulator in production (that was presumably having sound problems), then they really should have considered finishing it. Virtually every Sonic fan is howling for CD, and Sega should have really knuckled down and finished it.
Yeah, I agree there. I thought you had originally meant that they didn't even bother to try to make decent emulator that worked right. They were putting in a consistant effort, but as mentioned before, they didn't have enough time to work out the bugs.

User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

How do you LOSE game code?!

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Most likely, they didn't keep the computers they were stored on OR felt they didn't need it anymore OR they just didn't bother to archive it/them. Least likely, deletion, erasure, stolen (highly doubt), typical stuff, etc...

User avatar
Psxphile
Posts: 317
Joined: Tue May 25, 2004 11:35 pm
Location: California

Post by Psxphile »

I remember reading something similar quite a while back. An interview with, I believe, one of the guys working on the first SMC mentioning that they couldn't include alot of extras (as they did with Sonic Jam) because a sizable amount of items were "lost" some time ago (possibly in a move to bigger offices?). I seem to remember game code among the items "lost", but it wasn't specific.

Right now I can't be sure I'm describing the interview accurately.

User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

But... but... but that's like someone at the Louvre saying they just lost the original Mona Lisa, so when they show it they have to use reproductions.

I would have figured game companies would store and archive the code to every game in their repertoire, especially their most valuable fucking licenses. You can't just be like, "Oops, lost it"! Jesus, am I the only one who's shocked?

User avatar
chriscaffee
Posts: 2021
Joined: Wed Jun 23, 2004 12:43 am

Post by chriscaffee »

I'm shocked that you compared Sonic 2 to the Mona Lisa.

User avatar
Frieza2000
Posts: 1338
Joined: Sun Jan 23, 2005 9:09 am
Now Playing: the fool
Location: confirmed. Sending supplies.

Post by Frieza2000 »

With all the changes Sonic Team has undergone over the last decade, I guess I could believe it.

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Green Gibbon! wrote: You can't just be like, "Oops, lost it"! Jesus, am I the only one who's shocked?
I was about as shocked as you when I heard it, but shit happens. I'm pretty dissapointed that all that hard <i>quality, good</i> work was lost.

User avatar
Dark Crow
Posts: 220
Joined: Wed Feb 02, 2005 1:28 am

Post by Dark Crow »

A testimony to show how unorganized Sega really is as a company. How many major restructures of the development teams have occured in the last 5-6 years? Wasn't like two or three?

User avatar
big_smile
Drano Master
Posts: 1176
Joined: Sat May 22, 2004 3:27 am
Location: UK

Post by big_smile »

Spazz wrote:
Green Gibbon wrote:
They don't even have the coding for Sonic 2 anymore, just the ROM.
Really? Where'd you hear that?
I don't know where that information originally came from, but I remember showing some people <a href="http://ghzforum.nathantsui.com/viewtopi ... ig_smile's post</a> about SMC+ including a special Sonic 1 version of Sonic 2, and they all said that's impossible for that reason. It turns out it was just a misconception in the commercial. Besides, I'm sure if they did still have it, we'd <i>probably</i> have a few more questions answered through various interviews with developers.
The "SMC+ will feature a special Sonic 1 version of Sonic 2!" caption that I made was just a joke about the ad mislabelling Sonic 1 as its sequel.
An interview with, I believe, one of the guys working on the first SMC mentioning that they couldn't include alot of extras (as they did with Sonic Jam) because a sizable amount of items were "lost" some time ago (possibly in a move to bigger offices?). I seem to remember game code among the items "lost", but it wasn't specific.
Naka also mentioned in an interview with Game spot that they "had to dig to find [extras] materials [for SMC] because Sega's not that good about keeping history."

^_^

User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

But GAME CODE?! How can you just... I mean, it's like... NO! Just, no, no, no! Bad Sega!

User avatar
Dark Crow
Posts: 220
Joined: Wed Feb 02, 2005 1:28 am

Post by Dark Crow »

Even if Sega did lose the source code for the original Sonic games, it still wouldn't be the tip of the iceberg occording to the list of bad decisions they’ve made from 1994 - 1999.

User avatar
chriscaffee
Posts: 2021
Joined: Wed Jun 23, 2004 12:43 am

Post by chriscaffee »

Despite the fact that they only sold like three, the Dreamcast was still the best God damned system ever. And that's just because it had VOOT.

User avatar
Zeta
Posts: 4444
Joined: Wed May 26, 2004 11:06 am
Contact:

Post by Zeta »

I'm shocked that you compared Sonic 2 to the Mona Lisa.
I know! Sonic 2 kicks the Mona Lisa's ass!

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Code <i>can</i> be recovered:
Nemesis wrote:I am indeed working on a S2 disassembly. What makes this disassembly so different from just chucking the rom through IRApc? Well, the more informed here will know the fundamental problem with disassembling a rom like S2 for the genesis. That is that no disassembler can ever tell the difference between code and data. If you disassemble the rom wholesale, it treats everything as code, and you end up with 14MB or so of "code", only about 10% of which is real.

Ok, so why don't you just trace through the program from the start, and follow every possible path that the code might go? Well, one thing always screws that idea up. Take this for example:

CODE
jmp off_80CC(pc,d1.w)


This basically means "run some code at location (off_80CC + D1)", where off_80CC is an absolute location, and D1 is the current contents of the register D1. D1 could have anything in it at all. You can never know what D1 might be, and hence, where the code goes after this point. The value of D1 is only finally known at runtime, and is probably different at this point many times during the life of the program. This means if you try and decompile a rom this way, you'll end up with around 0.1% disassembled, and the rest being counted as data, because it can't trace any further.

So, that's what's wrong with conventional disassembly techniques. They can't be gotten around, and the only alternative is to work through the code by hand, figuring out yourself what is data and what is code, and that takes a long time. An automatic process can't figure it out accurately, and you can only really know where the program will go when it reaches one of those jumps at run-time. Well, we have emulators people. They're required to be able to follow program flow at runtime. They trace through these jumps.


The process:
1. I made a quick and dirty hack of gens to track the current value of the PC, which contains the current address of the code that is being executed. It tags each address when it is executed as code, maintaining a record of every address that contains real code as it excutes it while a rom is running.
2. I played S2 for a few hours, with vsync off, and running with frameskip. I tell ya, that really works up the reflexes. During that time, I took care to interact with every sprite in the entire game, skimmed over every level, died, continued, didn't continue, played through 2 player winning and losing for each player, etc, until I couldn't think of a single thing in the game I hadn't done.
3. I then got gens to output a nice little script for me that contained all the addresses that had been executed as code.
4. I fed this script (which was frigging masive) into IDA Pro, and it churns away for a few minutes, beginning a deep disassembly at each and every location that had been executed (including all those impossible to trace jumps), ensuring (around 500000 times over) that even any code paths in the rom that had not been executed, but it could find a way to get to, were disassembled, whether it had actually been executed while I was playing or not.

<b>The result? A very deep and thorough disassembly of S2, with absolutely no data incorrectly disassembled as code, and only requiring around 0.0001% of the time required to do it by hand.</b>

Once that was done, I started going through the whole disassembly line by line anyway, doing my own analysis. While doing this, I linked every offset and pointer, and traced through the few peices of code that did not get disassembled (and there really weren't that many). I've also been formatting all the datablocks of known structure properly, as well as marking the datablocks that are known. This disassembly can be converted to an ASM file easily, and when compiled, produces a rom identical in every way to S2. When I've finished, it'll be possible to easily relocate blocks in the rom, while still making it possible to recompile a working S2 rom.

This disassembly does a lot of things. First of all, it allows any unknown datablock in the game (such as sprite mappings, hardly any of which have been dug out), to be quickly located and identified. It also allows you to easily see what areas of code referance a perticular block of data, so when you're planning a more advanced hack, you have a better idea of what will be affected by your changes. Most of all, it gives you the freedom to not have to worry about sizes. Say you want to update a set of tiles that was compressed, and you find that your modified art is longer than the previous set of tiles. What do you do? Do you just insert the block of data, then manually fix up the 10000 pointers and offsets that are now incorrect? Impossible. Well, with all the offsets and pointers replaced by labels, you just hit compile, and there's no problems.



That's phase 1 anyway. It has a problem. All your data needs to be included in this one massive asm file, and it all needs to be formatted as data. That is simply not practical. That's where phase 2 comes in.

I'll be releasing two versions of the source. One is the complete, single file disassembly, in an IDA Pro file format. This'll allow you to do some analysis of the rom in IDA Pro easily, making use of it's quite powerful features. The second one will be in a raw asm file, with all the blocks of data in seperate files in thier raw form. Want to edit some peice of art? Edit the seperate file in whatever the hell you want, then just hit build, and you have a compiled rom, with the different datablock.

I'll be making my own little addition to the asm file. A nice directive that tells a program that'll write to format the data contained in the file at an already specified location, and insert in at that point. It's really quite simple. You can then feed that single, complete asm file into snasm68k, and out comes a modified S2 rom. Taking the data out of the asm file will also allow you to rearrange the order of data in the rom with ease. Just switch two lines, and you've just switched two blocks of data in the rom, and it'll still work. It'll make the asm file a million times smaller an easier to work with, and it'll make modifying the data quick and easy too.



This method can easily be applied to other sonic roms, and whatsmore, any genesis game. I'm not done yet, but when I am, this will all be available. In the mean time, I'd like to ask that anyone out there who works on any kind of sonic editors, to allow thier editors to load the data they work with from individual files. If you're made a palette editor, add a feature to allow the user to load a file that contains just the palette alone. If you've written a level editor, add an option to allow the user to specify each data element manually (eg, load a level file, load a 16x16 block mapping file, etc), and even better, allow for some kind of simple script file that tells your program what files to load for those elements, so someone can just open the EHZ definition file, and they'll have all the files that relate to EHZ. Most importantly, allow an option to save back to these individual files. No more having your program have to worry about where to place anything in the rom, you can just focus on editing the data itself. If you've already got a program that does this, saving back to the seperate files should seem easy by comparison.


Also, I know there are a few other people in this community who have done work on sonic disassemblies. Any documentation or sourcecode comments you have done will contribute greatly to this project. There's no way in hell I'm gonna analyse and comment all the S2 source. In fact, I'm not even planning to try and figure out the engine structure. If all the info out there can be combined into this single disassembly, it will make it a much more comprehensive resource. While I've started this disassembly, I'm open to input from the whole community to help document it. I don't want this to be "my" thing. Let's work on this one together. If you know some asm and want to chip in, comment the code for a sprite or something. It can be the death egg or a ring, it doesn't matter.


So yeah. This, if done properly, and supported by some utilities out there, will eliminate a massive amount of the work that goes into making a hack of a sonic rom, while opening up a whole new level of hacking. Want to program a sprite? It's much easier in asm than machine code, especially when you have all the other sprites to refer to. I expect to be releasing something this time next week. Maybe a bit earlier, maybe a bit later. Depends what happens. Still, it'll be quite soon.
<a href="http://sonic-cult.net/newsx/fullnews.ph ... >Source</a>
<a href="http://sonic-cult.net/newsx/fullnews.php?id=191">Also, look at this.</a>

User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

Dude, I flunked Math 105. Four times. Then when I finally passed, it was with a D.

User avatar
Spazz
Posts: 1953
Joined: Sat May 29, 2004 1:12 pm
Location: New Orleans, LA
Contact:

Post by Spazz »

Heh, I didn't exactly expect <i>you</i> to understand any of that, much less read it. I was just showing that the sourcecode that SEGA supposedly lost can and has been recovered.

User avatar
Light Speed
Sexified
Posts: 2529
Joined: Sun May 23, 2004 4:08 pm
Location: Park City, Utah
Contact:

Post by Light Speed »

Green Gibbon! wrote:Dude, I flunked Math 105. Four times. Then when I finally passed, it was with a D.
What does Math 105 consist of?

User avatar
Delphine
Horrid, Pmpous Wench
Posts: 4720
Joined: Fri May 21, 2004 1:05 pm
Now Playing: DOVAHKIIN
Location: Los Angeles, CA
Contact:

Post by Delphine »

Calculus?

User avatar
Green Gibbon!
BUTT CHEESE
Posts: 4648
Joined: Fri May 21, 2004 11:39 am
Now Playing: Bit Trip Complete
Location: A far eastern land across the sea
Contact:

Post by Green Gibbon! »

At ULL it's college algebra. It's notorious for causing problems, especially among art students. They offer all kinds of free tutoring and they even had to open a daily version of the class... it's twice as many hours for the same amount of credit, but they go over material much more slowly.

It's not that it's so difficult, it's just that everyone has to take it, including people who are utterly not math-minded.

User avatar
Delphine
Horrid, Pmpous Wench
Posts: 4720
Joined: Fri May 21, 2004 1:05 pm
Now Playing: DOVAHKIIN
Location: Los Angeles, CA
Contact:

Post by Delphine »

They don't have a contemporary math course for art students to take? That's kind of... silly. I'm pretty much bailing out of college and getting myself an associates so I have SOMETHING to show for all the damn money my dead grandfather spent. I decided to go for the Liberal Arts Writing Option degree, and I don't need to take anything higher than contemporary math -- which is pretty much basic arithmetic with variables.

Anyway, they should have something like that at ULL, and the fact that they don't is silly.

Post Reply