Prev: 98E5 Up: Map Next: 9975
993A: Print Graphic
Used by the routines at DisplayTitleScreen, RemoveSpeechBubble and PrintGirl.
PrintGraphic 993A LD A,$08 A=08.
PrintGraphic_0 993C PUSH HL Stash HL, BC and AF on the stack.
993D PUSH BC
993E PUSH AF
PrintGraphic_1 993F LD A,(DE) A=*DE.
9940 LD (HL),A Write A to *HL.
9941 INC HL Increment HL by one.
9942 INC DE Increment DE by one.
9943 DJNZ PrintGraphic_1 Decrease counter by one and loop back to PrintGraphic_1 until counter is zero.
9945 POP AF Restore AF, BC and HL from the stack.
9946 POP BC
9947 POP HL
9948 PUSH AF Stash AF on the stack.
9949 LD A,H A=H.
994A RES 3,A Reset bit 3 of A.
994C CP $47 Jump to PrintGraphic_2 if A is not equal to 47.
994E JR NZ,PrintGraphic_2
9950 LD A,L Jump to PrintGraphic_2 if L is lower than E0.
9951 CP $E0
9953 JR C,PrintGraphic_2
9955 PUSH DE Stash DE on the stack.
9956 LD DE,$0020 DE=0020.
9959 ADD HL,DE HL+=DE.
995A POP DE Restore DE and AF from the stack.
995B POP AF
995C LD A,$08 A=08.
995E JR PrintGraphic_3 Jump to PrintGraphic_3.
PrintGraphic_2 9960 POP AF Restore AF from the stack.
9961 DEC A Decrease A by one.
9962 CALL Z,PrintGraphic_4 Call PrintGraphic_4 if A is zero.
9965 INC H Increment H by one.
PrintGraphic_3 9966 DEC C Decrease C by one.
9967 JR NZ,PrintGraphic_0 Jump to PrintGraphic_0 until C is zero.
9969 RET Return.
PrintGraphic_4 996A PUSH DE Stash DE on the stack.
996B LD DE,$07E0 DE=07E0.
996E XOR A Reset the flags.
996F SBC HL,DE HL-=DE (with carry).
9971 POP DE Restore DE from the stack.
9972 LD A,$08 A=08.
9974 RET Return.
Prev: 98E5 Up: Map Next: 9975