This pertains to the Boss 2 skip that occurred at AGDQ 2017 during the Baster Master rrace.
At the beginning of the game when the memory is initialized, address $03FB is set to #$00. Perhpas a simple hack of the rom could have this value set to 2 and this would still allow the first boss to spawn and cause the second boss not to be present since $03FB would be at value 3. Since the starting value is 2, then the amount it will increment is based upon the value 2 to the power of $0014 value. Since area 1 boss is in $0014 value zero, then 2 to the power of zero is 1, and therefore the resulting value of $03FB after Boss one is 3. This of course is assuming that the rom was hacked.
STA $0300,X @ $03FB = #$00 ;Initializing memory, setting address to zero
Upon entering the Boss 1 room the following executes. Notable is that it loads the value of address $0014 to the A Register. When I used a Lua Script to change $0014 to a value of 1, the value of Boss 2 location, I was able to get the Boss 2 to spawn in the Boss 1 area. The value of $03FB is checked at this time. If the value is a 0, as it is supposed to be, then the Boss will spawn. If the value is 1, which it should be after the Boss fight, then the boss will not spawn. I also checked and even if this value was a 2 then the boss will still spawn. Basically here after the AND $03FB instruction it will Branch on Not Equal as seen BNE $963B.
$961F:F0 03 BEQ $9624 A:00 X:0A Y:00 S:FB P:nvUbdIZC
$9624:20 1A 97 JSR $971A A:00 X:0A Y:00 S:FB P:nvUbdIZC
$971A:A5 14 LDA $0014 = #$00 A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971C:29 07 AND #$07 A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971E:AA TAX A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971F:BD 2B B6 LDA $B62B,X @ $B62B = #$01 A:00 X:00 Y:00 S:F9 P:nvUbdIZC
$9722:60 RTS (from $971A) --------------------------- A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$9627:2D FB 03 AND $03FB = #$00 A:01 X:00 Y:00 S:FB P:nvUbdIzC
$962A:D0 0F BNE $963B A:00 X:00 Y:00 S:FB P:nvUbdIZC
$962C:A9 C0 LDA #$C0 A:00 X:00 Y:00 S:FB P:nvUbdIZC
$962E:85 51 STA $0051 = #$00 A:C0 X:00 Y:00 S:FB P:NvUbdIzC
$9630:A9 08 LDA #$08 A:C0 X:00 Y:00 S:FB P:NvUbdIzC
$9632:20 8C C1 JSR $C18C A:08 X:00 Y:00 S:FB P:nvUbdIzC
At the beginning of the Boss 1 fight when the boss begins to load, address 03FD is set to the value 255 and then decrements to 0, at which time the boss begins to move. Upon the death of the boss address 03FD increments up to 128 from zero. Once 03FD reaches 128 (#$80)then we see the following execute when the Comparision is made. It is at this time that the addition to $03FB will be 2 to the power of the value of $0014, the area locator. If at any time that $0014 is changed via Lua Script then the game starts to glitch between where you are and where you are telling the game where you are. I have observed some funny things as a result of this. What this
means is that I think that it is unlikely that the game was confused as to your location and therefore gave a different value in $03FB, because it thought that you were in a different $0014 location. If $0014 was anything but 0 during the boss 1 fight then you would see graphical distortions. Since the addition to $03FB only occurs after a boss is defeated it would be curious how it might occur at any other time, and if so, then how?
$9C2D:20 23 97 JSR $9723 A:2D X:2A Y:00 S:FB P:nvUbdIzc
$9723:A5 53 LDA $0053 = #$00 A:2D X:2A Y:00 S:F9 P:nvUbdIzc
$9725:F0 10 BEQ $9737 A:00 X:2A Y:00 S:F9 P:nvUbdIZc
$9737:A5 10 LDA $0010 = #$14 A:00 X:2A Y:00 S:F9 P:nvUbdIZc
$9739:4A LSR A:14 X:2A Y:00 S:F9 P:nvUbdIzc
$973A:B0 19 BCS $9755 A:0A X:2A Y:00 S:F9 P:nvUbdIzc
$973C:AD FD 03 LDA $03FD = #$7F A:0A X:2A Y:00 S:F9 P:nvUbdIzc
$973F:D0 0A BNE $974B A:7F X:2A Y:00 S:F9 P:nvUbdIzc
$974B:EE FD 03 INC $03FD = #$7F A:7F X:2A Y:00 S:F9 P:nvUbdIzc
$974E:AD FD 03 LDA $03FD = #$80 A:7F X:2A Y:00 S:F9 P:NvUbdIzc
$9751:C9 80 CMP #$80 A:80 X:2A Y:00 S:F9 P:NvUbdIzc
$9753:B0 4C BCS $97A1 A:80 X:2A Y:00 S:F9 P:nvUbdIZC
$97A1:20 C9 C0 JSR $C0C9 A:80 X:2A Y:00 S:F9 P:nvUbdIZC
$C0C9:4C 5B D0 JMP $D05B A:80 X:2A Y:00 S:F7 P:nvUbdIZC
(...)
$D066:60 RTS (from $C0C9) --------------------------- A:0F X:FF Y:00 S:F7 P:NvUbdIzC
$97A4:20 1A 97 JSR $971A A:0F X:FF Y:00 S:F9 P:NvUbdIzC
$971A:A5 14 LDA $0014 = #$00 A:0F X:FF Y:00 S:F7 P:NvUbdIzC
$971C:29 07 AND #$07 A:00 X:FF Y:00 S:F7 P:nvUbdIZC
$971E:AA TAX A:00 X:FF Y:00 S:F7 P:nvUbdIZC
$971F:BD 2B B6 LDA $B62B,X @ $B62B = #$01 A:00 X:00 Y:00 S:F7 P:nvUbdIZC
$9722:60 RTS (from $971A) --------------------------- A:01 X:00 Y:00 S:F7 P:nvUbdIzC
$97A7:0D FB 03 ORA $03FB = #$00 A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$97AA:8D FB 03 STA $03FB = #$00 A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$97AD:A9 5A LDA #$5A A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$97AF:85 46 STA $0046 = #$63 A:5A X:00 Y:00 S:F9 P:nvUbdIzC
$97B1:A9 00 LDA #$00 A:5A X:00 Y:00 S:F9 P:nvUbdIzC
$97B3:20 D5 C0 JSR $C0D5 A:00 X:00 Y:00 S:F9 P:nvUbdIZC
Twenty nine frames after this addition to $03FB occurs the $971A sub routine runs again (twice). After the first sub routine it checks the $03FB address, and then it will branch if not equal BNE $963B, the same as when we entered the room. And the second routine is followed by a check to $03FC, seeing if you have already collected the item, and then a branch if not equal BNE $965C.
$961F:F0 03 BEQ $9624 A:00 X:0A Y:00 S:FB P:nvUbdIZC
$9624:20 1A 97 JSR $971A A:00 X:0A Y:00 S:FB P:nvUbdIZC
$971A:A5 14 LDA $0014 = #$00 A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971C:29 07 AND #$07 A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971E:AA TAX A:00 X:0A Y:00 S:F9 P:nvUbdIZC
$971F:BD 2B B6 LDA $B62B,X @ $B62B = #$01 A:00 X:00 Y:00 S:F9 P:nvUbdIZC
$9722:60 RTS (from $971A) --------------------------- A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$9627:2D FB 03 AND $03FB = #$01 A:01 X:00 Y:00 S:FB P:nvUbdIzC
$962A:D0 0F BNE $963B A:01 X:00 Y:00 S:FB P:nvUbdIzC
$963B:20 1A 97 JSR $971A A:01 X:00 Y:00 S:FB P:nvUbdIzC
$971A:A5 14 LDA $0014 = #$00 A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$971C:29 07 AND #$07 A:00 X:00 Y:00 S:F9 P:nvUbdIZC
$971E:AA TAX A:00 X:00 Y:00 S:F9 P:nvUbdIZC
$971F:BD 2B B6 LDA $B62B,X @ $B62B = #$01 A:00 X:00 Y:00 S:F9 P:nvUbdIZC
$9722:60 RTS (from $971A) --------------------------- A:01 X:00 Y:00 S:F9 P:nvUbdIzC
$963E:2D FC 03 AND $03FC = #$00 A:01 X:00 Y:00 S:FB P:nvUbdIzC
$9641:D0 19 BNE $965C A:00 X:00 Y:00 S:FB P:nvUbdIZC
$9643:A5 14 LDA $0014 = #$00 A:00 X:00 Y:00 S:FB P:nvUbdIZC
$9645:C9 07 CMP #$07 A:00 X:00 Y:00 S:FB P:nvUbdIZC
$9647:D0 0E BNE $9657 A:00 X:00 Y:00 S:FB P:NvUbdIzc
$9657:A9 6A LDA #$6A A:00 X:00 Y:00 S:FB P:NvUbdIzc
$9659:85 46 STA $0046 = #$5A A:6A X:00 Y:00 S:FB P:nvUbdIzc
$965B:60 RTS (from $C8EC) --------------------------- A:6A X:00 Y:00 S:FB P:nvUbdIzc
While there may not be anything revelatoty here beyond the previous posts concerning the matter, but it is where I am at with it at the moment.