Listing of file='HASPCARD' on disk='vmedia/731-0111.wvd.zip'
# Sector 46, program filename = 'HASPCARD'
0010 REM HASPCARD 05/02/79
0100 GOTO 9900
: ON AGOTO 1040,5004
1040 ON W(H)GOSUB 3600,3630,3650,3000,3100,3470,3490
3000 H0=H0-1
: IF H0>0THEN 100
: IF W(2)>0THEN 100
: DATA LOAD BT(N=82)/629,H9$()
: MAT COPY H9$()<81,2>TO H5$()
: IF H5$(2)<>HEX(00)THEN 3300
: IF H3$=" "THEN 3050
: INIT(" ")H3$
: GOSUB '85(H9+1,1,24)
3050 MAT COPY H9$()TO O0$()<1,80>
: O$(6)=HEX(0050)
: ON H8GOTO 3070,3060
: IF STR(H9$(1),1,2)="/$"THEN 3200
3060 $TRAN(O0$()<1,80>,H2$())
3070 W(2)=2
3080 H0=H1
: DATA SAVE BT/42E,H1$
: W(H)=4
: RETURN
3100 H0=H0-1
: IF H0>0THEN 100
: IF W(2)>0THEN 100
: IF H8$="2"THEN 3160
: DATA LOAD BT(N=162)/62A,H9$()
: MAT COPY H9$()<161,2>TO H5$()
: IF H5$(2)<>HEX(00)THEN 3300
: IF H3$=" "THEN 3150
: INIT(" ")H3$
: GOSUB '85(H9+1,1,24)
3150 MAT COPY H9$()<1,80>TO O0$()<1,80>
: H8$="2"
: O$(6)=HEX(0050)
: W(2)=2
: RETURN
3160 MAT COPY H9$()<81,80>TO O0$()<1,80>
: O$(6)=HEX(0050)
: W(2)=2
: IF H8=5THEN 3230
3180 H8$="1"
: W(H)=5
: IF H8$="2"THEN 100
: H0=H1
: DATA SAVE BT/42F,H1$
: RETURN
3200 H8=4
: GOTO 3180
3220 MAT COPY H9$()TO O0$()<1,80>
: O$(6)=HEX(0050)
: ON H8GOTO 3230,3225,3225,3260
3225 $TRAN(O0$()<1,80>,H2$())
3230 O1$(4)=HEX(01)
: W(2)=2
: GOSUB '86(9,46,"SENT")
: GOSUB '85(10,1,50)
: W(H)=-1
: GOSUB '87(2,23,5,"SEND")
: RETURN
3260 H8=5
: GOTO 3150
3300 C=1
: C$,B$=H5$(2)
: AND (B$,0E)
: IF B$=HEX(00)THEN 3320
: C=0
3320 IF C$=HEX(80)THEN 3410
: B$=C$
: AND (B$,80)
: IF B$=HEX(00)THEN 3450
: B$=C$
: AND (B$,08)
: IF B$<>HEX(08)THEN 3340
: A$="READ ALERT: REREAD"
: GOTO 3400
3340 B$=C$
: AND (B$,20)
: IF B$<>HEX(20)THEN 3350
: A$="STACKER FULL."
: GOTO 3400
3350 B$=C$
: AND (B$,10)
: IF B$<>HEX(10)THEN 3360
: A$="PICK CHECK."
: GOTO 3400
3360 B$=C$
: AND (B$,44)
: IF B$<>HEX(40)THEN 3410
: ON K9GOTO 3220
: A$="HOPPER EMPTY. REFILL."
3400 IF A$=H3$THEN 3410
: H3$=A$
: GOSUB '87(10,1,22,H3$)
3410 IF C=0THEN 3440
: IF H8<4THEN 3050
: GOTO 3150
3440 IF H8<4THEN 3080
: GOTO 3180
3450 B$=C$
: AND (B$,02)
: IF B$<>HEX(02)THEN 3460
: A$="INVALID PUNCH. STOP RDR, C/R, REREAD LAST CARD."
: GOTO 3470
3460 AND (C$,04)
: IF C$<>HEX(04)THEN 3500
: IF H5$(1)=HEX(00)THEN 3440
: A$="READ ERROR. STOP RDR, C/R, REREAD LAST CARD."
3470 IF W(1)=1THEN 3480
: W(H)=6
: RETURN
3480 K1=H
: K2=7
: K1$=A$
: W(H)=0
: GOTO 2500
3490 W(1)=1
: GOTO 3080
3500 GOSUB '87(H9+1,1,24,"PROGRAM ERROR!")
: W(H)=0
: RETURN
3600 INIT(" ")H3$
: GOSUB '85(H9,6,14)
3630 IF W(1)=1THEN 3640
: W(H)=2
: RETURN
3640 GOSUB '92
: PRINT "Initiate Card Send"
: PRINT "'0=Abort '1 = Normal '2=Transparent '3=Binary"
: W(H)=0
: GOSUB '95(H,3,HEX(00010203))
: RETURN
3650 H8=VAL(K2$(1))
: GOSUB '92
: W(K)=1
: O1$(4)=HEX(00)
: O1$(6),O1$(8)=HEX(01)
: ON H8GOTO 3671,3672,3674
: GOSUB '85(H9,46,18)
: GOSUB '91
: W(H)=-1
: RETURN
3671 GOSUB '86(H9,46,"SEND NORMAL CARDS")
: O1$(8)=HEX(00)
: GOTO 3676
3672 GOSUB '86(H9,46,"SEND TRSP CARDS")
: GOTO 3676
3674 GOSUB '86(H9,46,"SEND BINARY CARDS")
3676 GOSUB '86(2,23,"Abort")
: GOTO 3080
5004 GOSUB '87(H9,23,42,"Send Card 629")
: K9=-1
: H1=3