Routines
 Prev: 29385 Up: Map Next: 29441
29394: Update the SRB for the middle six columns of the speech bubble
 Used by the routines at 29746 and 62714. Returns with the carry flag set if the speech bubble is off-screen. 29394 LD DE,(32612) Copy the speech bubble lip coordinates from 32612 to DE 29398 LD A,E Now E holds the x-coordinate of the left edge of the speech bubble 29399 AND 248 29401 LD E,A 29402 LD A,(32512) A=leftmost column of the skool on screen (0-64) 29405 SUB E Is the speech bubble at the far left of the screen? 29406 JR Z,29418 Jump if so 29408 CCF Return with the carry flag set if the speech bubble is off-screen to the left 29409 RET C 29410 CP 225 Return with the carry flag set if the speech bubble is off-screen to the right 29412 RET C 29413 NEG A=1, 2 or 3 (corresponding to the quadrant of the screen containing the speech bubble) 29415 RRCA 29416 RRCA 29417 RRCA 29418 LD E,A E=0-3 (quadrant of the screen containing the speech bubble) 29419 LD A,D Point DE at the byte of the screen refresh buffer corresponding to the top row of the speech bubble 29420 SUB 151 29422 ADD A,A 29423 ADD A,A 29424 ADD A,E 29425 LD E,A 29426 LD D,127 29428 LD A,(DE) Set bits 1-6 of this screen refresh buffer byte (so that the part of the screen hidden by the middle 6 UDGs of the top row of the speech bubble will be refreshed) 29429 OR 126 29431 LD (DE),A 29432 LD A,E Point DE at the byte of the screen refresh buffer corresponding to the bottom row of the speech bubble 29433 ADD A,4 29435 LD E,A 29436 LD A,(DE) Set bits 1-6 of this screen refresh buffer byte (so that the part of the screen hidden by the middle 6 UDGS of the bottom row of the speech bubble will be refreshed) 29437 OR 126 29439 LD (DE),A 29440 RET Return with the carry flag reset
 Prev: 29385 Up: Map Next: 29441