| Routines

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)