![]() |
Routines |
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 |