Compucolor.org – Virtual Media

Listing of file='CHDIR.BAS;02' on disk='vmedia/colorcue-sector.ccvf'

100 REM  ** CHANGE DIRECTORY NAME **
110 REM
120 REM  ** MOVE END OF BASIC BACK 130 BYTES **
130 AD =  PEEK (32941)* 256+ PEEK (32940): AD =  AD- 130
140 POKE  32941,INT (AD/ 256):POKE  32940,AD- INT (AD/ 256)* 256
150 CLEAR  200
160 REM
170 REM  ** FIND NEW END OF BASIC **
180 AD =  PEEK (32941)* 256+ PEEK (32940):A =  AD+ 1
190 REM
200 REM  ** CONVERT ADDRESS TO HEX **
210 V =  INT (A/ 4096):A =  A- V* 4096:GOSUB  250
220 V =  INT (A/ 256):A =  A- V* 256:GOSUB  250
230 V =  INT (A/ 16):A =  A- V* 16:GOSUB  250
240 V =  INT (A):A =  A- V:GOSUB  250:GOTO  330
250 IF  V< 10 THEN  ADR$=  ADR$+ RIGHT$ (STR$ (V),1)
260 IF  V= 10 THEN  ADR$ =  ADR$+ "A"
270 IF  V= 11 THEN  ADR$ =  ADR$+ "B"
280 IF  V= 12 THEN  ADR$ =  ADR$+ "C"
290 IF  V= 13 THEN  ADR$ =  ADR$+ "D"
300 IF  V= 14 THEN  ADR$ =  ADR$+ "E"
310 IF  V= 15 THEN  ADR$ =  ADR$+ "F"
320 RETURN
330 REM
340 REM  ** READ FIRST BLOCK OF DISK INTO MEMORY **
350 PLOT  27,4:PRINT  "READ 0 "+  ADR$+  " 0080":PLOT  27,27
360 REM
370 REM  ** FIND THE CURRENT DIRECTORY NAME **
380 FOR  I= AD+ 4 TO  AD+ 13:X =  PEEK (I):N$ =  N$+ CHR$ (X):NEXT  I
390 PRINT
400 PRINT  "THE CURRENT DISK NAME IS: ";N$:PRINT
410 REM
420 REM  ** REPLACE OLD NAME WITH NEW NAME **
430 INPUT  "ENTER THE NEW NAME: ";S$
440 IF  S$= "0" OR  S$= "" THEN  530
450 IF  LEN (S$)> 10 THEN  PRINT  "NAME TOO LONG":GOTO  430
460 S$ =  S$+ "          ":J= 0
470 FOR  I= AD+ 4 TO  AD+ 13:J =  J+ 1
480 X =  ASC (MID$ (S$,J,1)):POKE  I,X:NEXT  I
490 REM
500 REM  ** WRITE THE BLOCK BACK TO THE DISK **
510 PLOT  27,4:PRINT  "WRITE 0 "+ ADR$+  " 0080":PLOT  27,27
520 REM
530 REM  ** PUT END OF BASIC BACK WHERE IT WAS **
540 AD =  AD+ 130
550 POKE  32941,INT (AD/ 256):POKE  32940,AD- INT (AD/ 256)* 256
560 CLEAR  100
570 END