If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Notes:Proto:Bio-Hazard Battle
Jump to navigation
Jump to search
This page contains notes for the game Proto:Bio-Hazard Battle.
RAM addresses
FFF6A4 stage index, 16-bit FFF6E2 TONB string FFF6EE P1 controller FFF6EF P2 controller FFF6F0 P1 controller FFF6F1 P2 controller FFF6FE 00=active gameplay FF=boot up ??? TODO FFF6FF 00=1play mode, 01=2play mode, 02=modem?, 03=modem? FFF702 FF=stage 3 demo mode 00=stage 4 demo mode FFF721 current ship selected on player select screen (value=00, 01, 02, 03) FFF728 P1 controller FFF729 P1 controller FFF731 current ship selected on player select screen (value=00, 01, 02, 03) FFF738 P2 controller FFF739 P2 controller
Programming
00:0476 42 B8 CLR.L ($F6DE) ; set starting a game flag (i.e., not demo mode) 00:047A 42 78 CLR.W ($F6CC) 00:047E 61 00 BSR #$12BC [00:173C] 00:0482 78 0C MOVEQ #$0C,D4 ; lock Modem start (bit $04), Options (bit $08). use PAR code 000482:7808 to unlock Modem start 00:0484 61 00 BSR #$206E [00:24F4] ; P2 controller related subroutine 00:0488 67 02 BEQ #$02 [00:048C] ; branch to $00048C if P2 controller disconnected/invalid? 00:048A 54 04 ADDQ.B #2,D4 ; lock 2play Start (bit $02) 00:048C 70 F0 MOVEQ #$F0,D0 ; A,B,C, Start buttons 00:048E C0 38 AND.B ($F6F1),D0 ; P2 controller 00:0492 67 04 BEQ #$04 [00:0498] ; branch to $000498 if P2 controller buttons not pressed (P1 pressed Start on title screen) 00:0494 88 3C OR.B #$05,D4 ; P2 pressed Start on title screen, so lock 1play start (bit $01) and Modem start (bit $04) 00:0498 41 FA LEA $FFAE(PC),A0 00:049C 32 3C MOVE.w #$0070,D1 00:04A0 74 50 MOVEQ #$50,D2 00:04A2 76 00 MOVEQ #$00,D3 00:04A4 61 00 BSR #$6B0A [00:6FB0] ... 00:0880 61 00 BSR #$FFFFFBF4 [00:0476] 00:0884 70 00 MOVEQ #$00,D0 00:0886 4E B9 JSR ($000F0000) 00:088C 4A B8 TST.L ($F6DE) 00:0890 67 2A BEQ #$2A [00:08BC] ; branch to $0008BC if starting a game (not demo mode) 00:0892 41 F9 LEA ($0006F9C8),A0 ; stage 3 demo 00:0898 46 38 NOT.B ($F702) 00:089C 6B 06 BMI #$06 [00:08A4] ; branch to $0008A4 if stage 3 demo 00:089E 41 F9 LEA ($00070CC8),A0 ; stage 4 demo 00:08A4 61 00 BSR #$195A [00:2200] 00:08A8 61 00 BSR #$1968 [00:2212] 00:08AC 72 00 MOVEQ #$00,D1 00:08AE 12 00 MOVE.b D0,D1 00:08B0 E0 48 LSR.W #0,D0 00:08B2 11 C0 MOVE.b D0,($F6FF) 00:08B6 31 C1 MOVE.w D1,($F6A4) ; stage index for upcoming demo 00:08BA 60 06 BRA #$06 [00:08C2] 00:08BC 31 FC MOVE.w #$0002,($F6A4) ; game starts on stage 3 (change value to start on other stages - PAR code 0008BE:000x) ... 00:08C2 42 38 CLR.B ($F6FE) 00:08C6 21 FC MOVE.l #$544F4E42,($F6E2) ; TONB