home *** CD-ROM | disk | FTP | other *** search
- \ COLOR.SEQ Color board support for ZF by Tom Zimmer
-
- \ For Color boards, the following values may be used for background
- \ or forground.
-
- hex prefix
- code border ( n -- ) \ use: blue border
- pop bx
- mov ah, # 0b
- int 10
- next
- c;
-
- 00 CONSTANT BLACK \ black
- 01 CONSTANT BLUE \ blue
- 02 CONSTANT GREEN \ green
- 03 CONSTANT CYAN \ cyan
- 04 CONSTANT RED \ red
- 05 CONSTANT MAGENTA \ magenta
- 06 CONSTANT BROWN \ brown
- 07 CONSTANT LTGRAY \ light gray
- 08 CONSTANT DKGRAY \ dark gray All following, blink in Background.
- 09 CONSTANT LTBLUE \ light blue
- 0A CONSTANT LTGREEN \ light green
- 0B CONSTANT LTCYAN \ light cyan
- 0C CONSTANT LTRED \ light red
- 0D CONSTANT LTMAGENTA \ light magenta
- 0E CONSTANT YELLOW \ yellow
- 0F CONSTANT WHITE \ white
-
- : >FG ( N1 --- )
- attrib c@ F0 and + attrib c! ;
-
- : >BG ( N1 --- )
- 10 * attrib c@ 0F and + attrib c! ;
-
- : >RDYL ( --- ) RED >BG YELLOW >FG ;
- : >YLBU ( --- ) BLUE >BG YELLOW >FG ;
- : >BUGN ( --- ) BLUE >BG LTGREEN >FG ;
- : >RDWT ( --- ) RED >BG WHITE >FG ;
- : >GRWT ( --- ) GREEN >BG WHITE >FG ;
- : >CNBK ( --- ) BLACK >BG LTCYAN >FG ;
- : >GNBK ( --- ) BLACK >BG LTGREEN >FG ;
- : >RDBK ( --- ) BLACK >BG LTRED >FG ;
- : >MABK ( --- ) BLACK >BG LTMAGENTA >FG ;
- : >BUBK ( --- ) BLACK >BG LTBLUE >FG ;
- : >YLBK ( --- ) BLACK >BG YELLOW >FG ;
- : >BKCN ( --- ) CYAN >BG BLACK >FG ;
- : >LCBK ( --- ) LTCYAN >BG BLACK >FG ; \ blinks, for cursor
-
- : >COLOR ( --- ) \ Select hilighting for color monitor.
- BLACK BORDER
- ['] >GNBK IS >NORM
- ['] >CNBK IS >ATTRIB1
- ['] >RDWT IS >ATTRIB2
- ['] >BKCN IS >ATTRIB3
- ['] >RDYL IS >ATTRIB4
- ['] >YLBK IS >ATTRIB5
- ['] >BUBK IS >ATTRIB6
- ['] >YLBU IS >ATTRIB7
- ['] >LCBK IS >ATTRIB8 ;
-
- \ Use cursor-off and >attrib8 either 5f or dd qemit on cga pages 1..3
- \ cursor positioning only operates on page 0
-
- HEX PREFIX
- CODE ?COLOR ( -- n ) \ are we on the cga card in color text mode?
- SUB AX, AX
- MOV AH, # 0F
- INT 10
- XOR AH, AH
- CMP AX, # 3
- 0= IF MOV AX, # -1 1PUSH THEN
- MOV AX, # 0
- PUSH Ax
- NEXT
- C;
-
- DECIMAL
-
- : >COLOR? ?COLOR IF >COLOR THEN ; >COLOR?
-
- ' >COLOR IS INITCOLOR \ Enable attributes according to video board.
-
- VMODE.SET \ RESET VIDEO MODE TO CURRENT VIDEO BOARD.
-
- DECIMAL
-
-
-