Compucolor.org – Virtual Media

Listing of file='PCARDS.BAS;01' on disk='vmedia/sampler-sector.ccvf'

100 CLEAR 100
110 DIM DA(2)
120 DIM OY(10)
130 DIM MY(6)
140 DIM DK(36)
150 AD= 32936
160 A= PEEK (AD)
170 IF A= 0GOTO 200
180 IF A= 3GOTO 200
190 AU= 0:GOTO 210
200 AU= 1
210 FOR L= 0TO 9
220 READ OY(L)
230 NEXT
240 FOR L= 0TO 5
250 READ MY(L)
260 NEXT
270 REM
280 SC= 0
290 PLOT 30,16,12
300 FOR A= 0TO 1
310 GOSUB 1770
320 Y0= Y0+ (16* A):YM= YM+ (16* A)
330 FOR L= 1TO 4
340 GOSUB 890
350 X0= X0+ (W- 1)+ DS:XM= XM+ (W- 1)+ DS
360 NEXT
370 GOSUB 1770
380 Y0= Y0+ (16* A):YM= YM+ (16* A)
390 FOR L= 1TO 4
400 GOSUB 1890
410 X0= X0+ (W- 1)+ DS:XM= XM+ (W- 1)+ DS
420 NEXT
430 NEXT A
440 SC= 1
450 PLOT 14
460 FOR A= 0TO 1
470 GOSUB 1770
480 FOR LM= 0TO 3
490 GOSUB 2020
500 GOSUB 2150
510 GOSUB 1770
520 X0= X0+ LM* ((W- 1)+ DS):XM= XM+ LM* ((W- 1)+ DS)
530 Y0= Y0+ (16* A):YM= YM+ (16* A)
540 GOSUB 870
550 NEXT
560 NEXT A
570 IF AU= 0GOTO 954
580 PLOT 3,64,0:FOR A= 1TO 5000:NEXT
590 GOTO 600
600 PLOT 30,16,12
610 FOR A= 0TO 2
620 GOSUB 1830
630 Y0= Y0+ (10* A):YM= YM+ (10* A)
640 FOR L= 1TO 6
650 GOSUB 1890
660 X0= X0+ (W- 1)+ DS:XM= XM+ (W- 1)+ DS
670 NEXT
680 NEXT A
690 GOSUB 2150
700 GOSUB 1830
710 X0= X0+ LM* ((W- 1)+ DS):XM= XM+ LM* ((W- 1)+ DS)
720 FOR A= 0TO 2
730 GOSUB 1830
740 FOR LM= 0TO 5
750 GOSUB 2020
760 GOSUB 2150
770 GOSUB 1830
780 X0= X0+ LM* ((W- 1)+ DS):XM= XM+ LM* ((W- 1)+ DS)
790 Y0= Y0+ (10* A):YM= YM+ (10* A)
800 GOSUB 870
810 NEXT
820 NEXT A
830 IF AU= 0GOTO 1600
840 PLOT 3,64,0
850 FOR A= 0TO 5000:NEXT
860 LOAD "MENU;1":RUN 5
870 GOSUB 890:GOSUB 1080:GOTO 1200
880 GOSUB 890:GOSUB 1080:GOTO 1200
890 PLOT 30,23,CX
900 IF SC= 0GOTO 920
910 Y0= Y0+ 1:YM= YM- YP:X0= X0+ 1:XM= XM- 1
920 FOR Y= Y0TO YMSTEP YP:FOR X= X0TO XM
930 PLOT 3,X,Y,32
940 NEXT :NEXT
950 IF SC= 0GOTO 1000
960 PLOT 15
970 FOR X= X0TO XM:PLOT 3,X,YM+ 1,32
980 NEXT
990 Y0= Y0- 1:YM= YM+ YP:X0= X0- 1:XM= XM+ 1
1000 IF H< 12GOTO 1070
1010 IF SC= 1GOTO 1070
1020 PLOT 29,6,7,15
1030 PLOT 3,X0,Y0,116
1040 PLOT 3,XM,Y0,117
1050 PLOT 3,X0,YM,118
1060 PLOT 3,XM,YM,119
1070 RETURN
1080 REM
1090 PLOT 15,30,23,29,CR
1100 PLOT 3,X0+ CO,Y0+ CO,DA(1)
1110 PLOT 3,X0+ CO+ 1,Y0+ CO,DA(2)
1120 IF DA(2)> 32THEN 1140
1130 DA(2)= DA(1):DA(1)= 32
1140 PLOT 3,XM- CO- 1,YM- CO,DA(1)
1150 PLOT 3,XM- CO,YM- CO,DA(2)
1160 IF H< 12THEN 1190
1170 PLOT 3,X0+ CO,Y0+ CO+ 1,SU
1180 PLOT 3,XM- CO,YM- CO- 1,SU
1190 RETURN
1200 REM
1210 IF (DN/ 5)< 2GOTO 1240
1220 OC= 5
1230 GOTO 1310
1240 IF (DN/ 3)< 2GOTO 1270
1250 OC= 3
1260 GOTO 1310
1270 IF (DN/ 2)< 2GOTO 1300
1280 OC= 2
1290 GOTO 1310
1300 OC= 0
1310 MC= DN- (2* OC)
1320 XP= 2* XP
1330 Y0= Y0+ CO+ CD
1340 X0= X0+ CO+ CD
1350 PLOT CX
1360 IF DN> 3GOTO 1400
1370 X= X0+ (XP/ 2):OC= MC:MC= 0
1380 GOSUB 1480
1390 RETURN
1400 XM= X0+ XP
1410 FOR X= X0TO XMSTEP XP
1420 GOSUB 1480
1430 NEXT
1440 REM
1450 X= X0+ (XP/ 2)
1460 GOSUB 1570
1470 RETURN
1480 REM
1490 IF OC= 5THEN L= 5:M= 9
1500 IF OC= 3THEN L= 2:M= 4
1510 IF OC= 2THEN L= 0:M= 1
1520 FOR L= LTO M
1530 Y= Y0+ (OY(L)* YP)
1540 PLOT 3,X,Y,SU
1550 NEXT
1560 RETURN
1570 REM
1580 IF MC= 0GOTO 1660
1590 IF MC= 3THEN L= 3:M= 5
1600 IF MC= 2THEN L= 1:M= 2
1610 IF MC= 1THEN L= 0:M= 0
1620 FOR L= LTO M
1630 Y= Y0+ (MY(L)* YP)
1640 PLOT 3,X,Y,SU
1650 NEXT
1660 RETURN
1670 REM
1680 KI= 0
1690 FOR S= 0TO 3
1700 FOR L= 1TO 9
1710 I= L+ (S* 9)
1720 DK(KI)= I
1730 KI= KI+ 1
1740 NEXT :NEXT
1750 CC= 36
1760 RETURN
1770 REM
1780 CX= 14:H= 14:W= 10:DS= 5
1790 X0= 3:Y0= 2:XM= X0+ W:YM= Y0+ (H- 1)
1800 CO= 1
1810 CD= 2:XP= 2:YP= 2
1820 RETURN
1830 REM
1840 CX= 15:H= 7:W= 5:DS= 4
1850 X0= 4:Y0= 2:XM= X0+ (W- 1):YM= Y0+ (H- 1)
1860 CO= 0:SC= 0
1870 CD= 1:XP= 1:YP= 1
1880 RETURN
1890 REM
1900 PLOT 29,17
1910 PLOT 15
1920 FOR Y= (Y0+ CO)TO (YM- CO)
1930 FOR X= (X0+ CO)TO (XM- CO)
1940 PLOT 3,X,Y,96
1950 NEXT :NEXT
1960 PLOT 14
1970 FOR Y= (Y0+ CO+ 2)TO (YM- CO- 2)
1980 FOR X= (X0+ CO+ 2)TO (XM- CO- 2)
1990 PLOT 3,X,Y,96
2000 NEXT :NEXT
2010 RETURN
2020 REM
2030 IF CC> 1GOTO 2050
2040 GOSUB 1670
2050 R= RND (1)
2060 R= INT (R* 100000)
2070 Q= INT (R/ (CC- 1))
2080 KI= R- (Q* (CC- 1))
2090 CN= DK(KI)
2100 FOR KI= KITO (CC- 1)
2110 DK(KI)= DK(KI+ 1)
2120 NEXT
2130 CC= CC- 1
2140 RETURN
2150 REM
2160 SU= INT (CN/ 9)
2170 DN= CN- (SU* 9)
2180 DN= DN+ 2
2190 REM
2200 DA(1)= INT (DN/ 10)
2210 DA(2)= DN- (DA(1)* 10)
2220 IF DA(1)= 0THEN 2260
2230 DA(1)= DA(1)+ 48
2240 DA(2)= DA(2)+ 48
2250 GOTO 2280
2260 DA(1)= DA(2)+ 48
2270 DA(2)= 32
2280 ON (SU+ 1)GOSUB 2300,2310,2320,2330
2290 GOTO 2340
2300 SU= 99:CR= 16:RETURN
2310 SU= 100:CR= 17:RETURN
2320 SU= 104:CR= 17:RETURN
2330 SU= 115:CR= 16:RETURN
2340 RETURN
2350 DATA 0,4:REM
2360 DATA 0,4,2:REM
2370 DATA 0,4,1,3,2:REM
2380 DATA 2:REM
2390 DATA 1,3:REM
2400 DATA 0,4,2:REM