image of READY prompt

Wang2200.org

Listing of file='DISKCM1' on disk='vmedia/vp-boot-2.3.wvd.zip'

# Sector 970, program filename = 'DISKCM1'
0010 REM %DISKCMND -- $GIO SEQUENCES FOR NEW DISK COMMANDS
   : REM 5/29/78 BP
0020 REM
   : REM O$,O1$ -- OPTIONS
   : REM D$ -- DISK ADDRESS
   : REM D$() -- DISK ADDRESS TABLE
   : REM K$ -- KEY CODE
   : REM S,S$ -- SECTOR ADDRESS
   : REM G$ -- $GIO REGISTERS
   : REM G$() -- SECTOR DATA
   : REM F$ -- FS COMMAND
0025 COM D$3
   : DIM O$64,O1$1,D$(1)64,L$(1)2,K$1,S$3,G$10,G$(4)64,F$1
0030 IF D$<>" "THEN 40
   : D$="310"
   : SELECT #1 310
0040 REM %DISPLAY OPTIONS--------------------------
   : PRINT HEX(0D03);TAB(10);"*** $GIO SEQUENCES FOR NEW DISK COMMANDS ***"
   : PRINT
   : PRINT "OPTIONS:";TAB(40);"DISK ADDRESS = /";D$
   : O1$=HEX(00)
   : RESTORE
0050 READ O$
   : IF O$="no more options" THEN 60
   : PRINT "   '";
   : HEXPRINT O1$;
   : PRINT "   ";O$
   : ADD(O1$,01)
   : GOTO 50
0060 PRINT
   : PRINT "SF' KEY?";
0070 KEYIN K$,70,80
   : GOTO 70
0080 ON VAL(K$) GOTO 90,200,240,280,320,360,400,450
   : GOTO 40
0090 REM %CHANGE DISK ADDRESS-------------------------------------
   : PRINT HEX(0D03);"CHANGE DISK ADDRESS --"
   : PRINT
0100 INPUT "DISK ADDRESS (310,B10,320,B20,330,B30,360,B60)",D$
   : D$(1)="310B10320B20330B30360B60"
   : MAT SEARCH D$(),=D$ TO L$()
   : ON (VAL(STR(L$(1),2))+2)/3 GOTO 110,120,130,140,150,160,170,180
   : GOTO 100
0110 SELECT #1 310
   : GOTO 190
0120 SELECT #1 B10
   : GOTO 190
0130 SELECT #1 320
   : GOTO 190
0140 SELECT #1 B20
   : GOTO 190
0150 SELECT #1 330
   : GOTO 190
0160 SELECT #1 B30
   : GOTO 190
0170 SELECT #1 360
   : GOTO 190
0180 SELECT #1 B60
   : GOTO 190
0190 GOTO 40
0200 REM %FORMAT PLATTER------------------------------------------
   : GOTO 60
   :             PRINT HEX(0D03);"FORMAT PLATTER /";D$;" --"
   : PRINT
   : PRINT "PRESS 'CONTINUE' TO FORMAT";
0210 KEYIN K$,220,210
   : GOTO 210
0220 IF K$<>HEX(84) THEN 210
   : G$=HEX(20)
   : IF STR(D$,1,1)="3" THEN 230
   : G$=HEX(30)
0230 PRINT HEX(0D);TAB(63);HEX(0D);
   : PRINT "FORMATTING...";
   : $GIO FORMAT SECTOR #1(0600 0700 70A0 68C0 7040 6A10 6802 4270 8B67,G$)
   : PRINT HEX(0D);"FORMATTING COMPLETE"
   : GOTO 60
0240 REM %FORMAT SECTOR------------------------------------------
   : GOSUB 500
   : STR(G$,2,3)=S$
0250 KEYIN K$,260,250
   : REM   GOTO 250
   : K$=HEX(84)
0260 IF K$<>HEX(84) THEN 250
   : G$=HEX(20)
   : IF STR(D$,1,1)="3" THEN 270
   : G$=HEX(30)
0270 STR(G$,2,3)=S$
   : $GIO FORMAT SECTOR #1(0600 0700 70A0 68C0 7040 6A10 6803 6A20 6A30 6240 8
     705 1704 1156 1576 4270 8B67,G$)
   : GOTO 240
0280 REM %READ SECTOR HEADER ------------------------------------
   : PRINT HEX(0D03);"READ SECTOR HEADER --"
   : PRINT
   : GOSUB 500
   : STR(G$,2,3)=S$
   : PRINT
   : PRINT "PRESS 'CONTINUE' TO READ";
0290 KEYIN K$,300,290
   : GOTO 290
0300 IF K$<>HEX(84) THEN 290
   : G$=HEX(20)
   : IF STR(D$,1,1)="3" THEN 310
   : G$=HEX(30)
0310 PRINT HEX(0D);TAB(63);HEX(0D);
   : PRINT "READING...";
   : STR(G$,2,3)=S$
   : $GIO READ HEADER #1(0600 0700 70A0 68C0 7040 6A10 6804 6A20 6A30 6240 870
     5 1704 1156 1576 4000 8701 8602,G$)
   : PRINT HEX(0D);"READ COMPLETE.  HEADER = ";
   : HEXPRINT STR(G$,1,2)
   : GOTO 60
0320 REM %CLEAR ERROR COUNT -------------------------------------
   : PRINT HEX(0D03);"CLEAR ERROR COUNT --"
   : PRINT
   : PRINT "PRESS 'CONTINUE' TO CLEAR COUNT";
0330 KEYIN K$,340,330
   : GOTO 330
0340 IF K$<>HEX(84) THEN 330
   : G$=HEX(20)
   : IF STR(D$,1,1)="3" THEN 350
   : G$=HEX(30)
0350 PRINT HEX(0D);TAB(63);HEX(0D);
   : PRINT "CLEARING...";
   : $GIO CLEAR ERROR COUNT #1(0600 0700 70A0 68C0 7040 6A10 6808 4000 8700,G$
     )
   : PRINT HEX(0D);"ERROR COUNT CLEARED"
   : GOTO 60
0360 REM %READ ERROR COUNT -------------------------------------
   : PRINT HEX(0D03);"READ ERROR COUNT --"
   : PRINT
   : PRINT "PRESS 'CONTINUE' TO READ COUNT";
0370 KEYIN K$,380,370
   : GOTO 370
0380 IF K$<>HEX(84) THEN 370
   : G$=HEX(20)
   : IF STR(D$,1,1)="3" THEN 390
   : G$=HEX(30)
0390 PRINT HEX(0D);TAB(63);HEX(0D);
   : PRINT "READING...";
   : $GIO READ ERROR COUNT #1(0600 0700 70A0 68C0 7040 6A10 6809 4000 8701 860
     2 8603,G$)
   : PRINT HEX(0D);"ERROR COUNT = ";
   : HEXPRINT STR(G$,1,3)
   : GOTO 60
0400 REM %READ BAD SECTOR --------------------------------------
   : GOSUB 500
   : STR(G$,2,3)=S$
0410 KEYIN K$,420,410
   : K$=HEX(84)
0420 IF K$<>HEX(84) THEN 410
   : G$=HEX(00)
   : IF STR(D$,1,1)="3" THEN 430
   : G$=HEX(10)
0430 STR(G$,2,3)=S$
   : $GIO READ BAD SECTOR #1(0600 0700 70A0 68C0 7040 6A10 6A30 6240 8705 1704
      1156 1576 4270 8367 C640 8605,G$)G$()
0440 REM HEXPRINT G$()
   : GOSUB 8000
   : GOTO 400
0450 REM %FIELD SERVICE COMMANDS -------------------------------
   : PRINT HEX(0D03);"FIELD SERVICE COMMAND --"
   : PRINT
   : GOSUB 490
   : PRINT
   : PRINT "PRESS 'CONTINUE' TO START";
0460 KEYIN K$,470,460
   : GOTO 460
0470 IF K$<>HEX(84) THEN 460
   : STR(G$,1,1)=HEX(20)
   : IF STR(D$,1,1)="3" THEN 480
   : STR(G$,1,1)=HEX(30)
0480 PRINT HEX(0D);TAB(63);HEX(0D);
   : PRINT "EXECUTING...";
   : $GIO FS COMMAND #1(0600 0700 70A0 68C0 7040 6A10 6A20 4000 8700,G$)G$()
   : PRINT HEX(0D);
   : STOP "ERROR -- SHOULD NEVER GET HERE."
   : GOTO 60
0490 REM GET FS COMMAND
   : INPUT "COMMAND (A-F)",F$
   : IF F$<"A" THEN 490
   : IF F$>"F" THEN 490
   : BIN(STR(G$,2,1))=VAL(F$)-55
   : RETURN
0500 REM %GET SECTOR ADDRESS--------------
   : REM RETURN -- S$=SECTOR ADDRESS
   : G=G+1
   : S=G
   : REM INPUT "SECTOR ADDRESS (default = 0)",S
   : BIN(S$)=S/65536
   : S=S-VAL(S$)*65536
   : BIN(STR(S$,2))=S/256
   : S=S-VAL(STR(S$,2))*256
   : BIN(STR(S$,3))=S
   : PRINT
   : PRINT G;
   : RETURN
0510 REM %OPTIONS
   : DATA "MENU","CHANGE DISK ADDRESS","FORMAT PLATTER","FORMAT SECTOR","READ
     SECTOR HEADER","CLEAR ERROR COUNT","READ ERROR COUNT","READ BAD SECTOR","
     FIELD SERVICE COMMANDS"
0520 DATA "no more options"
8000 FOR N=1 TO 70
   : IF STR(G$(),N,1)<HEX(30) OR STR(G$(),N,1)>HEX(7A)THEN 8050
8010 PRINT STR(G$(),N,1);
8030 NEXT N
   : RETURN
8050 PRINT ".";
   : GOTO 8030