Listing of file='DISKTAPE' on disk='vmedia/gamesall.wvd.zip'
# Sector 521, program filename = 'DISKTAPE' 0010 REM WRITE CASSETTE PROGRAM TAPES FROM F DISK 2200-B 5/29/75 : REM DISKPRGB 0020 REM PREPARED BY- TYLER OLSEN WANG LABS. 2200 R&D 0023 REM INSTRUCTIONS--THE USER CAN TAILOR THIS PROGRAM TO HIS OWN SYSTEM B Y PUTTING DATA STATEMENTS AFTER EACH DEFFN' CALL-OUT (SEE EXAMPLE AT L INES 510,550). 0030 %TAPE FILE ## CONTAINS "########" AND IS ### BLOCKS LONG 0040 %FILE ## NAMED "########" WILL BE ### BLOCKS---TOTAL BLOCKS=### 0050 DIM F$30,R$(16)16,R0$3,P$(30)8,Z$(4)64,N$8,P(30,3) : S,P=0 0060 F=1 : PRINT HEX(03);"MAKE PROGRAM TAPE FROM DISK F" 0070 PRINT "S.F. '0= TYPE NAMES OF PROGRAMS" 0080 PRINT "S.F. '1= ACTION" 0090 PRINT "S.F. '2= SPORTS" 0100 PRINT "S.F. '3= THOUGHT" 0110 PRINT "S.F. '4= GAMBLING" 0120 PRINT "S.F. '5= SPACE" 0130 PRINT "KEY DESIRED SPECIAL FUNCTION TO CONTINUE" : STOP 0140 DEFFN'0 : P=0 0150 PRINT "TYPE IN NAMES OF DESIRED PROGRAMS CURRENTLY ON DISK" 0160 PRINT "(EXEC) WITH NO DATA SIGNALS END OF LIST" 0170 PRINT "IF PROGRAM IS NOT FOUND KEY S.F.0 TO PROCEED" 0180 H=0 : INPUT "KEY 1 RETURN IF HEADER FILE IS DESIRED",H 0190 N$=" " : PRINT "PROGRAM FILE (";F;") WILL BE NAMED"; 0200 IF P=0THEN 210 : READ N$ : IF N$="END"THEN 290 : GOTO 220 0210 INPUT N$ 0220 IF N$=" "THEN 290 0230 LIMITS F N$,A,B,C : REM NAME START,END,NB SECTORS 0240 P$(F)=N$ : P(F,1)=A : P(F,2)=B : P(F,3)=C 0250 S=S+C 0260 PRINT HEX(0C) : PRINTUSING 40,F,N$,C,S 0270 F=F+1 0280 IF S<300THEN 190 : PRINT "TAPE STORAGE MAY BE EXCEEDED" : GOTO 190 0290 IF H<>1THEN 295 : GOSUB 1000 0295 PRINT : FOR Z=1 TO (F-1) 0300 N$=P$(Z) : A=P(Z,1) : B=P(Z,2) : C=P(Z,3) 0310 PRINT N$,"FILE=";Z,"IS ";C;" BLOCKS ON TAPE." 0320 DATA LOAD BA F(A,A)Z$() 0330 STR(Z$(1),2,8)=HEX(FFFFFFFFFFFFFFFF) 0340 STR(Z$(1),2,LEN(N$))=N$ 0350 DATA SAVE BT(N=256,H)Z$() 0360 FOR Y=2 TO (C-1) 0370 DATA LOAD BA F(A,A)Z$() 0380 PRINT Y;HEX(0C) 0390 DATA SAVE BT(N=256)Z$() 0400 NEXT Y : NEXT Z 0410 INPUT "PRESS EXEC FOR HARD COPY NAMES OF PROGRAMS",Z 0420 PRINT "TURN ON AND SELECT PRINTER" 0430 SELECT PRINT 215(64) : PRINT HEX(0E);F$ 0435 IF H<>1THEN 440 : PRINT "HEADER FILE" 0440 FOR Z=1TO (F-1) 0450 PRINTUSING 30,Z,P$(Z),P(Z,3) 0460 NEXT Z 0470 PRINT S;" BLOCKS ON PROGRAM TAPE" : SELECT PRINT 005(64) 0480 STOP "END OF JOB" 0485 PRINT F$ 0490 S=0 : RESTORE : Z=1 : IF P<2THEN 180 : REM S.R.TO FIND PROPER PROGRAM TABLE 0500 N$=" " : READ N$ : IF N$<>"END"THEN 500 : Z=Z+1 : IF Z<PTHEN 500 : GOTO 180 0510 DEFFN'1 : P=1 : F$="ACTION" : GOTO 485 0520 DATA "ABM","ASTEROID","AUTORACE","BOWLING","FOOTBALL" 0530 DATA "GOLF","STARTREK","STARTRK5" 0540 DATA "END" 0550 DEFFN'2 : F$="SPORTS" : P=2 : GOTO 485 0560 DATA "AUTORACE","BOWLING","FOOTBALL","GOLF","HOCKEY","HORSE" 0580 DATA "END" 0590 DEFFN'3 : F$="THOUGHT" : P=3 : GOTO 485 0600 DATA "3DTTT","ARITH","BATNUM","CRYPTOB","KALAH","LANDER" 0610 DATA "LIFE","ROCKET","STARTRK5","STARTREK","WORDO","SUBMARIN" 0620 DATA "END" 0630 DEFFN'4 : F$="GAMBLING" : P=4 : GOTO 485 0640 DATA "BLK JACK","CASINO","HORSE","KENO","ROULETTE","RUMMY" 0650 DATA "SLOTMACH" 0660 DATA "END" 0670 DEFFN'5 : F$="SPACE" : P=5 : GOTO 485 0680 DATA "ABM","ARTY","ASTEROID","LANDER","ROCKET","STARTREK" 0690 DATA "STARTRK5","SUBMARIN" 0700 DATA "END" 0710 DEFFN'6 : F$="CAT.6" : P=6 : GOTO 485 0740 DATA "END" 0750 DEFFN'7 : F$="CAT.7" : P=7 : GOTO 485 0790 DATA "END" 1000 DEFFN'49 1020 INIT(00)R$() 1030 R$(1)=HEX(404845414445522020FD) 1040 DATA SAVE BT (N=256)R$() : REM SAVE HEADER RECORD 1050 R$(1)=HEX(00FF001020CE27303AA0D23033293B22) 1060 R$(2)=" " 1070 R$(3)="TAPE CATALOG" 1080 STR(R$(3),13)=HEX(220D0000) 1090 R$(4)=HEX(FF002020A022) 1100 STR(R$(4),7)="TO LOAD AN" 1110 R$(5)="D RUN, PRESS S." 1120 R$(6)="F. KEY CORRESPON" 1130 R$(7)="DING TO FILE NUM" 1140 R$(8)="BER" 1150 STR(R$(8),4)=HEX(220D0000FF0030A33AA03A493D) 1160 R$(9)= HEX(300D0000FF00409841243A9F41243D22) 1170 R$(10)=HEX(202220B1FF90000D0000FF0050493D49) 1180 R$(11)=HEX(2B313AA7FF00602C492C41243B3AA02C) 1190 R$(12)=HEX(3A9CFF00400D0000FF0060D846494C45) 1200 R$(13)=HEX(20202323202049532020202223232323) 1210 R$(14)=HEX(23232323220D0000FD00000000000000) 1220 DATA SAVE BT(N=256)R$() 1230 INIT(00)R$() 1240 R$(1)=HEX(00FF0000A2202020202020200D0000FF) : R=1 1250 R0=2 1260 IF R=F THEN 1350 1270 R$(R0) =HEX(000097220000000000000000220D0000) 1280 R$(R0+1) =HEX(FF005020CE2730303A2020202020A122) 1290 STR(R$(R0+2),9)=HEX(222020200D0000FF) 1295 DIM R$9 : R$=P$(R) : STR(R$,LEN(P$(R))+1,1)=HEX(22) 1300 STR(R$(R0+2),1,9)=STR(R$,1) 1305 STR(R$(R0),5,8)=STR(P$(R),1) 1310 PACK(##) STR(R$(R0),1,1) FROM R 1320 PACK(##)STR(R$(R0+1),2,1) FROM R 1330 CONVERT R TO STR(R$(R0+1),7,2),(##) 1340 R=R+1 : R0=R0+3 : IF R0<16 THEN 1260 1350 IF R0=2 THEN 1380 1360 STR(R$(R0-1),16)=HEX(FD) 1370 DATA SAVE BT(N=256)R$() : GOTO 1250 1380 INIT(00)R$() 1390 R$(1)=HEX(20FF900020972220220D0000FE) 1400 DATA SAVE BT(N=256)R$() : RETURN