![]()  | 
Routines | 
| Prev: 6498 | Up: Map | Next: 66C7 | 
| 
 | 
||||
| 651F | CALL StoreEntity | |||
| 6522 | LD A,(IX+$04) | |||
| 6525 | BIT 2,A | |||
| 6527 | JP NZ,$659C | |||
| 652A | BIT 1,A | |||
| 652C | JR NZ,$6578 | |||
| 652E | BIT 0,A | |||
| 6530 | JR Z,$654B | |||
| 6532 | CALL $6E20 | |||
| 6535 | DEC E | |||
| 6536 | JR Z,$655A | |||
| 6538 | CALL $761D | |||
| 653B | BIT 2,E | |||
| 653D | JR NZ,$6545 | |||
| 653F | INC (IX+$02) | Drop IX+$02 (fuel Y co-ordinate) by two pixels | ||
| 6542 | INC (IX+$02) | |||
| 6545 | CALL $726A | |||
| 6548 | JP ColouriseSprite | |||
| 654B | LD A,($5DF0) | |||
| 654E | RRCA | |||
| 654F | AND $06 | |||
| 6551 | CALL $64E5 | |||
| 6554 | CALL $729B | |||
| 6557 | JP ColouriseSprite | |||
| 655A | SET 1,(IX+$04) | |||
| 655E | CALL $72A5 | |||
| 6561 | LD BC,$0100 | |||
| 6564 | CALL $70F9 | |||
| 6567 | CALL SoundsPickupFuel | |||
| 656A | LD HL,($5D01) | |||
| 656D | LD (IX+$01),L | |||
| 6570 | LD (IX+$02),H | |||
| 6573 | CALL StoreEntity | |||
| 6576 | JR $6545 | |||
| 6578 | LD HL,($5D01) | |||
| 657B | LD (IX+$01),L | |||
| 657E | LD (IX+$02),H | |||
| 6581 | LD A,($5D31) | |||
| 6584 | SUB (IX+$01) | |||
| 6587 | JP P,$658C | |||
| 658A | NEG | |||
| 658C | CP $06 | |||
| 658E | JR NC,$6545 | |||
| 6590 | SET 2,(IX+$04) | |||
| 6594 | LD A,($5D31) | |||
| 6597 | LD (IX+$01),A | |||
| 659A | JR $6545 | |||
| 659C | LD A,(IX+$06) | |||
| 659F | CP $18 | |||
| 65A1 | JR Z,$65CE | |||
| 65A3 | SLA A | |||
| 65A5 | ADD A,(IX+$02) | |||
| 65A8 | CP $B7 | |||
| 65AA | JP C,$653F | |||
| 65AD | LD A,($5D3C) | |||
| 65B0 | OR $01 | |||
| 65B2 | LD ($5D3C),A | |||
| 65B5 | LD A,($5D34) | |||
| 65B8 | INC A | |||
| 65B9 | LD ($5D34),A | |||
| 65BC | LD A,(IX+$06) | |||
| 65BF | ADD A,$08 | |||
| 65C1 | CALL $6EF9 | |||
| 65C4 | CALL $72A5 | |||
| 65C7 | LD (IX+$00),$00 | |||
| 65CB | JP SoundsRocketBuild | |||
| 65CE | LD A,(IX+$02) | A=(IX+$02) (fuel Y co-ordinate) | ||
| 65D1 | CP $B0 | Is A=$B0? (has the fuel reached the ship yet?) | ||
| 65D3 | JP C,$653F | If not, jump back to 653F | ||
| 65D6 | LD A,($5D35) | Fuel pod deposited correctly; increase ActivePlayerNum_Fuel_Pods by one | ||
| 65D9 | INC A | |||
| 65DA | LD ($5D35),A | |||
| 65DD | JR $65C4 | Jump to 65C4 | ||
| 
 
This entry point is used by the routine at 6965.
 
 | 
||||
| 65DF | LD A,($5D00) | If JETMAN_FRAME is &$3F then return... | ||
| 65E2 | AND $3F | |||
| 65E4 | RET Z | |||
| 65E5 | CP $03 | Return if JETMAN_FRAME is greater than (or equal to) $03 | ||
| 65E7 | RET NC | |||
| 65E8 | LD HL,$6038 | HL Source address: $6038 | ||
| 65EB | LD DE,$5D40 | DE Target address: ITEM_VISIBILITY | ||
| 65EE | LD BC,$0008 | BC=loop counter | ||
| 65F1 | LD A,(DE) | A=(DE) | ||
| 65F2 | AND A | |||
| 65F3 | RET NZ | |||
| 65F4 | LD A,($5DCC) | |||
| 65F7 | AND $7F | |||
| 65F9 | RET NZ | |||
| 65FA | LDIR | Action! Copy source to target, decrease counter, repeat until zero | ||
| 65FC | CALL $6612 | |||
| 65FF | LD ($5D41),A | |||
| 6602 | LD A,R | |||
| 6604 | AND $0E | |||
| 6606 | BIT 3,A | |||
| 6608 | JR Z,$660C | |||
| 660A | AND $08 | |||
| 660C | OR $20 | |||
| 660E | LD ($5D46),A | |||
| 6611 | RET | |||
| 6612 | LD HL,$6620 | |||
| 6615 | LD A,($5DCE) | |||
| 6618 | AND $0F | |||
| 661A | LD C,A | |||
| 661B | LD B,$00 | |||
| 661D | ADD HL,BC | |||
| 661E | LD A,(HL) | |||
| 661F | RET | |||
| 6620 | EX AF,AF' | |||
| 6621 | JR NZ,$664B | |||
| 6623 | JR NC,$665D | |||
| 6625 | LD B,B | |||
| 6626 | LD E,B | |||
| 6627 | LD H,B | |||
| 6628 | LD A,B | |||
| 6629 | ADD A,B | |||
| 662A | ADC A,B | |||
| 662B | RET NZ | |||
| 662C | RET PO | |||
| 662D | EX AF,AF' | |||
| 662E | LD E,B | |||
| 662F | LD H,B | |||
| 
 
This entry point is used by the routine at 6965.
 
 | 
||||
| 6630 | LD A,($5D00) | |||
| 6633 | AND $3F | |||
| 6635 | RET Z | |||
| 6636 | CP $03 | |||
| 6638 | RET NC | |||
| 6639 | LD HL,$6030 | HL=$6030 | ||
| 663C | LD DE,$5D38 | DE=5D38 | ||
| 663F | LD BC,$0008 | BC=$0008 | ||
| 6642 | LD A,(DE) | A=(DE) | ||
| 6643 | AND A | |||
| 6644 | RET NZ | |||
| 6645 | LD A,($5D35) | Check if ActivePlayerNum_Fuel_Pods is $06? Is the ship full of fuel? | ||
| 6648 | CP $06 | |||
| 664A | RET NC | |||
| 664B | LD A,($5DCC) | |||
| 664E | CPL | |||
| 664F | AND $0F | |||
| 6651 | RET NZ | |||
| 6652 | LDIR | |||
| 6654 | CALL $6612 | |||
| 6657 | LD ($5D39),A | |||
| 665A | RET | Return | ||
| 
 
This entry point is used by the routine at 66C7.
 
 | 
||||
| 665B | LD HL,$5D38 | HL=5D38 | ||
| 665E | LD B,$0C | B=$0C | ||
| 
 
This entry point is used by the routine at PlayerReset.
 
 | 
||||
| 6660 | LD DE,$0008 | DE=$0008 | ||
| 6663 | LD (HL),$00 | Reset the memory held at location HL (set to $00) | ||
| 6665 | ADD HL,DE | Increase HL by $08 | ||
| 6666 | DJNZ $6663 | Decrease B by one, and loop back to 6663 until zero | ||
| 6668 | RET | Return | ||
| 6669 | LD A,(IX+$02) | |||
| 666C | ADD A,$15 | |||
| 666E | LD (IX+$02),A | |||
| 6671 | LD HL,$5DC1 | |||
| 6674 | LD A,(HL) | |||
| 6675 | ADD A,$15 | |||
| 6677 | LD (HL),A | |||
| 6678 | LD A,(IX+$02) | |||
| 667B | CP $B8 | |||
| 667D | JR Z,$66B8 | |||
| 667F | JR NC,$66A3 | |||
| 6681 | LD A,($5DCC) | |||
| 6684 | AND $04 | |||
| 6686 | JR NZ,$66B3 | |||
| 6688 | LD DE,$7FAF | |||
| 668B | PUSH DE | |||
| 668C | LD DE,$7F8C | |||
| 668F | CALL $72A0 | |||
| 6692 | LD DE,$7FAF | |||
| 6695 | CALL $72A0 | |||
| 6698 | POP DE | |||
| 6699 | CALL $729B | |||
| 669C | LD (IX+$03),$42 | |||
| 66A0 | CALL ColouriseSprite | |||
| 66A3 | LD A,(IX+$02) | |||
| 66A6 | SUB $15 | |||
| 66A8 | LD (IX+$02),A | |||
| 66AB | LD HL,$5DC1 | |||
| 66AE | LD A,(HL) | |||
| 66AF | SUB $15 | |||
| 66B1 | LD (HL),A | |||
| 66B2 | RET | |||
| 66B3 | LD DE,$7F8C | |||
| 66B6 | JR $668B | |||
| 66B8 | LD DE,$7F8C | |||
| 66BB | CALL $72A0 | |||
| 66BE | LD DE,$7FAF | |||
| 66C1 | CALL $72A0 | |||
| 66C4 | JP $66A3 | |||
| Prev: 6498 | Up: Map | Next: 66C7 |