OS_Sci, Alter screen information
Register parameters
RST 20H, DEFW $D406
IN: A = reason code SC_LR0 ($01) LORES0 (512 bytes granularity, 13 bits width) SC_LR1 ($02) LORES1 (4K granularity, 10 bits width) SC_HR0 ($03) HIRES0 (8K granularity, 9 bits width) SC_HR1 ($04) HIRES1 (2K granularity, 11 bits width) SC_SBR ($05) screen base (2K granularity, 11 bits width) B = 0, get pointer address (address is not set) B <> 0, set pointer address with BHL = new pointer address (L always = 0) and HL is truncated according to screen granularity OUT: Fc = 0 BHL = old pointer address Registers changed after return: A..CDE../IXIY same .FB...HL/.... differentÂ
Notes
These hardware registers should not be altered unless the programmer knows what he is doing. Please refer to the Hardware section.