Prev: 53348 Up: Map Next: 53456
53368: Routine at D078
Used by the routines at 41700, 51593 and 53682.
53368 PUSH IX Stash IX, IY and BC on the stack.
53370 PUSH IY
53372 PUSH BC
53373 LD IX,(40983) IX=*40983.
53377 LD A,(IX+4) A=*IX+4.
53380 AND %10000000 Keep only bit 7.
53382 JR Z,53446 Jump to 53446 if ?? is equal to 0.
53384 CALL 51310 Call 51310.
53387 INC A Increment A by one.
53388 JR NZ,53406 Jump to 53406 if A is not equal to 0.
53390 CALL 54076 Call 54076.
53393 BIT 7,(IX+0) Jump to 53446 if bit 7 of *IX+0 is set.
53397 JR NZ,53446
53399 CALL 49164 Call 49164.
53402 CP 1 Jump to 53446 if A is not equal to 1.
53404 JR NZ,53446
53406 LD IX,35695 IX=Table_Objects.
53410 CALL FetchNextObject Call FetchNextObject.
53413 JR Z,53449 Jump to 53449 if A is equal to 1.
53415 LD A,(IY+0) Jump to 53410 if *IY+0 is not equal to 1.
53418 CP 1
53420 JR NZ,53410
53422 LD A,(IY+5) A=*IY+5.
53425 XOR %10110111 Flip bits 0-2, 4-5, 7.
53427 AND %01011100 Keep only bits 2-4, 6.
53429 JR NZ,53410 Jump to 53410 if A is not equal to 1.
53431 LD A,(IY+4) A=*IY+4.
53434 AND %10000000 Keep only bit 7.
53436 JR Z,53410 Jump to 53410 if A is equal to 1.
53438 LD A,(IX+0) A=*IX+0.
53441 CALL 51233 Call 51233.
53444 JR Z,53410 Jump to 53410 if A is equal to 1.
53446 AND A Set flags.
53447 JR 53450 Jump to 53450.
53449 SCF Set the carry flag.
53450 POP BC Restore BC, IY and IX from the stack.
53451 POP IY
53453 POP IX
53455 RET Return.
Prev: 53348 Up: Map Next: 53456