home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
c
/
cutl.zip
/
COLORSET.BAS
< prev
next >
Wrap
BASIC Source File
|
1993-03-01
|
2KB
|
58 lines
100 ' PCCOLOR.BAS -- by PS -- FOR COLOR SYSTEMS ONLY!
110 ' (c) 1988 Ziff Communications Co.
120 ' Creates PCCOLOR.COM program with or without CLS feature
130 '
140 ' --- Setup ---
150 '
160 SCREEN 0:KEY OFF:COLOR 3,0,0:LOCATE ,,0:CLS:DIM C1$(31),C2$(36)
170 FOR A=1 TO 31:READ A$:C1$(A)=A$:NEXT
180 FOR A=1 TO 36:READ A$:C2$(A)=A$:NEXT
190 '
200 ' --- Ask which version to create and get screen size ---
210 '
220 PRINT TAB(18);"Do you want this to clear the screen (Y/N)? ";
230 W$=INPUT$(1):IF INSTR("YyNn",W$)=0 THEN 230 ELSE PRINT W$:PRINT
240 PRINT TAB(18);"Are you using a normal 25-line screen (Y/N)? ";
250 Y$=INPUT$(1):Y=INSTR("YyNn",Y$):IF Y=0 THEN 250 ELSE PRINT Y$:PRINT
260 IF Y<3 THEN 360
270 LOCATE 3,18:PRINT "Enter the number of lines on your screen (26-50): "
280 LOCATE 3,68:INPUT;"",N$:IF VAL(N$)>25 AND VAL(N$)<51 THEN 300
290 LOCATE 3,68:PRINT SPC(13):GOTO 280
300 N=VAL(N$):IF INSTR("Nn",W$) THEN 320
310 C1$(17)=HEX$(N-1):GOTO 360
320 C2$(19)=HEX$(80*N\256):C2$(18)=HEX$((80*N)-256*VAL("&H"+C2$(19)))
330 '
340 ' --- Get Inputs ---
350 '
360 PRINT:PRINT:COLOR 3:PRINT "FOR BORDER ------ ";:GOSUB 610:BORD$=I$
370 COLOR 3:PRINT "(Anything higher than 7 will blink:)"
380 PRINT "FOR BACKGROUND -- ";:GOSUB 610:BACK$=I$
390 COLOR 3:PRINT "FOR FOREGROUND -- ";:GOSUB 610
400 IF I$=BACK$ THEN BEEP:GOTO 390 ELSE FORE$=I$
410 '
420 ' --- Create File ---
430 '
440 OPEN "PCCOLOR.COM" AS 1 LEN=1:FIELD 1,1 AS B$
450 IF INSTR("Nn",W$) THEN 480
460 C1$(5)=BORD$:C1$(19)=BACK$+FORE$
470 FOR A=1 TO 31:LSET B$=CHR$(VAL("&H"+C1$(A))):PUT 1:NEXT:GOTO 500
480 C2$(6)=BORD$:C2$(23)=BACK$+FORE$
490 FOR A=1 TO 36:LSET B$=CHR$(VAL("&H"+C2$(A))):PUT 1:NEXT
500 PRINT "PCCOLOR.COM created...":CLOSE:END
510 '
520 ' --- DATA ---
530 '
540 DATA B8,00,0B,BB,00,00,CD,10,B8,00,06,B9,00,00,BA,4F
550 DATA 18,B7,00,CD,10,B4,02,BA,00,00,B7,00,CD,10,C3
560 DATA B4,0B,B7,00,B3,00,CD,10,B8,00,B8,8E,D8,BE,00,00,B9,D0
570 DATA 07,C6,44,01,00,83,C6,02,49,85,C9,75,F4,B8,00,4C,CD,21
580 '
590 ' --- Input Subroutine ---
600 '
610 COLOR 3,0:PRINT "Pick a color: ";
620 COLOR 0,7:PRINT "0";:COLOR ,0:PRINT CHR$(32);
630 FOR A=1 TO 15:COLOR A,0:PRINT HEX$(A);CHR$(32);:NEXT:PRINT
640 I$=INPUT$(1):IF INSTR("0123456789ABCDEFabcdef",I$)=0 THEN 610
650 PRINT TAB(VAL("&H"+I$)*2+34);CHR$(24)
660 PRINT STRING$(80,196);:RETURN