image of READY prompt

Wang2200.org

Listing of file='BSC-CARD' on disk='vmedia/tbo_81.wvd.zip'

# Sector 758, program filename = 'BSC-CARD'
0010 REM BSC-CARD 11/13/75  MAKE BISYNC DISK/CASSETTE FILES FROM CARD READER
   : COM D,F$
0020 DIM F1$2,F3$2,B$(4)62
0030 DIM X$(2,255)1
   : F1$=HEX(A001)
0040 DIM K$1,Q8$17,Q9$64,R$(255)1
   : GOTO 2480
   : REM %PERIPHERAL DEVICES
0050 REM %0 #0 CASSETTE, #1 CARD READER, #2 DISK
0060 REM %SPECIAL FUNCTIONS
0070 REM %0 '12 OPEN DISK FILE, '13 MAKE DISK FILE
0080 REM %0 '14 MAKE TAPE FILE, '15 KEY PICTURE
0090 REM %0 '31 RECORD FORMAT,  '82 CARD INPUT S.R.
0100 REM %VARIABLES
0110 REM %0 A DISK SECTOR, A1 START SECTOR, A9 END SECTOR
0120 REM %0 B BUFFER PTR, C1$ CARD CONTROLS
0130 REM %0 D DEVICE FLAG, E LAST RECORD FLAG, F0 END INDICATOR
0140 REM %0 F$ FILE NAME, F1$ (A001), F3$ (A03E)
0150 REM %0 K$ K$1, Z Z
0160 REM %0 R$( INPUT BUFFER, B$( OUTPUT BUFFER, X$( INTERIM BUFFER
0170 REM %0 Q2$ CRT ARG.2, Q8$ CRT LINE, Q9$ CRT COLUMN
0180 REM %0 L L.R. BYTE COUNT, R1 OUTPUT BLOCK #, S INPUT BLOCK #
0190 REM %0 R2 L.REC. #, S9 # DISK SECTORS
1000 DEFFN'82
   : REM %'82 INPUT S.R. (CARD READER)
   : IF S<0THEN 1140
1010 GOSUB 1030
   : RETURN
1020 PRINT "REFILL CARD READER"
1030 INIT(20)R$()
   : DATA LOAD BT(N=82)#1,R$()
1040 IF R$(81)<>HEX(50)THEN 1090
   : IF R$(82)<>HEX(00)THEN 1080
1050 SELECT PRINT 005
   : PRINT STR(Q8$,1,5);
   : $GIO/005(A000,Q2$)R$()<1,64>
   : PRINT
   : $GIO/005(A000,Q2$)R$()<65,15>
1060 S=S+1
   : RETURN
1070 REM 80 NOT READY  40 HOPPER EMPTY  20 STACKER FULL  10 PICK CHECK   08 RE
     AD ALERT 04 SHORT CARD    02 ASCII ERROR
1080 DIM C1$2
   : K$,STR(C1$,2,1)=R$(82)
   : REM /STATUS
1090 STR(C1$,1,1)=R$(81)
   : REM /COUNT
   : SELECT PRINT 005
   : PRINT STR(Q8$,1,8),,,,,HEX(0C);
   : IF S>0THEN 1100
   : PRINT "READY CARD READER"
   : IF STR(C1$,1,1)<>HEX(50)THEN 1030
   : GOTO 1060
1100 IF C1$=HEX(50C0)THEN 1060
1110 PRINT "CARD READER STATUS=";
   : HEXPRINT C1$;
   : PRINT " ";
1120 IF C1$=HEX(0020)THEN 1130
   : IF C1$<>HEX(00C0)THEN 1030
1130 IF F0=0THEN 1020
   : E=1
   : RETURN
1140 SELECT #1 629
   : REM /OPEN CARD READER FILE
   : GOTO 1090
2000 REM %MAKE DATA BLOCKS
2010 PRINT " --80 COLUMN CARD IMAGES"
   : S=-1
   : B=3
   : PRINT STR(Q8$,1,9);"SAVED=0","LEFT=";S9
2020 PRINT HEX(010A);"KEY S.F.'0 TO END FILE  "
2030 IF F0=0THEN 2040
   : PRINT HEX(010A);"END FILE AT HOPPER EMPTY"
2040 PRINT STR(Q8$,1,3);"DATA BLOCK=";R1+1,"CARD IMAGE=";R2+1
2050 PRINT "....!....1....!....2....!....3....!....4....!....5....!....6...."
   : PRINT ,,,,,,,,"!....7....!....8";HEX(0C5F)
2060 GOSUB '82
   : L=VAL(R$(81))
2070 KEYIN K$,2080,2080
   : GOTO 2090
2080 IF K$<>HEX(00)THEN 2090
   : F0=1
2090 IF B+L+2<256 THEN 2100
   : GOSUB 2140
2100 BIN(X$(1,B))=L
   : B=B+1
2110 $PACK(F=F1$)X$()<B,255> FROM R$()
2120 B=B+L
   : R2=R2+1
   : IF E<>1THEN 2030
   : X$(1,1)=HEX(F0)
   : B=B-1
   : GOTO 2150
2130 R2=R2+1
   : GOTO 2030
   : REM % OUTPUT BLOCK
2140 X$(1,1)=HEX(00)
2150 BIN(X$(1,2))=B
   : B=3
2160 $UNPACK(F=F3$)X$()TO B$()
   : R1=R1+1
2170 S9=S9-1
   : PRINT STR(Q8$,1,9);"SAVING=";R1,"LEFT=";S9
2180 ON DGOTO 2250
2190 REM DATA SAVE #2,B$()
   : REM ^ERR 50 PROTECTED TAPE
2200 PRINT STR(Q8$,1,9);"SAVED   "
   : IF E<1THEN 2230
2210 REM DATA SAVE #2,END
2220 PRINT "FILE CREATED"
   : IF E=2THEN 2240
   : E=0
2230 RETURN
2240 STOP " END OF FILE FORCED--ASSIGNED DISK AREA TOO SMALL"
   : REM %^
2250 IF S9<2THEN 2265
   : DATA SAVE DC #2,B$()
   : PRINT STR(Q8$,1,9);"SAVED "
   : IF E<1THEN 2230
2260 STR(B$(1),1,1)=HEX(F0)
   : DATA SAVE DC #2,B$()
   : DATA SAVE DC #2,END
   : R1=R1+1
   : GOTO 2220
2265 E=2
   : GOTO 2260
2270 DEFFN'11
   : REM %'11 OPEN OLD
   : PRINT "OPEN AN EXISTING DISK FILE"
   : D=0
   : GOTO 2290
2280 DEFFN'12
   : REM %'12 OPEN NEW
   : PRINT "OPEN A NEW DISK FILE"
   : D=1
2290 INPUT "DISK OUTPUT  1=(F)310   2=(R)B10  3=(F)320  4=(R)B20",Z
2300 ON Z GOTO 2310,2320,2330,2340
   : GOTO 2290
2310 SELECT #2 310
   : GOTO 2350
2320 SELECT #2 B10
   : GOTO 2350
2330 SELECT #2 320
   : GOTO 2350
2340 SELECT #2 B20
2350 PRINT "FILE NAME IS ";F$;" OR";
   : INPUT F$
2360 ON DGOTO 2390
2370 DATA LOAD DC OPEN T #2,F$
   : REM ^ERR 80 SHOWS NO FILE WITH THIS NAME...S.F.'11 REOPEN FILE    '12 OPE
     N NEW FILE
2380 GOTO 2410
2390 INPUT "# OF SECTORS TO SAVE=",S9
   : IF S9<3THEN 2390
2400 DATA SAVE DC OPEN T$ #2,S9,F$
   : REM ..^ERR 79=A FILE ALREADY EXISTS WITH THIS NAME....S.F.'11 REOPEN FILE
       '12 OPEN NEW FILE
2410 PRINT "FILE OPENED"
   : FOR Z=1 TO 100
   : NEXT Z
2420 DEFFN'13
   : REM %'13 TO DISK
   : D=1
   : E=0
2430 PRINT HEX(03);"MAKE BISYNC DATA DISK FILE--";F$
2440 LIMITS T#2,F$,A,A9,Z
   : S9=A9-A
2450 DATA LOAD DC OPEN T #2,F$
   : REM ^ERR 47 SAYS FILE NOT OPENED  KEY S.F. '11 TO OPEN A NEW FILE   '12 T
     O REOPEN AN OLD FILE
2460 R,R1=0
   : GOTO 2010
2470 DEFFN'14
   : REM %'14 TO TAPE
   : D=0
   : PRINT HEX(03);"MAKE BISYNC DATA CASSETTE TAPE";
   : SELECT #2 10A
   : R,R1=0
   : S9=300
   : GOTO 2010
2480 REM %SET UP
2490 F3$=HEX(A03E)
   : INIT(0A)Q8$
   : INIT(09)Q9$
   : STR(Q8$,1,1)=HEX(01)
   : STR(Q9$,1,1)=HEX(00)
   : B=3
   : GOTO 2580
2500 DEFFN'31
   : PRINT HEX(03);"2200 RECORD FORMAT"
2510 PRINT "BYTE 1 CTRL 00=NO END FILE F0=END FILE"
2520 PRINT "BYTE 2 BLOK BLOCK SIZE"
2530 PRINT "BYTE 3 LREC LOGICAL RECORD LENGTH (#TEXT BYTES)"
2540 PRINT "BYTES 4-N=TEXT MATERIAL"
2550 PRINT "REPEAT OF BYTES 3-N FOR EACH LOGICAL RECORD"
2560 RETURN
2570 REM %KEY PICTURE
2580 DEFFN'15
   : SELECT PRINT 005(64)
   : PRINT HEX(03),,"BSC-CARD FUNCTIONS"
2590 PRINT "UTILITY TO MAKE DATA FILES FOR WANG 2780 EMULATOR SYSTEM"
2600 PRINT " PROGRAM IS FOR CARD READER TO CASSETTE OR DISK"
   : PRINT
   : GOSUB 2610
   : STOP "KEY PROPER S.F."
2610 PRINT " KEY S.F. '11 OPEN AN EXISTING DISK FILE"
2620 PRINT " KEY S.F. '12 OPEN A NEW DISK FILE"
2630 PRINT " KEY S.F. '13 GENERATE DISK FILE"
2640 PRINT " KEY S.F. '14 GENERATE CASSETTE FILE"
2650 PRINT " KEY S.F. '15 KEY PICTURE"
2660 RETURN