Listing of file='MENU.BAS;01' on disk='vmedia/monitor-sector.ccvf'
99 REM STATIC RELOCATER COPYRIGHT 2/1/80 BY COMPUCOLOR CORP WRITTEN BY KLH 100 PLOT 15,12:CLEAR 200:AE= PEEK (32941)* 256:AF= AE:A= AF 110 GOSUB 660:PRINT "MEMORY ENDS AT ";LEFT$ (A$,2)+ "FF" 120 INPUT "FILE NAME (ENTER '0' TO END): ";F$:IF F$= "0"THEN END 130 FILE "T",160:FILE "R",1,F$+ ".PRG",1;1,1,1:FILE "C",1 140 INPUT "FILE ALREADY EXISTS: DO YOU WISH TO CONTINUE (Y/N)? ";Y$ 150 IF LEFT$ (Y$,1)= "N"THEN 120 160 PRINT "":FILE "T",170:FILE "R",1,F$+ ".LOW",1 170 FILE "E",A,B,C:IF C< > 160AND C< > 170THEN PRINT "FILE ERROR!":FILE "C",A:GOTO 120 180 IF C= 170THEN 120 190 A= 256* PEEK (33030)+ PEEK (33029) 200 TB= (A- 1)* 128+ PEEK (33031) 210 TL= 1:FILE "R",1,F$+ ".LOW",32;TB,1,128 220 GET 1,TL;L$[1]:GET 1;H$[1] 230 HA= ASC (H$)* 256+ ASC (L$) 240 GET 1;AL$[1]:GET 1;AH$[1]:AC= ASC (AH$)* 256+ ASC (AL$) 250 IF AC< LBTHEN LB= AC 260 IF AC+ HA> HBTHEN HB= AC+ HA 270 TL= TL+ HA+ 2:IF HA< > 2THEN 220 280 CB= HB- LB- 2 290 TM= AE- INT (CB/ 256)* 256 300 Z8= INT (TM/ 256):A= TM:GOSUB 660:B$= A$ 310 GET 1,TB- 1;L$[1]:GET 1,TB;H$[1] 320 A= Z8* 256+ 256* ASC (H$)+ ASC (L$):GOSUB 660:C$= A$ 330 A= CB:GOSUB 660 340 PRINT "FILE SPECS ARE - 350 PRINT " LOAD ADDRESS: "B$ 360 PRINT " FILE SIZE: "A$ 370 PRINT " START ADDRESS: "C$ 380 INPUT "DO YOU WISH TO OVERRIDE LOAD ADDRESS? ";Y$ 390 PRINT "":IF Y$= "Y"THEN 700 400 PLOT 27,4:PRINT "SAV "+ F$+ " "+ B$+ " "+ A$+ " "+ C$+ ",1":PLOT 27,27 410 FILE "C",1:FILE "R",1,F$+ ".LOW",24;TB,1,128 420 FILE "R",2,F$+ ".HGH",24;TB,1,128 430 FILE "R",3,F$+ ".PRG",32;A,1,128 440 FILE "T",650:CB= INT (CB* .0789/ 60) 450 PRINT "THIS SHOULD TAKE"CB" TO"CB+ 1" MINUTES...":PRINT 460 GET 2;L$[1]:GET 2;H$[1]:GET 2;AL$[1]:GET 2;AH$[1] 470 GET 1;L$[1]:GET 1;H$[1]:GET 1;AL$[1]:GET 1;AH$[1] 480 HA= ASC (H$)* 256+ ASC (L$) 490 AD= ASC (AH$)* 256+ ASC (AL$) 500 IF HA= < 2THEN 600 510 FOR X= 1TO HA- 2 520 GET 1;A$[1]:GET 2;B$[1] 530 A= ASC (A$):B= ASC (B$):IF A= BTHEN 560 540 IF A+ 1< > BTHEN PRINT "LDA FILES INCOMPATABLE.":FILE "C",1:GOTO 120 550 A= A+ Z8 560 IF A< = AFTHEN 580 570 PRINT A" ERROR - REFERENCE TO NON-EXISTENT MEMORY LOCATION":FILE "C",1:GOTO 120 580 PUT 3,AD+ X;CHR$ (A)[1] 590 NEXT :GOTO 460 600 AE= TM- 256:FILE "C",1,2,3 610 PRINT ""F$".PRG HAS BEEN CREATED.":PRINT 620 INPUT "DO YOU WISH TO RESET THE CURRENT END-OF-MEMORY (Y/N)? ";A$ 630 PRINT "":IF LEFT$ (A$,1)= "N"THEN 120 640 POKE 32941,AE/ 256:RUN 650 PRINT "FILE ERROR!":FILE "C",1,2,3:GOTO 120 660 C= A:A$= "":FOR X= 3TO 0STEP - 1:B= INT (C/ 16^ X) 670 C= C- B* (16^ X):B= B+ 48:IF B> 57THEN B= B+ 7 680 A$= A$+ CHR$ (B):NEXT :RETURN 690 INPUT B$:GOSUB 700:GOTO 690 700 INPUT "INPUT YOUR NEW LOAD ADDRESS: ";B$:PRINT "" 710 IF B$< "8200"THEN PRINT "ERROR - ILLEGAL HEX VALUE":GOTO 700 720 TM= 0:FOR X= 3TO 0STEP - 1:MM= ASC (MID$ (B$,4- X,1)) 730 MM= MM- 48:IF MM> 9THEN MM= MM- 7 740 IF MM> 15OR MM< 0THEN B$= "":GOTO 710 750 TM= MM* (16^ X)+ TM+ .25:NEXT :TM= INT (TM/ 256)* 256 760 IF TM+ CB< = AF+ 255THEN 300 770 PRINT "FILE TOO LARGE FOR MEMORY":GOTO 700