Prev: 691D Up: Map Next: 693D
691E: Remove the speech bubble
Used by the routine at 6A08. Sets the bits in the screen refresh buffer (SRB) that correspond to the the speech bubble and lip, so that they are removed (replaced by play area tiles) next time the display is updated.
691E PUSH HL
691F CALL $68E1 Reset the bits in the SRB corresponding to speech bubble
6922 LD L,$F8 HL=7FF8, which holds the LSB of the SRB address corresponding to the lip of the speech bubble (if any); pick this up in A
6924 LD A,(HL)
6925 AND A Is the speech bubble on-screen?
6926 JR Z,$693B Jump if not
6928 LD (HL),$00 Signal: no one's talking now
692A LD L,A HL points to the SRB byte corresponding to the lip of the speech bubble
692B LD A,($7FF9) The bit set in A is the bit of that SRB byte that corresponds to the lip's location
692E OR (HL) Update the speech bubble lip SRB byte with this bit set (forcing a refresh of the screen where the lip is)
692F LD (HL),A
6930 LD A,L Update the SRB for where the bottom line of the speech bubble is
6931 ADD A,$FC
6933 LD L,A
6934 LD (HL),$FF
6936 ADD A,$FC Update the SRB for where the top line of the speech bubble is
6938 LD L,A
6939 LD (HL),$FF
693B POP HL
693C RET
Prev: 691D Up: Map Next: 693D