PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #12)

[PCjs Machine "ibm5150"]

Waiting for machine "ibm5150" to load....

Information about “DEALER DEMO 2 OF 2 (ALSO 11)”

Are you there, Nostalgia buffs? Many of the programs listed below were
used as part of the original IBM PC dealer demonstrations.

Among them you'll find a wide selection of utility programs for testing
yur monitor display, and to test and/or control your printer. And for
the playful, of course, there are some vintage games. A trip through
this fascinating collection of programs is a hike through the early
days of computing.

System Requirements:  Some programs require color graphics.

How to Start:  To run a COM program simply type its name and press
<ENTER>. For instructions on running BASIC programs, please refer to the
GETTING STARTED section in this catalog.

File Descriptions:

The First Disk Contains:
LOGOC    BAS  IBM logo
TWOSIDE  BAS  Source for TWOSIDE.COM; contains setup instructions
HEAPSORT BAS  HEAPSORT demo
GRAPH1   BAS  Draw on screen with 8 cursor keys or light pen
PLOTTER  BAS  Test pattern for plotters
TRANDUMP BAS  Hex file display program
PRINT    BAS  Prints or displays any ASCII text file
QSORT    BAS  Quick internal sort for array - string or numeric
SCREENS       Data file for GRAPH1.BAS
HAPPYB   BAS  Plays the Happy birthday song LOGOC    BAS  IBM logo
WAITIN   BAS  Keyboard wait sub-routine
CHRSET   BAS  Prints all 244 printable chars - 244 out of 255
PRDEMO   BAS  Prints all 12 MX80 printer fonts
BASICPRT BAS  Prints BASIC programs: highlighting rems & print control
MENU     BAS  Program from dealer demo a-disk
IBMDIY   BAS  Program from dealer demo a-disk
MX80     BAS  Selects fonts
LUNAR    BAS  Game - Apollo lunar landing
PEOPLE   BAS  Game of 20 questions  (May need empty PEOPLEF file)
SNOW?    BAS  Random patterns (3 files)
PATTERNS BAS  More random patterns
C        BAS  Switches display to color
IBMMC    BAS  Program from dealer demo a-disk
B        BAS  Switches display to monochrome
IBMCS    BAS  Program from dealer demo a-disk
SATURN   BAS  Picture of Saturn
SPEEDUP  BAS  Source to create SPEEDUP.COM on system disk in Drive A
TWOSIDE  COM  Allows 2 double-sided disk drives addressed a,b,c,d
AUTOEXEC BAT  Sample autoexec file to load speedup and request date
TESTSCRN BAS  Test pattern to adjust your screen
SPEEDUP  COM  Speeds up disk operations - do not use with VISICALC
DEFEND   BAS  Animated war game - uses joy stick controllers
PSTYLES  BAS  Display different print styles on an IBM or EPSON printer
DISPLAY  BAS  Selects which monitor you are using (Monochrome or Color)
GTEST    BAS  Graphics test display
START    BAS  Color display demo with 17 programs and one data file
CANNON   BAS  Cannon firing game - elev control and sound effects
NIM      BAS  Game of NIM

The Second Disk Contains:
LIFE     BAS  Input pattern is char string(s) - last one is "Done"
ARKTRAV  BAS  Music - a short melody
SIREN    BAS  Wailing siren that doesn't stop until CTRL-BREAK
BULLSEYE BAS  Program using circle statements
PAINT    BAS  Program with circle and paint statements
MEDBULL  BAS  Program using circle statements
GRAPHICS BAS  IBM logo on 40 char screen
*        PIC  Pictures used by DEMO3 (7 files)
LOGO40   BAS  IBM logo on 40 char screen
FENCE    BAS  Hit shifty prey with ball using / paddles
DEMO3    BAS  Use with menu on Disk No 11

ARKTRAV.BAS

10 PLAY"l4o2go3l8cedcl4o2aaggo3ccddeel8dedco2l4ago3cedcl4o2aaggo3cco4l8co3bo4co3gao4co3bagfedl4c

BULLSEYE.BAS

10 CLEAR,,8000
20 CLS
24 SCREEN 2,0
25 INPUT "how many PIXELS BETWEEN STEPS ";S
40 FOR RADIUS=1 TO 199 STEP S
50 CIRCLE (319,99),RADIUS
60 NEXT RADIUS
70 GOTO 70

CRC.TXT

PC-SIG Disk No. #12, version v1

The following is a list of the file checksums which should be produced by
the CRCK4 program on disk #9 (and others).  If the CRC numbers do not match
you may have a bad file.  To use type:  CRCK4 <filespec>

CRCK4 output for this disk:


CRCK ver 4.2B (MS DOS VERSION )
CTL-S pauses, CTL-C aborts

--> FILE:  FENCE   .BAS         CRC = 72 A9

--> FILE:  DEMO3   .BAS         CRC = 9D D0

--> FILE:  LOGO40  .BAS         CRC = 30 07

--> FILE:  GRAPHICS.BAS         CRC = 92 03

--> FILE:  MOUNTX  .PIC         CRC = 25 1D

--> FILE:  WORM    .PIC         CRC = 96 48

--> FILE:  COMPLEX1.PIC         CRC = 9F A6

--> FILE:  WORM2   .PIC         CRC = 5D 5C

--> FILE:  QUILT   .PIC         CRC = 24 C9

--> FILE:  EGGS    .PIC         CRC = 53 68

--> FILE:  FLOWERS .PIC         CRC = E5 E2

--> FILE:  BULLSEYE.BAS         CRC = 9B 8A

--> FILE:  MEDBULL .BAS         CRC = 05 1F

--> FILE:  PAINT   .BAS         CRC = 2E BD

--> FILE:  ARKTRAV .BAS         CRC = 0A A2

--> FILE:  SIREN   .BAS         CRC = 80 76

--> FILE:  LIFE    .BAS         CRC = 7D B6

 ---------------------> SUM OF CRCS = C1 31

DONE

These and other Public Domain and user-supported programs from:

PC Software Interest Group
1125 Stewart Ct  Suite G
Sunnyvale, CA 94086
(408) 730-9291

DEMO3.BAS

5 KEY OFF
10 CLS
20 SCREEN 0,1
30 COLOR 7,0,0
32 CLS:LOCATE 3,,0
60 PRINT " The IBM Personal Computer offers many":PRINT:PRINT " powerful, standard features..."
65 GOTO 1000
70 LOCATE 15,10
80 PRINT "UPPER CASE"
90 A$=INPUT$(1)
100 RETURN
110 LOCATE 15,10
120 PRINT "lower case"
130 A$=INPUT$(1)
140 RETURN
150 LOCATE 15,10
160 COLOR 11
170 PRINT "COLOR TEXT"
180 A$=INPUT$(1)
190 RETURN
200 REM
210 COLOR 0,2
212 LOCATE 14,10:PRINT SPC(25)
220 LOCATE 15,10:PRINT " REVERSE IMAGE AND COLOR "
222 LOCATE 16,10:PRINT SPC(25)
230 A$=INPUT$(1)
240 RETURN
250 'LOCATE 15,10
260 'COLOR 7,4,1
270 'PRINT "  color border and text  "
280 'A$=INPUT$(1)
290 RETURN
300 REM
310 COLOR 15,1,0
312 LOCATE 14,10:PRINT SPC(15):COLOR 7,0:PRINT SPC(12)
320 COLOR 15,1:LOCATE 15,10:PRINT " BLINKING ";
330  COLOR 31,1
340 PRINT "TEXT ";:COLOR 0,0:PRINT SPC(12)
342 COLOR 15,1:LOCATE 16,10:PRINT SPC(15):COLOR 7,0:PRINT SPC(12)
350 A$=INPUT$(1)
360 RETURN
370 COLOR 7,0:LOCATE 14,10:PRINT SPC(15)
380 LOCATE 15,10:PRINT "CHARACTER COLOR";:PRINT SPC(15)
382 LOCATE 16,10:PRINT SPC(15)
385 LOCATE 17,7
390 FOR I=1 TO 7
400 COLOR I
410 PRINT I;
420 NEXT I
422 'PRINT:PRINT:FOR I=9 TO 15:COLOR I:PRINT I;:NEXT I
430 A$=INPUT$(1)
440 RETURN
450 LOCATE 15,1
460 PRINT SPACE$(40);
462 PRINT SPACE$(40);
464 PRINT SPACE$(40);
468 COLOR 7,0
470 LOCATE 15,10
480 PRINT "SOUND"
490 PLAY "t128l32o1cdefgabo2cdefgabo3cdefgab"
500 PLAY "t128l32o3bagfedco2bagfedco1bagfedc"
510 A$=INPUT$(1)
520 RETURN
530 SCREEN 1,0
540 COLOR 0,1
550 CLS
555 KEY OFF
560 LOCATE 15,8
580 PRINT "GRAPHICS"
590 LINE (25,25)-(275,175),3,B
600 CIRCLE (199,100),75,3,,,0.8
602 PAINT (199,159),2,3
604 PAINT (0,199),1,3
606 GOSUB 9030
610 A$=INPUT$(1)
620 RETURN
630 CLS
640 CIRCLE (199,100),99,2,-0,-1,0.85
641 CIRCLE (199,100),98,2,-0,-1,0.8499999
642 CIRCLE (199,100),99,2,-1,-2,0.85
643 CIRCLE (199,100),98,2,-1,-2,0.8499999
644 CIRCLE (199,100),99,2,-2,-3,0.85
645 CIRCLE (199,100),98,2,-2,-3,0.8499999
646 CIRCLE (199,100),99,2,-3,-4,0.85
647 CIRCLE (199,100),98,2,-3,-4,0.8499999
648 CIRCLE (199,100),99,2,-4,-5,0.85
649 CIRCLE (199,100),98,2,-4,-5,0.8499999
650 CIRCLE (199,100),99,2,-5,-0,0.8499999
651 CIRCLE (199,100),98,2,-5,-0,0.8499999
660 PAINT (230,80),3,2
664 PAINT (180,40),2,2
666 PAINT (140,40),1,2
668 PAINT (140,120),0,2
669 PAINT (180,140),2,2
670 PAINT (230,120),1,2
800 A$=INPUT$(1)
805 COLOR ,0
806 A$=INPUT$(1)
810 RETURN
820 DEF SEG=&HB800
830 CLS:SCREEN 1
840 COLOR 0,1
850 BLOAD "B:MOUNTX.PIC"
860 A$=INPUT$(1)
870 RETURN
880 LOCATE 3,24:PRINT "Mountain";
890 A$=INPUT$(1)
900 RETURN
1000 GOSUB 70
1010 GOSUB 110
1020 GOSUB 150
1030 GOSUB 200
1040 GOSUB 250
1050 GOSUB 300
1060 GOSUB 370
1070 GOSUB 450
1080 GOSUB 530
1090 GOSUB 630
1095 GOSUB 830
1097 GOSUB 880
1100 COLOR 0,0,0
1110 A$=INPUT$(1)
1200 GOTO 1410
1205 DR=INT(RND*8)+1:PLAY "mbl14o3n"+STR$(INT(RND*50)):PRESET (XA(T),YA(T)):T=T+1:IF T>200 THEN T=1
1210 IF INKEY$<>"" THEN 1410
1215 RETURN
1220 XA(H)=X:YA(H)=Y
1225 X=X+XD(DR):Y=Y+YD(DR)
1230 IF POINT(X,Y)>0 THEN GOSUB 1205:X=XA(H):Y=YA(H):GOTO 1225 ELSE PSET(X,Y):PRESET (XA(T),YA(T)):H=H+1:T=T+1:IF H>200 THEN H=1
1235 IF T>200 THEN T=1:GOTO 1220 ELSE GOTO 1220
1240 GOTO 1220
1245 XA(H)=X:YA(H)=Y:X=X+XD(DR):Y=Y+YD(DR)
1250 IF POINT (X,Y)>0 THEN X=XA(H):Y=YA(H):DR=INT(RND*8)+1:GOTO 1245
1255 PSET (X,Y):H=H+1
1260 IF H>200 THEN H=1
1265 T=3
1270 GOTO 1220
1275 KEY OFF:SCREEN 1:DEF SEG=&HB800
1280 DEF FNTM(X$)=VAL(MID$(X$,4,2))*60+VAL(RIGHT$(X$,2))
1285 CLS:DEFINT A-Z
1290 DEF FNTM(X$)=VAL(MID$(X$,4,2))*60+VAL(RIGHT$(X$,2))
1295 X=0:Y=0:DR=1:H=0:T=0
1300 DEF FNXY(A,B)=A*2+1+B*80
1305 COLOR 0,1
1310 DIM YD(8),XD(8)  ' X&Y DIR. INCRS
1315 DIM XA(200),YA(200) ' X,Y VALUES
1320 FOR I=0 TO VAL(RIGHT$(TIME$,1)):ZZ=RND:NEXT I:ON INT(RND*3)+1 GOTO 1325,1330,1335
1325 BLOAD "WORM.PIC",0:GOTO 1340
1330 'BLOAD "WORM1.PIC",0:GOTO 150
1335 BLOAD "WORM2.PIC",0
1340 FOR I=1 TO 8:READ XD(I):NEXT I
1345 FOR I=1 TO 8:READ YD(I):NEXT I
1350 H=1:J=2
1355 X=RND*315:Y=RND*184:IF POINT(X,Y)=0 THEN PSET (X,Y) ELSE 1355
1360 PT=PT+1:IF PT<301 THEN 1355
1365 H=1
1370 T=2:DR=INT(RND*8)+1
1375 X=RND*300
1380 Y=RND*150
1385 IF POINT(X,Y)>0 THEN 1375
1390 TIME=FNTM(TIME$)+30: IF TIME>3600 THEN TIME=30
1395 GOTO 1245
1400 DATA 0,1,1,1,0,-1,-1,-1:' x incrs
1405 DATA -1,-1,0,1,1,1,0,-1:' y incrs
1410 REM
1415 SCREEN 1
1420 COLOR 1,0
1425 CLS
1430 LINE (0,80)-(319,199),0,BF
1435 DRAW "S4;BM159,90;C2;U7;R20;M-35,+35;R12;M+35,-35;U8;L43;D15;R10"
1440 PAINT (158,89),4,2
1445 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
1450 PAINT (121,76),4,2
1455 DRAW "s4;bm110,130;c2;r75"
1460 DRAW "s4;bm178,7;c2;m-33,+33;r24;d20;r10;u20;r8;u8;l8;u25;"
1465 DRAW "s1;bm170,25;c2;m-33,+33;r33;u28;"
1470 PAINT (178,8),4,2
1475 FOR Q= 1 TO 1000:NEXT Q
1480 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1485 PAINT (129,145),4,2
1490 FOR Q= 1 TO 1000:NEXT Q
1495 DRAW "s3;bm150,195;c2;r45;u9;l30;M+30,-30;U15;M-18,-18;L14;M-15,+15;D9;R11;U7;M+8,-8;R7;M+10,+10;D14;M-35,+35;D5;
1500 PAINT (151,194),4,2
1505 DRAW "s3;bm205,155;c2;d25;m+10,-10;m+10,+10;u25;l6;d10;m-5,-5;m-5,+5;u10;l5;"
1510 PAINT (206,156),4,2
1515 DRAW "s3;bm225,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u10;l18;"
1520 DRAW "s3;bm230,157;d4;r6;u4;l6;"
1525 PAINT (226,156),4,2
1530 DRAW "s3;bm245,155;c2;d25;r20;u25;l20;"
1535 DRAW "s3;bm250,158;c2;d15;r8;u15;l8;"
1540 PAINT (246,156),4,2
1545 DRAW "s3;bm265,155;c2;d25;r7;u10;m+10,+10;r5;u25;l6;d10;m-10,-10;l5;
1550 PAINT (266,156),4,2
1555 DRAW "s3;bm287,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;
1560 PAINT (289,156),4,2
1565 DRAW "s3;bm307,155;c2;d17;r4;u17;l4;
1570 PAINT (308,156),4,2
1575 DRAW "s3;bm307,170;c2;d4;r4;u4;l4;
1580 PAINT (308,171),4,2
1585 PLAY"t36;o1;l10;c
1590 FOR Q=1 TO 2000:NEXT
1595 SCREEN 1
1600 COLOR 1,0
1605 CLS
1610 LINE (0,80)-(319,199),0,BF
1615 DRAW "S4;BM159,90;C2;U7;R20;M-35,+35;R12;M+35,-35;U8;L43;D15;R10"
1620 PAINT (158,89),4,2
1625 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
1630 PAINT (121,76),4,2
1635 DRAW "s4;bm110,130;c2;r75"
1640 DRAW "s4;bm178,7;c2;m-33,+33;r24;d20;r10;u20;r8;u8;l8;u25;"
1645 DRAW "s1;bm170,25;c2;m-33,+33;r33;u28;"
1650 PAINT (178,8),4,2
1655 FOR Q= 1 TO 600:NEXT Q
1660 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1665 PAINT (129,145),4,2
1670 FOR Q= 1 TO 600:NEXT Q
1675 DRAW "s6;bm170,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1680 PAINT (129,145),4,2
1685 PAINT (169,145),4,2
1690 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1695 PAINT (129,145),4,2
1700 DRAW "s3;bm205,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u11;l18;
1705 DRAW "s2;bm210,160;c2;u6;r8;d6;l8
1710 PAINT (206,155),4,2
1715 DRAW "s3;bm225,155;c2;d25;r7;u25;l7;"
1720 PAINT (226,156),4,2
1725 DRAW "s3;bm235,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;"
1730 PAINT (236,156),4,2
1735 DRAW "s3;bm255,155;c2;d25;r7;u10;r10;d10;r7;u25;l7;d10;l10;u10;l7;"
1740 PAINT (256,156),4,2
1745 DRAW "s3;bm275,155;c2;d5;r8;d20;r7;u20;r8;u5;l23;"
1750 PAINT (276,156),4,2
1755 DRAW "s3;bm305,155;c2;d17;r7;u17;l7;"
1760 PAINT (306,156),4,2
1765 DRAW "s3;bm305,172;c2;d4;r7;u4;l7;"
1770 PAINT (306,173),4,2
1775 PLAY "t45;o3;l32;dgb"
1780 PLAY "o4;d
1785 PLAY "p30"
1790 PLAY "o3;b
1795 PLAY "o4;l8;d
1800 FOR W = 1 TO 1500
1805 NEXT W
1810 CLS
1815 LINE (0,80)-(319,199),0,BF
1820 DRAW "s6;bm159,10;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1825 PAINT (155,30),4,2
1830 DRAW "s6;bm159,70;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
1835 PAINT (155,90),4,2
1840 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
1845 PAINT (121,76),4,2
1850 DRAW"s4;bm110,130;c2;r75"
1855 FOR Q= 1 TO 600:NEXT Q
1860 DRAW "s3;bm140,195;c2;r45;u9;l30;m+30,-30;u15;m-18,-18;l14;m-15,+15;d9;r11;u7;m+8,-8;r7;m+10,+10;d14;m-35,+35;d5;"
1865 PAINT (141,194),4,2
1870 DRAW "s3;bm205,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u11;l18;
1875 DRAW "s2;bm210,160;c2;u6;r8;d6;l8
1880 PAINT (206,155),4,2
1885 DRAW "s3;bm225,155;c2;d25;r7;u25;l7;"
1890 PAINT (226,156),4,2
1895 DRAW "s3;bm235,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;"
1900 PAINT (236,156),4,2
1905 DRAW "s3;bm255,155;c2;d25;r7;u10;r10;d10;r7;u25;l7;d10;l10;u10;l7;"
1910 PAINT (256,156),4,2
1915 DRAW "s3;bm275,155;c2;d5;r8;d20;r7;u20;r8;u5;l23;"
1920 PAINT (276,156),4,2
1925 DRAW "s3;bm305,155;c2;d17;r7;u17;l7;"
1930 PAINT (306,156),4,2
1935 DRAW "s3;bm305,172;c2;d4;r7;u4;l7;"
1940 PAINT (306,173),4,2
1945 PLAY "t45;o3;l32;dgb"
1950 PLAY "o4;d
1955 PLAY "p30"
1960 PLAY "o3;b
1965 PLAY "o4;l8;d
1970 FOR W = 1 TO 1500
1975 NEXT W
1980 IF INKEY$="" THEN 1980
1985 KEY OFF:DEFSNG S,A:SCREEN 1,0:COLOR 0,0:CLS:X=160:Y=100
1990 FOR T=1 TO 200:CIRCLE(RND*320,RND*200),RND*1,3:NEXT T
1995 CIRCLE (X,Y),50,1
2000 PAINT (X,Y),3,1
2005 FIRST =0:LAST=10:CLR=1:SET = 2.2:ANG =1:GOSUB 2025
2010 FIRST=14:LAST=22:CLR=2:SET=2.05:ANG=1.1:GOSUB 2025
2015 FIRST=31:LAST=48:CLR=1:SET=1.95:ANG=1.2:GOSUB 2025
2020 GOTO 2045
2025 FOR RING=FIRST TO LAST
2030 CIRCLE(X,Y),85+RING,CLR,SET,ANG,0.2
2035 NEXT RING
2040 RETURN
2045 IF INKEY$="" THEN 2045 ELSE DEFINT S,A
2050 SCREEN 1,0
2055 COLOR 0,1
2060 CLS
2065 KEY OFF
2070 PRINT"              PROFITS-1980"
2075 DRAW "S3;bm32,40;c3;d194;r372;u194;l372;"
2080 DRAW "S3;bm33,40;c3;d193;r370;u193;l371;"
2085 DRAW"s3;bm82,40;c3;d194;r62;u194;r62;d194;r62;u194;r62;d194;"
2090 DRAW"s3;bm81,40;c3;d194;r62;u194;r62;d194;r62;u194;r62;d194;"
2095 PRINT"             (IN THOUSANDS)":PRINT:
2100 PRINT"     JAN   FEB  MARCH APRIL  MAY  JUNE"
2105 PRINT:PRINT" 90":PRINT:PRINT" 80":PRINT:PRINT" 70":PRINT:PRINT" 60":PRINT:PRINT" 50":PRINT:PRINT" 40":PRINT:PRINT" 30":PRINT:PRINT" 20":PRINT:PRINT" 10":
2110 FOR P=1 TO 500
2115 NEXT P
2120 LINE (35,80)-(78,182),1,BF
2125 LINE (84,67)-(124,182),1,BF
2130 LINE (131,95)-(170,182),1,BF
2135 LINE (177,87)-(216,182),1,BF
2140 LINE (222,60)-(262,182),1,BF
2145 LINE (268,72)-(308,182),1,BF
2150 FOR X = 1 TO 1000
2155 NEXT X
2160 IF INKEY$="" THEN 2160
9000 RUN "B:LOGO40.BAS"
9010 COLOR 7,0,0
9020 END
9030 PLAY "t255l64cdefgabo4cco3bagfedc"
9040 RETURN
9050 COLOR 7,0,0

FENCE.BAS

99  OPTION BASE 1
100 CLS
110 KEY OFF
120 LOCATE 6,10 : PRINT "Welcome to the game of FENCE.  Enter one of the "
130 LOCATE 8,10 : PRINT "numbers below to begin game."
140 LOCATE 10,10: PRINT "      1 = Instructions"
150 LOCATE 12,10: PRINT "      2 = Begin game with skill level of ADVANCED"
160 LOCATE 14,10: PRINT "      3 = Begin game with skill level of INTERMEDIATE"
170 LOCATE 16,10: PRINT "      4 = Begin game with skill level of BEGINNER"
180 LOCATE 18,10: PRINT "      0 = Quit
190 A$=INKEY$:IF A$="" THEN 190
200 IF A$="1" THEN GOSUB 1030 : GOTO 100
210 IF A$="2" THEN SKILL=3 : GOTO 260
220 IF A$="3" THEN SKILL=6 : GOTO 260
230 IF A$="4" THEN SKILL=10: GOTO 260
240 IF A$="0" THEN CLS : END
250 GOTO 110
260 CLS
280 RANDOMIZE(VAL(MID$(TIME$,7,2)))
290 KEY OFF
300 DIM FFFFF$(23)
305 FFFFF$(1)=STRING$(80,220) : PRINT FFFFF$(1)
310 FOR I=2 TO 22
320    FFFFF$(I)=CHR$(221)+STRING$(78," ")+CHR$(222)
322    LOCATE I,1 : PRINT CHR$(221)
325    LOCATE I,80: PRINT CHR$(222)
330 NEXT I
332 FFFFF$(23)=STRING$(80,223)
333 LOCATE 23,1
335 PRINT FFFFF$(23);
336 LOCATE 1,1 : PRINT CHR$(220)
350 TR=2 : TC=2
360 STIME=0
370 CA=1
380 RA=0
390 C=5
400 R=4
410 HUNTER$=CHR$(26)
420 REM -------------->>>  Begin  Hunt
430 GOSUB 820
440 GOSUB 570
450 IF CHR$(219)=A$ THEN 980
455 IF A$="0" THEN 3000
460 IF RA<>0 THEN 520
470 IF (C=79) AND (CA=1) THEN CA=-1 : HUNTER$=CHR$(27)
480 IF (C=2) AND (CA=-1) THEN CA=1 : HUNTER$=CHR$(26)
490 LOCATE R,C : PRINT A$ : LOCATE R,C+CA : PRINT HUNTER$
500 C=C+CA
510 GOTO 420
520 IF (R=2) AND (RA=-1) THEN RA=1 : HUNTER$=CHR$(25)
530 IF (R=22) AND (RA=1) THEN RA=-1: HUNTER$=CHR$(24)
540 LOCATE R+RA,C : PRINT HUNTER$ : LOCATE R,C : PRINT A$
550 R=R+RA
560 GOTO 420
570 REM ===================================================================
580 REM ========  Subroutine to read a char and continue   ================
590 REM ===================================================================
600 A$ = INKEY$
605 IF A$="0" THEN RETURN
610 IF A$="/" OR A$="\" THEN 630
620 A$=MID$(FFFFF$(R),C,1)
630 IF " "=MID$(FFFFF$(R),C,1) THEN MID$(FFFFF$(R),C,1) = A$
640 IF (A$<>"/") AND (A$<>"\") THEN RETURN
650 IF RA=0 THEN IF CA = -1 THEN IF A$="/" THEN 740
660 IF RA=0 THEN IF CA = -1 THEN IF A$="\" THEN 760
670 IF RA=0 THEN IF CA = 1 THEN IF A$="\" THEN 740
680 IF RA=0 THEN IF CA = 1 THEN IF A$="/" THEN 760
690 IF CA=0 THEN IF RA = -1 THEN IF A$="/" THEN 800
700 IF CA=0 THEN IF RA = -1 THEN IF A$="\" THEN 780
710 IF CA=0 THEN IF RA=1 THEN IF A$="/" THEN 780
720 IF CA=0 THEN IF RA=1 THEN IF A$="\" THEN  800
730 RETURN
740 REM   a$="/" , ra=0 , ca = -1  or ra=0,ca=1,a$=\
750 CA=0:RA=1:HUNTER$=CHR$(25):RETURN
760 REM  ra=0,ca=1,/  or ra=0,ca=-1,\
770 CA=0:RA=-1:HUNTER$=CHR$(24):RETURN
780 REM   ca=0,ra=1,/   or   ca=0,ra=-1,\
790 CA=-1:RA=0:HUNTER$=CHR$(27):RETURN
800 REM   ca=0,ra=1,\   or   ca=0,ra=-1,/
810 CA=1:RA=0:HUNTER$=CHR$(26):RETURN
820 REM -------->>>      check time and move target every 10 seconds
830 KK$=TIME$
840 LL=3600*VAL(MID$(KK$,1,2))
850 LL=LL+60*VAL(MID$(KK$,4,2))
860 LL=LL+VAL(MID$(KK$,7,2))
870 IF (LL-STIME)<SKILL  THEN RETURN
880 STIME=LL
890 MID$(FFFFF$(TR),TC,1)=" "
900 LOCATE TR,TC : PRINT " "
910 TR=INT(RND*100)
920 IF (TR<2) OR (TR>22) THEN 910
930 TC=INT(RND*100)
940 IF (TC<2) OR (TC>79) THEN 930
950 MID$(FFFFF$(TR),TC,1)=CHR$(219)
960 LOCATE TR,TC : PRINT CHR$(219)
970 RETURN
980 REM ---------->>>  Hunt is over
990 CLS
1000 LOCATE 10,35 : PRINT " B O O M"
1010 LOCATE 23,27 : COLOR 0,7 : PRINT " Press any key to continue ":COLOR 7,0
1015 ERASE FFFFF$
1020 GOSUB 1260 : GOTO 100
1030 REM -------->>> Instructions
1040 CLS
1050 PRINT
1060 PRINT"  The object of the game of FENCE is to 'KILL' the target.  The"
1070 PRINT"target (shown on the screen as "+CHR$(219)+") will change locations"
1080 PRINT"at regular time intervals depending upon the skill level you"
1090 PRINT"select:"
1100 PRINT"           ADVANCED:     Target will move every 3 seconds"
1110 PRINT"           INTERMEDIATE: Target will move every 6 seconds"
1120 PRINT"           BEGINNER:     Target will move every 10 seconds"
1130 PRINT
1140 PRINT"  The 'hunter' will stalk along at a steady pace.  You can change"
1150 PRINT"the direction of the hunter by putting up a fence (\ or /) which"
1160 PRINT"will change the hunters direction depending upon the direction"
1170 PRINT"he is currently travelling.  For example:"
1180 PRINT
1190 PRINT"    "+STRING$(5,26)+"\            /"+STRING$(5,27)
1200 PRINT"        "+CHR$(25)+"              "+CHR$(25)
1210 PRINT"        "+CHR$(25)+"              "+CHR$(25)
1220 PRINT"        "+CHR$(25)+"              "+CHR$(25)
1222 PRINT
1224 PRINT"     If you want to give up a hunt, just enter 0"
1230 LOCATE 23,20: COLOR 0,7 : PRINT " Press any key to continue " : COLOR 7,0
1240 GOSUB 1260 :RETURN
1250 RETURN
1260 REM -------->>>  wait
1270 A$=INKEY$: IF A$="" THEN 1270
1280 RETURN
3000 REM --------->>>  Give up a hunt
3010 CLS
3020 LOCATE 10,20:COLOR 0,7:PRINT" I knew you could'nt do it ":COLOR 7,0
3030 LOCATE 23,20:PRINT" Press any key to continue ": COLOR 7,0
3040 ERASE FFFFF$ : GOSUB 1260 : GOTO 100

GRAPHICS.BAS

5 'SAVE"B:GRAPHICS"
10 GOTO 85
15 DR=INT(RND*8)+1:PLAY "mbl14o3n"+STR$(INT(RND*50)):PRESET (XA(T),YA(T)):T=T+1:IF T>200 THEN T=1
20 IF FNTM(TIME$)>TIME THEN 220
25 RETURN
30 XA(H)=X:YA(H)=Y
35 X=X+XD(DR):Y=Y+YD(DR)
40 IF POINT(X,Y)>0 THEN GOSUB 15:X=XA(H):Y=YA(H):GOTO 35 ELSE PSET(X,Y):PRESET (XA(T),YA(T)):H=H+1:T=T+1:IF H>200 THEN H=1
45 IF T>200 THEN T=1:GOTO 30 ELSE GOTO 30
50 GOTO 30
55 XA(H)=X:YA(H)=Y:X=X+XD(DR):Y=Y+YD(DR)
60 IF POINT (X,Y)>0 THEN X=XA(H):Y=YA(H):DR=INT(RND*8)+1:GOTO 55
65 PSET (X,Y):H=H+1
70 IF H>200 THEN H=1
75 T=3
80 GOTO 30
85 KEY OFF:SCREEN 1:DEF SEG=&HB800
90 DEF FNTM(X$)=VAL(MID$(X$,4,2))*60+VAL(RIGHT$(X$,2))
95 CLS:DEFINT A-Z
100 DEF FNTM(X$)=VAL(MID$(X$,4,2))*60+VAL(RIGHT$(X$,2))
105 X=0:Y=0:DR=1:H=0:T=0
110 DEF FNXY(A,B)=A*2+1+B*80
115 COLOR 0,1
120 DIM YD(8),XD(8)  ' X&Y DIR. INCRS
125 DIM XA(200),YA(200) ' X,Y VALUES
130 RANDOMIZE FNTM(TIME$):ON INT(RND*2)+1 GOTO 135,145
135 BLOAD "B:WORM.PIC",0:GOTO 150
140 'BLOAD "WORM1.PIC",0:GOTO 150
145 BLOAD "B:WORM2.PIC",0
150 FOR I=1 TO 8:READ XD(I):NEXT I
155 FOR I=1 TO 8:READ YD(I):NEXT I
160 H=1:J=2
165 X=RND*315:Y=RND*184:IF POINT(X,Y)=0 THEN PSET (X,Y) ELSE 165
170 PT=PT+1:IF PT<301 THEN 165
175 H=1
180 T=2:DR=INT(RND*8)+1
185 X=RND*300
190 Y=RND*150
195 IF POINT(X,Y)>0 THEN 185
200 TIME=FNTM(TIME$)+30: IF TIME>3600 THEN TIME=30
205 GOTO 55
210 DATA 0,1,1,1,0,-1,-1,-1:' x incrs
215 DATA -1,-1,0,1,1,1,0,-1:' y incrs
220 REM
499 'SAVE "B:PICTURES"
500 '
510 'PICTURES
520 '
530 DIM NM1$(15): CNT=0: SCREEN 1,0: DEF SEG=&HB800: KEY OFF
540 FOR I=1 TO 15: READ NM1$(I): IF NM1$(I)="" THEN 560
550 NEXT I
560 I=I-1
570 J=RND*I+1: IF NM1$(J)="" THEN 570
575 IF NM1$(J)="MOUNTX" THEN COLOR 0,1 ELSE COLOR 1,0
580 CLS: BLOAD "B:"+NM1$(J)+".PIC",0: NM1$(J)=""
590 FOR K=1 TO 3000: NEXT K
600 CNT=CNT+1: IF CNT<4 THEN 570
610 GOTO 700
620 DATA COMPLEX1
625 'DATA HEX
630 DATA EGGS
635 DATA MOUNTX
640 DATA FLOWERS
645 'DATA CHECKERS
650 'DATA PALETTE
655 'DATA PALETTE2
660 DATA QUILT
665 DATA ""
700 KEY OFF
705 SCREEN 1,0
710 CLS
715 IF 2*RND>1 THEN COLOR 0,0 ELSE COLOR 0,1
720 FOR N=1 TO 3
725 FOR X=0 TO 320 STEP N*(RND*3)+(RND*N)+1
730 J=N
735 'IF N=4 THEN J=0
740 LINE (0,200)-(X,0),J
745 LINE (320,200)-(320-X,0),J
750 LINE (0,0)-(X,200),J
755 LINE (320,0)-(320-X,200),J
760 NEXT:NEXT
770 FOR N=1 TO 2000:NEXT
900 REM SAVE"B:EYESORE
905 DEFINT J-L: PLAY "MF"
910 DIM J(40),L(40)
915 CLS
920 SCREEN 1,0
925 COLOR 0,0
930 REM
935 REM ********************************
940 REM
945 REM CLEAR KEY AREA
950 REM
955 REM ********************************
960 REM
965 DRAW "C0M1,192M320,192M320,200M1,200M1,193M319,193M319,199M2,199M2,194M318,194M318,198M3,198M3,195M317,195M317,197M4,197M4,196M316,196M160,100"
970 REM
975 REM *******************************
980 REM
985 REM SETUP DRAW STRINGS
990 REM
995 REM                (S$ STRING)
1000 REM
1005 REM *******************************
1010 REM
1015 S$="C0M151,100C1M153,98M156,96M159,95M161,95M164,96M167,98M169,100M167,102M164,104M161,105M159,105M156,104M153,102M151,100M152,100C0M156,99"
1020 REM
1025 REM *******************************
1030 REM
1035 REM                (T$ STRING)
1040 REM
1045 REM *******************************
1050 REM
1055 T$="C3M156,99C2M157,97M159,96M161,96M163,97M164,99M164,101M163,103M161,104M159,104M157,103M156,101M156,99M157,99C0M158,99"
1060 REM
1065 REM *******************************
1070 REM
1075 REM                (U$ STRING)
1080 REM
1085 REM *******************************
1090 REM
1095 U$="C1M158,99C3M159,98M161,98M162,99M162,101M161,102M159,102M158,101M158,99"
1100 REM
1105 REM *******************************
1110 REM
1115 REM MAINLINE PROGRAM
1120 REM
1125 REM *******************************
1130 REM
1135 DRAW S$
1140 SOUND 300,10
1145 FOR Z=1 TO 1000:NEXT
1150 PAINT (159,96),3,1
1155 SOUND 320,10
1160 FOR Z=1 TO 1000:NEXT
1165 DRAW T$
1170 SOUND 340,10
1175 FOR Z=1 TO 1000:NEXT
1180 PAINT (158,98),1,2
1185 SOUND 360,10
1190 FOR Z=1 TO 1000:NEXT
1195 DRAW U$
1200 SOUND 380,10
1205 FOR Z=1 TO 1000:NEXT
1210 PAINT (160,100),2,3
1215 SOUND 400,10
1220 FOR Z=1 TO 1000:NEXT
1225 GET (150,94)-(170,106),J
1230 GET (100,94)-(120,106),L
1235 FOR K=1 TO 3000:NEXT
1240 PUT (180,94),J
1245 SOUND 760,4
1250 FOR K=1 TO 3000:NEXT
1255 FOR I=1 TO 13
1260 PUT (180,81+I),L,AND
1265 SOUND (14-I)*37,2
1270 FOR Z=1 TO 80:NEXT
1275 NEXT I
1280 SOUND 54,30
1285 FOR I=1 TO 3000:NEXT
1290 PUT (180,94),J
1295 SOUND 760,4
1300 FOR I=1 TO 3000:NEXT I
1305 X2 = 150
1310 Y2 = 94
1315 FOR I = 1 TO 50
1320 X1 = RND*260+1
1325 Y1 = RND*186+1
1330 SOUND X1+Y1+37,1
1335 PUT (X1,Y1),J
1340 PUT (X1+30,Y1),J
1345 PUT (X2,Y2),J,>=
1350 PUT (X2+30,Y2),J,>=
1355 X2 = X1
1360 Y2 = Y1
1365 NEXT I
1370 FOR I = 1 TO 3000:NEXT
1375 FOR I=1 TO 13
1380 Y3=Y2+I
1382 LINE (X2,Y3)-(X2+50,Y3),0
1385 'PUT (X2,Y3),L,AND
1390 'PUT (X2+30,Y3),L,AND
1395 'SOUND (14-I)*37,3
1400 'FOR Z=1 TO 100:NEXT
1405 NEXT I
1410 'FOR Z=1 TO 1000:NEXT
1415 'SOUND 74,10
1420 'SOUND 111,10
1425 'SOUND 148,10
1430 'SOUND 185,10
1435 'SOUND 222,10
1440 FOR Z=1 TO 2000:NEXT
1445 FOR K=2 TO 20 STEP 2
1450 SOUND K*37,70
1455 FOR I=1 TO 150 STEP K
1460 IF I<K GOTO 1475
1465 PUT (I-K,I-K),J,>=
1470 PUT (I+30-K,I-K),J,>=
1475 PUT (I,I),J
1480 PUT (I+30,I),J
1485 NEXT I
1490 FOR Z=1 TO 80:NEXT
1495 SOUND 20000,0
1500 PUT (I-K,I-K),J,>=
1505 PUT (I+30-K,I-K),J,>=
1510 NEXT K
1515 SOUND 800,20
1520 FOR I=1 TO 3000:NEXT
1525 'PUT (150,95),J
1530 PUT (145,95),J
1535 SOUND 380,7
1540 FOR I=1 TO 1000:NEXT
1545 'PUT (180,95),J
1550 PUT (175,95),J
1555 SOUND 760,4
1560 FOR I=1 TO 3000:NEXT
1565 FOR I=1 TO 13
1570 'PUT (150,82+I),L,AND
1575 PUT (145,82+I),L,AND
1580 'PUT (180,82+I),L,AND
1585 PUT (175,82+I),L,AND
1590 IF I<>6 GOTO 1605
1595 SOUND (14-I)*37,30
1600 FOR Z=1 TO 2000:NEXT
1605 SOUND (14-I)*37,3
1610 FOR Z=1 TO 180:NEXT
1615 NEXT I
1620 SOUND 37,30
1625 FOR I=1 TO 6000:NEXT
1630 'FOR I=1 TO 281 STEP 40
1635 'FOR K=11 TO 179 STEP 28
1640 'PUT (I,K),J
1645 'NEXT K
1650 'SOUND I*5+37,2
1655 'FOR Z=1 TO 60:NEXT
1660 'NEXT I
1665 'SOUND 380,20
1670 'FOR I=1 TO 2000:NEXT
1675 'FOR K=0 TO 168 STEP 28
1680 'FOR I=1 TO 281 STEP 40
1685 'SOUND I*7+111,3
1690 'FOR Z=1 TO 60:NEXT
1695 'FOR H=1 TO 13
1700 'PUT (I,K+H),L,AND
1705 'NEXT
1710 'NEXT:NEXT
1715 'SOUND 400,5
1720 'SOUND 360,5
1725 'SOUND 360,5
1730 'SCREEN 0,0,0
1735 'END
1800 'SAVE "SQRSQR"
1805 DEFSNG M-Z,A-H:DEFINT I-N:KEY OFF:SCREEN 1,0:BL$=" ":ESC$=CHR$(27):C=3:DIM A(3):A(1)=1:A(2)=5:A(3)=3
1810 RANDOMIZE VAL(RIGHT$(TIME$,2))
1815 CLS:COLOR A(INT(4*RND)),INT(2*RND)
1820 N=INT(27*RND+4):XSTART=0:YSTART=0:HEIGHT=199:WID=319
1825 '
1830 IF N>20 THEN K=5 ELSE IF N>10 THEN K=3 ELSE K=2
1835 FOR I=N+1 TO K STEP -1
1840 XSIZE=WID/I:YSIZE=HEIGHT/I:Y=YSTART
1845 X=XSTART:XP=X+XSIZE:XPPP=X+WID:XPP=XPPP-XSIZE
1850  FOR J=1 TO I:YP=Y+YSIZE:LINE(X,Y)-(XP,YP),C,B:LINE(XPP,Y)-(XPPP,YP),C,B:Y=YP:NEXT J
1855 X=X+XSIZE
1860 Y=YSTART:YP=Y+YSIZE:YPPP=Y+HEIGHT:YPP=YPPP-YSIZE
1865  FOR J=1 TO I-2:XP=X+XSIZE:LINE(X,Y)-(XP,YP),C,B:LINE(X,YPP)-(XP,YPPP),C,B:X=XP:NEXT J
1870 XSTART=XSTART+XSIZE:YSTART=YSTART+YSIZE:HEIGHT=HEIGHT-2*YSIZE:WID=WID-2*XSIZE
1875 NEXT I
1880 C=C+1:IF C>3 THEN C=1
1885 FOR I=1 TO 80:NEXT I
1890 IF C=1 THEN 1815
1895 'IF INKEY$="" THEN 140 ELSE 15
2000 SCREEN 1
2005 COLOR 1,0
2010 CLS
2015 LINE (0,80)-(319,199),0,BF
2020 DRAW "S4;BM159,90;C2;U7;R20;M-35,+35;R12;M+35,-35;U8;L43;D15;R10"
2025 PAINT (158,89),4,2
2030 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
2035 PAINT (121,76),4,2
2040 DRAW "s4;bm110,130;c2;r75"
2045 DRAW "s4;bm178,7;c2;m-33,+33;r24;d20;r10;u20;r8;u8;l8;u25;"
2050 DRAW "s1;bm170,25;c2;m-33,+33;r33;u28;"
2055 PAINT (178,8),4,2
2060 FOR Q= 1 TO 1000:NEXT Q
2065 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2070 PAINT (129,145),4,2
2075 FOR Q= 1 TO 1000:NEXT Q
2080 DRAW "s3;bm150,195;c2;r45;u9;l30;M+30,-30;U15;M-18,-18;L14;M-15,+15;D9;R11;U7;M+8,-8;R7;M+10,+10;D14;M-35,+35;D5;
2085 PAINT (151,194),4,2
2090 DRAW "s3;bm205,155;c2;d25;m+10,-10;m+10,+10;u25;l6;d10;m-5,-5;m-5,+5;u10;l5;"
2095 PAINT (206,156),4,2
2100 DRAW "s3;bm225,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u10;l18;"
2105 DRAW "s3;bm230,157;d4;r6;u4;l6;"
2110 PAINT (226,156),4,2
2115 DRAW "s3;bm245,155;c2;d25;r20;u25;l20;"
2120 DRAW "s3;bm250,158;c2;d15;r8;u15;l8;"
2125 PAINT (246,156),4,2
2130 DRAW "s3;bm265,155;c2;d25;r7;u10;m+10,+10;r5;u25;l6;d10;m-10,-10;l5;
2135 PAINT (266,156),4,2
2140 DRAW "s3;bm287,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;
2145 PAINT (289,156),4,2
2150 DRAW "s3;bm307,155;c2;d17;r4;u17;l4;
2155 PAINT (308,156),4,2
2160 DRAW "s3;bm307,170;c2;d4;r4;u4;l4;
2165 PAINT (308,171),4,2
2170 PLAY"t36;o1;l10;c
2175 FOR Q=1 TO 2000:NEXT
2200 SCREEN 1
2205 COLOR 1,0
2210 CLS
2215 LINE (0,80)-(319,199),0,BF
2220 DRAW "S4;BM159,90;C2;U7;R20;M-35,+35;R12;M+35,-35;U8;L43;D15;R10"
2225 PAINT (158,89),4,2
2230 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
2235 PAINT (121,76),4,2
2240 DRAW "s4;bm110,130;c2;r75"
2245 DRAW "s4;bm178,7;c2;m-33,+33;r24;d20;r10;u20;r8;u8;l8;u25;"
2250 DRAW "s1;bm170,25;c2;m-33,+33;r33;u28;"
2255 PAINT (178,8),4,2
2260 FOR Q= 1 TO 600:NEXT Q
2265 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2270 PAINT (129,145),4,2
2275 FOR Q= 1 TO 600:NEXT Q
2280 DRAW "s6;bm170,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2285 PAINT (129,145),4,2
2290 PAINT (169,145),4,2
2295 DRAW "s6;bm130,143;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2300 PAINT (129,145),4,2
2305 DRAW "s3;bm205,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u11;l18;
2310 DRAW "s2;bm210,160;c2;u6;r8;d6;l8
2315 PAINT (206,155),4,2
2320 DRAW "s3;bm225,155;c2;d25;r7;u25;l7;"
2325 PAINT (226,156),4,2
2330 DRAW "s3;bm235,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;"
2335 PAINT (236,156),4,2
2340 DRAW "s3;bm255,155;c2;d25;r7;u10;r10;d10;r7;u25;l7;d10;l10;u10;l7;"
2345 PAINT (256,156),4,2
2350 DRAW "s3;bm275,155;c2;d5;r8;d20;r7;u20;r8;u5;l23;"
2355 PAINT (276,156),4,2
2360 DRAW "s3;bm305,155;c2;d17;r7;u17;l7;"
2365 PAINT (306,156),4,2
2370 DRAW "s3;bm305,172;c2;d4;r7;u4;l7;"
2375 PAINT (306,173),4,2
2380 PLAY "t45;o3;l32;dgb"
2385 PLAY "o4;d
2390 PLAY "p30"
2395 PLAY "o3;b
2400 PLAY "o4;l8;d
2405 FOR W = 1 TO 1500
2410 NEXT W
2415 CLS
2420 LINE (0,80)-(319,199),0,BF
2425 DRAW "s6;bm159,10;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2430 PAINT (155,30),4,2
2435 DRAW "s6;bm159,70;c2;m-10,+10;r5;d20;l5;d5;r15;u5;l5;u30;"
2440 PAINT (155,90),4,2
2445 DRAW"s4;bm110,90;c2;u5;r10;u10;r5;d10;r10;d5;l10;d10;l5;u10;l10; RUN
2450 PAINT (121,76),4,2
2455 DRAW"s4;bm110,130;c2;r75"
2460 FOR Q= 1 TO 600:NEXT Q
2465 DRAW "s3;bm140,195;c2;r45;u9;l30;m+30,-30;u15;m-18,-18;l14;m-15,+15;d9;r11;u7;m+8,-8;r7;m+10,+10;d14;m-35,+35;d5;"
2470 PAINT (141,194),4,2
2475 DRAW "s3;bm205,155;c2;d25;r7;u11;m+11,+11;m+5,-5;m-11,-11;r8;u11;l18;
2480 DRAW "s2;bm210,160;c2;u6;r8;d6;l8
2485 PAINT (206,155),4,2
2490 DRAW "s3;bm225,155;c2;d25;r7;u25;l7;"
2495 PAINT (226,156),4,2
2500 DRAW "s3;bm235,155;c2;d25;r20;u11;l9;d3;r3;d4;l8;u17;r12;u5;l19;"
2505 PAINT (236,156),4,2
2510 DRAW "s3;bm255,155;c2;d25;r7;u10;r10;d10;r7;u25;l7;d10;l10;u10;l7;"
2515 PAINT (256,156),4,2
2520 DRAW "s3;bm275,155;c2;d5;r8;d20;r7;u20;r8;u5;l23;"
2525 PAINT (276,156),4,2
2530 DRAW "s3;bm305,155;c2;d17;r7;u17;l7;"
2535 PAINT (306,156),4,2
2540 DRAW "s3;bm305,172;c2;d4;r7;u4;l7;"
2545 PAINT (306,173),4,2
2550 PLAY "t45;o3;l32;dgb"
2555 PLAY "o4;d
2560 PLAY "p30"
2565 PLAY "o3;b
2570 PLAY "o4;l8;d
2575 FOR W = 1 TO 1500
2580 NEXT W
2600 SCREEN 1
2605 COLOR 0,0
2610 CLS
2615 KEY OFF
2620 DRAW"bm150,20;c3;d80;m+7,+7;m+7,-7;u80;l13;
2625 PAINT (152,21),3,3
2630 DRAW"BM150,100;c0;r14;bd5;bl4;bl5;bl1;bu5;u80;br6;d80;bd1;br2;l10;br1;bd1;r8;bl1;bd1;l6;bd1;br1;r4
2635 DRAW"bm150,19;c1;u9;r14;d9;l14
2640 PAINT (152,18),1,1
2645 DRAW"bm150,19;c0;bu9;r14;bd9;l14
2650 FOR Z = 1 TO 17
2655 PRINT
2660 NEXT Z
2665 PRINT "     SPELL THE NAME OF THIS OBJECT "
2670 PRINT:PRINT
2675 FOR X= 1 TO 1500:NEXT X
2680 PRINT "                P";
2685 FOR X= 1 TO 300:NEXT X
2690 PRINT "E";
2695 FOR X= 1 TO 300:NEXT X
2700 PRINT "N";
2705 FOR X= 1 TO 300:NEXT X
2710 PRINT "C";
2715 FOR X= 1 TO 300:NEXT X
2720 PRINT "I";
2725 FOR X= 1 TO 300:NEXT X
2730 PRINT "L";
2735 PRINT:PRINT:PRINT"                RIGHT! "
2740 FOR W = 1 TO 1500
2745 NEXT W
3000 ' START.BAS    SYSTEM STARTUP ROUTINE     6/9/81 PBK
3005 KEY OFF
3010 DIM A$(15),P$(15):SCREEN 0,1:WIDTH 40:COLOR 15,1,1:LOCATE ,,0
3015 GREEN=2: BLUE=1: CYAN=3: YELLOW=6 ELSE GREEN=7: BLUE=0: CYAN=7: YELLOW=7
3020 A$(13)= "       Personal Computer     "
3025 A$(1)=SPACE$(39):A$(2)=A$(1):A$(11)=A$(1):A$(12)=A$(1):A$(14)=A$(1):A$(15)=A$(1)
3030  A$(1)= "          The             "
3035  A$(3)= "▄▄▄▄  ▄▄▄▄▄▄   ▄▄       ▄▄"
3040  A$(4)= "▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄     ▄▄▄"
3045  A$(5)=" ▄▄    ▄▄  ▄▄   ▄▄▄   ▄▄▄ "
3050  A$(6)=" ▄▄    ▄▄▄▄▄    ▄▄▄▄ ▄▄▄▄ "
3055  A$(7)=" ▄▄    ▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄ "
3060  A$(8)=" ▄▄    ▄▄  ▄▄   ▄▄ ▄▄▄ ▄▄ "
3065  A$(9)="▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄  ▄  ▄▄▄"
3070 A$(10)="▄▄▄▄  ▄▄▄▄▄▄   ▄▄▄  ▄  ▄▄▄"
3075 CLS
3080 FOR I = 2 TO 40
3085 FOR J = 3 TO 10
3090 LOCATE J+5,I:PRINT "▄";
3095 NEXT J:SOUND 100+RND*3000,1:NEXT I
3100 FOR I = 1 TO 7
3105 FOR J = 3 TO 10
3110 LOCATE J+5,I:PRINT " ";
3115 NEXT J:SOUND 100+RND*3000,1:NEXT I
3120 FOR I=8 TO 33:FOR J=3 TO 10:IF MID$(A$(J),I-7,1)=" "THEN LOCATE J+5,I:PRINT " ";
3125 NEXT J:SOUND 100+RND*3000,1:NEXT I
3130 FOR I = 34 TO 40
3135 FOR J = 3 TO 10
3140 LOCATE J+5,I:PRINT " ";
3145 NEXT J:SOUND 100+RND*3000,1:NEXT I
3150 GOTO 3165
3155 FOR I=2 TO 12
3160 COLOR 15,BLUE:LOCATE I+5,5: PRINT SPACE$(3)+A$(I)+SPACE$(3): NEXT
3165 COLOR 15,BLUE:LOCATE 1+5,6: PRINT SPACE$(3)+A$(1)+SPACE$(3)
3170 SOUND 100+RND*3000,1
3175 COLOR 15,BLUE:LOCATE 13+5,2: PRINT SPACE$(3)+A$(13)
3180 SOUND 100+RND*3000,4
3185 FOR I=1 TO 3000:NEXT
3200 KEY OFF:DEFSNG S,A:SCREEN 1,0:COLOR 0,0:CLS:X=160:Y=100
3205 FOR T=1 TO 200:CIRCLE(RND*300,RND*300),RND*0.5,3:NEXT T
3210 CIRCLE (X,Y),50,1
3215 PAINT (X,Y),3,1
3220 FIRST =0:LAST=10:CLR=1:SET = 2.2:ANG =1:GOSUB 3240
3225 FIRST=14:LAST=22:CLR=2:SET=2.05:ANG=1.1:GOSUB 3240
3230 FIRST=31:LAST=48:CLR=1:SET=1.95:ANG=1.2:GOSUB 3240
3235 GOTO 3260
3240 FOR RING=FIRST TO LAST
3245 CIRCLE(X,Y),85+RING,CLR,SET,ANG,0.2
3250 NEXT RING
3255 RETURN
3260 FOR I=1 TO 3000:NEXT:DEFINT S,A
3300 SCREEN 1,0
3305 COLOR 0,1
3310 CLS
3315 KEY OFF
3320 PRINT"              PROFITS-1980"
3325 DRAW "S3;bm32,40;c3;d194;r372;u194;l372;"
3330 DRAW "S3;bm33,40;c3;d193;r370;u193;l371;"
3335 DRAW"s3;bm82,40;c3;d194;r62;u194;r62;d194;r62;u194;r62;d194;"
3340 DRAW"s3;bm81,40;c3;d194;r62;u194;r62;d194;r62;u194;r62;d194;"
3345 PRINT"             (IN THOUSANDS)":PRINT:
3350 PRINT"     JAN   FEB  MARCH APRIL  MAY  JUNE"
3355 PRINT:PRINT" 90":PRINT:PRINT" 80":PRINT:PRINT" 70":PRINT:PRINT" 60":PRINT:PRINT" 50":PRINT:PRINT" 40":PRINT:PRINT" 30":PRINT:PRINT" 20":PRINT:PRINT" 10":
3360 FOR P=1 TO 500
3365 NEXT P
3370 LINE (35,80)-(78,182),1,BF
3375 LINE (84,67)-(124,182),1,BF
3380 LINE (131,95)-(170,182),1,BF
3385 LINE (177,87)-(216,182),1,BF
3390 LINE (222,60)-(262,182),1,BF
3395 LINE (268,72)-(308,182),1,BF
3400 FOR X = 1 TO 1000
3405 NEXT X
3410 FOR I=1 TO 3000:NEXT
9900 CHAIN "B:TEXT"

LIFE.BAS

2 PRINT TAB(34);"LIFE"
4 PRINT TAB(15);"LINE DELETED"
6 PRINT:PRINT:PRINT
8 PRINT "ENTER YOUR PATTERN"
9 X1=1:Y1=1:X2=24:Y2=70
10 DIM A(24,70),B$(24)
20 C=1
30 INPUT B$(C)
40 IF B$(C)="done" THEN B$(C)="":GOTO 80
50 IF LEFT$(B$(C),1)="." THEN B$(C)=" "+RIGHT$(B$(C),LEN(B$(C))-1)
60 C=C+1
70 GOTO 30
80 C=C-1:L=0
90 FOR X=1 TO C-1
100 IF LEN(B$(X))>L THEN L=LEN(B$(X))
110 NEXT X
120 X1=11-C/2
130 Y1=33-L/2
140 FOR X=1 TO C
150 FOR Y=1 TO LEN(B$(X))
160 IF MID$(B$(X),Y,1)<>" " THEN A(X1+X,Y1+Y)=1:P=P+1
170 NEXT Y
180 NEXT X
200 PRINT:PRINT:PRINT
210 PRINT "GENERATION:";G,"POPULATION:";P:IF I9 THEN PRINT "invalid"
215 X3=24:Y3=70:X4=1:Y4=1:P=0
220 G=G+1
225 FOR X=1 TO X1-1:PRINT:NEXT X
230 FOR X=X1 TO X2
240 PRINT
250 FOR Y=Y1 TO Y2
253 IF A(X,Y)=2 THEN A(X,Y)=0: GOTO 270
256 IF A(X,Y)=3 THEN A(X,Y)=1: GOTO 261
260 IF A(X,Y)<>1 THEN 270
261 PRINT TAB(Y);"*";
262 IF X<X3 THEN X3=X
264 IF X>X4 THEN X4=X
266 IF Y<Y3 THEN Y3=Y
268 IF Y>Y4 THEN Y4=Y
270 NEXT Y
290 NEXT X
295 FOR X=X2+1 TO 24: PRINT: NEXT X
299 X1=X3: X2=X4: Y1=Y3: Y2=Y4
301 IF X1<3 THEN X1=3: I9=-1
303 IF X2>22 THEN X2=22: I9=-1
305 IF Y1<3 THEN Y1=3: I9=-1
307 IF Y2>68 THEN Y2=68: I9=-1
309 P=0
500 FOR X=X1-1 TO X2+1
510 FOR Y=Y1-1 TO Y2+1
520 C=0
530 FOR I=X-1 TO X+1
540 FOR J=Y-1 TO Y+1
550 IF A(I,J)=1 OR A(I,J)=2 THEN C=C+1
560 NEXT J
570 NEXT I
580 IF A(X,Y)=0 THEN 610
590 IF C<3 OR C>4 THEN A(X,Y)=2: GOTO 600
595 P=P+1
600 GOTO 620
610 IF C=3 THEN A(X,Y)=3: P=P+1
620 NEXT Y
630 NEXT X
635 X1=X1-1: Y1=Y1-1: X2=X2+1: Y2=Y2+1
640 GOTO 210
650 END

LOGO40.BAS

3000 ' START.BAS    SYSTEM STARTUP ROUTINE     6/9/81 PBK
3005 KEY OFF
3010 DIM A$(15),P$(15):SCREEN 0,1:WIDTH 40:COLOR 15,1,1:LOCATE ,,0
3015 GREEN=2: BLUE=1: CYAN=3: YELLOW=6 ELSE GREEN=7: BLUE=0: CYAN=7: YELLOW=7
3020 A$(13)= "       Personal Computer     "
3025 A$(1)=SPACE$(39):A$(2)=A$(1):A$(11)=A$(1):A$(12)=A$(1):A$(14)=A$(1):A$(15)=A$(1)
3030  A$(1)= "          The             "
3035  A$(3)= "▄▄▄▄  ▄▄▄▄▄▄   ▄▄       ▄▄"
3040  A$(4)= "▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄     ▄▄▄"
3045  A$(5)=" ▄▄    ▄▄  ▄▄   ▄▄▄   ▄▄▄ "
3050  A$(6)=" ▄▄    ▄▄▄▄▄    ▄▄▄▄ ▄▄▄▄ "
3055  A$(7)=" ▄▄    ▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄ "
3060  A$(8)=" ▄▄    ▄▄  ▄▄   ▄▄ ▄▄▄ ▄▄ "
3065  A$(9)="▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄  ▄  ▄▄▄"
3070 A$(10)="▄▄▄▄  ▄▄▄▄▄▄   ▄▄▄  ▄  ▄▄▄"
3075 CLS
3080 FOR I = 2 TO 40
3085 FOR J = 3 TO 10
3090 LOCATE J+5,I:PRINT "▄";
3095 NEXT J:SOUND 100+RND*3000,1:NEXT I
3100 FOR I = 1 TO 7
3105 FOR J = 3 TO 10
3110 LOCATE J+5,I:PRINT " ";
3115 NEXT J:SOUND 100+RND*3000,1:NEXT I
3120 FOR I=8 TO 33:FOR J=3 TO 10:IF MID$(A$(J),I-7,1)=" "THEN LOCATE J+5,I:PRINT " ";
3125 NEXT J:SOUND 100+RND*3000,1:NEXT I
3130 FOR I = 34 TO 40
3135 FOR J = 3 TO 10
3140 LOCATE J+5,I:PRINT " ";
3145 NEXT J:SOUND 100+RND*3000,1:NEXT I
3150 GOTO 3165
3155 FOR I=2 TO 12
3160 COLOR 15,BLUE:LOCATE I+5,5: PRINT SPACE$(3)+A$(I)+SPACE$(3): NEXT
3165 COLOR 15,BLUE:LOCATE 1+5,6: PRINT SPACE$(3)+A$(1)+SPACE$(3)
3170 SOUND 100+RND*3000,1
3175 COLOR 15,BLUE:LOCATE 13+5,2: PRINT SPACE$(3)+A$(13)
3180 SOUND 100+RND*3000,4
3185 A$=INPUT$(1)
3190 CHAIN "MENU"

MEDBULL.BAS

10 CLEAR,,8000
20 CLS
24 SCREEN 1,0
25 INPUT "how many PIXELS BETWEEN STEPS ";S
40 FOR RADIUS=1 TO 119 STEP S
50 CIRCLE (159,99),RADIUS
60 NEXT RADIUS
70 GOTO 70

PAINT.BAS

5 CLEAR ,5000
7 KEY OFF
15 CLS
20 SCREEN 1,0
25 B=INT(RND*16):P=INT(RND*2):C=INT(RND*3)+1:C1=INT(RND*3)+1
30 COLOR B,P:FOR L=0 TO 5
35 LINE -(INT(RND*320),INT(RND*200)),C1
40 CIRCLE (INT(RND*320),INT(RND*200)),INT(RND*120),C1
50 NEXT: FOR P=0 TO 10
55 PAINT (INT(RND*320),INT(RND*200)),INT(RND*3)+1,C1
60 NEXT
65 FOR T=0 TO 600:NEXT T:GOTO 15

SIREN.BAS

10 FOR N = 37 TO 2000 STEP 50
15 PRINT N
20 SOUND N,1
30 NEXT N
40 FOR N= 2000  TO 37 STEP -20
50 PRINT N
60 SOUND N,1
70 NEXT N
80 GOTO 10

Directory of PC-SIG Library Disk #0012

 Volume in drive A has no label
 Directory of A:\

ARKTRAV  BAS       128   2-04-82
BULLSEYE BAS       256  11-08-81
COMPLEX1 PIC     16512   1-01-80
CRC      TXT      1357  11-09-84   8:04a
CRCK4    COM      1536  10-21-82   7:54p
DEMO3    BAS      8320   1-01-80
EGGS     PIC     16512   1-01-80
FENCE    BAS      4352   3-22-82
FLOWERS  PIC     16512   1-01-80
GRAPHICS BAS     12928   1-01-80
LIFE     BAS      1664  10-14-81
LOGO40   BAS      1280   1-01-80
MEDBULL  BAS       256   1-01-80
MOUNTX   PIC     16128   8-05-81
PAINT    BAS       384   1-01-80
QUILT    PIC     16512   1-01-80
SIREN    BAS       128   1-01-80
WORM     PIC     16512   1-01-80
WORM2    PIC     16512   7-14-81
       19 file(s)     147789 bytes
                        6656 bytes free