![]() |
Routines |
| Prev: 6424 | Up: Map | Next: 64A4 |
|
Used by the routine at InitialiseLevel.
|
||||
| InitialiseGameObjects | 6440 | LD A,$0A | Set the number of game objects to process (0A). | |
| 6442 | NOP | No operation. | ||
| 6443 | LD C,A | Set a counter in C of the number of game objects. | ||
| 6444 | INC B | Increment B by one. | ||
| 6445 | INC C | Increment C by one. | ||
| 6446 | LD HL,$A01E | HL=A01E. | ||
| InitialiseGameObjects_0 | 6449 | PUSH HL | Stash HL on the stack. | |
| 644A | LD DE,$B400 | DE=B400. | ||
| 644D | DEC (HL) | Decrease *HL by one. | ||
| 644E | JR Z,InitialiseGameObjects_1 | Jump to InitialiseGameObjects_1 if *HL is zero. | ||
| 6450 | LD E,$24 | E=24. | ||
| 6452 | INC H | Increment H by one. | ||
| 6453 | DEC (HL) | Decrease *HL by one. | ||
| 6454 | JR Z,InitialiseGameObjects_1 | Jump to InitialiseGameObjects_1 if *HL is zero. | ||
| 6456 | LD E,$48 | E=48. | ||
| InitialiseGameObjects_1 | 6458 | POP HL | Restore HL from the stack. | |
| 6459 | PUSH HL | Stash HL on the stack. | ||
| 645A | INC L | Increment L by two. | ||
| 645B | INC L | |||
| 645C | JR NZ,InitialiseGameObjects_2 | Jump to InitialiseGameObjects_2 if L is not zero. | ||
| 645E | LD A,H | H+=05. | ||
| 645F | ADD A,$05 | |||
| 6461 | LD H,A | |||
| InitialiseGameObjects_2 | 6462 | INC L | Increment L by one. | |
| 6463 | LD A,(HL) | A=*HL. | ||
| 6464 | DEC A | Decrease A by one. | ||
| 6465 | JR Z,InitialiseGameObjects_3 | Jump to InitialiseGameObjects_3 if A is zero. | ||
| 6467 | INC H | Increment H by one. | ||
| 6468 | LD A,(HL) | A=*HL. | ||
| 6469 | DEC A | Decrease A by one. | ||
| 646A | LD A,$0C | A=0C. | ||
| 646C | JR Z,InitialiseGameObjects_3 | Jump to InitialiseGameObjects_3 if A was zero on line 6469. | ||
| 646E | LD A,$18 | E+=18. | ||
| InitialiseGameObjects_3 | 6470 | ADD A,E | ||
| 6471 | LD E,A | |||
| 6472 | POP HL | Restore HL from the stack. | ||
| 6473 | DEC H | Decrease H by one. | ||
| 6474 | LD B,$04 | B=04. | ||
| InitialiseGameObjects_4 | 6476 | LD A,(DE) | A=*DE. | |
| 6477 | LD (HL),A | Write A to *HL. | ||
| 6478 | INC H | Increment H by one. | ||
| 6479 | INC E | Increment E by one. | ||
| 647A | DJNZ InitialiseGameObjects_4 | Decrease counter by one and loop back to InitialiseGameObjects_4 until counter is zero. | ||
| 647C | DEC H | Decrease H by four. | ||
| 647D | DEC H | |||
| 647E | DEC H | |||
| 647F | DEC H | |||
| 6480 | INC L | Increment L by one. | ||
| 6481 | LD B,$04 | B=04. | ||
| InitialiseGameObjects_5 | 6483 | LD A,(DE) | A=*DE. | |
| 6484 | LD (HL),A | Write A to *HL. | ||
| 6485 | INC H | Increment H by one. | ||
| 6486 | INC E | Increment E by one. | ||
| 6487 | DJNZ InitialiseGameObjects_5 | Decrease counter by one and loop back to InitialiseGameObjects_5 until counter is zero. | ||
| 6489 | INC H | Increment H by one. | ||
| 648A | INC L | Increment L by one. | ||
| 648B | JR Z,InitialiseGameObjects_6 | Jump to InitialiseGameObjects_6 if L is zero. | ||
| 648D | LD A,H | H-=05. | ||
| 648E | SUB $05 | |||
| 6490 | LD H,A | |||
| InitialiseGameObjects_6 | 6491 | LD B,$04 | B=04. | |
| InitialiseGameObjects_7 | 6493 | LD A,(DE) | A=*DE. | |
| 6494 | LD (HL),A | Write A to *HL. | ||
| 6495 | INC H | Increment H by one. | ||
| 6496 | INC E | Increment E by one. | ||
| 6497 | DJNZ InitialiseGameObjects_7 | Decrease counter by one and loop back to InitialiseGameObjects_7 until counter is zero. | ||
| 6499 | DEC H | Decrease H by three. | ||
| 649A | DEC H | |||
| 649B | DEC H | |||
| 649C | LD A,L | L+=1E. | ||
| 649D | ADD A,$1E | |||
| 649F | LD L,A | |||
| 64A0 | DEC C | Decrease C by one. | ||
| 64A1 | JR NZ,InitialiseGameObjects_0 | Jump to InitialiseGameObjects_0 until C is zero. | ||
| 64A3 | RET | Return. | ||
| Prev: 6424 | Up: Map | Next: 64A4 |