Prev: 52857 Up: Map Next: 52917
52887: Record Ceiling Contact
Used by the routine at NextStep.
Used when the ship is on the same row as a step of a segment in the bottom half of the tile. It sets bit 7 of the contact flags at ContactFlags. If the vertical speed is negative it also sets bit 1 (clearing bit 7) and copies the flags into LastContactFlags. It carries on at NextStep_Column.
FlagCeilingContact 52887 LD A,(23601) The contact flags.
52890 OR %10000000 Set the bits of A that are set in 128.
52892 LD (23601),A Update the contact flags.
52895 LD A,(52410) The vertical scroll speed.
52898 BIT 7,A Jump to NextStep_Column if bit 7 of A is clear.
52900 JP Z,NextStep_Column
52903 LD A,(23601) The contact flags.
52906 XOR %10000010 Flip the bits of A that are set in 130.
52908 LD (23601),A Update the contact flags.
52911 LD (23602),A Update the last contact flags.
52914 JP NextStep_Column Jump to NextStep_Column.
Prev: 52857 Up: Map Next: 52917