100 IF PEEK(104) < >80 THEN POKE 103,1: POKE 104,80: POKE 20480,0: PRINT CHR$(4);"RUN NAME.CHANGER"
110 IF PEEK(49149) = 0 THEN HOME : PRINT CHR$(7): PRINT "YOU MUST RUN THIS PROGRAM ": PRINT "USING BASIC.SYSTEM VERSION 1.1 ": PRINT "OR GREATER.": END
120 DR$ = "1":DEVNUM = PEEK(48944): IF DEVNUM >128 THEN DEVNUM = DEVNUM -128:DR$ = "2": REM >>> DEVNUM, $BF30, IS SLOT/DRIVE OF LAST DISK ACCESS <<<
130 SL$ = STR$( INT(DEVNUM/16)):D$ = CHR$(4)
140 PRINT D$;"PREFIX": INPUT VN$
150 ONERR GOTO 1180
160 PRINT D$;"PR#3"
170 HOME : PRINT TAB( 17)"STARTUP NAME CHANGER (C)1988 MICROSPARC, INC.": FOR I = 1 TO 80: PRINT "-";: NEXT I: POKE 34,2
180 HOME : PRINT : PRINT : PRINT TAB( 5);"THIS PROGRAM ENABLES YOU TO MODIFY BASIC.SYSTEM TO AUTOMATICALLY RUN A"
190 PRINT : PRINT "GREETING PROGRAM NAMED OTHER THAN 'STARTUP'. IT WILL WORK WITH A COPY OF": PRINT : PRINT "BASIC.SYSTEM USING EITHER THIS OR ANOTHER PREFIX. THE CURRENT PREFIX IS:"
200 PRINT : PRINT VN$;" , FOUND ON THE DISK RESIDING IN SLOT ";SL$;", DRIVE ";DR$;"."
210 PRINT : PRINT TAB( 5);"WOULD YOU LIKE TO MODIFY YOUR COPY OF BASIC.SYSTEM FROM:"
220 PRINT : PRINT TAB( 25);"(T)HIS DISK AND PREFIX": PRINT : PRINT TAB( 25);"(A)NOTHER DISK OR PREFIX": PRINT : PRINT TAB( 25);"(Q)UIT PROGRAM"
230 PRINT : PRINT TAB( 5);"YOUR CHOICE (T, A, OR Q)? ";
240 POKE -16368,0: GET A$
250 IF A$ = "T" OR A$ = "t" THEN PN$ = "BASIC.SYSTEM": GOTO 610
260 IF A$ = "Q" OR A$ = "q" THEN GOTO 990
270 IF A$ < >"A" AND A$ < >"a" THEN GOTO 240
280 HOME : PRINT : PRINT : PRINT TAB( 5)"YOU MAY SELECT THE LOCATION FROM WHERE BASIC.SYSTEM WILL BE LOADED"
290 PRINT : PRINT "AND MODIFIED BY PREFIX OR BY SLOT AND DRIVE..."
300 PRINT : PRINT TAB( 25);"(N)EW PREFIX": PRINT : PRINT TAB( 25);"(S)LOT AND DRIVE": PRINT : PRINT TAB( 25);"(RETURN) ALONE TO EXIT TO PREVIOUS MENU"
360 HOME : PRINT : PRINT : PRINT TAB( 5);"PLEASE SELECT THE PROPER SLOT AND DRIVE FOR THE DISK CONTAINING": PRINT : PRINT "BASIC.SYSTEM (RETURN ALONE WILL EXIT TO PREVIOUS MENU)..."
370 PRINT : PRINT TAB( 25);"SLOT (1 - 7)? ";
380 POKE -16368,0: GET A$
390 IF A$ = CHR$(13) THEN GOTO 280
400 IF A$ <"1" OR A$ >"7" THEN HTAB (40): CALL -958: GOTO 380
410 PRINT A$:SL$ = A$
420 PRINT : PRINT TAB( 25);"DRIVE (1 OR 2)? ";
430 POKE -16368,0: GET A$
440 IF A$ = CHR$(13) THEN GOTO 280
450 IF A$ < >"1" AND A$ < >"2" THEN HTAB (42): CALL -958: GOTO 430
460 PRINT A$:DR$ = A$
470 SD$ = ",S" +SL$ +",D" +DR$
480 ONERR GOTO 1180
490 PRINT D$;"PREFIX";SD$
500 PRINT D$;"PREFIX"
510 INPUT VN$:PN$ = VN$ +"BASIC.SYSTEM"
520 GOTO 600
530 HOME : PRINT : PRINT : PRINT TAB( 5);"PLEASE TYPE THE NEW, COMPLETE PREFIX WHERE THE COPY OF BASIC.SYSTEM CAN BE": PRINT : PRINT "FOUND. THE OLD PREFIX HAS BEEN DISPLAYED FOR REFERENCE AND/OR MODIFICATION."
610 HOME : VTAB (12): HTAB (24): PRINT "LOADING BASIC.SYSTEM INTO MEMORY"
620 PRINT D$;"BLOAD ";PN$;",A$2000,TSYS"
630 IF PEEK(8192) = 76 AND PEEK(8195) = 238 AND PEEK(8196) = 238 THEN GOTO 650
640 HOME : PRINT : PRINT : PRINT TAB( 5);"THE VERSION OF BASIC.SYSTEM YOU'RE USING DOESN'T ADHERE TO THE 'AUTO RUN'": PRINT : PRINT "PROTOCOL THIS PROGRAM IS DESIGNED TO MODIFY. PRESS RETURN TO EXIT...";: POKE -16368,0: GET A$: GOTO 990
650 N1$ = "":N2$ = "":TP$ = ""
660 HOME : PRINT : PRINT : PRINT "THE OLD GREETING PROGRAM NAME ("; PEEK(8198);" CHAR'S, FOUND IN PREFIX ";VN$;"):": FOR X = 8199 TO 8199 +( PEEK(8198) -1):N1$ = N1$ + CHR$( PEEK(X)): NEXT : PRINT : PRINT " >";N1$
670 PRINT : PRINT TAB( 5);"THE NEW GREETING PROGRAM'S NAME MUST BE LESS THAN 64 CHARACTERS LONG AND": PRINT : PRINT "CONFORM TO PRODOS NAMING CONVENTIONS. PLEASE TYPE IN THE NEW GREETING"
680 PRINT : PRINT "PROGRAM'S NAME (THE PREFIX SHOWN WILL BE APPENDED TO THE FILENAME FOR YOU,"
690 PRINT : PRINT "AND RETURN ALONE EXITS TO THE INITIAL PROGRAM MENU)..."
700 PRINT : PRINT : PRINT "THE NEW GREETING PROGRAM'S NAME?": PRINT : PRINT " >";VN$;: GOSUB 1000
710 IF TP$ = " " THEN GOTO 180
720 IF RIGHT$(TP$,12) = "BASIC.SYSTEM" THEN GOTO 760
730 IF RIGHT$(TP$,6) = "PRODOS" THEN GOTO 760
740 IF RIGHT$(TP$,3) = "P16" THEN GOTO 760
750 IF RIGHT$(TP$,2) < >"P8" THEN GOTO 780
760 PRINT CHR$(7): PRINT : VTAB (21): HTAB (5): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " YOU CAN'T NAME YOUR NEW GREETING PROGRAM ";TP$;"..."
770 PRINT : PRINT TAB( 18);"PRESS RETURN TO RESUME PROGRAM OPERATION...";: POKE -16368,0: GET A$: GOTO 650
780 ONERR GOTO 1240
790 PRINT D$;"VERIFY ";N2$
800 IF LEFT$(N2$,( LEN(VN$))) < >VN$ THEN N2$ = VN$ +N2$
810 HOME : PRINT : PRINT : PRINT "NEW GREETING PROGRAM NAME ("; LEN(N2$);" CHAR'S):": PRINT : PRINT " >";N2$
820 PRINT : PRINT : PRINT TAB( 5)"THIS WILL BE THE NEW GREETING PROGRAM'S NAME. IS THIS NAME CORRECT?"
830 PRINT : PRINT TAB( 25);"(Y)ES, THE NAME IS CORRECT": PRINT : PRINT TAB( 25);"(N)O, THE NAME IS NOT CORRECT": PRINT : PRINT TAB( 25);"(RETURN) ALONE EXITS TO THE PREVIOUS MENU"
840 PRINT : PRINT TAB( 5);"YOUR CHOICE (Y, N, OR RETURN)? ";
850 POKE -16368,0: GET A$
860 IF A$ = CHR$(13) THEN GOTO 650
870 IF A$ = "N" OR A$ = "n" THEN GOTO 650
880 IF A$ < >"Y" AND A$ < >"y" THEN GOTO 850
890 L = LEN(N2$): FOR X = 1 TO L
900 A = ASC( MID$ (N2$,X,1)): POKE 8198 +X,A: NEXT : POKE 8198,L
1110 PRINT CHR$(7): PRINT : VTAB (21): HTAB (3): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " FIRST CHARACTER OF NAME CAN'T BE A NUMBER, PLEASE RE-ENTER...": GOTO 1130
1120 PRINT CHR$(7): PRINT : VTAB (21): HTAB (13): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " VOLUME NAME TOO LONG, PLEASE RE-ENTER..."
1210 IF PEEK(222) = 6 THEN PRINT CHR$(7): VTAB (21): HTAB (4): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " BASIC.SYSTEM NOT FOUND WHERE SPECIFIED, PLEASE RE-ENTER...": GOSUB 1290: CALL -3288: GOTO 180
1220 IF PEEK(222) = 16 THEN PRINT CHR$(7): VTAB (21): HTAB (2): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " FIRST CHARACTER AFTER '/' MUST BE A LETTER, PLEASE RE-ENTER...": CALL -3288: GOSUB 1130: GOTO 550
1240 IF PEEK(222) = 6 THEN VTAB (21): HTAB (13): INVERSE : PRINT "***NOTE***";: NORMAL : PRINT " THAT FILE DOES NOT YET EXIST ON THAT DISK...": GOSUB 1290: CALL -3288: GOTO 800
1250 IF PEEK(222) = 4 THEN PRINT CHR$(7): VTAB (21): HTAB (6): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " DISK IS WRITE PROTECTED, PLEASE DE-PROTECT AND RE-TRY...": GOSUB 1290: CALL -3288: GOTO 930
1260 IF PEEK(222) = 6 THEN PRINT CHR$(7): VTAB (21): HTAB (5): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " PLEASE RE-INSERT ";VN$: GOSUB 1290: CALL -3288: GOTO 930
1270 IF PEEK(222) = 16 THEN PRINT CHR$(7): VTAB (21): HTAB (2): INVERSE : PRINT "***ERROR***";: NORMAL : PRINT " FIRST CHARACTER AFTER '/' MUST BE A LETTER, PLEASE RE-ENTER...": CALL -3288: GOSUB 1130: GOTO 710