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 |