700 lines minus one that were deleted from the top of the screen. This moves the entire screen up one physical line for each line scrolled off the top. Since a logical line has three physical lines, SCRFLG ranges from zero to two. Scrolling the text window is the equivalent to scrolling an entire GR.0 screen. An additional 20-line equivalent of bytes (800) is scrolled upwards in the memory below the text window address. This can play havoc with any data such as P/M graphics you have stored above RAMTOP 700 2BC HOLD4 Temporary register used in the DRAW command only; used to save and restore the value in ATACHR (location 763; $2FB) during the FILL process. 701 2BD HOLD5 Same as the above register. 702 2BE SHFLOK Flag for the shift and control keys. It returns zero for lowercase letters, 64 ($40) for all uppercase (called caps lock: uppercase is required for BASIC statements and is also the default mode on powerup). SHFLOK will set characters to all caps during your program if 64 is POKEd here. Returns the value 128 ($80; control-lock) when the CTRL key is pressed. Forced control-lock will cause all keys to output their control-code functions or graphics figures. Other values POKEd here may cause the system to crash. You can use this location with 694 ($2B6) above to convert all keyboard entries to uppercase, normal display by: 10 OPEN #2,4,0,"K:" 20 GET #2,A 30 GOSUB 1000 40 PRINT CHR$(A);: GOTO 20 . . . 1000 IF A = 155 THEN 1030: REM RETURN KEY 1010 IF A > = 128 THEN A = A - 128: R EM RESTORE TO NORMAL DISPLAY 1020 IF PEEK (702) = 0 AND A > 96 THEN A = A - 32: REM LOWERCASE TO UP PER 1030 POKE 702,64: POKE 694,0 1040 RETURN