Compucolor.org – Virtual Media

Listing of file='FMENU.BAS;01' on disk='vmedia/utility_2-sector.ccvf'

10 REM   MODIFIED BY K.G. WINDER. CUVIC.
20 REM   ALLOWS CHOICE OF NUMBER OF DIR BLOCKS & ON RE-RUN
30 REM  WILL CHECK TO SEE IF FORMAT IS ALREADY LOADED.
35 REM   ALSO ALLOWS DISC NAMING.
40 REM   TO RE-RUN DO - RESET ESC E & RUN , RESET DIR BLOCKS
60 PLOT 12:POKE 36860,0:POKE 36861,1
70 A= PEEK (36860):B= PEEK (36861)
80 IF A= BAND A= 255THEN 300
90 POKE 36860,255:POKE 36861,255:PLOT 15:GOSUB 500
100 IF C= 634THEN PRINT "PRG ALREADY LOADED":GOTO 160
110 PLOT 12,15:PRINT TAB( 22)"LOADING FORMATTER."
120 PRINT TAB( 22)"__________________"
130 PLOT 27,4:PRINT "LOA FORMAT.PRG":PLOT 27,27
140 PRINT :PRINT "FLASH--------------REMOVE THE FORMATTER DISK---------------FLASH"
150 GOTO 170
160 POKE 37145,66:POKE 37146,76:POKE 37147,65:POKE 37148,78:POKE 37149,75
165 POKE 37150,32:POKE 37151,32:POKE 37152,32:POKE 37153,32:POKE 37154,32
170 PRINT :INPUT "ENTER NUMBER OF DIR BLOCKS REQUIRED, MAXIMUM IS 32, - ";A$
180 IF C= 634THEN 220
190 PRINT
200 INPUT "HAVE YOU REMOVED FORMATTER DISC ? ? ? ";K$
210 IF K$< > "Y"THEN PLOT 28,11:GOTO 200
220 GOSUB 340
230 GOSUB 600
240 Z$= RIGHT$ (N$,2)
250 Y$= LEFT$ (Z$,1):X$= RIGHT$ (Z$,1)
260 P= ASC (Y$):Q= ASC (X$)
270 POKE 37156,P:POKE 37157,Q:PRINT
280 G$= LEFT$ (F$,10):PRINT "DATA ENTERED = ";G$;" ";Z$;" (HEX)"
290 PLOT 27,9
300 POKE 36860,0:POKE 36861,1
310 PRINT "FORMATTING FINISHED."
320 FOR I= 1TO 1000:NEXT I
330 GOTO 70
340 NN= VAL (A$):N= NN:PRINT
350 IF NN> 0AND NN< = 32GOTO 380
360 N= - 1:PRINT "  RANGE IS 1 TO 32 DECIMAL ONLY!"
370 FOR V= 1TO 1000:NEXT :GOTO 170
380 FOR I= 1TO 0STEP - 1
390 FOR J= 15TO 0STEP - 1
400 T= J* 16^ I:
410 IF T> NNTHEN NEXT J
420 D(I)= J:NN= NN- T
430 NEXT I
440 N$= " "
450 FOR I= 1TO 0STEP - 1
460 IF D(I)> = 0AND D(I)< = 9THEN N$= N$+ CHR$ (D(I)+ 48)
470 IF D(I)> = 10AND D(I)< = 15THEN N$= N$+ CHR$ (D(I)+ 55)
480 NEXT I
490 RETURN
500 FL= PEEK (37165):FM= PEEK (37166):FH= PEEK (37167)
510 C= FL+ FM+ FH
520 RETURN
600 REM  ENTER DISK NAME SUB/R.
610 INPUT "ENTER DISC-NAME DESIRED, (MAX 10 CHAR), - ";Q$
620 IF Q$= ""THEN GOTO 700
630 IF LEN (Q$)> 10THEN PLOT 28,11:GOTO 610
646 S$= "       ":F$= Q$+ S$
680 FOR I= 1TO 10:U$= MID$ (F$,I,1):Z= ASC (U$):POKE 37144+ I,Z:NEXT I
690 RETURN
700 F$= "BLANK":RETURN