User talk:WikiPro1981X

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search

Re: All Night Nippon[edit]

howdy! i'm sure this is not something you were expecting, but i had to delete the revisions for the comment you left on Talk:All Night Nippon: Super Mario Bros. it doesn't have anything to do with the comment itself, but rather with the fact that it linked to a decompilation, which is legally fraught and a situation we want to avoid on the wiki. don't worry, you won't get any warning for this, i just wanted to let you know. i have copied your original comment (minus the links) under here, in case you want to repost it. take care! — eviemaybe Tanooki Mario's tail, cropped (talk) 01:41, March 9, 2026 (UTC)

I pored over the code for this game, and the Buzzy Beetle in the hard worlds (A thru D) doesn't show up properly. Instead, it's a San (Goomba) but behaves like a Buzzy Beetle when stomped!

In the specific portions of the code provided in the two links I gave, for ANN the hard world mode check (Worlds A-D) for the Buzzy Beetle was placed after that of the primary hard mode (World 8-4 finished) check.

Instead, we need to move the hard world check to right before that. I also created two new labels with which the hard world check will properly branch to.

BuzzyBeetleMutate:
        cmp #Goomba         ;if below $37, check for goomba
        bne StrID           ;value ($3f or more always fails)
        ldy HardWorldFlag   ;FIX check if we're playing Worlds A thru D
        bne GetBB           ;FIX if so, branch to load buzzy beetle object instead
        ldy PrimaryHardMode ;otherwise check if primary hard mode flag is set
        beq StrID           ;and if so, change goomba to buzzy beetle
GetBB:  lda #BuzzyBeetle    ;if hard world flag set, branch here to change goomba to buzzy beetle
StrID:  sta Enemy_ID,x      ;store enemy object number into buffer

Also fix this here:

HandleGroupEnemies:
          ldy #$00                  ;load value for green koopa troopa
          sec
          sbc #$37                  ;subtract $37 from second byte read
          pha                       ;save result in stack for now
          cmp #$04                  ;was byte in $3b-$3e range?
          bcs SnglID                ;if so, branch
          pha                       ;save another copy to stack
          ldy #Goomba               ;load value for goomba enemy
          lda HardWorldFlag         ;FIX if hard world flag (world A-D) set,
          bne DoBuzzyB              ;FIX branch to load buzzy beetle object
          lda PrimaryHardMode       ;if primary hard mode flag not set,
          beq PullID                ;branch, otherwise change to value
DoBuzzyB: ldy #BuzzyBeetle          ;for buzzy beetle

Please review these changes.