You basically have to handle them yourself within the object's code. There is a routine, known as ObjHitFloor in the Hivebrain 2005 disassembly, that will return the current object's distance from the floor in register d1. A basic usage of the routine to check if the object on the floor is as follows: Code: jsr ObjHitFloor tst.b d1 ; is object on the ground? bpl.s .AboveFloor ; if not, branch add.w d1,$C(a0) ; assure the object is actually on the ground and not below it ...do whatever the object should do on the floor here... I'll answer the last part first. For each object slot in RAM, there is a reserved portion for X and Y positioning. Depending on the mode of positioning for the object, the reserved area is used slightly differently. If bit 2 of the object's render flags is set to 0, the word value stored at $8(a0) is the X position, $A(a0) is the X subpixel position (you don't really need to worry about this), $C(a0) is the Y position, and $E(a0) is the Y subpixel position. If bit 2 is set to 1, then $8(a0) is the X position, and $A(a0) is the Y position. That's kind of longwinded, and all you really need to know for most situations is that the X position is the word at $8(a0), and the Y position is the word at $C(a0). To answer your first question, moving left and right aboutt this can be as simple as adding to the X or Y position, and either before or afterwards, doing a check of the position to see if it's where you want it to be. However, it can get even easier than this for you! There is two reserved words at $10(a0) and $12(a0) for horizontal and vertical velocity, respectively. If you set velocity, and call a routine known in the Hivebrain 2005 disassembly as SpeedToPos after setting said velocity, the object will be moved for you. Neato, right? You can even apply gravity to the object while moving it using a routine called ObjectFall. You can observe existing objects that use these routines for different applications. I must stress that everything I've told you here applies to Sonic 1. I answered this way, as you made mention to the GHZ wrecking ball. The other games are similar, but I believe they use different locations within the object slots to store X and Y positioning and velocity.