home *** CD-ROM | disk | FTP | other *** search
- \ IBMCURSR IBM Specific display Enhancements by Tom Zimmer
-
- DECIMAL
-
- CODE IBM-AT ( col row -- )
- POP AX
- POP DX
- MOV DH, AL
- XOR BH, BH
- MOV AH, # 2
- INT 16
- NEXT C;
-
- CODE IBM-DARK ( -- )
- MOV AX, # 2
- INT 16
- NEXT C;
-
- CODE IBM--LINE ( -- )
- PUSH BP
- XOR BH, BH
- MOV AH, # 3
- INT 16 ( Read Cursor Position )
- MOV CH, DH
- XOR CL, CL ( Upper left corner )
- MOV DX, # 24 256 * 79 + ( Lower right corner )
- MOV BH, # 7
- MOV AX, # 6 256 * 1 +
- INT 16
- POP BP
- NEXT C;
-
- : >IBM ( -- )
- ['] IBM-AT IS AT
- ['] IBM-DARK IS DARK
- ['] IBM--LINE IS -LINE ; >IBM
-
- \ Cursor shape control words by Tom Zimmer
-
- CODE SET-CURSOR ( N1 --- )
- POP CX
- MOV AH, # 1
- INT 16
- NEXT C;
-
- : GET-CURSOR ( --- SHAPE ) 0 1120 ( 460h ) @L ;
-
- HEX
-
- : CURSOR-OFF ( --- ) GET-CURSOR 2000 OR SET-CURSOR ;
-
- : CURSOR-ON ( --- ) GET-CURSOR 0F0F AND SET-CURSOR ;
-
- : NORM-CURSOR ( --- ) ?VMODE 7 = IF 0C0D ELSE 0607 THEN
- SET-CURSOR ;
-
- : BIG-CURSOR ( --- ) ?VMODE 7 = IF 020B ELSE 0106 THEN
- SET-CURSOR ;
-
- : MED-CURSOR ( --- ) ?VMODE 7 = IF 0A0D ELSE 0507 THEN
- SET-CURSOR ;
-
- \ : SPLIT-CURSOR ( --- ) ?VMODE 7 = IF 0C01 ELSE 0701 THEN
- \ SET-CURSOR ;
-
- DECIMAL
-