+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  SMB1 "Stance" Tutorial?
Pages: [1] 2
Author Topic: SMB1 "Stance" Tutorial?  (Read 1636 times)
Dr. Floppy
Guest
« on: October 12, 2007, 09:07:43 pm »

~

As we all know, SMB1-Mario's "just standing around" pose mirrors the lower-left tile, preventing mere n00bs from replacing it with his SMB3 pose...

I remember seeing somewhere (possibly another romhacking site) a quick run-thru of how to edit the ROM so that one could redefine/incorporate a fourth tile into this pose, allowing for greater versatility in graphics hacking.

Does anyone know where this tutorial can be found?
insectduel
Guest
« Reply #1 on: October 13, 2007, 11:09:30 am »

I got all the info

http://www.freewebs.com/insectduel/AdvSMB1.htm

Although, the page is Buggy when I move to Google but I never actally view their source anyway.

CTRL+F Mario's TSA's
« Last Edit: October 13, 2007, 11:14:46 am by insectduel »
Dr. Floppy
Guest
« Reply #2 on: October 13, 2007, 02:18:21 pm »

This is *PERFECT*!  Cheesy  (And talk about serendipity...)

Many thanks; expect something good in your stocking this Xmas!  :cookie:
Griff Morivan
Guest
« Reply #3 on: October 17, 2007, 07:26:10 am »

I didn't find it in the thinger, but I'm looking again. Is there a similar way to free up the bottom half of Princess' dress, as well as the Fire Flower and the Starman? It'd be a great help to me.
insectduel
Guest
« Reply #4 on: October 18, 2007, 01:59:22 pm »

Never found the "Double" Sprite data info yet, but I'm working on it.
frantik
Guest
« Reply #5 on: October 18, 2007, 06:16:21 pm »

The tile for small mario is at $6EE3: 3A 47 4F 4F
The lower tile for big mario begins at $6EF3: 4A 4A 4B 4B

Once you have your new, non-mirrored stance graphics in place, you'll notice one side is still flipped the opposite way.  The easy fix for this is to just flip the tiles which are placed on that side Cheesy

You can clear some room in the sprite tiles easily since a lot of mario's sprites are repeats, like his feet are the same for one frame of running and jumping, and his hat is the same in many frames. 

Btw to find more tiles just load up YY-CHR and get the number of the tile in the "Bank" field.  Sprite tiles are arranged left to right, top to bottom, while background tiles are arranged top to bottom, left to right.   

Sprites:
1 2
3 4

Background
1 3
2 4
« Last Edit: October 19, 2007, 03:55:53 am by frantik »
insectduel
Guest
« Reply #6 on: October 20, 2007, 01:02:06 pm »

That stuff is covered already with the ROM addresses I wrote. And I've still can't find any sprites that has been mirrored (Such as Mushroom, Goomba, etc).
frantik
Guest
« Reply #7 on: October 20, 2007, 03:01:19 pm »

the power up mushroom and goombas aren't mirrored...

gooba: 67a4h: 70 71 72 73
power up mushroom: 66ceh: 76 77 78 79  (1up mushroom is a line below, same tile #s)

fireflower: 66d2: d6 d6 d9 d9
starman: 66d6: 8d 8d  e4 e4
princess: 67eah: 7a 7b da db d8 d8


hell, here's all of the enemy graphics, starting at 674b  (taken from the smb disassembly)

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
      .db $fc, $a0, $a1, $a2, $a3, $a4  ;             frame 2
      .db $69, $a5, $6a, $a7, $a8, $a9  ;koopa paratroopa frame 1
      .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
      .db $dc, $dc, $dd, $dd, $de, $de  ;        frame 2
      .db $fc, $fc, $b2, $b3, $b4, $b5  ;cheep-cheep frame 1
      .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)
      .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
      .db $cd, $cd, $ce, $ce, $cf, $cf  ;mushroom retainer
      .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
      .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
« Last Edit: October 20, 2007, 03:07:30 pm by frantik »
insectduel
Guest
« Reply #8 on: October 22, 2007, 02:36:57 pm »

Wow, Thanks.  That can be pretty helpful.
frantik
Guest
« Reply #9 on: October 22, 2007, 09:36:58 pm »

no problem Smiley  the SMB disassembly is a pretty useful document even if you don't know asm cause a lot of the data is nicely labled Smiley
Griff Morivan
Guest
« Reply #10 on: October 23, 2007, 07:29:53 am »

Now, Fran(t?), can one manipulate the other half of repeated panels (Mario, Fireflowers) individually, or would I need to expand the ROM somehow?
Sliver X
Guest
« Reply #11 on: October 23, 2007, 09:48:53 am »

Uh, yeah. But you'll have to duplicate a reference for some other sprite to compensate (Since you're "stealing" one of its tiles).
doppelganger
Guest
« Reply #12 on: October 23, 2007, 06:34:40 pm »

It's nice to see my disassembly helping others. :-)
Griff Morivan
Guest
« Reply #13 on: October 23, 2007, 07:38:17 pm »

Is that an excuse to ditch some monsters I hear?

Good by, Bullets. You suck as enemies.
Dr. Floppy
Guest
« Reply #14 on: October 24, 2007, 12:44:06 am »

Quote from: Griff Morivan on October 23, 2007, 07:38:17 pm
Is that an excuse to ditch some monsters I hear?

Good by, Bullets. You suck as enemies.

Seeing as how they're completely harmless as long as you're moving downward during collision, I have no choice but to concur.
For a fat, Italian plumber-sized bullet, they are made of epic fail.
Pages: [1] 2  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC