home *** CD-ROM | disk | FTP | other *** search
Wrap
10 REM ********************** 20 REM * DOS.DESIGNER * 30 REM * DI JAMES PATRIDGE * 40 REM * COPYRIGHT (C) 1989 * 50 REM * BY GRUPPO EDIT.JCE * 60 REM * & MICROSPARC, INC * 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 "DI": HTAB 3: PRINT "J.PATRIDGE": PRINT : PRINT "%%%%%%%%%%%%%": REM 13 CARATTERI % 170 PRINT : PRINT : HTAB 3: PRINT "COPYRIGHT": HTAB 5: PRINT "1989": HTAB 6: PRINT "BY" 180 HTAB 3: PRINT "GR.EDIT.JCE": HTAB 7: PRINT "&": HTAB 3: PRINT "MICROSPARC": HTAB 6: 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 "< MENU' PRINCIPALE >" 220 PRINT 230 FOR I = 1 TO NP: READ A$: PRINT I") "A$: NEXT I 240 PRINT 250 VTAB 14: CALL -958: INPUT "SCELTA => ";A$:A = VAL(A$): IF A <1 OR A >8 THEN 250 260 IF A <4 THEN PRINT : INVERSE : PRINT "ATTENDI": 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 "METTI IL DISCHETTO DI DOS DESIGNER": PRINT "NEL DRIVE E PREMI": PRINT "UN TASTO": WAIT -16384,128: POKE -16368,0: VTAB 17: CALL -958: GOTO 270 320 PRINT : PRINT "ERRORE N."; PEEK(222): PRINT "PREMI UN TASTO: PRINT "PER CONT INUARE": WAIT - 16384,128: POKE - 16368,0: GOTO 250 330 REM : 340 REM : ROUTINE DEL TIPO DI FILE 350 REM : 360 A$(1) = "FILE DI TESTO ":A$(2) = "FILE INTEGER ":A$(3) = "FILE APPLESOFT ":A$(4) = "FILE BINARIO ":A$(5) = "FILE NON PROTETTO":A$(6) = "FILE PROTETTO" 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 "IMMETTI NUOVI CARATTERI:" 410 FOR I = 1 TO 6 420 VTAB 12: CALL -958: PRINT A$(I)"=> ";: INPUT " ";C$ 430 IF LEN(C$) >1 THEN PRINT "LIMITE DI UN CARATTERE !": 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 "CORREGGI (SI'/NO) => ";AN$ 480 IF LEFT$(AN$,1) < >"N" 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 "VISUALIZZA IL CARATTERE N. "I" :": PRINT : PRINT "<N> NORMALE": PRINT "<F> LAMPEGGIANTE": PRINT "<I> INVERSE": PRINT : PRINT : INPUT "SCELTA =>";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 "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 690 REM : 700 REM : NUMERO DI SERIE 710 REM : ROUTINE 720 REM : 730 HOME : PRINT : PRINT "< NUMERO DI SERIE DOS >" 740 PRINT : PRINT "PUOI CODIFICARE UN" 750 PRINT "NUMERO DI SERIE DI": PRINT "SEI CIFRE NELLA" 760 PRINT "IMMAGINE DEL DOS." 770 PRINT : PRINT 780 INPUT "IMMETTI NUMERO =>";SN$ 790 IF LEN(SN$) <1 OR LEN(SN$) >6 THEN PRINT "DEVE CONTARE DA 1 A 6 CIFRE": 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 "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 850 REM : 860 REM : ROUTINE DI 870 REM : PROGRAMMA NON LISTABILE 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 "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 920 REM : 930 REM : RILOCA LA VTOC E 940 REM : LA DIRECTORY 950 REM : 960 TEXT : HOME 970 FT$(1) = "APPLESOFT":FT$(2) = "INTEGER":FT$(3) = "BINARIO":FT$(4) = "TESTO" 980 D1$ = "<< RILOCA VTOC E INIZIALIZZA DISCO >>" 990 VTAB 2: HTAB 2: PRINT "<< RILOCA VTOC E INIZIALIZZA DISCO >>" 1000 PRINT : FOR I = 1 TO 40: PRINT "=";: NEXT I: PRINT 1010 INPUT "TRACCIA VTOC N. (3-35) DECIMALE => ";TK$: PRINT 1020 TK = VAL(TK$) 1030 IF TK <3 OR TK >35 THEN GOTO 960 1040 INPUT "NOME PROGRAMMA SALUTO => ";N$: CALL -958 1050 IF N$ = "" THEN CALL -1052: PRINT "NOME DI FILE ILLEGALE !": 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 "NOME DI FILE ILLEGALE !": FOR I = 1 TO 1000: NEXT I: VTAB 8: CALL -958: GOTO 1040 1070 PRINT : PRINT "TIPO DI FILE DEL PROGRAMMA DI SALUTO" 1080 PRINT "1- APPLESOFT": PRINT "2- INTEGER": PRINT "3- BINARIO": PRINT "4- TESTO": PRINT : INPUT "SCELTA => ";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 "INSERISCI IL DISCO DI DESTINAZIONE =>";A$ 1150 CALL -1052: VTAB 6: CALL -958 1160 FLASH : PRINT "ATTENZIONE:": NORMAL : PRINT : PRINT : PRINT : PRINT "L'OPERAZIONE DISTRUGGE TUTTI I DATI SUL DISCO DI DESTINAZIONE": PRINT 1170 PRINT "ATTUALI PARAMETERI: ": PRINT 1180 PRINT "N. TRACCIA VTOC => "TK 1190 PRINT "NOME PROGRAMMA DI SALUTO => "N$ 1200 PRINT "TIPO FILE => "FT$(FT) 1210 PRINT : INVERSE : PRINT "<CTRL>S";: NORMAL : PRINT " PER PROCEDERE ";: INVERSE : PRINT "ESC";: NORMAL : PRINT " PER ANNULLARE" 1220 PRINT : PRINT "VERIFICA PER PROCEDERE =>";: 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 " STO INIZIALIZZANDO IL DISCO ": 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 "L'IMPRESA E' COMPIUTA!" 1340 PRINT : PRINT "FAI REBOOT DEL DISCO PROGRAMMA" 1350 END 1360 TEXT : HOME : VTAB 12 1370 PRINT "PER SALVARE TUTTE LE MODIFICHE": PRINT "INIZIALIZZA UN NUOVO DISCO O RIESEGUI": PRINT "'DOS DESIGNER' E SCEGLI L'OPZIONE 7." 1380 END 1390 DATA COMANDI DOS,MESSAGGI ERRORE DOS,TESTO VOLUME DISCO 1400 DATA CARATTERE TIPO FILE,AGGIUNTA NUM. SERIE,PROGR. NON LISTABILI,RILOCA VTOC E INIT,ESCE