note for self: bit 0 is the rightmost bit. research was done with USA rev 0 ROM. the order object instances are in their respective array defines their location in the levels' "grid". object instances can be half-way between two "grid points" - they don't have to fit 1:1 with a "square". background, titleset and music is per world, not per level. the tile "patterns" used for each world are in the floorXX_patterns.bin files (where XX is the world id) 0x0-0x35 seems to be a header or array of dummy/control objects. starting at 0x30, at the latest, is the array of interactive objects. the last instance in this array in 1-1 seems to be at 0x7B6. instances are pairs of bytes. first byte is object type. second byte is parameter. object types: 01 = nothing? 02 = nothing? 03 = mini mario parameters: 00T0000D D = is mini mario direction 0 = right 1 = left T = mini mario type 0 = normal 1 = gold 04 = crash 05 = nothing? 2B = nothing? (used) B1 = nothing? B2 = glitchy enemy that catches mini mario when touched? (glitchy graphics in setup i tried it) B3 = nothing? B4 = starman powerup unused, but haven't checked if its offscreen in some level or anything no obvious parameters B4 = bouncing fireball maybe the one spawned by fire mario. don't know if its placed in a level or not. B5 = yellow spring files: data\anims\spring_anim.bin 6A = piranha plant files: data\anims\pirahna_plant1_anim.bin data\anims\pirahna_Plant1_Ball_anim.bin parameters: 30 0110000 up ? 68 1101000 down ? 60 1100000 right ? 70 1110000 up ? 38 0111000 up fireball 18 0011000 up no fireball 08 0001000 down no fireball 73 = bouncing candle [world 4] 9F = blue spring FF = nothing? 0x7b0-0x7ff in 1-1 is part of the array of tile objects. the first instance in this arrway in 1-1 seems to be at 0x7B8. its not clear how many bytes makes up an instance, but the first byte of each instance seems to describe the object type. object types: see /tile_objs/ roughly 0x16b8-0x1a77 in 1-1 seems to be the array of collision tiles. some kind of object array 2B = goal