Prev: 26796 Up: Map Next: 26856
26797: Routine at 68AD
Used by the routines at 27308, 27648, 28184, 30268 and 30423.
RemoveSprite 26797 LD A,(30747) Return if *30747 is zero.
26800 AND A
26801 RET Z
26802 LD HL,(30748) HL=*30748.
26805 LD B,A B=A.
26806 LD C,0 C=0.
RemoveSprite_0 26808 DEC HL Decrease HL by one.
26809 LD D,(HL) D=*HL.
26810 DEC HL Decrease HL by one.
26811 LD E,(HL) E=*HL.
26812 DEC HL Decrease HL by one.
26813 LD A,(HL) A=*HL.
26814 LD (DE),A Write A to *DE.
26815 DEC HL Decrease HL by one.
26816 LD A,D A=D.
26817 SUB 17 A-=17.
26819 OR %00000111 Set bits 0-2.
26821 LD D,A D=A.
26822 EX DE,HL Exchange the DE and HL registers.
26823 LD (HL),C Write C to *HL.
26824 DEC H Decrease H by one.
26825 LD A,(DE) A=*DE.
26826 LD (HL),A Write A to *HL.
26827 DEC DE Decrease DE by one.
26828 DEC H Decrease H by one.
26829 LD (HL),C Write C to *HL.
26830 DEC H Decrease H by one.
26831 LD A,(DE) A=*DE.
26832 LD (HL),A Write A to *HL.
26833 DEC DE Decrease DE by one.
26834 DEC H Decrease H by one.
26835 LD (HL),C Write C to *HL.
26836 DEC H Decrease H by one.
26837 LD A,(DE) A=*DE.
26838 LD (HL),A Write A to *HL.
26839 DEC DE Decrease DE by one.
26840 DEC H Decrease H by one.
26841 LD (HL),C Write C to *HL.
26842 DEC H Decrease H by one.
26843 LD A,(DE) A=*DE.
26844 LD (HL),A Write A to *HL.
26845 EX DE,HL Exchange the DE and HL registers.
26846 DJNZ RemoveSprite_0 Decrease counter by one and loop back to RemoveSprite_0 until counter is zero.
26848 LD (30748),HL Write HL to *30748.
26851 XOR A Write 0 to *30747.
26852 LD (30747),A
26855 RET Return.
Prev: 26796 Up: Map Next: 26856