Prev: B6C0 Up: Map Next: B702
B6CE: The robot's footstep
Used by the routine at HANDLE_FORWARD.
For the legs (HANDLE_FORWARD), on every other frame of the walk: those with bit 0 of the graphic clear. FOOTSTEP_NOW skips that test (TURNING_LEGS). The pitch alternates by bit 1 of the turn counter between a fixed half-wave count of 96 and one from the height, the tick-tock of two feet; the number of waves is (U/2 + (256-V)/2)/16, which comes out longer towards plus U and shorter towards plus V. Knight Lore's sound_footstep.
BEEP, its end, is the common tail of the sound effects: C waves at a half-wave count of B. A C of 0 would mean 256 waves.
Input
IX the legs
FOOTSTEP B6CE LD A,(IX+$00) only on even walking frames
B6D1 AND $01
B6D3 RET NZ
This entry point is used by the routine at TURNING_LEGS.
FOOTSTEP_NOW B6D4 LD B,$60 a pitch of 96, and the turn counter
B6D6 LD A,(TURNS)
This entry point is used by the routine at LOWER_HALF_STEP.
FOOTSTEP_PITCH B6D9 BIT 1,A on alternate pairs of turns, a pitch from the height instead
B6DB JR Z,FOOTSTEP_0
B6DD LD A,(IX+$03)
B6E0 ADD A,$40
B6E2 CPL
B6E3 SRL A
B6E5 LD B,A
FOOTSTEP_0 B6E6 LD A,(IX+$01) C = the number of waves, from U and V
B6E9 SRL A
B6EB LD C,A
B6EC LD A,(IX+$02)
B6EF NEG
B6F1 SRL A
B6F3 ADD A,C
B6F4 RRCA
B6F5 RRCA
B6F6 RRCA
B6F7 RRCA
B6F8 AND $0F
B6FA LD C,A
This entry point is used by the routines at SPARKLE_SOUND, THUD_SOUND, BEEP_BY_Z, CRASH_SOUND, PLAIN_BEEP, PAUSE_BEEP and HIGH_BEEP.
BEEP B6FB CALL CLICK C waves of half-wave count B
B6FE DEC C
B6FF JR NZ,BEEP
B701 RET
Prev: B6C0 Up: Map Next: B702