Prev: 29037 Up: Map Next: 29116
29040: Mask Sprite
MaskSprite 29040 LD A,C Jump to 29131 if the vertical position is zero.
29041 AND A
29042 JR Z,29131
29044 DEC C Decrease C by one.
29045 PUSH HL Stash HL on the stack.
29046 LD A,(24128) B=24128.
29049 LD B,A
29050 EX DE,HL
29051 PUSH DE
29052 LD D,(HL)
29053 INC HL
29054 LD E,(HL)
29055 INC HL
29056 AND A
29057 JR Z,29037
29059 EX DE,HL
29060 XOR A
MaskSprite_0 29061 ADD HL,HL
29062 ADC A,A
29063 DJNZ MaskSprite_0
29065 EX DE,HL
29066 EX (SP),HL
29067 CPL
29068 AND (HL)
29069 LD (HL),A
29070 INC L
This entry point is used by the routine at 29037.
MaskSprite_1 29071 LD A,D
29072 CPL
29073 AND (HL)
29074 LD (HL),A
29075 INC L
29076 LD A,E
29077 CPL
29078 AND (HL)
29079 LD (HL),A
29080 POP DE
29081 POP HL
29082 CALL ScreenPos1PixelAbove Call ScreenPos1PixelAbove.
29085 EXX
29086 LD A,C
29087 AND A
29088 JR Z,DrawTwoBytes_0
This entry point is used by the routine at 29131.
MaskSprite_2 29090 DEC C
29091 PUSH HL
29092 LD A,(24129) B=24129.
29095 LD B,A
29096 EX DE,HL
29097 PUSH DE Stash DE on the stack.
29098 LD D,(HL)
29099 INC HL
29100 LD E,(HL)
29101 INC HL
29102 AND A
29103 JR Z,29162
29105 EX DE,HL
29106 XOR A
MaskSprite_3 29107 ADD HL,HL
29108 ADC A,A
29109 DJNZ MaskSprite_3
29111 EX DE,HL
29112 EX (SP),HL
29113 OR (HL)
29114 LD (HL),A
29115 INC L
Prev: 29037 Up: Map Next: 29116