Prev: EEA6 Up: Map Next: F001
EED7: Routine at EED7
EED7 LD DE,$A0EC DE=A0EC.
EEDA LD HL,$A06C HL=Graphics_MaskSprite.
EEDD LD BC,$0080 BC=0080.
EEE0 LDIR Copy 0080 bytes of data from *HL to *DE.
EEE2 LD A,$10 Set INK: *IX+09.
EEE4 RST $10
EEE5 LD A,(IX+$09)
EEE8 RST $10
EEE9 LD HL,($5C36) HL=*CHARS.
EEEC PUSH HL Stash HL on the stack.
EEED PUSH IY Stash IY on the stack.
EEEF PUSH IX Stash IX on the stack.
EEF1 LD E,(IX+$06) E=*IX+06.
EEF4 LD D,$00 D=00.
EEF6 SLA E Shift E left (with carry).
EEF8 RL D Rotate D left.
EEFA SLA E Shift E left (with carry).
EEFC RL D Rotate D left.
EEFE SLA E Shift E left (with carry).
EF00 RL D Rotate D left.
EF02 ADD HL,DE HL+=DE.
EF03 LD B,(IX+$02) B=*IX+02.
EF06 INC B Increment B by one.
EF07 LD C,$00 C=00.
EF09 LD ($F332),BC Write BC to *F332.
EF0D LD E,(IX+$07) E=*IX+07.
EF10 LD D,(IX+$08) D=*IX+08.
EF13 LD A,D A=D.
EF14 INC A Increment A by one.
EF15 SLA A Shift A left three positions (with carry).
EF17 SLA A
EF19 SLA A
EF1B LD C,A C=A.
EF1C LD B,$00 B=00.
EF1E LD IY,$A0F4 IY=A0F4.
EF22 ADD IY,BC IY+=BC.
EF24 LD C,E C=E.
EF25 SLA C Shift C left (with carry).
EF27 SLA C Shift C left (with carry).
EF29 SLA C Shift C left (with carry).
EF2B LD B,$00 B=00.
EF2D LD ($F33C),BC Write BC to *F33C.
EF31 LD IX,$A0F4 IX=A0F4.
EF35 PUSH HL Stash HL, DE and HL on the stack.
EF36 PUSH DE
EF37 PUSH HL
EF38 LD B,$08 B=08.
EF3A PUSH BC Stash BC on the stack.
EF3B LD A,(HL) A=*HL.
EF3C LD BC,($F332) BC=*F332.
EF40 SLA A Shift A left (with carry).
EF42 RL C Rotate C left.
EF44 SLA A Shift A left (with carry).
EF46 RL C Rotate C left.
EF48 DJNZ $EF40 Decrease counter by one and loop back to EF40 until counter is zero.
EF4A LD (IY+$00),A Write A to *IY+00.
EF4D LD A,C A=C.
EF4E OR (IX+$00) Set the bits of A with *IX+00.
EF51 LD (IX+$00),A Write A to *IX+00.
EF54 INC HL Increment HL by one.
EF55 INC IX Increment IX by one.
EF57 INC IY Increment IY by one.
EF59 POP BC Restore BC from the stack.
EF5A DJNZ $EF3A Decrease counter by one and loop back to EF3A until counter is zero.
EF5C POP HL Restore HL from the stack.
EF5D LD BC,($F33C) HL+=*F33C.
EF61 ADD HL,BC
EF62 DEC D Decrease D by one.
EF63 JR NZ,$EF37 Jump to EF37 until D is zero.
EF65 POP DE Restore DE from the stack.
EF66 LD BC,$0008 BC=0008.
EF69 ADD IX,BC IX+=BC.
EF6B ADD IY,BC IY+=BC.
EF6D POP HL Restore HL from the stack.
EF6E ADD HL,BC HL+=BC.
EF6F DEC E Decrease E by one.
EF70 JR NZ,$EF35 Jump to EF35 until E is zero.
EF72 LD HL,$9FEC HL=Graphics_GoldfishGamePlayer.
EF75 POP IX Restore IX from the stack.
EF77 LD A,(IX+$03) A=*IX+03.
EF7A INC A Increment A by one.
EF7B SLA A Shift A left (with carry).
EF7D LD E,A E=A.
EF7E LD D,$00 D=00.
EF80 ADD HL,DE HL+=DE.
EF81 LD ($5C36),HL Write HL to *CHARS.
EF84 LD D,(IX+$08) D=*IX+08.
EF87 LD E,(IX+$07) E=*IX+07.
EF8A LD A,(IX+$02) Jump to EF92 if *IX+02 is equal to 03.
EF8D CP $03
EF8F JR Z,$EF92
EF91 INC E Increment E by one.
EF92 INC D Increment D by one.
EF93 LD A,D A=D.
EF94 LD ($F33E),A Write A to *F33E.
EF97 LD A,$03 Jump to EF9F if 03 is not equal to *IX+03.
EF99 CP (IX+$03)
EF9C JR NZ,$EF9F
EF9E DEC D Decrease D by one.
EF9F LD B,(IX+$01) B=*IX+01.
EFA2 LD C,(IX+$00) C=*IX+00.
EFA5 LD A,D A=D.
EFA6 LD A,$20 A=20.
EFA8 POP IY Restore IY from the stack.
EFAA LD A,$20 A=20.
EFAC PUSH AF Stash AF, DE and BC on the stack.
EFAD PUSH DE
EFAE PUSH BC
EFAF LD D,A D=A.
EFB0 LD A,C Jump to EFE9 if C is higher than 22.
EFB1 CP $22
EFB3 JR NC,$EFE9
EFB5 PUSH DE Stash DE on the stack.
EFB6 CALL $0DD9 Call CL_SET.
EFB9 POP DE Restore DE and BC from the stack.
EFBA POP BC
EFBB PUSH BC Stash BC on the stack.
EFBC LD A,D A=D.
EFBD CALL PrintColourCharacter Call PrintColourCharacter.
EFC0 LD A,C Call EFDC if C is equal to 02.
EFC1 CP $02
EFC3 CALL Z,$EFDC
EFC6 DEC C Decrease C by one.
EFC7 LD A,($F33E) D+=*F33E.
EFCA ADD A,D
EFCB LD D,A
EFCC DEC E Decrease E by one.
EFCD JR NZ,$EFBD Jump to EFBD until E is zero.
EFCF POP BC Restore BC, DE and AF from the stack.
EFD0 POP DE
EFD1 POP AF
EFD2 DEC B Decrease B by one.
EFD3 INC A Increment A by one.
EFD4 DEC D Decrease D by one.
EFD5 JR NZ,$EFAC Jump to EFAC until D is zero.
EFD7 POP HL Restore HL from the stack.
EFD8 LD ($5C36),HL Write HL to *CHARS.
EFDB RET Return.
EFDC DEC E Decrease E by one.
EFDD PUSH AF Stash AF on the stack.
EFDE INC E Increment E by one.
EFDF POP AF Restore AF from the stack.
EFE0 RET Z Return if E is zero.
EFE1 DEC E Decrease E by one.
EFE2 LD A,($F33E) D+=*F33E.
EFE5 ADD A,D
EFE6 LD D,A
EFE7 JR $EFDC Jump to EFDC.
EFE9 LD A,($F33E) D+=*F33E.
EFEC ADD A,D
EFED LD D,A
EFEE DEC E Decrease E by one.
EFEF JP Z,$EFFB Jump to EFFB if E is zero.
EFF2 DEC C Decrease C by one.
EFF3 LD A,C Jump to EFE9 if C is higher than 22.
EFF4 CP $22
EFF6 JR NC,$EFE9
EFF8 JP $EFB5 Jump to EFB5.
EFFB POP BC Restore BC, BC and BC from the stack.
EFFC POP BC
EFFD POP BC
EFFE JP $EFD7 Jump to EFD7.
Prev: EEA6 Up: Map Next: F001