image of READY prompt

Wang2200.org

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