News:

11 March 2016 - Forum Rules

Main Menu

SMB1 minus world fix

Started by Szemigi, October 31, 2022, 11:36:50 AM

Previous topic - Next topic

Szemigi

Hello. I know it may sound stupid, but can somebody tell me how to exactly fix the minus world bug in the game to absolutely not to access it in the disassembly? Since there is a hack called "Super Weegee" by Dintonen and it fixed the minus world.

Any clues please?

Cyneprepou4uk

Add a check for it and replace it with a correct one before it loads.

SMB2J-2Q

#2
Quote from: Szemigi on October 31, 2022, 11:36:50 AMHello. I know it may sound stupid, but can somebody tell me how to exactly fix the minus world bug in the game to absolutely not to access it in the disassembly? Since there is a hack called "Super Weegee" by Dintonen and it fixed the minus world.

Any clues please?
There are several ways this has been done, according to this video by Displaced Gamers:
https://www.youtube.com/watch?v=Y6HSZ1imGRQ

I do wish you the best of luck on your intended fix, though.

If you wish to have the warp pipes always take you to their intended destinations, even when doing the wall-walking glitch before this (as is done in Super Mario All-Stars), be sure to have enough space handy when you do this fix (under "HandlePipeEntry", insert the following below before the "and #%00000011").
HandlePipeEntry:
         [...]
         cmp #$04
         bcs CalculateWPOffset
         ldx #$04
         lda WorldNumber
         beq RecalcWPOffsetSave
         inx
         lda AreaType
         sec
         sbc #$01
         bne RecalcWPOffsetSave
         inx
RecalcWPOffsetSave:
         txa
         sta WarpZoneControl
CalculateWPOffset:

~Ben

Szemigi

#3
Quote from: SMB2J-2Q on October 31, 2022, 05:38:25 PMinsert the following below before the "and #%00000011").
HandlePipeEntry:
         [...]
         cmp #$04
         bcs CalculateWPOffset
         ldx #$04
         lda WorldNumber
         bne RecalcWPOffsetSave
         inx
         lda AreaType
         sec
         sbc #$01
         bne RecalcWPOffsetSave
         inx
RecalcWPOffsetSave:
         txa
         sta WarpZoneControl
CalculateWPOffset:

I inserted, but somehow it doesn't lead to the proper world.

EDIT: Tweaked with some other people.

SMB2J-2Q

Quote from: Szemigi on November 01, 2022, 10:27:21 PMI inserted, but somehow it doesn't lead to the proper world.

EDIT: Tweaked with some other people.
Sorry, that first BNE I listed (after the LDA WorldNumber command) was really a BEQ when I last checked his video... it's corrected now.

Here is a guide by Shane M. which can help you remove some unnecessary commands to give you more space:
acmlm.kafuka.org/board/thread.php?pid=158724#158724

~Ben