Spectrum ROM | Routines |
Prev: 06337 | Up: Map |
A return is made if it is not the correct place to print the cursor but if it is then 'C', 'E', 'G', 'K' or 'L' will be printed.
|
|||||||
OUT_CURS | 06369 | LD HL,(23643) | Fetch the address of the cursor (K-CUR) but return if the correct place is not being considered. | ||||
06372 | AND A | ||||||
06373 | SBC HL,DE | ||||||
06375 | RET NZ | ||||||
06376 | LD A,(23617) | The current value of MODE is fetched and doubled. | |||||
06379 | RLC A | ||||||
06381 | JR Z,OUT_C_1 | Jump forward unless dealing with Extended mode or Graphics. | |||||
06383 | ADD A,67 | Add the appropriate offset to give 'E' or 'G'. | |||||
06385 | JR OUT_C_2 | Jump forward to print it. | |||||
OUT_C_1 | 06387 | LD HL,23611 | This is FLAGS. | ||||
06390 | RES 3,(HL) | Signal 'K-mode'. | |||||
06392 | LD A,"K" | The character 'K'. | |||||
06394 | BIT 2,(HL) | Jump forward to print 'K' if 'the printing is to be in K-mode'. | |||||
06396 | JR Z,OUT_C_2 | ||||||
06398 | SET 3,(HL) | The 'printing is to be in L-mode' so signal 'L-MODE'. | |||||
06400 | INC A | Form the character 'L'. | |||||
06401 | BIT 3,(IY+48) | Jump forward if not in 'C-mode'. | |||||
06405 | JR Z,OUT_C_2 | ||||||
06407 | LD A,"C" | The character 'C'. | |||||
OUT_C_2 | 06409 | PUSH DE | Save the DE register pair whilst the cursor is printed - FLASHing. | ||||
06410 | CALL OUT_FLASH | ||||||
06413 | POP DE | ||||||
06414 | RET | Return once it has been done. | |||||
Note: it is the action of considering which cursor-letter is to be printed that determines the mode - 'K', 'L' or 'C'.
|
Prev: 06337 | Up: Map |