- Group:
- Tech Member: Tech Members
- Active Posts:
- 895 (0.24 per day)
- Most Active In:
- Engineering & Reverse Engineering (377 posts)
- Joined:
- 27-March 05
- Profile Views:
- 3222
- Last Active:
Private- Currently:
- Offline
My Information
- Age:
- 23 years old
- Birthday:
- October 22, 1991
- Gender:
-
Male
- Location:
- Karachi, Pakistan
- Interests:
- Mathematics, sciences, programming, reading, (association) football
Contact Information
- E-mail:
- Click here to e-mail me
- MSN:
-
[email protected]
- Website:
-
http://
Previous Fields
- National Flag:
- pk
- Wiki edits:
- 4,411
Latest Visitors
-
Billy 
20 Dec 2014 - 14:38 -
nineko 
07 Oct 2014 - 23:37 -
Hitaxas 
22 Oct 2013 - 01:40 -
Toasty 
02 Jun 2013 - 14:29 -
redhotsonic 
22 Oct 2012 - 07:47
Posts I've Made
-
In Topic: Basic Questions & Answers thread
15 August 2010 - 06:14 AM
I have a question regarding the super/hyper flag in S3K. It says on the wiki, to set the hyper flag, set the address with the value 7. I thought flags are only set with either a 0 or 1, since in binary format 0/1 means off/on. Also, I set the flag with the value #-1, and it worked. I didn't really know where to post this, but would this be correct?
Actually it said set bit #7, like MJ said. I've changed the wording to be clearer. Additionally, flags only need to be either 0 or 1 if they occupy just a single bit. The Super/Hyper flag occupies a whole byte and so can take any value between 0 and $FF. -
In Topic: Sonic 2 Split Disassembly
04 August 2010 - 02:21 PM
-
In Topic: Ristar disassembly
04 August 2010 - 02:18 PM
The code isn't confusing at all if you know how the Sprite Attribute Table works, and if you don't there's always genvdp.txt. Anyway, the mappings data starts off with an offset table which is identical to the one in Sonic 1. The format of each frame's mapping data is NN ?? (YY SS AAAA XX XX'). NN is the number of sprites in the frame - 1, so the bytes in brackets are repeated NN + 1 times. I have no idea what ?? is but it's moved to byte 4 of the object's status table. YY is the Y offset, SS is the sprite size, AAAA is the art tile, XX is the X offset and XX' is the X offset in case the object is X-flipped (it doesn't need to be stored separately, it can be calculated, but I'm assuming it was done for speed reasons). For comparison, Sonic 1 is NN (YY SS AAAA XX), except NN is the number of sprites in the frame instead of the number of sprites -1.
Also, RenderSprite is an inaccurate name since a mapping frame can consist of multiple sprites. RenderMappingFrame or RenderFrame or even RenderObject would be better. -
In Topic: Basic Questions & Answers thread
04 August 2010 - 10:10 AM
Because if the actual acceleration = 0.046875 (according to the physics guide), how does it relate to 50 or 80 at all?
The Mega Drive's processor doesn't support floating point operations as far as I'm aware, so the Sonic games use 16.8 fixed point to represent non-integral values. What this means in simple terms is that Sonic's speed and acceleration aren't in pixels/second or pixels/second², respectively, but in 1/256 pixels per second or 1/256 pixels per second², respectively, instead. So when you see the line
Syntax Highlighted Code: ASMmove.w #$C,($FFFFF762).w ; Sonic's acceleration
$C in hex is the same thing as 12 in decimal, so this sets Sonic's acceleration to 12/256 = 0.046875 pixels per second² (which is where the number in the physics guide comes from). -
In Topic: Sonic 2 Split Disassembly
02 August 2010 - 10:17 AM

Find My Content
Private
Male
