Prev: 30132 Up: Map Next: 30203
30156: Print a reprimand message
Used by the routine at 30464. Generates the graphic data for the text of a reprimand message (e.g. 'NOW FIND A SEAT') in the buffer at 60416, and then copies the buffer to the screen.
Input
A Reprimand message identifier (0-15)
DE Attribute file address
30156 PUSH DE Save the attribute file address
30157 RRCA Point HL at the appropriate message
30158 RRCA
30159 LD H,A
30160 AND 192
30162 SCF
30163 RRA
30164 LD L,A
30165 LD A,H
30166 AND 3
30168 ADD A,219
30170 LD H,A
Now HL points at the appropriate message.
A HL Message
0 56192 DON'T SIT ON THE STAIRS
1 56224 THE ROOM IS PRIVATE
2 56256 GET TO WHERE YOU SHOULD BE
3 56288 NOW FIND A SEAT
4 56448 GET OFF THE FLOOR
5 56480 COME ALONG WITH ME BOY
6 56512 HURRY UP YOU HORROR
7 56544 DON'T TRY MY PATIENCE BOY
8 56704 NOW DON'T DO IT AGAIN
9 56736 DON'T TELL TALES
10 56768 NEVER BE LATE AGAIN
11 56800 AND STAY THIS TIME
12 56960 DON'T TOUCH BLACKBOARDS
13 56992 CATAPULTS ARE FORBIDDEN
14 57024 DON'T HIT YOUR MATES
15 57056 YOU ARE NOT A KANGAROO
30171 PUSH HL Save the message address
30172 LD DE,60464 60464=appropriate lines bubble graphic buffer address for the first line of the message
30175 CALL 30042 Write the first line of the message
30178 CALL 30132 Draw the left and right edges of the bubble
30181 POP HL Restore the message address to HL
30182 LD A,L Point HL at the second half of the message
30183 ADD A,16
30185 LD L,A
30186 LD DE,60528 60528=appropriate lines bubble graphic buffer address for the second line of the message
30189 CALL 30042 Write the second line of the message
30192 CALL 30132 Draw the left and right edges of the bubble
30195 LD B,0 Prepare B for the routine at 30001
30197 LD HL,60440 60440=first byte of the graphic data in the lines bubble graphic buffer
30200 JP 30001 Transfer the lines bubble graphic data to the screen (the lines bubble attribute bytes are already on-screen)
Prev: 30132 Up: Map Next: 30203