image of READY prompt

Wang2200.org

Listing of file='@DOSFORM' on disk='vmedia/734-8446.wvd.zip'

# Sector 2247, 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