Prev: D562 Up: Map Next: D587
D56C: Unused: a blip at a pitch chosen by the turn counter
No code or table holds this address, and no session ran it. The 27 bytes decode cleanly up to BLIP_PITCHES: BC = the address of BLIP_PITCHES; BIT 1,(IX+$07); RES 1,(IX+$07); RET Z; A = TURNS AND 15; B = the byte at BC plus that; C = 12; JP BEEP. So: if bit 1 of the object's flags was set, clear it and play twelve waves at one of sixteen pitches, picked by the turn counter.
It looks like Knight Lore's blip for the movable block, which plays four waves at one of eight pitches picked by the frame counter every frame; here it is gated on a flag bit and left unused. Bit 1 of the flags is the one the collision code sets on the record it is moving (ADJ_FOR_OUT_OF_BOUNDS) and on a puff (START_PUFF).
Input
IX an object record
BLIP_BY_TURN D56C LD BC,BLIP_PITCHES
D56F BIT 1,(IX+$07)
D573 RES 1,(IX+$07)
D577 RET Z
D578 LD A,(TURNS)
D57B AND $0F
D57D LD L,A
D57E LD H,$00
D580 ADD HL,BC
D581 LD B,(HL)
D582 LD C,$0C
D584 JP BEEP
Prev: D562 Up: Map Next: D587