Prev: 7125 Up: Map Next: 72F5
7130: New Actor
Input
IX Item object
NewActor 7130 LD HL,$5E19 Increment RandomNumber by one.
7133 INC (HL)
7134 LD DE,$0008 Set offset.
7137 ADD IX,DE Set IX to next group of bytes.
7139 PUSH IX Copy IX to HL using the stack.
713B POP HL
The self-modifying code routines change the address here to be either;
Altering Routine Alteration
ResetModifiedCode 5EEC
713C LD BC,$5EEC BC=5EEC.
713F AND A Clear the carry flag
7140 SBC HL,BC
7142 JP C,MainLoop
Holding "SHIFT" pauses the game.
NewActor_0 7145 LD A,$FE Read from the keyboard;
Port Number Bit
0 1 2 3 4
FE SHIFT Z X C V
7147 OUT ($FD),A
7149 IN A,($FE)
714B BIT 0,A Has the "SHIFT" key been pressed?
714D JR Z,NewActor_0 If it has then jump to NewActor_0.
714F LD HL,($5E17) HL=see 711E.
7152 INC HL
7153 LD ($5E17),HL
7156 LD H,$00
7158 LD A,R
715A LD C,A
715B LD A,($5E19)
715E ADD A,(HL)
715F ADD A,C
7160 LD ($5E19),A
7163 EX AF,AF'
7164 LD A,($5E16)
7167 CP $03
7169 JR C,NewActor_1
716B LD A,($5E37)
716E CP $06
7170 JR NC,NewActor_1
7172 EX AF,AF'
7173 AND $1F
7175 JR NZ,NewActor_4
7177 LD A,($5E16)
717A CP $06
717C JR NC,NewActor_4
NewActor_1 717E LD A,($5E22)
7181 AND A
7182 JR NZ,NewActor_4
7184 LD A,($5E17)
7187 AND $0F
7189 CP $0A
718B JR NC,NewActor_4
718D LD C,A
718E LD B,$00
7190 LD HL,$5E23
7193 ADD HL,BC
7194 LD A,(HL)
7195 AND A
7196 JR NZ,NewActor_4
7198 LD A,($5E8C)
719B CP $13
719D JR Z,NewActor_4
719F LD A,C
71A0 LD ($5E13),A
71A3 LD A,($5E6C)
71A6 AND $3F
71A8 DEC A
71A9 JR Z,NewActor_2
71AB DEC A
71AC JR NZ,NewActor_4
NewActor_2 71AE LD HL,$5EB4
71B1 LD B,$06
71B3 LD DE,$0008
NewActor_3 71B6 LD A,(HL)
71B7 AND A
71B8 JP Z,NewActor_11
71BB ADD HL,DE
71BC DJNZ NewActor_3
NewActor_4 71BE LD A,($5E3C)
71C1 AND A
71C2 JP NZ,NewActor_8
71C5 LD A,($5E19)
71C8 AND A
71C9 JP NZ,Message_SprayBugs_0
71CC LD A,($5E17)
71CF AND $0F
71D1 CP $0A
71D3 JP NC,Message_SprayBugs_0
71D6 LD C,A
71D7 LD B,$00
71D9 LD HL,$5E23
71DC ADD HL,BC
71DD LD A,(HL)
71DE AND A
71DF JP NZ,Message_SprayBugs_0
71E2 LD (HL),$FF
71E4 LD IX,$5E3C
71E8 LD A,C
71E9 CP $05
71EB JR NC,NewActor_10
71ED LD (IX+$01),$08
NewActor_5 71F1 RRCA
71F2 RRCA
71F3 RRCA
71F4 AND $E0
71F6 ADD A,$37
71F8 LD (IX+$02),A
71FB LD A,R
71FD AND $03
71FF CP $03
7201 JR NZ,NewActor_6
7203 XOR A
NewActor_6 7204 ADD A,$0B
7206 LD (IX+$04),$FF
720A LD (IX+$00),A
720D LD (IX+$03),$43
7211 LD (IX+$05),C
NewActor_7 7214 CALL $64E7
7217 JP Message_SprayBugs_0
NewActor_8 721A LD IX,$5E3C
721E CALL $75B9
7221 LD C,(IX+$05)
7224 LD B,$00
7226 LD HL,$5E23
7229 ADD HL,BC
722A LD A,(HL)
722B CP (IX+$04)
722E JR NZ,NewActor_9
7230 CALL $74EB
7233 CALL ColouriseSprite
7236 LD A,($5E17)
7239 AND $03
723B JP NZ,Message_SprayBugs_0
723E LD A,(IX+$03)
7241 XOR $04
7243 LD (IX+$03),A
7246 JP Message_SprayBugs_0
NewActor_9 7249 LD (HL),$00
724B CALL $7526
724E LD BC,$1000
7251 CALL $737A
7254 LD (IX+$00),$00
7258 JR NewActor_7
NewActor_10 725A LD (IX+$01),$E8
725E SUB $05
7260 JR NewActor_5
NewActor_11 7262 PUSH HL
7263 EX DE,HL
7264 LD HL,$5F16
7267 LD BC,$0008
726A LDIR
726C POP IX
726E LD A,($5E13)
7271 CP $05
7273 JR NC,NewActor_16
7275 LD (IX+$01),$08
7279 SET 6,(IX+$00)
NewActor_12 727D RRCA
727E RRCA
727F RRCA
7280 AND $E0
7282 ADD A,$37
7284 LD (IX+$02),A
7287 LD A,($5E37)
728A CP $01
728C JR Z,NewActor_17
728E CP $02
7290 JR Z,NewActor_18
7292 CP $03
7294 JR Z,NewActor_19
7296 CP $04
7298 JR C,NewActor_13
729A LD A,R
NewActor_13 729C AND $03
729E LD C,A
729F SLA A
72A1 ADD A,C
72A2 LD C,A
72A3 LD B,$00
72A5 LD HL,$72E9
72A8 ADD HL,BC
72A9 LD A,(HL)
72AA LD (IX+$00),A
72AD INC HL
72AE LD A,($5E19)
72B1 BIT 6,A
72B3 JR Z,NewActor_14
72B5 INC HL
NewActor_14 72B6 LD A,(HL)
72B7 LD (IX+$03),A
72BA LD E,$00
72BC LD HL,$5E6E
72BF CALL BugCollision_0
72C2 DEC E
72C3 JR NZ,NewActor_15
72C5 LD (IX+$00),$00
NewActor_15 72C9 JP NewActor_4
NewActor_16 72CC LD (IX+$01),$E0
72D0 SUB $05
72D2 JR NewActor_12
NewActor_17 72D4 LD A,R
72D6 AND $01
72D8 JR NewActor_13
NewActor_18 72DA LD A,R
72DC AND $01
72DE INC A
72DF JR NewActor_13
NewActor_19 72E1 LD A,R
72E3 AND $01
72E5 OR $02
72E7 JR NewActor_13
72E9 RLCA
72EA LD B,H
72EB LD B,L
72EC LD A,(BC)
72ED LD B,C
72EE LD B,D
72EF ADD HL,BC
72F0 LD B,(HL)
72F1 LD B,E
72F2 RLCA
72F3 LD B,H
72F4 LD B,L
Prev: 7125 Up: Map Next: 72F5