Prev: 39141 Up: Map Next: 39285
39226: Print Graphic
Used by the routines at DisplayTitleScreen, RemoveSpeechBubble and PrintGirl.
PrintGraphic 39226 LD A,8 A=8.
PrintGraphic_0 39228 PUSH HL Stash HL, BC and AF on the stack.
39229 PUSH BC
39230 PUSH AF
PrintGraphic_1 39231 LD A,(DE) A=*DE.
39232 LD (HL),A Write A to *HL.
39233 INC HL Increment HL by one.
39234 INC DE Increment DE by one.
39235 DJNZ PrintGraphic_1 Decrease counter by one and loop back to PrintGraphic_1 until counter is zero.
39237 POP AF Restore AF, BC and HL from the stack.
39238 POP BC
39239 POP HL
39240 PUSH AF Stash AF on the stack.
39241 LD A,H A=H.
39242 RES 3,A Reset bit 3 of A.
39244 CP 71 Jump to PrintGraphic_2 if A is not equal to 71.
39246 JR NZ,PrintGraphic_2
39248 LD A,L Jump to PrintGraphic_2 if L is lower than 224.
39249 CP 224
39251 JR C,PrintGraphic_2
39253 PUSH DE Stash DE on the stack.
39254 LD DE,32 DE=0032.
39257 ADD HL,DE HL+=DE.
39258 POP DE Restore DE and AF from the stack.
39259 POP AF
39260 LD A,8 A=8.
39262 JR PrintGraphic_3 Jump to PrintGraphic_3.
PrintGraphic_2 39264 POP AF Restore AF from the stack.
39265 DEC A Decrease A by one.
39266 CALL Z,PrintGraphic_4 Call PrintGraphic_4 if A is zero.
39269 INC H Increment H by one.
PrintGraphic_3 39270 DEC C Decrease C by one.
39271 JR NZ,PrintGraphic_0 Jump to PrintGraphic_0 until C is zero.
39273 RET Return.
PrintGraphic_4 39274 PUSH DE Stash DE on the stack.
39275 LD DE,2016 DE=2016.
39278 XOR A Reset the flags.
39279 SBC HL,DE HL-=DE (with carry).
39281 POP DE Restore DE from the stack.
39282 LD A,8 A=8.
39284 RET Return.
Prev: 39141 Up: Map Next: 39285