Listing of file='@DOSFORM' on disk='vmedia/734-8446-A.wvd.zip'
# Sector 2548, program filename = '@DOSFORM' 0010 REM %^ @DOSFORM WRITTEN BY KIRIT BAXI E.A.M.E R&D 0020 REM % Version 1.0 20 JUN 1991 0030 REM ************************************************************ 0040 REM * * 0050 REM * DOS FORMAT EMULATION * 0060 REM * * 0070 REM ************************************************************ 0100 DIM D$(16),G1$17,E1$32,P$1,G1$(32)3,B$3,G2$1,J$11,L$1 : P$=HEX(10) : REM VARIABLES FOR GETTING DISK STATUS 0110 DIM A$(16)32,C$8,K$1,G$15,H$8,J$11 : H$=I4$ 0120 REM % set cursor flash : PRINT HEX(02050F) 0130 REM % Address setup by "DOS" : B$=SELECT #N : SELECT #4<B$> : IF N=2THEN L$="A" : IF N=3THEN L$="B" 0140 REM % GET DISKSTATUS : GOSUB 8000 : IF STR(A$,1,2)="HD"THEN C$="@DOSfmt1" : IF STR(A$,1,2)="DD"THEN C$="@DOSfmt2" 0150 PRINTUSING 460;A$;L$ 0160 PRINTUSING 470; 0170 GOSUB 350 : IF POS(HEX(7E7FF0)=K$)<>0THEN 340 : IF K$<>HEX(0D)THEN 170 0180 REM % Check if drive has a disk : DATA LOAD BMT#N,(0,L)G2$ : ERRORE=ERR : IF E=93THEN 190 : ELSE GOTO 280 0190 REM % Format Disk 0200 PRINT HEX(0D0A0E);" Format in Progress ..." 0210 $GIO#4(0600070070A0400288D0704001306A10680240018B67,G$) 0220 REM % ERRORS!! 0230 IF STR(G$,6,3)=HEX(000000)THEN 320 0240 IF STR(G$,6,3)=HEX(000204)THEN 280 : REM RETRY COMMAND 0250 IF STR(G$,6,3)=HEX(010000)THEN 280 0260 IF STR(G$,6,3)<>HEX(000000)THEN 300 0270 REM % OPTIONS IF ERROR! 0280 PRINT : PRINT : PRINTUSING 480 : PRINTUSING 490; 0290 GOSUB 350 : K$=K$OR HEX(20) : PRINT K$; : IF K$="a"THEN 340 : IF K$="r"THEN 200 : IF K$="f"THEN GOTO 340 : GOSUB 350 : IF POS(HEX(7E7FF0)=K$)<>0THEN 340 0300 PRINT : PRINT : PRINTUSING 500 : PRINTUSING 510 0310 GOSUB 350 : K$=K$OR HEX(20) : IF K$="y"OR K$="n"THEN PRINT K$; : IF K$="y"THEN PRINT : IF K$="y"THEN 150 : IF K$="n"THEN 340 : IF POS(HEX(7E7FF0)=K$)<>0THEN 340 : GOTO 310 0320 GOSUB 560 : PRINT : PRINTUSING 520 : PRINT : REM % IF /V THEN : IF STR(H$,1,2)="/v"THEN GOSUB 360 : PRINTUSING 540;B : PRINTUSING 550;B : PRINT : PRINTUSING 510; 0330 GOSUB 350 : K$=K$OR HEX(20) : IF K$="y"OR K$="n"THEN PRINT K$; : IF K$="y"THEN PRINT : IF K$="y"THEN 150 : IF K$="n"THEN 340 : IF POS(HEX(7E7FF0)=K$)<>0THEN 340 : GOTO 330 0340 REM % RET > COMMAND PROC : PRINT : I4$="R" : LOAD T"@DOS" 0350 K$=" " : KEYIN K$ : RETURN 0360 REM % Input volume label 0370 PRINTUSING 530; 0380 J$=ALL(20) : I=0 : A$()=ALL(00) 0390 LINPUT J$ 0400 PRINT : PRINT : IF STR(A$,1,2)="HD"THEN Y=30 : IF STR(A$,1,3)="360"THEN Y=10 0410 IF LEN(J$)=0THEN 440 0420 IF LEN(J$)<>0THEN DO : STR(A$(1),1,11)=J$ : STR(A$(1),12,1)=HEX(28) : DATA SAVE BMT#N,(Y,L)A$() : END DO 0430 I4$=ALL(20) 0440 RETURN 0450 REM % IMAGES!! 0460 % Insert new ## diskette for drive #: 0470 % and strike ENTER when ready\ 0480 % General Failure error reading drive A 0490 % Abort, Retry, Fail? 0500 % Format Failure 0510 % Format another (Y/N) 0520 % Format complete 0530 % Volume label (11 characters, ENTER for none)? 0540 % ####### bytes total disk space 0550 % ####### bytes available on disk 0560 REM % WRITE BOOTTRACK 0570 LIMITS T#0,C$,A1,A2,A3,A4 0580 DATA LOAD BMT(A1,L)A$() 0590 DATA SAVE BMT#N,(0,L)A$() 0600 RETURN 8000 REM % GET DISK STATUS 8010 A$=ALL(20) 8030 I=1 : STR(G1$,1,1)=STR(P$,I,1)OR HEX(20) : IF I<>17THEN 8050 8040 STR(B$,2,1)=OR HEX(04) : ERRORSTOP "SOMETHING'S GROSSLY WRONG HERE!" 8050 STR(G1$,2,7)=ALL(00) : $GIOSTATUSREQUEST#4(0E140F0012E20600070070A0400288D070406A106816400087051 A00C340,G1$)G1$;STR(E1$,,VAL(STR(G1$,5,1))) : IF STR(E1$,2,1)=HEX(00)THEN STR(E1$,18,1)=HEX(00) 8060 G2$=STR(G1$,8,1)AND HEX(10) : IF G2$=HEX(00)THEN 8070 : GOTO 8080 8070 IF STR(G1$,8,1)<>HEX(00)THEN 8080 : IF STR(E1$,1,1)=HEX(33)THEN 8080 8080 IF G2$=HEX(00)THEN A$=ALL(20) : IF VAL(STR(E1$,6,3),3)=4160THEN A$="HD" : IF VAL(STR(E1$,6,3),3)=1280THEN A$="DD" : IF A$="DD"THEN B=362496 : ELSE B=1213952 : RETURN