Listing of file='VSACESS4' on disk='vmedia/731-8012A.wvd.zip'
# Sector 24, program filename = 'VSACESS4' 7000 REM VSACESS4 10 SEPT 86 7002 REM ***************************************************************** 7004 REM % (c) Copyright Wang Laboratories, Inc. 1986 7006 REM * READ A FILE BLOCK ('121) * 7008 REM * * 7010 REM * FORM - GOSUB '121 (H$,H1$,B1) * 7012 REM * * 7014 REM * WHERE H$ = FILE HANDLE * 7016 REM * H1$ = SMB\A0HEADER FOR FILE HANDLE H$ * 7018 REM * B1 = BLOCK NO TO BE READ * 7020 REM * * 7022 REM * RETURN - V0$ = RETURN CODE (00 = ERROR) * 7024 REM * V9$() = DATA READ * 7026 REM * * 7028 REM * EXAMPLE * 7030 REM * 27 B1=5 * 7032 REM * 28 REM READ BLOCK NO 5 * 7034 REM * 30 GOSUB '121 (H$, H1$,B1) * 7036 REM * 40 IF V0$ = HEX(FF) THEN 60 * 7038 REM * 50 STOP "ERROR IN READ" * 7040 REM * 60 REM PROCESS THE BLOCK * 7042 REM * * 7044 REM ***************************************************************** 7046 DEFFN '121 (V9$,V7$,V7) 7048 REM SMB\A0HEADER COMMAND CODE : STR(V7$,7,1)=HEX(05) 7050 REM READ INDEXED RECORD COMMAND STRUCTURE (NO OF BLKS TO READ IS 00001 : STR(V8$()) = HEX(04) & V9$&HEX(0001) 7052 REM PUT BLOCK NO TO READ 7054 V1 = INT(V7/(2^16)) : STR(V8$(),6,2)=BIN(V1,2) 7056 V1= INT(V7-( V1 *(2^16))) : STR(V8$(),8,6)= BIN(V1,2) & HEX(00000000) 7058 GOSUB '199 : REM SEND REQUEST TO 2258 : IF V0$<>HEX(FF) THEN 7066 7060 REM SETUP SMB HDR : V7$=STR(V9$(),1,32) : IF STR(V7$,6,1)<>HEX(00) THEN 7068 7062 REM SHIFT DOWN READ DATA : V1 = VAL(STR(V9$(),39,2),2) : STR(V9$(),1,V1)= STR(V9$(),41,V1) 7064 REM SET GOOD RETURN : V0$=HEX(FF) 7066 RETURN 7068 V0$=HEX(00) : RETURN 7070 REM ***************************************************************** 7072 REM * WRITE A FILE BLOCK ('122) * 7074 REM * * 7076 REM * FORM - GOSUB '122 (H$,H1$,B1,D$) * 7078 REM * * 7080 REM * H1$ = SMB\A0HEADER FOR FILE HANDLE H$ * 7082 REM * B1 = BLOCK NO TO BE READ * 7084 REM * D$ = DATA BUFFER (LENGTH=2048) * 7086 REM * * 7088 REM * RETURN - V0$ = RETURN CODE (00 = ERROR) * 7090 REM * * 7092 REM * EXAMPLE * 7094 REM * 27 B1=5 * 7096 REM * 28 REM WRITE BLOCK NO 5 * 7098 REM * 30 GOSUB '122 (H$, H1$,B1,D$) * 7100 REM * 40 IF V0$ = HEX(FF) THEN 60 * 7102 REM * 50 STOP "ERROR IN READ" * 7104 REM * 60 ....... * 7106 REM * * 7108 REM ***************************************************************** 7110 DEFFN '122 (V9$,V7$,V7,V9$()) 7112 REM SMB\A0HEADER COMMAND CODE : STR(V7$,7,1)=HEX(0E) 7114 REM READ INDEXED RECORD COMMAND STRUCTURE (NO OF BLKS TO READ IS 00001 : STR(V8$()) = HEX(04) & V9$&HEX(0001) 7116 REM PUT BLOCK NO TO READ 7118 V1 = INT(V7 / (2^16)) : STR(V8$(),6,2)=BIN(V1,2) 7120 V1= INT(V7 -( V1 *(2^16))) : STR(V8$(),8,6)= BIN(V1,2) & HEX(00000000) 7122 STR(V8$(),10,2054)=BIN(2051,2) & HEX(01) & BIN(2048,2) & STR(V9$(),,2048) & HEX(00) 7124 GOSUB '199 : REM SEND REQUEST TO 2258 : IF V0$<>HEX(FF) THEN 7130 7126 REM SETUP SMB HDR : V7$=STR(V9$(),1,32) : IF STR(V7$,6,1)<>HEX(00) THEN 7132 7128 REM SET GOOD RETURN : V0$=HEX(FF) 7130 RETURN 7132 V0$=HEX(00) : RETURN 7134 DEFFN'31 "N$=";HEX(22);"VSACESS4";HEX(22);":SCRATCH T N$: SAVE T () N$"