| CalculateObjectPointerOffset |
BD7E |
PUSH IY |
|
BD80 |
POP HL |
|
BD81 |
LD DE,$0018 |
|
BD84 |
ADD HL,DE |
|
BD85 |
BIT 7,(IY+$19) |
|
BD89 |
JR Z,CalculateObjectPointerOffset_0 |
|
BD8B |
LD HL,$9FF6 |
| CalculateObjectPointerOffset_0 |
BD8E |
BIT 6,(IY+$19) |
|
BD92 |
JR Z,CalculateObjectPointerOffset_1 |
|
BD94 |
LD HL,$9FFC |
| CalculateObjectPointerOffset_1 |
BD97 |
LD DE,$B172 |
|
BD9A |
LD BC,$0006 |
|
BD9D |
LDIR |
|
BD9F |
PUSH IY |
|
BDA1 |
POP HL |
|
BDA2 |
LD DE,$0008 |
|
BDA5 |
ADD HL,DE |
|
BDA6 |
LD DE,$B178 |
|
BDA9 |
LD BC,$0006 |
|
BDAC |
LDIR |
|
BDAE |
LD L,(IY+$00) |
|
BDB1 |
LD A,(IY+$01) |
|
BDB4 |
AND $0F |
|
BDB6 |
LD H,A |
|
BDB7 |
LD ($BA17),HL |
|
BDBA |
PUSH IY |
|
BDBC |
CALL CalculateObjectPointerOffset_2 |
|
BDBF |
POP IY |
|
BDC1 |
RET |
| CalculateObjectPointerOffset_2 |
BDC2 |
CALL AdjustObjectTableForSum |
|
BDC5 |
LD ($BA13),IX |
|
BDC9 |
LD ($BA15),IX |
|
BDCD |
LD DE,($BA17) |
|
BDD1 |
LD HL,$994D |
|
BDD4 |
LD B,$01 |
| CalculateObjectPointerOffset_3 |
BDD6 |
LD A,(HL) |
|
BDD7 |
INC HL |
|
BDD8 |
OR (HL) |
|
BDD9 |
DEC HL |
|
BDDA |
RET Z |
|
BDDB |
LD A,E |
|
BDDC |
CP (HL) |
|
BDDD |
JR NZ,CalculateObjectPointerOffset_4 |
|
BDDF |
INC HL |
|
BDE0 |
LD A,D |
|
BDE1 |
CP (HL) |
|
BDE2 |
DEC HL |
|
BDE3 |
JR Z,CalculateObjectPointerOffset_5 |
| CalculateObjectPointerOffset_4 |
BDE5 |
INC HL |
|
BDE6 |
INC HL |
|
BDE7 |
INC B |
|
BDE8 |
JR CalculateObjectPointerOffset_3 |
| CalculateObjectPointerOffset_5 |
BDEA |
LD A,B |
|
BDEB |
LD ($BA1A),A |
|
BDEE |
LD A,$02 |
|
BDF0 |
LD ($A038),A |
|
BDF3 |
CALL CalculateObjectPointerOffset_9 |
|
BDF6 |
CP $FF |
|
BDF8 |
RET Z |
|
BDF9 |
LD ($BA19),A |
|
BDFC |
CALL CalculateObjectPointerOffset_9 |
|
BDFF |
CP $FF |
|
BE01 |
JR NZ,CalculateObjectPointerOffset_8 |
|
BE03 |
LD A,($BA19) |
|
BE06 |
CALL CalculateObjectPointerOffset_6 |
|
BE09 |
CALL CalculateObjectPointerOffset_10 |
|
BE0C |
CP $FF |
|
BE0E |
RET Z |
|
BE0F |
LD ($BA1B),A |
|
BE12 |
CALL CalculateObjectPointerOffset_10 |
|
BE15 |
CP $FF |
|
BE17 |
JR NZ,CalculateObjectPointerOffset_8 |
|
BE19 |
LD A,($BA1B) |
|
BE1C |
CALL CalculateObjectPointerOffset_6 |
|
BE1F |
OR $01 |
|
BE21 |
RET |
| CalculateObjectPointerOffset_6 |
BE22 |
CALL FetchObjectDataPointer |
|
BE25 |
PUSH IX |
|
BE27 |
POP HL |
|
BE28 |
BIT 6,(IX+$05) |
|
BE2C |
LD DE,$9FF6 |
|
BE2F |
JR NZ,CalculateObjectPointerOffset_7 |
|
BE31 |
LD DE,$9FFC |
| CalculateObjectPointerOffset_7 |
BE34 |
LD BC,$0006 |
|
BE37 |
LDIR |
|
BE39 |
RET |
| CalculateObjectPointerOffset_8 |
BE3A |
SCF |
|
BE3B |
RET |
| CalculateObjectPointerOffset_9 |
BE3C |
LD IX,($BA13) |
|
BE40 |
LD HL,$B172 |
|
BE43 |
CALL ProcessObjectEntry |
|
BE46 |
LD ($BA13),IX |
|
BE4A |
RET |
| CalculateObjectPointerOffset_10 |
BE4B |
LD IX,($BA15) |
|
BE4F |
LD HL,$B178 |
|
BE52 |
CALL ProcessObjectEntry |
|
BE55 |
LD ($BA15),IX |
|
BE59 |
RET |