(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
06-29-24 10:14 AM
0 users currently in SMW Hacking.
Acmlm's Board - I3 Archive - SMW Hacking - SMW ROM addresses New poll | |
Pages: 1 2 3 4 5 6 7 8 9 10 11Add to favorites | Next newer thread | Next older thread
User Post
purplebridge001

Micro-Goomba


 





Since: 12-11-05

Last post: 6550 days
Last view: 6550 days
Posted on 07-23-06 11:16 AM Link | Quote
0x2048D
0x2048E
If you change these values to EA, "Lives Exchanger" function will be enabled in 1 Player Game.
You can use it by pushing L or R button at the Overworld screen.
Sorry it is not useful.

EDIT:
0x2772B ~ 0x27824
Main Lives Exchanger routine.


(edited by purplebridge001 on 07-23-06 11:13 AM)
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6340 days
Last view: 6340 days
Posted on 07-23-06 12:42 PM Link | Quote
That is actually very useful.
Someone could take advantage of it and make an ASM hack which allowed some dandy things at overworld, accessible by pressing L or R.
Glyphodon



 





Since: 11-18-05

Last post: 6381 days
Last view: 6362 days
Posted on 07-26-06 01:26 PM Link | Quote
Sounds awesome. If you put F0 at x21336 Mario warps to Star World when he presses select at Yoshi's house. I already mentioned that, but now that L, R, and select are manipulatable, there's got to be some dandiness there.
icegoom

Cheep-cheep








Since: 03-06-06
From: United States

Last post: 6347 days
Last view: 6347 days
Posted on 08-01-06 11:48 AM Link | Quote
0x12F4D is the start of the tilemaps for point notations. Change the first four bytes from 83 to 69 to free up space for Koopa Troopa's head. (You'll also want to 0x9DC1 and 0x9DC5 and change the 83's there to 69's to prevent glitching the Jumping Piranha Plants. Is there anything else that uses tile 83 to fill in blank space? I can't find anything)

EDIT: Found one. The portable springboard uses tile 83 on its "fully compressed" frame. Its tilemap is at 0x9E1D.


(edited by icegoom on 08-02-06 03:51 AM)
BOBTHEVILA

Koopa
idiot-branded








Since: 07-07-06
From: Silent Hill, USA

Last post: 6529 days
Last view: 6529 days
Posted on 08-04-06 11:06 PM Link | Quote
With the hex that controls # of anims used in a mario walk, would it be possible then to, even for slightly unexperienced hackers to make mario run smoother or even use the mario ds look of mario?
Sparx

Waddle Doo








Since: 11-18-05
From: San Diego

Last post: 6353 days
Last view: 6340 days
Skype
Posted on 08-06-06 04:33 AM Link | Quote
Uh... If you change D0 to 80 at 0x0FB10, it'll stop Boo from ceasing movement when Mario looks at him. That was found by Goldensunboy
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6345 days
Last view: 6345 days
Posted on 08-06-06 03:30 PM Link | Quote
Byte 0xFB10 can do alot more than that.

Changing the byte at 0xFB10 in the rom to these
numbers will make boo chase you in these positions:
...
90
B0
F0
D0
30
10
80
50
70

Unlike most other rom addresses found here that are values and can be anything from 00-FF, this byte is an opcode, and is only compatible with these values. Rewriting something like FF to it will probably crash the game.


(edited by Goldensunboy on 08-06-06 03:21 PM)
(edited by Goldensunboy on 08-06-06 03:22 PM)
(edited by Goldensunboy on 08-06-06 03:22 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6341 days
Last view: 6341 days
Posted on 08-06-06 05:07 PM Link | Quote
So is that "facing left, away from Boo", "facing right, toward Boo", "facing left, toward Boo" etc, or "on Boo's left, facing away", "on Boo's left, facing toward" etc?
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6345 days
Last view: 6345 days
Posted on 08-06-06 05:18 PM Link | Quote
Yes, it's as the picture shows, although all the graphics in the pictures were taken when boo was stopped when I used 70 (so that screenshotting them would be easier). The first column with a picture at the top shows for each value whether or not boo with chase you if you are on his left and you are facing left, etc. for all the other pictures and their columns as well.

Of course, someone could custom code however they wanted this to happen, by placing a JMP in place of the CPY $76 before byte 0xFB10, which could execute custom code.

If anyone's up to making boo follow you in different manners as shown here, Mario's direction is stored as a 01 or 00 (left, right) to $76, and, at that part of the rom when executed, Y has a 01 or 00 (Mario to boo's left, Mario's to Boo right).


(edited by Goldensunboy on 08-06-06 04:20 PM)
Ice Man

Panser



 





Since: 11-18-05
From: Germany

Last post: 6439 days
Last view: 6376 days
Posted on 08-06-06 05:43 PM Link | Quote
If you disabled the lightning and thunder in Bowser's map and palette glitches occur, try changing $27950 and the following two bytes to EA EA EA.

Thanks to Smallhacker.
SnifflySquirrel

Shyguy








Since: 03-03-06
From: Vermont

Last post: 6441 days
Last view: 6341 days
Posted on 08-07-06 12:19 PM Link | Quote
If anyone's annoyed by the Chargin' Chuck's blue arm and wants to fix it, just change these two bytes:

$14CFA [47 07] -- Change to 4B 0B to make the Chargin' Chuck's arm use the correct palette
Glyphodon



 





Since: 11-18-05

Last post: 6381 days
Last view: 6362 days
Posted on 08-08-06 01:24 AM Link | Quote
Okay, so I'm making a special Dry Bones... To defeat him, bop him on the head and then fireball him when he's down. In order to do that, I'll need to know which sprite table holds the "vulnerable to fireballs" bit, if there is such a table. Anybody know where that is?

Also, there's some data I've been meaning to post. It's kinda a mess, there are some repeats, and the accuracy of the material is questionable, but it's something, right?




ROM ADDRESSES

x474C - Where the music is set when a POW finishes

x12EE5, x12EEF, x12F34 - Fire Flower get subroutines

x588B - Mario's run routine

x4769 - Powerup routine

x5262 - Cape Swing and Fireball routine

x4D12 - Opening window data

x1125 - ASM when Mario gets a coin, PC

x28787 - ASM where the time limits are set, PC

x213B8 - Loading Mario/Luigi's powerups based on which one you are using for the level

x22CC - Saving Mario/Luigi's powerups based on which one you are using for the level

x77B7 - Mario hurt code, PC

x2035 - Set powerups at game start

x213C8 - Level start code

x2D11B - Writes to Bonus Star counter at level end

x1300A - Where the 1up handler is sent a value after you smash enough enemies

x10CB4 - Where the 1up handler is read

x52D8 - Mario loses a life routine

x5866 - Mario jump routine

x5002 - L & R scrolling routine

x18F90 - Set Message Box read variable

x23DA - Read and display Message Box

x757A - Yoshi coins

x5262, x80B5 - PC Fireball code

x73A7 - Green Star Block code

x2514 - Mario's palette rewriter

xC782 - Star timer set code

x10CD5, x64CF - Star timer check code

x6505 - Star music loop code

x1300A - $2AE0A PC, SNES 3up Moon

xC2F1, $01C0F1 - Goal Music code

x0267F5, $04E5F5 - Event number set after level goal

x4BFE, $00C9FE - Number is set to set event after a goal

x4C0F, $00CA0F - Where Big Boo's exit is made secret if on a certain level

x121D5 - Fireball y speed change code

x583E - Spin jump code

x4776 - Press Select to change powerup debug byte




RAM ADDRESSES

7E0DD5 - Determines exit event
7E0075 - Mario/Luigi is swimming flag




TRACES

Overworld mode stuff:

$00/CA25 8C 00 01 STY $0100 [$00:0100] A:EB00 X:0000 Y:000C P:envMXdiZc
$00/93F4 EE 00 01 INC $0100 [$00:0100] A:0080 X:00FE Y:002A P:eNvMXdizc
$00/9F5B EE 00 01 INC $0100 [$00:0100] A:9F0F X:00FE Y:0000 P:envMXdiZC

Fireball destroy flag is cleared:

$00/FEC1 9D 0B 17 STA $170B,x[$00:1713] A:0005 X:0008 Y:0000 P:enVMXdizC
$02/A4E5 9D 0B 17 STA $170B,x[$02:1713] A:9F01 X:0008 Y:0008 P:envMXdizc
$02/A213 9D 0B 17 STA $170B,x[$02:1713] A:A300 X:0008 Y:0001 P:envMXdiZc

Fireball Yspeed trace:

$00/FEC6 9D 3D 17 STA $173D,x[$00:1746] A:0030 X:0009 Y:0000 P:enVMXdizC
$02/9FFC 9D 3D 17 STA $173D,x[$02:1746] A:9FD0 X:0009 Y:0004 P:eNvMXdizc
$02/9FD5 9D 3D 17 STA $173D,x[$02:1746] A:9FD4 X:0009 Y:0009 P:eNvMXdizc

Where Mario or Luigi's powerup byte is set to current powerup $7E0019

$00/A0CC 9D B8 0D STA $0DB8,x[$00:0DB8] A:0500 X:0000 Y:0025 P:envMXdiZc

Keyhole variable checked

$00/C48C AC 34 14 LDY $1434 [$00:1434] A:0000 X:0000 Y:0010 P:envMXdiZc

Display Dragon Coins

$00/8FEF 9D FF 0E STA $0EFF,x[$00:0F02] A:FFFC X:0003 Y:00FC P:eNvMXdizc

Where blank tile for coins is placed for status bar

$00/8F81 8E 13 0F STX $0F13 [$00:0F13] A:FF00 X:00FC Y:0000 P:eNvMXdizc

Where Mario's lives are displayed on status bar

$00/8F58 8D 17 0F STA $0F17 [$00:0F17] A:FF05 X:00FC Y:0000 P:eNvMXdizc

Where small bonus star meter is displayed on status bar

$00/9053 9E 15 0F STZ $0F15,x[$00:0F1F] A:FFF6 X:000A Y:0014 P:eNvMXdizc
$00/8FA4 9D 1E 0F STA $0F1E,x[$00:0F1E] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/9068 FE 15 0F INC $0F15,x[$00:0F1F] A:0007 X:000A Y:0014 P:envMXdizC

Where big bonus star meter is displayed on status bar

$00/8FA7 9D 03 0F STA $0F03,x[$00:0F03] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/8FB7 9D 03 0F STA $0F03,x[$00:0F04] A:FFB7 X:0001 Y:0000 P:eNvMXdizc
$00/8FBD 9D 1E 0F STA $0F1E,x[$00:0F1F] A:FFC3 X:0001 Y:0000 P:eNvMXdizc

Writes to Item Box

$04/91D8 8D C2 0D STA $0DC2 [$04:0DC2] A:0404 X:0000 Y:0010 P:envMXdizc
$01/C545 8D C2 0D STA $0DC2 [$01:0DC2] A:F301 X:0009 Y:0003 P:envMXdizc

Reads Item Box

$00/9090 AC C2 0D LDY $0DC2 [$00:0DC2] A:FFC3 X:0002 Y:00E0 P:envMXdiZC
$00/90BE AE C2 0D LDX $0DC2 [$00:0DC2] A:FF3A X:0002 Y:00E0 P:envMXdizc

Writes Suit Color

$00/E321 8D 82 0D STA $0D82 [$00:0D82] A:B2F0 X:0000 Y:000C P:eNvmXdizc
$00/E321 8D 82 0D STA $0D82 [$00:0D82] A:B304 X:0000 Y:000E P:eNvmXdizc

Writes Mario's animation frame

$00/D030 8D E0 13 STA $13E0 [$00:13E0] A:0000 X:0000 Y:0000 P:envMXdiZc

Water level flag is checked

$00/EA45 A5 85 LDA $85 [$00:0085] A:0000 X:0000 Y:0000 P:eNvMXdizc
$00/D788 24 85 BIT $85 [$00:0085] A:FFE0 X:0000 Y:0000 P:eNvmXdizC

Swimming flag is checked

$00/CD79 A5 75 LDA $75 [$00:0075] A:0000 X:0000 Y:0000 P:eNvMXdizc
$00/CF0E A4 75 LDY $75 [$00:0075] A:0008 X:0000 Y:0008 P:envMXdizc

Mario's Yspeed is set

$00/DC4C 85 7D STA $7D [$00:007D] A:0100 X:0002 Y:0000 P:envMXdiZc
$00/EF60 85 7D STA $7D [$00:007D] A:FE00 X:0000 Y:0020 P:envMXdiZC
$00/D94C 85 7D STA $7D [$00:007D] A:F506 X:0000 Y:0000 P:envMXdizc

Mario's Yspeed is set while swimming

$00/DC4C 85 7D STA $7D [$00:007D] A:0100 X:0002 Y:0000 P:envMXdiZc
$00/EF60 85 7D STA $7D [$00:007D] A:FE00 X:0000 Y:0020 P:envMXdiZC
$00/DA2D 85 7D STA $7D [$00:007D] A:0000 X:0000 Y:0000 P:eNvMXdizc
...and with an item
$00/D9DD 85 7D STA $7D [$00:007D] A:0004 X:0018 Y:0004 P:eNvMXdizc

Mario spin jumps out of the water

$00/EA8F 8D FC 1D STA $1DFC [$00:1DFC] A:0104 X:0030 Y:0001 P:envMXdizC

On/Off switch is pressed

$02/9196 8D AF 14 STA $14AF [$02:14AF] A:0001 X:0003 Y:0006 P:envMXdizC

Mario's fall speed is copied

$00/D949 79 A5 D7 ADC $D7A5,y[$007A5] A:00AE X:0000 Y:0000 P:eNvMXdizc

Beat 8 enemies with shell

$02/AE0A 8D E4 18 STA $18E4 [$02:18E4] A:0101 X:0004 Y:000D P:envMXdizc

Mario/Luigi Yoshi color is set

$00/9E45 9C BA 0D STZ $0DBA [$00:0DBA] A:0004 X:00FF Y:000D P:eNvmXdizc
$00/8A53 74 00 STZ $00,x [$00:0DBA] A:0520 X:0DBA Y:00D6 P:envmxdizc
$00/A0DD 9D BA 0D STA $0DBA,x[$00:0DBA] A:050A X:0000 Y:0025 P:envMXdizc

Mario/Luigi Yoshi flag is set

$01/EB82 8D 7A 18 STA $187A [$01:187A] A:FF01 X:0008 Y:0000 P:eNvMXdizc
$01/EDC3 9C 7A 18 STZ $187A [$01:187A] A:EBC0 X:0008 Y:0001 P:eNvMXdizc
$01/F726 9C 7A 18 STZ $187A [$01:187A] A:EB02 X:0008 Y:0007 P:envMXdizc

Score is written to on Status Bar

$00/8EE7 9D 29 0F STA $0F29,x[$00:0F29] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/9014 9E 15 0F STZ $0F15,x[$00:0F29] A:FF00 X:0014 Y:0000 P:envMXdiZc
$00/8D82 9D F9 0E STA $0EF9,x[$00:0F2E] A:02FC X:0035 Y:006A P:eNvMXdizc

Mario and Luigi's score is written to

$02/AE21 9D 34 0F STA $0F34,x[$02:0F34] A:0AE8 X:0000 Y:0001 P:eNvMXdizc
$02/AE2A 9D 35 0F STA $0F35,x[$02:0F35] A:9906 X:0000 Y:0006 P:envMXdizc
$02/AE32 9D 36 0F STA $0F36,x[$02:0F36] A:9800 X:0000 Y:0009 P:envMXdiZc
$05/CEF9 9D 34 0F STA $0F34,x[$05:0F34] A:02F2 X:0000 Y:0002 P:envmXdizc
$00/8EB2 9D 36 0F STA $0F36,x[$00:0F36] A:000F X:0000 Y:0000 P:envMXdizC
$02/8766 9D 34 0F STA $0F34,x[$02:0F34] A:0358 X:0000 Y:0000 P:envMXdizc
$00/8A53 74 00 STZ $00,x [$00:0F34] A:96AE X:0F34 Y:0001 P:envmxdizc
$00/9E4E 9C 34 0F STZ $0F34 [$00:0F34] A:C004 X:00FF Y:000D P:eNvmXdizc

Writes to Mario's current graphic

$00/D030 8D E0 13 STA $13E0 [$00:13E0] A:0600 X:0014 Y:0000 P:envMXdiZc
$00/D0BA 8D E0 13 STA $13E0 [$00:13E0] A03E X:0000 Y:0000 P:envMXdizc

Mario becomes Small Mario

$00/F600 64 19 STZ $19 [$00:0019] A:0101 X:0008 Y:0004 P:envMXdizc
$00/D0B6 64 19 STZ $19 [$00:0019] A0B6 X:0000 Y:0000 P:envMXdiZc

Star timer is written to

$01/C582 8D 90 14 STA $1490 [$01:1490] A:C5FF X:000B Y:0009 P:eNvMXdizc

POW timer is written to

$01/AB1C 99 AD 14 STA $14AD,y[$01:14AD] A:01B0 X:0004 Y:0000 P:eNvMXdizc

POW colors are loaded from rom

$01/845A B9 66 84 LDA $8466,y[$01:8466] A:8400 X:0004 Y:0000 P:envMXdiZc

Side Exit Flag is written to

$00/A1B5 9E D3 13 STZ $13D3,x[$00:1B96] A:A000 X:07C3 Y:0001 P:envMxdizc

Dry Bones falls apart/recovers

$01/E44B 9E 34 15 STZ $1534,x[$01:153D] A:0000 X:0009 Y:0000 P:envMXdiZc
$01/E5FB FE 34 15 INC $1534,x[$01:153D] A:00A8 X:0009 Y:0001 P:eNVMXdizc


(edited by Glyph Phoenix on 08-08-06 12:25 AM)
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6340 days
Last view: 6340 days
Posted on 08-08-06 06:48 AM Link | Quote
Disable emoticons please.

EDIT: Is it in ROM which determines where the block is in when picked up?
You know, throw Blocks, P-Switches and all are always infront of Mario.
Can this be changed?


(edited by Raccoon Sam on 08-08-06 05:54 AM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6341 days
Last view: 6341 days
Posted on 08-08-06 05:15 PM Link | Quote
Last I checked you can't disable smilies when editing a post, so...
Originally posted by Glyph Phoenix
Okay, so I'm making a special Dry Bones... To defeat him, bop him on the head and then fireball him when he's down. In order to do that, I'll need to know which sprite table holds the "vulnerable to fireballs" bit, if there is such a table. Anybody know where that is?

Also, there's some data I've been meaning to post. It's kinda a mess, there are some repeats, and the accuracy of the material is questionable, but it's something, right?




ROM ADDRESSES

x474C - Where the music is set when a POW finishes

x12EE5, x12EEF, x12F34 - Fire Flower get subroutines

x588B - Mario's run routine

x4769 - Powerup routine

x5262 - Cape Swing and Fireball routine

x4D12 - Opening window data

x1125 - ASM when Mario gets a coin, PC

x28787 - ASM where the time limits are set, PC

x213B8 - Loading Mario/Luigi's powerups based on which one you are using for the level

x22CC - Saving Mario/Luigi's powerups based on which one you are using for the level

x77B7 - Mario hurt code, PC

x2035 - Set powerups at game start

x213C8 - Level start code

x2D11B - Writes to Bonus Star counter at level end

x1300A - Where the 1up handler is sent a value after you smash enough enemies

x10CB4 - Where the 1up handler is read

x52D8 - Mario loses a life routine

x5866 - Mario jump routine

x5002 - L & R scrolling routine

x18F90 - Set Message Box read variable

x23DA - Read and display Message Box

x757A - Yoshi coins

x5262, x80B5 - PC Fireball code

x73A7 - Green Star Block code

x2514 - Mario's palette rewriter

xC782 - Star timer set code

x10CD5, x64CF - Star timer check code

x6505 - Star music loop code

x1300A - $2AE0A PC, SNES 3up Moon

xC2F1, $01C0F1 - Goal Music code

x0267F5, $04E5F5 - Event number set after level goal

x4BFE, $00C9FE - Number is set to set event after a goal

x4C0F, $00CA0F - Where Big Boo's exit is made secret if on a certain level

x121D5 - Fireball y speed change code

x583E - Spin jump code

x4776 - Press Select to change powerup debug byte




RAM ADDRESSES

7E0DD5 - Determines exit event
7E0075 - Mario/Luigi is swimming flag




TRACES

Overworld mode stuff:

$00/CA25 8C 00 01 STY $0100 [$00:0100] A:EB00 X:0000 Y:000C P:envMXdiZc
$00/93F4 EE 00 01 INC $0100 [$00:0100] A:0080 X:00FE Y:002A P:eNvMXdizc
$00/9F5B EE 00 01 INC $0100 [$00:0100] A:9F0F X:00FE Y:0000 P:envMXdiZC

Fireball destroy flag is cleared:

$00/FEC1 9D 0B 17 STA $170B,x[$00:1713] A:0005 X:0008 Y:0000 P:enVMXdizC
$02/A4E5 9D 0B 17 STA $170B,x[$02:1713] A:9F01 X:0008 Y:0008 P:envMXdizc
$02/A213 9D 0B 17 STA $170B,x[$02:1713] A:A300 X:0008 Y:0001 P:envMXdiZc

Fireball Yspeed trace:

$00/FEC6 9D 3D 17 STA $173D,x[$00:1746] A:0030 X:0009 Y:0000 P:enVMXdizC
$02/9FFC 9D 3D 17 STA $173D,x[$02:1746] A:9FD0 X:0009 Y:0004 P:eNvMXdizc
$02/9FD5 9D 3D 17 STA $173D,x[$02:1746] A:9FD4 X:0009 Y:0009 P:eNvMXdizc

Where Mario or Luigi's powerup byte is set to current powerup $7E0019

$00/A0CC 9D B8 0D STA $0DB8,x[$00:0DB8] A:0500 X:0000 Y:0025 P:envMXdiZc

Keyhole variable checked

$00/C48C AC 34 14 LDY $1434 [$00:1434] A:0000 X:0000 Y:0010 P:envMXdiZc

Display Dragon Coins

$00/8FEF 9D FF 0E STA $0EFF,x[$00:0F02] A:FFFC X:0003 Y:00FC P:eNvMXdizc

Where blank tile for coins is placed for status bar

$00/8F81 8E 13 0F STX $0F13 [$00:0F13] A:FF00 X:00FC Y:0000 P:eNvMXdizc

Where Mario's lives are displayed on status bar

$00/8F58 8D 17 0F STA $0F17 [$00:0F17] A:FF05 X:00FC Y:0000 P:eNvMXdizc

Where small bonus star meter is displayed on status bar

$00/9053 9E 15 0F STZ $0F15,x[$00:0F1F] A:FFF6 X:000A Y:0014 P:eNvMXdizc
$00/8FA4 9D 1E 0F STA $0F1E,x[$00:0F1E] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/9068 FE 15 0F INC $0F15,x[$00:0F1F] A:0007 X:000A Y:0014 P:envMXdizC

Where big bonus star meter is displayed on status bar

$00/8FA7 9D 03 0F STA $0F03,x[$00:0F03] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/8FB7 9D 03 0F STA $0F03,x[$00:0F04] A:FFB7 X:0001 Y:0000 P:eNvMXdizc
$00/8FBD 9D 1E 0F STA $0F1E,x[$00:0F1F] A:FFC3 X:0001 Y:0000 P:eNvMXdizc

Writes to Item Box

$04/91D8 8D C2 0D STA $0DC2 [$04:0DC2] A:0404 X:0000 Y:0010 P:envMXdizc
$01/C545 8D C2 0D STA $0DC2 [$01:0DC2] A:F301 X:0009 Y:0003 P:envMXdizc

Reads Item Box

$00/9090 AC C2 0D LDY $0DC2 [$00:0DC2] A:FFC3 X:0002 Y:00E0 P:envMXdiZC
$00/90BE AE C2 0D LDX $0DC2 [$00:0DC2] A:FF3A X:0002 Y:00E0 P:envMXdizc

Writes Suit Color

$00/E321 8D 82 0D STA $0D82 [$00:0D82] A:B2F0 X:0000 Y:000C P:eNvmXdizc
$00/E321 8D 82 0D STA $0D82 [$00:0D82] A:B304 X:0000 Y:000E P:eNvmXdizc

Writes Mario's animation frame

$00/D030 8D E0 13 STA $13E0 [$00:13E0] A:0000 X:0000 Y:0000 P:envMXdiZc

Water level flag is checked

$00/EA45 A5 85 LDA $85 [$00:0085] A:0000 X:0000 Y:0000 P:eNvMXdizc
$00/D788 24 85 BIT $85 [$00:0085] A:FFE0 X:0000 Y:0000 P:eNvmXdizC

Swimming flag is checked

$00/CD79 A5 75 LDA $75 [$00:0075] A:0000 X:0000 Y:0000 P:eNvMXdizc
$00/CF0E A4 75 LDY $75 [$00:0075] A:0008 X:0000 Y:0008 P:envMXdizc

Mario's Yspeed is set

$00/DC4C 85 7D STA $7D [$00:007D] A:0100 X:0002 Y:0000 P:envMXdiZc
$00/EF60 85 7D STA $7D [$00:007D] A:FE00 X:0000 Y:0020 P:envMXdiZC
$00/D94C 85 7D STA $7D [$00:007D] A:F506 X:0000 Y:0000 P:envMXdizc

Mario's Yspeed is set while swimming

$00/DC4C 85 7D STA $7D [$00:007D] A:0100 X:0002 Y:0000 P:envMXdiZc
$00/EF60 85 7D STA $7D [$00:007D] A:FE00 X:0000 Y:0020 P:envMXdiZC
$00/DA2D 85 7D STA $7D [$00:007D] A:0000 X:0000 Y:0000 P:eNvMXdizc
...and with an item
$00/D9DD 85 7D STA $7D [$00:007D] A:0004 X:0018 Y:0004 P:eNvMXdizc

Mario spin jumps out of the water

$00/EA8F 8D FC 1D STA $1DFC [$00:1DFC] A:0104 X:0030 Y:0001 P:envMXdizC

On/Off switch is pressed

$02/9196 8D AF 14 STA $14AF [$02:14AF] A:0001 X:0003 Y:0006 P:envMXdizC

Mario's fall speed is copied

$00/D949 79 A5 D7 ADC $D7A5,y[$00:D7A5] A:00AE X:0000 Y:0000 P:eNvMXdizc

Beat 8 enemies with shell

$02/AE0A 8D E4 18 STA $18E4 [$02:18E4] A:0101 X:0004 Y:000D P:envMXdizc

Mario/Luigi Yoshi color is set

$00/9E45 9C BA 0D STZ $0DBA [$00:0DBA] A:0004 X:00FF Y:000D P:eNvmXdizc
$00/8A53 74 00 STZ $00,x [$00:0DBA] A:0520 X:0DBA Y:00D6 P:envmxdizc
$00/A0DD 9D BA 0D STA $0DBA,x[$00:0DBA] A:050A X:0000 Y:0025 P:envMXdizc

Mario/Luigi Yoshi flag is set

$01/EB82 8D 7A 18 STA $187A [$01:187A] A:FF01 X:0008 Y:0000 P:eNvMXdizc
$01/EDC3 9C 7A 18 STZ $187A [$01:187A] A:EBC0 X:0008 Y:0001 P:eNvMXdizc
$01/F726 9C 7A 18 STZ $187A [$01:187A] A:EB02 X:0008 Y:0007 P:envMXdizc

Score is written to on Status Bar

$00/8EE7 9D 29 0F STA $0F29,x[$00:0F29] A:FFFC X:0000 Y:0018 P:eNvMXdizC
$00/9014 9E 15 0F STZ $0F15,x[$00:0F29] A:FF00 X:0014 Y:0000 P:envMXdiZc
$00/8D82 9D F9 0E STA $0EF9,x[$00:0F2E] A:02FC X:0035 Y:006A P:eNvMXdizc

Mario and Luigi's score is written to

$02/AE21 9D 34 0F STA $0F34,x[$02:0F34] A:0AE8 X:0000 Y:0001 P:eNvMXdizc
$02/AE2A 9D 35 0F STA $0F35,x[$02:0F35] A:9906 X:0000 Y:0006 P:envMXdizc
$02/AE32 9D 36 0F STA $0F36,x[$02:0F36] A:9800 X:0000 Y:0009 P:envMXdiZc
$05/CEF9 9D 34 0F STA $0F34,x[$05:0F34] A:02F2 X:0000 Y:0002 P:envmXdizc
$00/8EB2 9D 36 0F STA $0F36,x[$00:0F36] A:000F X:0000 Y:0000 P:envMXdizC
$02/8766 9D 34 0F STA $0F34,x[$02:0F34] A:0358 X:0000 Y:0000 P:envMXdizc
$00/8A53 74 00 STZ $00,x [$00:0F34] A:96AE X:0F34 Y:0001 P:envmxdizc
$00/9E4E 9C 34 0F STZ $0F34 [$00:0F34] A:C004 X:00FF Y:000D P:eNvmXdizc

Writes to Mario's current graphic

$00/D030 8D E0 13 STA $13E0 [$00:13E0] A:0600 X:0014 Y:0000 P:envMXdiZc
$00/D0BA 8D E0 13 STA $13E0 [$00:13E0] A:D03E X:0000 Y:0000 P:envMXdizc

Mario becomes Small Mario

$00/F600 64 19 STZ $19 [$00:0019] A:0101 X:0008 Y:0004 P:envMXdizc
$00/D0B6 64 19 STZ $19 [$00:0019] A:D0B6 X:0000 Y:0000 P:envMXdiZc

Star timer is written to

$01/C582 8D 90 14 STA $1490 [$01:1490] A:C5FF X:000B Y:0009 P:eNvMXdizc

POW timer is written to

$01/AB1C 99 AD 14 STA $14AD,y[$01:14AD] A:01B0 X:0004 Y:0000 P:eNvMXdizc

POW colors are loaded from rom

$01/845A B9 66 84 LDA $8466,y[$01:8466] A:8400 X:0004 Y:0000 P:envMXdiZc

Side Exit Flag is written to

$00/A1B5 9E D3 13 STZ $13D3,x[$00:1B96] A:A000 X:07C3 Y:0001 P:envMxdizc

Dry Bones falls apart/recovers

$01/E44B 9E 34 15 STZ $1534,x[$01:153D] A:0000 X:0009 Y:0000 P:envMXdiZc
$01/E5FB FE 34 15 INC $1534,x[$01:153D] A:00A8 X:0009 Y:0001 P:eNVMXdizc
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6345 days
Last view: 6345 days
Posted on 08-08-06 09:01 PM Link | Quote
I'm trying to find all the data I can about the eating/creating block sprite, mostly the creating one, so that someday the paths can be customized.

All the information I found so far, which may be a slight help, is what block it generates. At 0x42E8, the map16 page of the block generated can be found. The low byte is found at 0x42B6.

I haven't found yet how to change the graphics page for the tiles, so if you were to make it generate 3-up moons (tile 6E, page 0), they would act like them and give you three lives if you grabbed them, but they would have the graphics of the bottom of a gradual slope (tile 6E, page 1).
Edit: Upon leaving the screen and coming back, the graphics correct themselves.

Here, I changed the byte at 0x42B6 to 30.


I win.

The creating sprite's directional data for submaps starts at
0x195A4 (rom), and ends at 195EE. The FF at the end terminates
the sprite. I have yet to find the overworld map's creation sprite
directional data. For people good at remembering, it should
resemble the beginning of Larry's castle in your imagination.

Format: One byte per command, XY, where X=number of times
to go in direction Y.

Y=0,1,2,3 (Right, left, down, up)

For example, the start of the code is 10 13 10 13 10 13 10 13
10 13 10 13 10 13 10 13 F0 F0. This makes the creating sprite
go to the right one, then up one, eight times, then go to the right
32 times.

If, say, a byte was replaced with D3, the sprite would create 13
blocks in an upward direction. (X=D=13, Y=3=Up).

I just discovered this, so I am in the process of making a custom
path to take a picture for you all.

If you want to see it in action, here's an IPS.


(edited by Goldensunboy on 08-09-06 02:57 AM)
(edited by Goldensunboy on 08-09-06 12:46 PM)
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6340 days
Last view: 6340 days
Posted on 08-09-06 09:32 AM Link | Quote
How long can the path be?
Chaos Force
Just drifting by...


 





Since: 11-17-05

Last post: 6345 days
Last view: 6341 days
Posted on 08-09-06 12:20 PM Link | Quote
As long as you want I assume. But having that creating block lay cement blocks gave me an idea...
Make it lay coins, and in order to stay on them, you have to activate a "P" switch to make them solid. Just to make it a bit more challenging.
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6340 days
Last view: 6340 days
Posted on 08-09-06 12:36 PM Link | Quote
Originally posted by Chaos Force
As long as you want I assume. But having that creating block lay cement blocks gave me an idea...
Make it lay coins, and in order to stay on them, you have to activate a "P" switch to make them solid. Just to make it a bit more challenging.





Wasn't a similiar puzzle in the original SMW also?
Ice Man

Panser



 





Since: 11-18-05
From: Germany

Last post: 6439 days
Last view: 6376 days
Posted on 08-09-06 01:46 PM Link | Quote
Yup, in the star world to be exact. :p
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6345 days
Last view: 6345 days
Posted on 08-09-06 01:50 PM Link | Quote
You can make the path as long as the direction data allows, however it would not be hard to expand that size of that area. I'm pretty sure since the accumulator runs through the directional process (indexed with Y) in 8-bit mode, there can be a maximum of 255 commands, if you repointed the data from where it calls it. Later today, I'll probably make a small ASM hack for this in the form of an IPS. I'm also searching for the main overworld directional data.

Ice Man, that wasn't really a puzzle, it was just the moving coin sprite that created other coins. It probably runs quite like the creating block sprite. You can also find a block like that in Donut Secret 2 (which is in Valley of Bowser), Dount Ghost House, and the Vally Ghost House. Maybe another level or two, also. The P-switch just made it solid. Edit: Oops, didn't see the post two above you.

Regarding that post, it would not be much of a challenge, as you could still stay on top of the creating block sprite. It is solid, no matter how you change its graphics.
Edit: Found the overworld's directional data. It starts at 0x195EF and ends at 0x19622. I feel so dumb, because it started right where the submap directional data ended. Of course, editing it will do nothing if you're using my expanded directional area IPS.


(edited by Goldensunboy on 08-09-06 12:53 PM)
(edited by Goldensunboy on 08-09-06 12:54 PM)
(edited by Goldensunboy on 08-09-06 12:56 PM)
(edited by Goldensunboy on 08-09-06 06:49 PM)
(edited by Goldensunboy on 08-09-06 06:50 PM)
(edited by Goldensunboy on 08-09-06 06:50 PM)
Pages: 1 2 3 4 5 6 7 8 9 10 11Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - SMW Hacking - SMW ROM addresses |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.024 seconds; used 492.70 kB (max 646.78 kB)