Skip to content

Commit

Permalink
Update logs from website
Browse files Browse the repository at this point in the history
  • Loading branch information
PJBoy authored and github-actions[bot] committed Oct 30, 2023
1 parent 49b7b74 commit 2b19ae8
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 49 deletions.
11 changes: 7 additions & 4 deletions Bank $90.asm
Original file line number Diff line number Diff line change
Expand Up @@ -13009,6 +13009,9 @@ $90:DDE8 60 RTS
;;; $DDE9: Samus is hit interruption ;;;
{
; Called by "active" $0A44 handlers (where active = normal or title/intro demo)
; Checks for knockback start, knockback finish, and bomb jump
; The pose written to $0A2C is ignored, it just needs to be a positive value (per $0A32 = 1 branch of $91:EB88)
; This is why Samus can land immediately when knockback finishes and not need to fall for a frame first
$90:DDE9 08 PHP
$90:DDEA C2 30 REP #$30
$90:DDEC AD AA 18 LDA $18AA [$7E:18AA] ;\
Expand All @@ -13023,7 +13026,7 @@ $90:DDFF 80 1D BRA $1D [$DE1E] ; Return
$90:DE01 AD 78 0A LDA $0A78 [$7E:0A78] ;\
$90:DE04 D0 18 BNE $18 [$DE1E] ;} If time is frozen: return
$90:DE06 AD 52 0A LDA $0A52 [$7E:0A52] ;\
$90:DE09 D0 13 BNE $13 [$DE1E] ;} If [knockback direction] != 0: return
$90:DE09 D0 13 BNE $13 [$DE1E] ;} If [knockback direction] != none: return
$90:DE0B AD 1F 0A LDA $0A1F [$7E:0A1F] ;\
$90:DE0E 29 FF 00 AND #$00FF ;|
$90:DE11 0A ASL A ;} Execute [$DE82 + [Samus movement type] * 2]
Expand All @@ -13038,7 +13041,7 @@ $90:DE1F 60 RTS ; Return

; BRANCH_KNOCKBACK_TIMER_ZERO
$90:DE20 AD 52 0A LDA $0A52 [$7E:0A52] ;\
$90:DE23 F0 53 BEQ $53 [$DE78] ;} If [knockback direction] = 0: go to BRANCH_0A52_IS_0
$90:DE23 F0 53 BEQ $53 [$DE78] ;} If [knockback direction] = none: go to BRANCH_NO_KNOCKBACK
$90:DE25 AD 1F 0A LDA $0A1F [$7E:0A1F] ;\
$90:DE28 29 FF 00 AND #$00FF ;|
$90:DE2B C9 0A 00 CMP #$000A ;} If [Samus movement type] = knockback / crystal flash ending: go to BRANCH_KNOCKBACK_MOVEMENT
Expand Down Expand Up @@ -13079,7 +13082,7 @@ $90:DE73 8D 32 0A STA $0A32 [$7E:0A32] ;} $0A32 = 1
$90:DE76 28 PLP
$90:DE77 60 RTS ; Return

; BRANCH_0A52_IS_0
; BRANCH_NO_KNOCKBACK
$90:DE78 AD 56 0A LDA $0A56 [$7E:0A56] ;\
$90:DE7B F0 03 BEQ $03 [$DE80] ;} If [bomb jump direction] != 0:
$90:DE7D 20 99 DF JSR $DF99 [$90:DF99] ; Set up bomb jump
Expand Down Expand Up @@ -13165,7 +13168,7 @@ $90:DEE1 60 RTS ;} Return carry clear
; 1Ah: Grabbed by Draygon

$90:DEE2 9C 30 0A STZ $0A30 [$7E:0A30] ; $0A30 = 0
$90:DEE5 9C 52 0A STZ $0A52 [$7E:0A52] ; Knockback direction = 0
$90:DEE5 9C 52 0A STZ $0A52 [$7E:0A52] ; Knockback direction = none
$90:DEE8 18 CLC ;\
$90:DEE9 60 RTS ;} Return carry clear
}
Expand Down
89 changes: 44 additions & 45 deletions Bank $91.asm
Original file line number Diff line number Diff line change
Expand Up @@ -10702,13 +10702,8 @@ $91:EB74 dw 0003, ; 0: Up, facing right: Facing right - aiming up

;;; $EB88: Update Samus pose ;;;
{
; Handles ALL transitions? Doesn't handle space jumping, but everything else with 0A1C?
; 0A2C takes priority (unless dead), then 0A2A, then 0A28. I think. Assuming that.
; If 0A2C is used, JSL 91:F433 and 91:FB08, and JSR $EC3E,X (X = 0A32).
; If 0A2A is used, JSL 91:F404, then if CLC, JSR $EC28,X (X = 0A30).
; If neither are used, JSR $EADE
; If 0A28 is used, JSL 91:F404, then if CLC, JSR $EC16,X (X = 0A28).
; If any are used, update 7E:0A20 - 7E:0A27
; See also "Samus.asm"
; "(Cause of Yapping Maw Super Jump crash. I think. (918304 --> 91EBEE --> ...)"
$91:EB88 08 PHP
$91:EB89 8B PHB
$91:EB8A 4B PHK ;\
Expand Down Expand Up @@ -10884,9 +10879,9 @@ $91:ECD9 60 RTS

;;; $ECDA: ;;;
{
; Run during start of transitions.
; Run during start of transition animations.
; Corrects Samus height so crouching/morphing ends on ground instead of in the air
; Doesn't kill Samus' X speed or cancel speed boosting (because animation transitions are a hack)
; Doesn't kill Samus' X speed or cancel speed boosting (because transition animations are a hack)
$91:ECDA AD 1C 0A LDA $0A1C [$7E:0A1C] ;\
$91:ECDD C9 DB 00 CMP #$00DB ;} If [Samus pose] >= DBh: go to BRANCH_AIMING
$91:ECE0 10 41 BPL $41 [$ED23] ;/
Expand Down Expand Up @@ -10917,13 +10912,13 @@ $91:ED09 65 12 ADC $12 [$7E:0012] ;} Samus Y position += [$12]
$91:ED0B 8D FA 0A STA $0AFA [$7E:0AFA] ;/
$91:ED0E 8D 14 0B STA $0B14 [$7E:0B14] ; Samus previous Y position = [Samus Y position]
$91:ED11 AD 20 0B LDA $0B20 [$7E:0B20] ;\
$91:ED14 F0 0C BEQ $0C [$ED22] ;} If [$0B20] != 0:
$91:ED16 9C 20 0B STZ $0B20 [$7E:0B20] ; $0B20 = 0
$91:ED14 F0 0C BEQ $0C [$ED22] ;} If [morph ball bounce state] != not bouncing:
$91:ED16 9C 20 0B STZ $0B20 [$7E:0B20] ; Morph ball bounce state = not bouncing
$91:ED19 9C 2C 0B STZ $0B2C [$7E:0B2C] ;\
$91:ED1C 9C 2E 0B STZ $0B2E [$7E:0B2E] ;} Samus Y speed = 0.0
$91:ED1F 9C 36 0B STZ $0B36 [$7E:0B36] ; Samus Y direction = 0

$91:ED22 60 RTS
$91:ED22 60 RTS ; Return

; BRANCH_AIMING
$91:ED23 C9 F1 00 CMP #$00F1 ;\
Expand Down Expand Up @@ -11959,6 +11954,7 @@ $91:F3A9 60 RTS
;;; $F3AA: ;;;
{
; $0A32 = 7
; This just clamps scrolling speed, why is this done via $0A32 handler instead of in $9B:CB8B?
$91:F3AA AD F6 0A LDA $0AF6 [$7E:0AF6] ;\
$91:F3AD 38 SEC ;|
$91:F3AE ED 10 0B SBC $0B10 [$7E:0B10] ;} If [Samus X position] >= [Samus previous X position]:
Expand Down Expand Up @@ -12506,49 +12502,52 @@ $91:F757 60 RTS

;;; $F758: Initialise Samus pose - crouching/standing/morphing/unmorphing transition ;;;
{
$91:F758 AD 1C 0A LDA $0A1C [$7E:0A1C]
$91:F75B C9 F1 00 CMP #$00F1
$91:F75E 10 1F BPL $1F [$F77F]
$91:F760 C9 DB 00 CMP #$00DB
$91:F763 10 10 BPL $10 [$F775]
$91:F765 38 SEC
$91:F766 E9 35 00 SBC #$0035
$91:F769 0A ASL A
$91:F76A AA TAX
$91:F758 AD 1C 0A LDA $0A1C [$7E:0A1C] ;\
$91:F75B C9 F1 00 CMP #$00F1 ;} If [Samus pose] >= F1h: go to BRANCH_AIMING
$91:F75E 10 1F BPL $1F [$F77F] ;/
$91:F760 C9 DB 00 CMP #$00DB ;\
$91:F763 10 10 BPL $10 [$F775] ;} If [Samus pose] >= DBh: go to BRANCH_UNUSED
$91:F765 38 SEC ;\
$91:F766 E9 35 00 SBC #$0035 ;|
$91:F769 0A ASL A ;} X = ([Samus pose] - 35h) * 2
$91:F76A AA TAX ;/

$91:F76B A9 07 00 LDA #$0007 ;\
$91:F76E 8D 2E 0A STA $0A2E [$7E:0A2E] ;} $0A2E = 7
$91:F771 FC 90 F7 JSR ($F790,x)[$91:F7B0]
$91:F774 60 RTS
$91:F771 FC 90 F7 JSR ($F790,x)[$91:F7B0]; Execute [$F790 + [X]]
$91:F774 60 RTS ; Return

$91:F775 38 SEC
$91:F776 E9 DB 00 SBC #$00DB
$91:F779 0A ASL A
$91:F77A AA TAX
$91:F77B FC A8 F7 JSR ($F7A8,x)
$91:F77E 60 RTS
; BRANCH_UNUSED
$91:F775 38 SEC ;\
$91:F776 E9 DB 00 SBC #$00DB ;|
$91:F779 0A ASL A ;} Execute [$F7A8 + ([Samus pose] - DBh) * 2]
$91:F77A AA TAX ;|
$91:F77B FC A8 F7 JSR ($F7A8,x) ;/
$91:F77E 60 RTS ; Return

$91:F77F C9 F7 00 CMP #$00F7
$91:F782 10 05 BPL $05 [$F789]
$91:F784 A2 00 00 LDX #$0000
$91:F787 80 E2 BRA $E2 [$F76B]
; BRANCH_AIMING
$91:F77F C9 F7 00 CMP #$00F7 ;\
$91:F782 10 05 BPL $05 [$F789] ;} If [Samus pose] = crouching transition - aiming:
$91:F784 A2 00 00 LDX #$0000 ;\
$91:F787 80 E2 BRA $E2 [$F76B] ;} Execute $F7B0

; BRANCH_AIMING_STANDING
$91:F789 A9 07 00 LDA #$0007 ;\
$91:F78C 8D 2E 0A STA $0A2E [$7E:0A2E] ;} $0A2E = 7
$91:F78F 60 RTS

$91:F790 dw F7B0, ; Facing right - crouching transition / crouching transition - aiming
F7B0, ; Facing left - crouching transition
F7CE, ; Facing right - morphing transition
F7CE, ; Facing left - morphing transition
F7F4, ; Unused
F840, ; Unused
F7CC, ; Facing right - standing transition
F7CC, ; Facing left - standing transition
F7CC, ; Facing right - unmorphing transition
F7CC, ; Facing left - unmorphing transition
F7CC, ; Unused
F7CC ; Unused
$91:F790 dw F7B0, ; 35h: Facing right - crouching transition / crouching transition - aiming
F7B0, ; 36h: Facing left - crouching transition
F7CE, ; 37h: Facing right - morphing transition
F7CE, ; 38h: Facing left - morphing transition
F7F4, ; 39h: Unused
F840, ; 3Ah: Unused
F7CC, ; 3Bh: Facing right - standing transition
F7CC, ; 3Ch: Facing left - standing transition
F7CC, ; 3Dh: Facing right - unmorphing transition
F7CC, ; 3Eh: Facing left - unmorphing transition
F7CC, ; 3Fh: Unused
F7CC ; 40h: Unused

; Unused poses DBh..DEh
$91:F7A8 dw F7CE, F7CE, F7CC, F7CC
Expand Down

0 comments on commit 2b19ae8

Please sign in to comment.