home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib31a.dsk
/
APRIL.1987
/
CHAMELEON.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
75 lines
10 REM ************************
20 REM * CHAMELEON.DEMO *
30 REM * BY BOB SABISTON *
40 REM * COPYRIGHT (C) 1987 *
50 REM * BY MICROSPARC, INC. *
60 REM * CONCORD, MA 01742 *
70 REM ************************
80 ONERR GOTO 730
90 PRINT CHR$(4)"BLOAD CHAMELEON"
100 HIMEM: 37888 -1024 *( PEEK(48896) = 76)
110 TEXT : HOME : ONERR GOTO 660
120 PRINT "CHAMELEON.DEMO": PRINT "BY BOB SABISTON": PRINT "COPYRIGHT 1987 BY MICROSPARC, INC."
130 FOR X = 1 TO 39: PRINT "-";: NEXT : PRINT
140 VTAB 8
150 PRINT "(1) COLOR CHANGE DEMO"
160 PRINT "(2) FADE-IN DEMO"
170 PRINT "(3) QUIT"
180 VTAB 22: PRINT "SELECT MENU ITEM: ";
190 POKE -16368,0: GET A$: POKE -16368,0:A = VAL(A$): IF A <1 OR A >3 THEN PRINT CHR$(7);: GOTO 190
200 ON A GOTO 230,450
210 TEXT : HOME : END
220 REM COLOR CHANGE DEMO
230 POKE -16304,0: POKE -16297,0: POKE -16301,0: VTAB 21: HTAB 1
240 PRINT "YOUR PICTURE MUST BE ON PAGE 1."
250 AD = 2000: GOSUB 580
260 HOME : VTAB 22: HTAB 1
270 PRINT "CHANGE FROM COLOR (0-7) ";
280 POKE -16368,0: GET A$: PRINT A$;:A = VAL(A$): IF (((A = 0) AND (A$ < >"0")) OR (A >7)) THEN 260
290 : PRINT : POKE 0,A
300 HTAB 10: PRINT "TO COLOR (0-7) ";
310 POKE -16368,0: GET A$: PRINT A$;:A = VAL(A$): IF (((A = 0) AND (A$ < >"0")) OR (A >7)) THEN 310
320 POKE -16302,0
330 PRINT : POKE 1,A: CALL 37888
340 POKE -16301,0: HOME : VTAB 21
350 PRINT "CHANGE ANOTHER COLOR? (Y/N)";
360 GET A$: IF A$ = "Y" OR A$ = CHR$(121) THEN 260
370 IF A$ = "N" OR A$ = CHR$(110) THEN 110
380 PRINT CHR$(7);: GOTO 360
390 REM FADE-IN DEMO. THIS DEMO CYCLES
400 REM AUTOMATICALLY THROUGH ALL OF
410 REM HI-RES COLORS. IT REPLACES THE
420 REM OLD COLOR WITH THE SAME COLOR,
430 REM SO THE PICTURE IS TRANSFERRED
440 REM ONE COLOR AT A TIME!
450 POKE -16304,0: POKE -16297,0: POKE -16301,0: VTAB 21: HTAB 1
460 PRINT "YOUR PICTURE MUST BE ON PAGE 2."
470 AD = 4000: GOSUB 580
480 VTAB 22: HTAB 1
490 REM POKE MODIFICATION INTO PROGRAM
500 POKE 37889,64: POKE 38058,32: POKE 38059,44: POKE 38060,149: POKE 38061,234
510 HOME : VTAB 21: PRINT "DO YOU WANT TO CLEAR PAGE 1? ";
520 POKE -16368,0: GET A$: PRINT A$: IF A$ < >"Y" AND A$ < >"N" AND A$ < > CHR$(121) AND A$ < > CHR$(110) THEN 520
530 IF A$ = "Y" OR A$ = CHR$(121) THEN HGR
540 POKE -16302,0
550 FOR T = 0 TO 7: POKE 0,T: POKE 1,T: CALL 37888: NEXT
560 POKE -16301,0: HOME : VTAB 22: PRINT "PRESS RETURN TO CONTINUE ";: POKE -16368,0: GET CH$
570 POKE 37889,32: POKE 38058,05: POKE 38059,255: POKE 38060,69: POKE 38061,252: GOTO 110: REM RESTORE PROGRAM
580 VTAB 22: PRINT "DO YOU WANT TO LOAD A PICTURE? ";
590 POKE -16368,0: GET A$: PRINT A$: IF A$ < >"Y" AND A$ < >"N" AND A$ < > CHR$(121) AND A$ < > CHR$(110) THEN 580
600 HOME
610 IF A$ = "N" OR A$ = CHR$(110) THEN RETURN
620 VTAB 22: HTAB 1
630 INPUT "NAME ('?' FOR CATALOG) :";A$
640 IF A$ = "?" THEN TEXT : PRINT CHR$(4) LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76)): POKE -16368,0: GET A$: POKE -16368,0: HOME : POKE -16304,0: GOTO 620
650 PRINT CHR$(04)"BLOAD";A$;",A$"AD: RETURN
660 ER = PEEK(222):EL = PEEK(219) *256 + PEEK(218)
670 TEXT : HOME : VTAB 7: PRINT CHR$(4)"CLOSE"
680 IF ER = 6 THEN PRINT "FILE NOT FOUND": GOTO 720
690 IF ER = 8 THEN PRINT "I/O ERROR": GOTO 720
700 IF ER = 16 THEN PRINT "SYNTAX ERROR IS LINE "EL: GOTO 720
710 PRINT "UNANTICIPATED ERROR IN LINE "EL
720 VTAB 23: PRINT "PRESS <RETURN> TO RESTART";: GET CH$: PRINT CH$: GOTO 110
730 HOME : PRINT : PRINT "THE FILE CHAMELEON IS NOT ON THIS DISK.": PRINT "INSERT THE DISK WITH 'CHAMELEON'": PRINT : PRINT "AND PRESS <RETURN> ";
740 POKE -16368,0: GET CH$: PRINT CH$
750 GOTO 80