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 |