image of READY prompt

Wang2200.org

Listing of file='PKBUFMAN' on disk='vmedia/701-2720C.wvd.zip'

# Sector 40, program filename = 'PKBUFMAN'
2700 DIM B0$(3)23, B2$(256)1, B9(5)
2701 GOTO 2920
2703 DEFFN'241(C1,STR(B0$(C1),1,8),STR(B0$(C1),16,1))
   : IF STR(B0$(C1),16,1)<>"O"THEN 2706
   : LIMITS TSTR(B0$(C1),1,8),B9(1),B9(2),B9(3)
   : ERRORDATA SAVE DC OPEN T(150)STR(B0$(C1),1,8)
2706 LIMITS TSTR(B0$(C1),1,8),B9(1),B9(2),B9(3)
   : ERRORSTOP "OPEN file not found"#
2707 STR(B0$(C1),12,2)=BIN(B9(1)+1,2)
   : STR(B0$(C1),14,2)=BIN(B9(2)-1,2)
   : STR(B0$(C1),19,2)=STR(B0$(C1),12,2)
   : STR(B0$(C1),21,2)=BIN(1,2)
   : IF STR(B0$(C1),16,1)="U"OR STR(B0$(C1),16,1)="I"THEN 2713
   : RETURN
2713 DATA LOAD BA T(B9(1)+1)B2$()
   : ERRORGOTO 2716
2714 STR(B0$(C1),17,2)=STR(B2$(),1,2)
   : RETURN
2716 PRINT "Error number";ERR;"has occurred"
   : STOP
2718 DEFFN'242(C1)
   : IF STR(B0$(C1),16,1)="I"THEN 2725
   : IF STR(B0$(C1),16,1)="O"THEN 2727
   : X1=VAL(STR(B0$(C1),19,2),2)
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2723 S1=0
   : RETURN
2725 S1=0
   : RETURN
2727 X1=VAL(STR(B0$(C1),19,2),2)
   : Y1=VAL(STR(B0$(C1),21,2),2)
   : IF Y1>255THEN 2734
   : STR(B2$(),Y1,2)=BIN(0,2)
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2732 S1=0
   : RETURN
2734 IF Y1>256THEN 2736
   : STR(B2$(),256,1)=BIN(0)
2736 DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2737 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2741
   : S1=9
   : RETURN
2741 B2$()=ALL(FF)
   : STR(B2$(),1,2)=BIN(0,2)
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2744 S1=0
   : RETURN
2747 DEFFN'243(C1,S1)
   : IF STR(B0$(C1),16,1)="I"OR STR(B0$(C1),16,1)="U"THEN 2750
   : STOP "READS illegal open mode"#
2750 X1=VAL(STR(B0$(C1),19,2),2)
   : Y1=VAL(STR(B0$(C1),21,2),2)
   : IF Y1<>257THEN 2758
   : IF STR(B0$(C1),16,1)<>"U"THEN 2753
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2753
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
   : STR(B0$(C1),23,1)="N"
2753 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2754
   : S1=9
   : RETURN
2754 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2756 Y1=1
   : GOTO 2772
2758 IF Y1<>256THEN 2766
   : IF STR(B0$(C1),16,1)<>"U"THEN 2759
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2759
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
   : STR(B0$(C1),23,1)="N"
2759 STR(B1$(),1,1)=STR(B2$(),256,1)
   : X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2761
   : S1=9
   : RETURN
2761 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2762 STR(B1$(),2,1)=STR(B2$(),1,1)
   : B1=VAL(STR(B1$(),1,2),2)
   : Y1=2
   : GOTO 2774
2766 IF Y1<>255THEN 2772
   : IF STR(B0$(C1),16,1)<>"U"THEN 2767
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2767
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
   : STR(B0$(C1),23,1)="N"
2767 B1=VAL(STR(B2$(),255,2),2)
   : X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2769
   : S1=9
   : RETURN
2769 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2770 Y1=1
   : GOTO 2774
2772 B1=VAL(STR(B2$(),Y1,2),2)
   : IF B1>1008THEN STOP "Illegal Record Size "#
   : Y1=Y1+2
2774 Y2=0
   : IF B1<>0THEN 2778
   : S1=1
   : RETURN
2778 IF 257-Y1<B1-Y2THEN 2781
   : STR(B1$(),Y2+1,B1-Y2)=STR(B2$(),Y1,B1-Y2)
   : Y1=Y1+B1-Y2
   : GOTO 2787
2781 STR(B1$(),Y2+1,257-Y1)=STR(B2$(),Y1,257-Y1)
   : Y2=Y2+257-Y1
   : IF STR(B0$(C1),16,1)<>"U"THEN 2783
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2783
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
   : STR(B0$(C1),23,1)="N"
2783 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2784
   : S1=9
   : RETURN
2784 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2785 Y1=1
   : GOTO 2778
2787 STR(B0$(C1),19,2)=BIN(X1,2)
   : STR(B0$(C1),21,2)=BIN(Y1,2)
   : S1=0
   : RETURN
2792 DEFFN'244(C1,B1,S1)
   : IF STR(B0$(C1),16,1)="O"THEN 2795
   : STOP "WRITES illegal open mode"#
2795 X1=VAL(STR(B0$(C1),19,2),2)
   : Y1=VAL(STR(B0$(C1),21,2),2)
   : IF Y1<>257THEN 2804
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2799 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2800
   : S1=9
   : RETURN
2800 B2$()=ALL(00)
   : STR(B2$(),1,2)=BIN(B1,2)
   : Y1=3
   : GOTO 2822
2804 IF Y1<>256THEN 2813
   : STR(B8$,1,2)=BIN(B1,2)
   : STR(B2$(),256,1)=STR(B8$,1,1)
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2808 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2809
   : S1=9
   : RETURN
2809 B2$()=ALL(00)
   : STR(B2$(),1,1)=STR(B8$,2,1)
   : Y1=2
   : GOTO 2822
2813 IF Y1<>255THEN 2820
   : STR(B2$(),255,2)=BIN(B1,2)
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2816 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2817
   : S1=9
   : RETURN
2817 B2$()=ALL(00)
   : Y1=1
   : GOTO 2822
2820 STR(B2$(),Y1,2)=BIN(B1,2)
   : Y1=Y1+2
2822 Y2=0
2823 IF B1-Y2>257-Y1THEN 2827
   : STR(B2$(),Y1,B1-Y2)=STR(B1$(),Y2+1,B1-Y2)
   : Y1=Y1+B1-Y2
   : GOTO 2834
2827 STR(B2$(),Y1,257-Y1)=STR(B1$(),Y2+1,257-Y1)
   : Y2=Y2+257-Y1
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2830 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2831
   : S1=9
   : RETURN
2831 B2$()=ALL(00)
   : Y1=1
   : GOTO 2823
2834 STR(B0$(C1),19,2)=BIN(X1,2)
   : STR(B0$(C1),21,2)=BIN(Y1,2)
   : S1=0
   : RETURN
2839 DEFFN'245(C1,R1,S1)
   : IF STR(B0$(C1),16,1)<>"O"THEN 2842
   : STOP "READ illegal open mode"#
2842 X1=VAL(STR(B0$(C1),19,2),2)
   : Y1=VAL(STR(B0$(C1),21,2),2)
   : B9(1)=VAL(STR(B0$(C1),17,2),2)
   : B9(5)=(B9(1)+2)*(R1-1)+3
   : B9(2)=INT((B9(5)-1)/256)
   : B9(3)=B9(5)-(B9(2)*256)
   : B9(4)=VAL(STR(B0$(C1),12,2),2)
   : B9(5)=VAL(STR(B0$(C1),14,2),2)
   : IF B9(2)+B9(4)>B9(5)OR R1<1THEN STOP "READ illegal record number "#
2851 IF B9(2)+B9(4)=X1THEN 2858
   : IF STR(B0$(C1),16,1)="I"THEN 2856
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2856
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2855 STR(B0$(C1),23,1)="N"
2856 X1=B9(2)+B9(4)
   : DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2858 B1$()=ALL(00)
   : X1=B9(2)+B9(4)
   : Y1=B9(3)
   : Y2=0
   : B1=B9(1)
   : S1=1
2864 IF 257-Y1<B1-Y2THEN 2867
   : STR(B1$(),Y2+1,B1-Y2)=STR(B2$(),Y1,B1-Y2)
   : Y1=Y1+B1-Y2
   : GOTO 2876
2867 STR(B1$(),Y2+1,257-Y1)=STR(B2$(),Y1,257-Y1)
   : Y2=Y2+257-Y1
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2872
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2871 STR(B0$(C1),23,1)="N"
2872 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2873
   : S1=9
   : RETURN
2873 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2874 Y1=1
   : GOTO 2864
2876 STR(B0$(C1),19,2)=BIN(X1,2)
   : STR(B0$(C1),21,2)=BIN(Y1,2)
   : S1=0
   : RETURN
2881 DEFFN'246(C1,R1,S1)
   : IF STR(B0$(C1),16,1)="U"THEN 2884
   : STOP "WRITE illegal open mode"#
2884 X1=VAL(STR(B0$(C1),19,2),2)
   : Y1=VAL(STR(B0$(C1),21,2),2)
   : B9(1)=VAL(STR(B0$(C1),17,2),2)
   : B9(5)=(B9(1)+2)*(R1-1)+3
   : B9(2)=INT((B9(5)-1)/256)
   : B9(3)=B9(5)-(B9(2)*256)
   : B9(4)=VAL(STR(B0$(C1),12,2),2)
   : B9(5)=VAL(STR(B0$(C1),14,2),2)
   : IF B9(2)+B9(4)>B9(5)OR R1<1THEN STOP "WRITE illegal record number "#
2893 IF B9(2)+B9(4)=X1THEN 2898
   : IF STR(B0$(C1),23,1)<>"Y"THEN 2896
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2896 X1=B9(2)+B9(4)
   : DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2898 X1=B9(2)+B9(4)
   : Y1=B9(3)
   : Y2=0
   : B1=B9(1)
   : S1=1
2903 IF B1-Y2>257-Y1THEN 2908
   : STR(B2$(),Y1,B1-Y2)=STR(B1$(),Y2+1,B1-Y2)
   : STR(B0$(C1),23,1)="Y"
   : Y1=Y1+B1-Y2
   : GOTO 2915
2908 STR(B2$(),Y1,257-Y1)=STR(B1$(),Y2+1,257-Y1)
   : Y2=Y2+257-Y1
   : DATA SAVE BA T(X1)B2$()
   : ERRORGOTO 2716
2911 X1=X1+1
   : IF X1<=VAL(STR(B0$(C1),14,2),2)THEN 2912
   : S1=9
   : RETURN
2912 DATA LOAD BA T(X1)B2$()
   : ERRORGOTO 2716
2913 Y1=1
   : GOTO 2903
2915 STR(B0$(C1),19,2)=BIN(X1,2)
   : STR(B0$(C1),21,2)=BIN(Y1,2)
   : STR(B0$(C1),23,1)="Y"
   : S1=0
   : RETURN
2920 X=X