Discussion in 'Engineering & Reverse Engineering' started by Mustapha, Aug 25, 2005.
Guide pulled for now. I'm working on fixing it. Jesus christ I am a fucking moron..
Hot damn Musty! This is some VERY nice info. Assuming I didn't know ASM at all, this would've helped me to understand it much better than I ever could myself, while at the same time taking a peek at what was hidden in the S3 ROM. Great job.
This works in Sonic 2 as well people, changing screen modes as such. It's a great introduction to compares and branches as well, firsthand.
Whoa. This will become a technical hit soon. Having level select and debug in Sonic 3 isn't something that happens everyday. :D
Good to hear you found useful my reference. I'm working in version 1.1 by the way.
Tech Member for Mustapha!
This is pretty sweet! Makes me wish I'm hacking Sonic 3 instead...
Damnit, Mustapha, I've said it before and I'll say it again... you really need to be a tech member. This is great. I'll give it a shot if I'm not so lazy.
Version 1.1.1 of my guide is ready.
Updates for Version 1.1.1: The key format has been corrected.
Mustapha should be techie since long time ago.
Yeah, I concur. SOMEONE please make him a tech member as he has deserved it forever.
I accept that Mustapha is understanding more the reason changing a given byte has the effect he wants, but the level of explanation he's giving is just that little bit too parochial - he should explain the concept of game mode in abstract terms relating it to RAM values and then narrow in on the example, and I'm not really getting that vibe from what he's written.
I will however concede that he's worthy of the green box. (I, on the other hand, don't feel worthy of it.)
Yeah I agree with that as well. I don't feel worthy of tech status to be honest, but it's there.
You are a lot more worthy of Techie status than anyone here, except perhaps Cyan.
Just for your reference, Mustapha, I saw this in the guide.
1 2 3 4 5 6 7 8 (this is a byte represented in bits)
S A C B U D L R (these are the bits translated to show what each key is)
First, the key positions are wrong. The correct ones are SACBRLDU.
Second, in binary, the bits are numbered from right to left.
7 6 5 4 3 2 1 0
S A C B R L D U
It stands that byte 0 represents that 2<sup>0</sup> (=1) is present (value 1) or not (value 0) in the number. Same goes for 2<sup>1</sup> (=2), 2<sup>2</sup> (=4), and so on.
For example, in your case you want to get %1100000. The number has bits 7 and 6 set, because it is 2<sup>7</sup>+ 2<sup>6</sup>= 128 + 64 = 196 ($C0 hex). Hope you get it.
Admins, what are you waiting for to promote Mustapha?
Thanks for the correction and the little extra help with my binary, Ambil. (And thank you DRX's I/O ports guide) Anyways, I've updated my guide with the correct (and latest) information.
Separate names with a comma.