Originally posted by messiaen
Last time I tried finding in the ROM for something like "0x40 0x41, 0x50, 0x51", which seemed in the PPU to be a specific tile-combination to get one of the 32x32 blocks. Is this the way to go?
That is how I did it.
Lets look at Mario for example...
Disassembly Paste:
Palette0_MTiles:
.db $24, $24, $24, $24 ;blank
.db $27, $27, $27, $27 ;black metatile
.db $24, $24, $24, $35 ;bush left
.db $36, $25, $37, $25 ;bush middle
.db $24, $38, $24, $24 ;bush right
.db $24, $30, $30, $26 ;mountain left
.db $26, $26, $34, $26 ;mountain left bottom/middle center
.db $24, $31, $24, $32 ;mountain middle top
.db $33, $26, $24, $33 ;mountain right
.db $34, $26, $26, $26 ;mountain right bottom
.db $26, $26, $26, $26 ;mountain middle bottom
.db $24, $c0, $24, $c0 ;bridge guardrail
.db $24, $7f, $7f, $24 ;chain
.db $b8, $ba, $b9, $bb ;tall tree top, top half
.db $b8, $bc, $b9, $bd ;short tree top
.db $ba, $bc, $bb, $bd ;tall tree top, bottom half
.db $60, $64, $61, $65 ;warp pipe end left, points up
.db $62, $66, $63, $67 ;warp pipe end right, points up
.db $60, $64, $61, $65 ;decoration pipe end left, points up
.db $62, $66, $63, $67 ;decoration pipe end right, points up
.db $68, $68, $69, $69 ;pipe shaft left
.db $26, $26, $6a, $6a ;pipe shaft right
.db $4b, $4c, $4d, $4e ;tree ledge left edge
.db $4d, $4f, $4d, $4f ;tree ledge middle
.db $4d, $4e, $50, $51 ;tree ledge right edge
.db $6b, $70, $2c, $2d ;mushroom left edge
.db $6c, $71, $6d, $72 ;mushroom middle
.db $6e, $73, $6f, $74 ;mushroom right edge
.db $86, $8a, $87, $8b ;sideways pipe end top
.db $88, $8c, $88, $8c ;sideways pipe shaft top
.db $89, $8d, $69, $69 ;sideways pipe joint top
.db $8e, $91, $8f, $92 ;sideways pipe end bottom
.db $26, $93, $26, $93 ;sideways pipe shaft bottom
.db $90, $94, $69, $69 ;sideways pipe joint bottom
.db $a4, $e9, $ea, $eb ;seaplant
.db $24, $24, $24, $24 ;blank, used on bricks or blocks that are hit
.db $24, $2f, $24, $3d ;flagpole ball
.db $a2, $a2, $a3, $a3 ;flagpole shaft
.db $24, $24, $24, $24 ;blank, used in conjunction with vines
Palette1_MTiles:
.db $a2, $a2, $a3, $a3 ;vertical rope
.db $99, $24, $99, $24 ;horizontal rope
.db $24, $a2, $3e, $3f ;left pulley
.db $5b, $5c, $24, $a3 ;right pulley
.db $24, $24, $24, $24 ;blank used for balance rope
.db $9d, $47, $9e, $47 ;castle top
.db $47, $47, $27, $27 ;castle window left
.db $47, $47, $47, $47 ;castle brick wall
.db $27, $27, $47, $47 ;castle window right
.db $a9, $47, $aa, $47 ;castle top w/ brick
.db $9b, $27, $9c, $27 ;entrance top
.db $27, $27, $27, $27 ;entrance bottom
.db $52, $52, $52, $52 ;green ledge stump
.db $80, $a0, $81, $a1 ;fence
.db $be, $be, $bf, $bf ;tree trunk
.db $75, $ba, $76, $bb ;mushroom stump top
.db $ba, $ba, $bb, $bb ;mushroom stump bottom
.db $45, $47, $45, $47 ;breakable brick w/ line
.db $47, $47, $47, $47 ;breakable brick
.db $45, $47, $45, $47 ;breakable brick (not used)
.db $b4, $b6, $b5, $b7 ;cracked rock terrain
.db $45, $47, $45, $47 ;brick with line (power-up)
.db $45, $47, $45, $47 ;brick with line (vine)
.db $45, $47, $45, $47 ;brick with line (star)
.db $45, $47, $45, $47 ;brick with line (coins)
.db $45, $47, $45, $47 ;brick with line (1-up)
.db $47, $47, $47, $47 ;brick (power-up)
.db $47, $47, $47, $47 ;brick (vine)
.db $47, $47, $47, $47 ;brick (star)
.db $47, $47, $47, $47 ;brick (coins)
.db $47, $47, $47, $47 ;brick (1-up)
.db $24, $24, $24, $24 ;hidden block (1 coin)
.db $24, $24, $24, $24 ;hidden block (1-up)
.db $ab, $ac, $ad, $ae ;solid block (3-d block)
.db $5d, $5e, $5d, $5e ;solid block (white wall)
.db $c1, $24, $c1, $24 ;bridge
.db $c6, $c8, $c7, $c9 ;bullet bill cannon barrel
.db $ca, $cc, $cb, $cd ;bullet bill cannon top
.db $2a, $2a, $40, $40 ;bullet bill cannon bottom
.db $24, $24, $24, $24 ;blank used for jumpspring
.db $24, $47, $24, $47 ;half brick used for jumpspring
.db $82, $83, $84, $85 ;solid block (water level, green rock)
.db $24, $47, $24, $47 ;half brick (???)
.db $86, $8a, $87, $8b ;water pipe top
.db $8e, $91, $8f, $92 ;water pipe bottom
.db $24, $2f, $24, $3d ;flag ball (residual object)
Palette2_MTiles:
.db $24, $24, $24, $35 ;cloud left
.db $36, $25, $37, $25 ;cloud middle
.db $24, $38, $24, $24 ;cloud right
.db $24, $24, $39, $24 ;cloud bottom left
.db $3a, $24, $3b, $24 ;cloud bottom middle
.db $3c, $24, $24, $24 ;cloud bottom right
.db $41, $26, $41, $26 ;water/lava top
.db $26, $26, $26, $26 ;water/lava
.db $b0, $b1, $b2, $b3 ;cloud level terrain
.db $77, $79, $77, $79 ;bowser's bridge
Palette3_MTiles:
.db $53, $55, $54, $56 ;question block (coin)
.db $53, $55, $54, $56 ;question block (power-up)
.db $a5, $a7, $a6, $a8 ;coin
.db $c2, $c4, $c3, $c5 ;underwater coin
.db $57, $59, $58, $5a ;empty block
.db $7b, $7d, $7c, $7e ;axe
Sprites are a little different:
Disassembly Paste:
;tiles arranged in top left, right, middle left, right, bottom left, right order
EnemyGraphicsTable:
.db $fc, $fc, $aa, $ab, $ac, $ad ;buzzy beetle frame 1
.db $fc, $fc, $ae, $af, $b0, $b1 ; frame 2
.db $fc, $a5, $a6, $a7, $a8, $a9 ;koopa troopa frame 1 X
.db $fc, $a0, $a1, $a2, $a3, $a4 ; frame 2
.db $69, $a5, $6a, $a7, $a8, $a9 ;koopa paratroopa frame 1 X
.db $6b, $a0, $6c, $a2, $a3, $a4 ; frame 2
.db $fc, $fc, $96, $97, $98, $99 ;spiny frame 1
.db $fc, $fc, $9a, $9b, $9c, $9d ; frame 2
.db $fc, $fc, $8f, $8e, $8e, $8f ;spiny's egg frame 1
.db $fc, $fc, $95, $94, $94, $95 ; frame 2
.db $fc, $fc, $dc, $dc, $df, $df ;bloober frame 1 X
.db $dc, $dc, $dd, $dd, $de, $de ; frame 2
.db $fc, $fc, $b2, $b3, $b4, $b5 ;cheep-cheep frame 1 X
.db $fc, $fc, $b6, $b3, $b7, $b5 ; frame 2
.db $fc, $fc, $70, $71, $72, $73 ;goomba
.db $fc, $fc, $6e, $6e, $6f, $6f ;koopa shell frame 1 (upside-down) a6a7a8a9
.db $fc, $fc, $6d, $6d, $6f, $6f ; frame 2
.db $fc, $fc, $6f, $6f, $6e, $6e ;koopa shell frame 1 (rightsideup)
.db $fc, $fc, $6f, $6f, $6d, $6d ; frame 2
.db $fc, $fc, $f4, $f4, $f5, $f5 ;buzzy beetle shell frame 1 (rightsideup)
.db $fc, $fc, $f4, $f4, $f5, $f5 ; frame 2
.db $fc, $fc, $f5, $f5, $f4, $f4 ;buzzy beetle shell frame 1 (upside-down)
.db $fc, $fc, $f5, $f5, $f4, $f4 ; frame 2
.db $fc, $fc, $fc, $fc, $ef, $ef ;defeated goomba
.db $b9, $b8, $bb, $ba, $bc, $bc ;lakitu frame 1
.db $fc, $fc, $bd, $bd, $bc, $bc ; frame 2
.db $7a, $7b, $da, $db, $d8, $d8 ;princess ff00ff00ff00
.db $cd, $cd, $ce, $ce, $cf, $cf ;mushroom retainer FD00FD00FD00
.db $7d, $7c, $d1, $8c, $d3, $d2 ;hammer bro frame 1
.db $7d, $7c, $89, $88, $8b, $8a ; frame 2
.db $d5, $d4, $e3, $e2, $d3, $d2 ; frame 3
.db $d5, $d4, $e3, $e2, $8b, $8a ; frame 4
.db $e5, $e5, $e6, $e6, $eb, $eb ;piranha plant frame 1 X
.db $ec, $ec, $ed, $ed, $ee, $ee ; frame 2
.db $fc, $fc, $d0, $d0, $d7, $d7 ;podoboo
.db $bf, $be, $c1, $c0, $c2, $fc ;bowser front frame 1
.db $c4, $c3, $c6, $c5, $c8, $c7 ;bowser rear frame 1
.db $bf, $be, $ca, $c9, $c2, $fc ; front frame 2
.db $c4, $c3, $c6, $c5, $cc, $cb ; rear frame 2
.db $fc, $fc, $e8, $e7, $ea, $e9 ;bullet bill
.db $f2, $f2, $f3, $f3, $f2, $f2 ;jumpspring frame 1
.db $f1, $f1, $f1, $f1, $fc, $fc ; frame 2
.db $f0, $f0, $fc, $fc, $fc, $fc ; frame 3
So yeah, I think that could help you.. maybe..
____________________