smwedit, you wrote another value to register, $210B or something? And then, you changed VRAM for BG2?
Posts by Romi
Romi's Profile → Posts
So, you rewrote the value to $2108? Thank you for explaning. I could understand easily.
Or, change 2 bytes from 0x101A to "80 79".
Now, you can bring carryable custom sprites to next level through the pipe.
Change one byte at 0x12E18 to "80".
This also fixes the glitch of silver P switch, I think.
EDIT : Pressed switches also won't return to former state.
Change one byte at 0x12E18 to "80".
This also fixes the glitch of silver P switch, I think.
EDIT : Pressed switches also won't return to former state.
I renamed this thread, because I also will fix another glitch that Mario can carry 2 sprites at once. There might be people who use this glitch as a trick, so I don't know if this is useful.
Use xkas to insert.
I think there is a better way, but I couldn't hit upon it.
Use xkas to insert.
Code
lorom header ;;;;;;;;;;;;;;;;;;;;;;;;; org $01AA5E ;normal carryable sprites ;;;;;;;;;;;;;;;;;;;;;;;;; JSL CustomCode NOP #2 db $80 ;;;;;;;;;;;;;;;;;;;;;;;;; org $01E6D2 ;spring board ;;;;;;;;;;;;;;;;;;;;;;;;; JSL CustomCode NOP #2 db $80 ;;;;;;;;;;;;;;;;;;;;;;;;; org $01ED3C ;yoshi ;;;;;;;;;;;;;;;;;;;;;;;;; JSL CustomCode NOP #2 db $80 ;;;;;;;;;;;;;;;;;;;;;;;;; org $xxxxxx ;find free space in your rom! "0x1E bytes" ;;;;;;;;;;;;;;;;;;;;;;;;; db "STAR" dw Return-CustomCode dw $0000-Return-CustomCode CustomCode: LDA $1470 ORA $187A ORA $1498 BNE Return REP #$20 PLA CLC ADC #$0004 PHA SEP #$20 Return: RTL
I think there is a better way, but I couldn't hit upon it.
@ Bad luck man,
Which mushroom block sprite are you using? mushroom_block_2.asm seems to work correctly.
Which mushroom block sprite are you using? mushroom_block_2.asm seems to work correctly.
Would you try to change one byte at 0x2142E to 00?
Try to change one byte at 0x2102E to "80".
I think this fixes that. I don't know if this causes something else, though...
I think this fixes that. I don't know if this causes something else, though...
Since AddMusic's main code will rewrite the music number even if the music number was same between two levels, the music will restart. I made a new code to fix this problem. (Use xkas to insert.)
But, if you have a plan to use smkdan's Sample Utility for your current hack, I suppose this code will be meaningless. I haven't tried that tool out, though, if his tool won't reupload same data when the sample-bank-numbers between levels are same, this might work with his tool...
But, if you have a plan to use smkdan's Sample Utility for your current hack, I suppose this code will be meaningless. I haven't tried that tool out, though, if his tool won't reupload same data when the sample-bank-numbers between levels are same, this might work with his tool...
Code
lorom header !FreeRAM = $7EC100 ;Check out it that you have used this RAM for something else... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org $009740 JSL CustomMusicMain org $00A1C7 JSL ClearRAM org $00A64A JSL HackingRoutine NOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org $108000 ; !!! This must be changed to the SNES address, where the free space is. !!! CustomMusicMain: STZ $0DAE STZ $0DAF LDA $0DDA CMP #$20 BCC Return IsCustomMusic: CMP !FreeRAM CLC BEQ ActualNumber STA !FreeRAM PHA AND #$0C ASL A ASL A ASL A ORA #$80 STA $01 PLA AND #$70 SEC SBC #$20 LSR A LSR A LSR A LSR A ADC #$14 STA $02 LDA #$08 STA $00 PHK PER $0006 PEA $804C JML $80811D SEC ActualNumber: LDA $0DDA AND #$03 INC A ORA #$20 STA $0DDA BCS StoreTo1DFB LDA #$00 StoreTo1DFB: STA $1DFB Return: RTL HackingRoutine: LDA $0DDA STA !FreeRAM AND #$7F RTL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ClearRAM: LDA #$FF STA !FreeRAM JML $848241
@Golden Yoshi
Changing 0x01 byte at 0x73734 to 80 disables the auto-message at 1-1 when Yoshi collected the first flower.
Changing 0x01 byte at 0x1161F to 80 disables the one at 1-2 when Yoshi got the first mid-ring.
Changing 0x01 byte at 0xC488 to 00 and 01 byte at 0xC48B to 80 disables the one comes up when Yoshi first got hurt at intro level or 1-1.
I hope these help you..
Changing 0x01 byte at 0x73734 to 80 disables the auto-message at 1-1 when Yoshi collected the first flower.
Changing 0x01 byte at 0x1161F to 80 disables the one at 1-2 when Yoshi got the first mid-ring.
Changing 0x01 byte at 0xC488 to 00 and 01 byte at 0xC48B to 80 disables the one comes up when Yoshi first got hurt at intro level or 1-1.
I hope these help you..
@Mokou
Ah, no.. I think I won't make a YI hack.
And to your question, try to change 1 byte at 0x80FA2 to 80.
Ah, no.. I think I won't make a YI hack.
And to your question, try to change 1 byte at 0x80FA2 to 80.

As you may see, after playing an extra level, the position of Green Yoshi will be shifted.
To correct this, change 1 byte at 0xBAA2E to 2E
This seems not to happen with extra levels in 2, 4, 5 or 6 World, though.
Originally posted by Golden Yoshi
Never tried it. Didn't want to screw up anything by moving objects around. ;)
Originally posted by Mokou
Uh huh...And what happens if we edit whats in that level?
Never tried it. Didn't want to screw up anything by moving objects around. ;)
Hm, I edited that level, but it appears that only 2 logs are actually used.
This is meaningless, but we can edit like this by edting a few things. (A problem is, it's still easy to defeat the boss...)

@The Black Yoshi
This is a late responce, though, I made an .asm file which makes Yoshi continue to play the intro level forcibly unless you beat the level. Use xkas to patch.
Code
lorom header org $01C155 JSR DisableEscape NOP org $01E6B3 JMP DontDisplayBG3 org $01E6C7 JSR PushButton ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org $01FFD0 DontDisplayBG3: LDA $021A CMP #$0B BNE DontClear STZ $0967 DontClear: JML $1083E2 DisableEscape: CPX #$0B BNE .NotIntro PLA PLA JMP $C16B .NotIntro LDA #$F0 STA $4D RTS PushButton: ORA $38 LDX $021A CPX #$0B BNE .NotIntro ORA #$80 STA $37 .NotIntro RTS
Yes, that .asm file would disable it too.
Well, since I just made the code for his request, I really don't know how he would make an intro level...
But I also think that an intro level shouldn't be as difficult as a player can't even beat, and the one which would let the game have the a little important message for its story like Golden Yoshi did or give a player an advice seems good.
Well, since I just made the code for his request, I really don't know how he would make an intro level...
But I also think that an intro level shouldn't be as difficult as a player can't even beat, and the one which would let the game have the a little important message for its story like Golden Yoshi did or give a player an advice seems good.
Originally posted by B.B.Link
Hey guy's. I was wondering is there any way to disable the story intro before the tittle screen? I ask this because my story doesn't pertain to the original, so It wouldn't fit correctly in my hack. Thanks in advance.
Code
;Use xkas to patch lorom header org $0FBCCB db $00,$00,$00 org $0FBDFB NOP NOP NOP org $0FBED1 BEQ $00
Try this code. I hope this works fine.
If you meant the normal vertical level (level mode 0A), change 1 byte [30] at 0x286C1 to [20].
The table for Sprite layer priority starts from 0x286B7. You can modify it for other level mode as well.
The table for Sprite layer priority starts from 0x286B7. You can modify it for other level mode as well.
If you set the byte to 20, priority-thing works like a horizontal level; if priority disabled, sprites go in front of stuff, otherwise go behind.
So, it's not that sprites always go behind even if you set it to 20.
And yes, it will affect all levels with the "same level mode".
So, it's not that sprites always go behind even if you set it to 20.
And yes, it will affect all levels with the "same level mode".
Like andy_k_250 said, there are sprites like you mentioned. I guess these sprites basically don't use RAM $64 (priority-bit for sprites is stored) and load their property contains priority-bit from ROM directly.
to fix your problem :
for Amazin' Flyin' Hammer Brother
change 1 byte at 0x15D1F [37] to [27]
for the Platform
change 8 bytes at 0x15E27 [32 32 72 32 32 32 72 32] to [22 22 62 22 22 22 62 22]
(and for Banzai Bill
change 0x10 bytes at 0x157E4 [33 33 33 33 33 33 33 33 33 33 33 33 33 33 B3 B3] to [23 23 23 23 23 23 23 23 23 23 23 23 23 23 A3 A3])
to fix your problem :
for Amazin' Flyin' Hammer Brother
change 1 byte at 0x15D1F [37] to [27]
for the Platform
change 8 bytes at 0x15E27 [32 32 72 32 32 32 72 32] to [22 22 62 22 22 22 62 22]
(and for Banzai Bill
change 0x10 bytes at 0x157E4 [33 33 33 33 33 33 33 33 33 33 33 33 33 33 B3 B3] to [23 23 23 23 23 23 23 23 23 23 23 23 23 23 A3 A3])
Did you try enabling "Dies when jumped on" bit of Paragoomba too?
(restricted)