|  | Routines | 
| Prev: 54753 | Up: Map | Next: 54955 | 
| 
Used by the routine at 65524.
 
 | ||||||||
| 54853 | CALL 55546 | Store all registers on the stack | ||||||
| 54856 | LD A,(37655) | Load A with index of Current Window... | ||||||
| 54859 | CP 6 | ...and if this is 6 (control selection window)... | ||||||
| 54861 | JP Z,54955 | ...then skip ahead to 54955 | ||||||
| 54864 | BIT 0,(IY+65) | If update-game-time-and-locate-arrow-glow flag is reset... | ||||||
| 54868 | JP Z,54949 | ...then skip to end of interrupt routine | ||||||
| 54871 | CALL 54996 | Update game time, time left and (every minute) read-text of Crystal Ball | ||||||
| 54874 | LD BC,(23462) | Load x- & y- coordinate of top-left character of currently glowing "locate compass" component into BC | ||||||
| 54878 | LD A,B | If this is zero (i.e. compass not glowing because Magic Knight isn't "locating")... | ||||||
| 54879 | OR C | ... | ||||||
| 54880 | JP Z,54916 | ...jump to 54916... | ||||||
| 54883 | LD A,(23408) | Else, load compass-glow-update flag into A | ||||||
| 54886 | INC A | Invert compass-glow-update flag | ||||||
| 54887 | AND 1 | Store back at 23408 and if compass-glow-update flag is set... | ||||||
| 54889 | LD (23408),A | ... | ||||||
| 54892 | JR NZ,54916 | ...then skip over glow attribute update section to 54916 (don't update glowing attributes this time) | ||||||
| 54894 | CALL 36569 | Update virtual attribute cursor storage location to position (C, B) and point HL to corresponding attribute file address | ||||||
| 54897 | CALL 54983 | Update glowing blocks' attribute to next colour in sequence and load into E | ||||||
| 54900 | CALL 54976 | Write current attribute for a glowing block to attribute file (HL) and advance HL | ||||||
| 54903 | CALL 54976 | Write current attribute for a glowing block to attribute file (HL) and advance HL | ||||||
| 54906 | LD BC,30 | Advance attribute file address (HL) down to next row, to the block immediately below the first one updated at instruction 54900 | ||||||
| 54909 | ADD HL,BC | |||||||
| 54910 | CALL 54976 | Write current attribute for a glowing block to attribute file (HL) and advance HL | ||||||
| 54913 | CALL 54976 | Write current attribute for a glowing block to attribute file (HL) and advance HL | ||||||
| 54916 | BIT 1,(IY+65) | If disable-in-game-glow flag is set... | ||||||
| 54920 | JP NZ,54949 | ...then skip to end of interrupt routine | ||||||
| 54923 | LD IX,23383 | Point IX at table of attribute file addresses that are glowing | ||||||
| 54927 | CALL 54983 | Update glowing blocks' attribute to next colour in sequence and load into E | ||||||
| 54930 | LD L,(IX+0) | Load a glowing attribute file address into HL... | ||||||
| 54933 | LD H,(IX+1) | ... | ||||||
| 54936 | LD A,L | If HL is zero... | ||||||
| 54937 | OR H | ... | ||||||
| 54938 | JR Z,54949 | ...then jump to 54949 (to exit loop) | ||||||
| 54940 | CALL 54976 | Write current attribute for a glowing block to attribute file (HL) and advance HL | ||||||
| 54943 | INC IX | Advance to next attribute file address in list of glowing blocks... | ||||||
| 54945 | INC IX | ... | ||||||
| 54947 | JR 54930 | Jump back to 54930 to update next block | ||||||
| 
This entry point is used by the routine at 54955.
 | ||||||||
| 54949 | CALL 55574 | Restore all registers from the stack | ||||||
| 54952 | JP 56 | Jump to ROM maskable interrupt routine (update frame counter, read keyboard and then return from interrupt routine) | ||||||
| Prev: 54753 | Up: Map | Next: 54955 |