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.
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. http://mustaphaland.com/guide.html Updates for Version 1.1.1: The key format has been corrected.
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.)
Just for your reference, Mustapha, I saw this in the guide. Code (Text): 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. Code (Text): 7 6 5 4 3 2 1 0 S A C B R L D U It stands that byte 0 represents that 20 (=1) is present (value 1) or not (value 0) in the number. Same goes for 21 (=2), 22 (=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 27+ 26= 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.