Back to Skool Routines
26910: Update SRB to remove speech bubble
Used by the routine at 27144. Sets the bits in the screen refresh buffer (SRB) that correspond to the location of the speech bubble and lip. Returns with the carry flag set if the speech bubble was on-screen, reset otherwise (though this flag is not used by the caller).
26910 PUSH HL
26911 CALL 26849 Reset the bits in the SRB corresponding to speech bubble
26914 LD L,248 HL=32760, which holds the LSB of the SRB address corresponding to the lip of the speech bubble (if any); pick this up in A
26916 LD A,(HL)
26917 AND A Is the speech bubble on-screen?
26918 JR Z,26939 Jump if not
26920 LD (HL),0 Signal: no one's talking now
26922 LD L,A HL points to the SRB byte corresponding to the lip of the speech bubble
26923 LD A,(32761) The bit set in A is the bit of that SRB byte that corresponds to the lip's location
26926 OR (HL) Update the speech bubble lip SRB byte with this bit set (forcing a refresh of the screen where the lip is)
26927 LD (HL),A
26928 LD A,L Update SRB for where the bottom line of the speech bubble is
26929 ADD A,252
26931 LD L,A
26932 LD (HL),255
26934 ADD A,252 Update SRB for where the top line of the speech bubble is
26936 LD L,A
26937 LD (HL),255
26939 POP HL
26940 RET