home *** CD-ROM | disk | FTP | other *** search
Wrap
10 REM ********************** 20 REM * DOS.DESIGNER * 30 REM * BY JAMES PATRIDGE * 40 REM * COPYRIGHT (C) 1985 * 50 REM * BY MICROSPARC, INC * 60 REM * CONCORD, MA 01742 * 70 REM ********************** 80 CLEAR : TEXT : HOME 90 NP = 8:D$ = CHR$(4) 100 INVERSE 110 FOR I = 0 TO 39: PRINT "%";: NEXT I 120 FOR I = 0 TO 20: PRINT "%" SPC( 12)"%": NEXT I 130 FOR I = 0 TO 39: PRINT "%";: NEXT I 140 HTAB 6: VTAB 4: PRINT "DOS" 150 HTAB 4: PRINT "DESIGNER": PRINT : PRINT : PRINT "%%%%%%%%%%%%%": REM 13 %'S 160 PRINT : HTAB 6: PRINT "BY": HTAB 3: PRINT "J.PATRIDGE": PRINT : PRINT "%%%%%%%%%%%%%": REM 13'S 170 PRINT : PRINT : HTAB 3: PRINT "COPYRIGHT": HTAB 5: PRINT "1985": HTAB 6: PRINT "BY" 180 HTAB 3: PRINT "MICROSPARC": HTAB 5: PRINT "INC.": PRINT 190 FOR I = 2 TO 22: VTAB I: HTAB 40: PRINT "%": NEXT I 200 POKE 32,15: POKE 33,24: POKE 34,1: POKE 35,21 210 HOME : NORMAL : PRINT : PRINT " < MAIN MENU >" 220 PRINT 230 FOR I = 1 TO NP: READ A$: PRINT I") "A$: NEXT I 240 PRINT 250 VTAB 14: CALL -958: INPUT "SELECTION => ";A$:A = VAL(A$): IF A <1 OR A >8 THEN 250 260 IF A <4 THEN PRINT : INVERSE : PRINT "PLEASE STAND BY": NORMAL : ONERR GOTO 310 270 ON A GOSUB 280,290,300,360,730,890,920,1360: RESTORE : GOTO 210 280 PRINT D$;"RUN COMMAND.CHANGER" 290 PRINT D$;"RUN ERROR.MESSAGES" 300 PRINT D$;"RUN DISK.VOLUME" 310 IF PEEK(222) = 6 THEN PRINT CHR$(7): PRINT "PLACE DOS DESIGNER DISK": PRINT "IN DRIVE AND PRESS": PRINT "A KEY": WAIT -16384,128: POKE -16368,0: VTAB 17: CALL -958: GOTO 270 320 PRINT : PRINT "ERROR #"; PEEK(222): PRINT "PRESS A KEY": PRINT "TO CONTINUE": WAIT -16384,128: POKE -16368,0: GOTO 250 330 REM : 340 REM : FILE TYPE ROUTINE 350 REM : 360 A$(1) = "TEXT FILE ":A$(2) = "INTEGER FILE ":A$(3) = "APPLESOFT FILE ":A$(4) = "BINARY FILE ":A$(5) = "UNLOCKED FILE":A$(6) = "LOCKED FILE" 370 NN$ = "TIAB *" 380 HOME : VTAB 3 390 FOR I = 1 TO 6: PRINT MID$ (NN$,I,1)"="A$(I): NEXT I 400 PRINT : PRINT "ENTER NEW CHARACTERS :" 410 FOR I = 1 TO 6 420 VTAB 12: CALL -958: PRINT A$(I)"=> ";: INPUT " ";C$ 430 IF LEN(C$) >1 THEN PRINT "ONE CHARACTER LIMIT !": CALL -1052: FOR J = 1 TO 2000: NEXT J: GOTO 420 440 IF C$ = "" THEN C$ = MID$ (NN$,I,1) 450 M$ = M$ +C$: NEXT I 460 HOME : VTAB 3: FOR I = 1 TO 6: PRINT MID$ (M$,I,1)" = "A$(I): NEXT I 470 PRINT : INPUT "CORRECT (YES/NO) => ";AN$ 480 IF LEFT$(AN$,1) < >"Y" THEN M$ = "": GOTO 380 490 FOR I = 1 TO 6 500 VTAB 2 +I: HTAB 20: CALL -868: FLASH : PRINT "<=": NORMAL 510 VTAB 10: CALL -958: PRINT "DISPLAY CHARACTER # "I" :": PRINT : PRINT "<N> NORMAL": PRINT "<F> FLASHING": PRINT "<I> INVERSE": PRINT : PRINT : INPUT "SELECTION =>";N$ 520 IF N$ = "N" THEN X = 128: GOTO 560 530 IF N$ = "F" THEN X = 0: GOTO 560 540 IF N$ = "I" THEN X = -64: GOTO 560 550 GOTO 510 560 BV = ( ASC( MID$ (M$,I,1))) 570 IF BV <27 AND X = 128 THEN GOTO 630 580 IF BV <27 AND X = 0 THEN BV = BV +128 590 IF BV <27 AND X = -64 THEN BV = BV +192 600 IF BV <64 THEN BV = BV +64 610 IF I = 5 THEN GOTO 640 620 IF I = 6 THEN GOTO 650 630 POKE 45990 +I,BV +X 640 POKE 44508,BV +X 650 POKE 44515,BV +X 660 VTAB 2 +I: HTAB 20: CALL -868 670 NEXT I 680 VTAB 17: HTAB 1: CALL -958: PRINT "THE DEED IS DONE !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 690 REM : 700 REM : SERIAL NUMBER 710 REM : ROUTINE 720 REM : 730 HOME : PRINT : PRINT "< DOS SERIAL NUMBER >" 740 PRINT : PRINT "YOU MAY ENCODE A SIX" 750 PRINT "DIGIT SERIAL NUMBER" 760 PRINT "WITHIN THE DOS IMAGE." 770 PRINT : PRINT 780 INPUT "ENTER NUMBER =>";SN$ 790 IF LEN(SN$) <1 OR LEN(SN$) >6 THEN PRINT "MUST BE (1-6) DIGITS": CALL -1052: FOR I = 1 TO 2000: NEXT I: GOTO 730 800 FOR I = 1 TO LEN(SN$) 810 X$ = MID$ (SN$,I,1) 820 POKE 46988 +I, ASC(X$) 830 NEXT I 840 VTAB 17: HTAB 1: CALL -958: PRINT "THE DEED IS DONE !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 850 REM : 860 REM : UNLISTABLE PROGRAM 870 REM : ROUTINE 880 REM 890 POKE 42210,76: POKE 42211,223: POKE 42212,188 900 POKE 48351,169: POKE 48352,255: POKE 48353,133: POKE 48354,214: POKE 48355,108: POKE 48356,88: POKE 48357,157 910 VTAB 17: HTAB 1: CALL -958: PRINT "THE DEED IS DONE !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 920 REM : 930 REM : RELOCATE VTOC & 940 REM : DIRECTORY 950 REM : 960 TEXT : HOME 970 FT$(1) = "APPLESOFT":FT$(2) = "INTEGER":FT$(3) = "BINARY":FT$(4) = "TEXT" 980 D1$ = "<< RELOCATE VTOC & INITIALIZE DISK >>" 990 VTAB 2: HTAB 2: PRINT "<< RELOCATE VTOC & INITIALIZE DISK >>" 1000 PRINT : FOR I = 1 TO 40: PRINT "=";: NEXT I: PRINT 1010 INPUT "VTOC TRAC # (3-35) DECIMAL => ";TK$: PRINT 1020 TK = VAL(TK$) 1030 IF TK <3 OR TK >35 THEN GOTO 960 1040 INPUT "GREETING PROGRAM NAME => ";N$: CALL -958 1050 IF N$ = "" THEN CALL -1052: PRINT "ILLEGAL FILE NAME !": FOR I = 1 TO 1000: NEXT I: VTAB 8: CALL -958: GOTO 1040 1060 IF LEN(N$) >30 OR ASC( LEFT$(N$,1)) <65 OR ASC( LEFT$(N$,1) >90 THEN CALL -1052: PRINT "ILLEGAL FILE NAME !": FOR I = 1 TO 1000: NEXT I: VTAB 8: CALL -958: GOTO 1040 1070 PRINT : PRINT "GREETING PROGRAM FILE TYPE" 1080 PRINT "1- APPLESOFT": PRINT "2- INTEGER": PRINT "3- BINARY": PRINT "4- TEXT": PRINT : INPUT "SELECTION => ";FT$ 1090 FT = VAL(FT$) 1100 IF FT <1 OR FT >4 THEN VTAB 9: CALL -1052: CALL -958: GOTO 1070 1110 IF FT = 3 THEN POKE 40514,52 1120 IF FT = 4 THEN POKE 40514,20 1130 PRINT 1140 INPUT "PLEASE INSERT TARGET DISK =>";A$ 1150 CALL -1052: VTAB 6: CALL -958 1160 FLASH : PRINT "ATTENTION:": NORMAL : PRINT : PRINT : PRINT : PRINT "PROCESS DESTROYS ALL DATA ON TARGET DISK": PRINT : PRINT 1170 PRINT "CURRENT PARAMETERS: ": PRINT 1180 PRINT "VTOC TRACK # => "TK 1190 PRINT "GREETING PROGRAM NAME => "N$ 1200 PRINT "FILE TYPE => "FT$(FT) 1210 PRINT : INVERSE : PRINT "<CTRL>S";: NORMAL : PRINT " TO PROCEED ";: INVERSE : PRINT "ESC";: NORMAL : PRINT " TO CANCEL" 1220 PRINT : PRINT "VERIFY TO PROCEED =>";: GET A$ 1230 IF A$ = CHR$(27) THEN GOTO 100 1240 IF A$ < > CHR$(19) THEN GOTO 920 1250 PRINT 1260 VTAB 10: CALL -958: HTAB 10: INVERSE : PRINT " INITIALIZING DISK ": NORMAL 1270 TT = (TK *4) 1280 IF TK = 35 THEN POKE 44725,144 1290 POKE 44741,TT: POKE 44745,TT +4 1300 POKE 44033,TK: POKE 46012,TK: POKE 48894,36: POKE 44764,TK: POKE 46063,36 1310 PRINT D$;"INIT"N$ 1320 HOME : VTAB 8 1330 PRINT "THE DEED IS DONE" 1340 PRINT : PRINT "REBOOT PROGRAM DISK" 1350 END 1360 TEXT : HOME : VTAB 12 1370 PRINT "TO SAVE ALL PATCHES, INITIALIZE": PRINT "A NEW DISK OR RE-RUN 'DOS DESIGNER' AND": PRINT "SELECT OPTION 7." 1380 END 1390 DATA DOS COMMANDS,DOS ERROR MESSAGES,DISK VOLUME TEXT 1400 DATA FILE TYPE CHARACTER,ADD SERIAL NUMBER,UNLISTABLE PROGRAMS, RELOCATE VTOC & INIT,EXIT