Prev: 33094 Up: Map Next: 33236
33203: Flash Location Map Points
Used by the routine at 32853.
Starting with the first location, London.
FlashLocationMapPoints 33203 LD IX,36482 IX=London_Location.
33207 LD B,14 Set a counter in B for the total number of locations (14).
FlashLocationMapPoints_Loop 33209 PUSH BC Stash the locations count on the stack.
33210 LD L,(IX+2) Load the map co-ordinates for the current location into HL.
33213 LD H,(IX+3)
33216 CALL ToggleMapPoint Call ToggleMapPoint.
33219 LD DE,22 Add 0022 to IX which is a safe place to land to find the next location.
33222 ADD IX,DE
All locations end with the string for the location name, so now move through the string to find the terminating bit. This is necessary as the location names have varying lengths.
CheckTerminator_Loop 33224 BIT 7,(IX+0) Test bit 7 of *IX+0.
33228 INC IX Increment IX by one.
33230 JR Z,CheckTerminator_Loop Keep jumping back to CheckTerminator_Loop until the terminating bit 7 is found.
33232 POP BC Restore the locations count from the stack.
33233 DJNZ FlashLocationMapPoints_Loop Decrease the locations count by one and loop back to FlashLocationMapPoints_Loop until locations have been processed.
33235 RET Return.
Prev: 33094 Up: Map Next: 33236