Prev: DBE5 Up: Map Next: DCC2
DC4B: Routine at DC4B
Used by the routines at EE61 and F43E.
DC4B LD A,($E75E) A=*E75E.
DC4E DEC A Decrease A by one.
DC4F LD ($E760),A Write A to *E760.
DC52 LD A,($E761) B=*E761.
DC55 LD B,A
DC56 PUSH BC Stash BC on the stack.
DC57 LD A,($E75D) A=*E75D.
DC5A ADD A,$02 A+=02.
DC5C LD ($E75F),A Write A to *E75F.
DC5F LD B,$04 B=04.
DC61 PUSH BC Stash BC on the stack.
DC62 LD A,($E75F) B=*E75F.
DC65 LD B,A
DC66 LD A,($E760) C=*E760.
DC69 LD C,A
DC6A CALL Calculate_ScreenBlockAddress Call Calculate_ScreenBlockAddress.
DC6D PUSH HL Stash HL on the stack.
DC6E INC B Increment B by one.
DC6F CALL Calculate_ScreenBlockAddress Call Calculate_ScreenBlockAddress.
DC72 PUSH HL Stash HL on the stack.
DC73 POP DE Restore DE and HL from the stack.
DC74 POP HL
DC75 LD A,$08 A=08.
DC77 LD BC,$0004 BC=0004.
DC7A PUSH HL Stash HL, HL and DE on the stack.
DC7B PUSH HL
DC7C PUSH DE
DC7D LDIR LDIR.
DC7F DEC HL Decrease HL by one.
DC80 PUSH HL Stash HL on the stack.
DC81 LD (HL),C Write C to *HL.
DC82 POP DE Restore DE from the stack.
DC83 DEC DE Decrease DE by one.
DC84 LD BC,$0003 BC=0003.
DC87 LDDR LDDR.
DC89 POP DE Restore DE and HL from the stack.
DC8A POP HL
DC8B INC D Increment D by one.
DC8C INC H Increment H by one.
DC8D LD BC,$0004 BC=0004.
DC90 DEC A Decrease A by one.
DC91 JP NZ,$DC7B Jump to DC7B if A is not zero.
DC94 POP HL Restore HL from the stack.
DC95 CALL Calculate_AttributeAddress Call Calculate_AttributeAddress.
DC98 LD HL,$0020 HL=0020.
DC9B ADD HL,DE HL+=DE.
DC9C EX DE,HL Exchange the DE and HL registers.
DC9D LD BC,$0004 BC=0004.
DCA0 LDIR LDIR.
DCA2 LD BC,$0003 BC=0003.
DCA5 LD A,$47 A=47.
DCA7 DEC HL Decrease HL by one.
DCA8 LD (HL),A Write A to *HL.
DCA9 PUSH HL Stash HL on the stack.
DCAA POP DE Restore DE from the stack.
DCAB DEC DE Decrease DE by one.
DCAC LDDR LDDR.
DCAE LD HL,$E75F HL=E75F.
DCB1 DEC (HL) Decrease *HL by one.
DCB2 POP BC Restore BC from the stack.
DCB3 DJNZ $DC61 Decrease counter by one and loop back to DC61 until counter is zero.
DCB5 POP BC Restore BC from the stack.
DCB6 PUSH BC Stash BC on the stack.
DCB7 CALL $DD52 Call DD52.
DCBA LD HL,$E75D HL=E75D.
DCBD INC (HL) Increment *HL by one.
DCBE POP BC Restore BC from the stack.
DCBF DJNZ $DC56 Decrease counter by one and loop back to DC56 until counter is zero.
DCC1 RET Return.
Prev: DBE5 Up: Map Next: DCC2