Prev: 53437 Up: Map Next: 53952
53906: Test Left Column
Used by the routine at DrawTerrain.
Tests the right end of a segment of a tile in the left column against the horizontal position in B.
Input
B Horizontal position to test against
IX Address of the record of the segment
Output
F Zero if the end of the segment is at the position or beyond it
TestLeftColumn 53906 LD A,(52791) The vertical step.
53909 AND A Jump to TestLeftColumn_Sloped if A is not zero.
53910 JR NZ,TestLeftColumn_Sloped
53912 LD A,(IX+0) Read offset 0 of IX.
53915 ADD A,(IX+2) Add the byte at offset 2 of IX to A.
53918 JR TestLeftColumn_Compare Jump to TestLeftColumn_Compare.
TestLeftColumn_Sloped 53920 LD A,(52825) The horizontal step copy.
53923 AND A Jump to TestLeftColumn_Direction if A is not zero.
53924 JR NZ,TestLeftColumn_Direction
53926 LD A,(52803) The segment column.
53929 ADD A,8 Add 8 to A.
53931 JR TestLeftColumn_Compare Jump to TestLeftColumn_Compare.
TestLeftColumn_Direction 53933 LD A,(58395) The slope direction.
53936 CP 1 Jump to TestLeftColumn_Start if A is 1.
53938 JR Z,TestLeftColumn_Start
53940 LD A,(IX+2) Read offset 2 of IX.
53943 JR TestLeftColumn_Compare Jump to TestLeftColumn_Compare.
TestLeftColumn_Start 53945 LD A,(IX+0) Read offset 0 of IX.
TestLeftColumn_Compare 53948 CP B Return if A is less than B.
53949 RET C
53950 XOR A Clear A.
53951 RET Return.
Prev: 53437 Up: Map Next: 53952