home *** CD-ROM | disk | FTP | other *** search
/ AppleDisk Magazine Miscellaneous Programs / AppleDisk_Misc_Programs_1.dsk / DOS.DESIGNER.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-01  |  6.9 KB  |  140 lines

  1. 10  REM  **********************
  2. 20  REM  *    DOS.DESIGNER    *
  3. 30  REM  * DI JAMES PATRIDGE  *
  4. 40  REM  * COPYRIGHT (C) 1989 *
  5. 50  REM  * BY GRUPPO EDIT.JCE *
  6. 60  REM  * & MICROSPARC, INC  *
  7. 70  REM  **********************
  8. 80  CLEAR : TEXT : HOME 
  9. 90 NP = 8:D$ =  CHR$(4)
  10. 100  INVERSE 
  11. 110  FOR I = 0 TO 39: PRINT "%";: NEXT I
  12. 120  FOR I = 0 TO 20: PRINT "%" SPC( 12)"%": NEXT I
  13. 130  FOR I = 0 TO 39: PRINT "%";: NEXT I
  14. 140  HTAB 6: VTAB 4: PRINT "DOS"
  15. 150  HTAB 4: PRINT "DESIGNER": PRINT : PRINT : PRINT "%%%%%%%%%%%%%": REM  13 %'S
  16. 160  PRINT : HTAB 6: PRINT "DI": HTAB 3: PRINT "J.PATRIDGE": PRINT : PRINT "%%%%%%%%%%%%%": REM  13 CARATTERI %
  17. 170  PRINT : PRINT : HTAB 3: PRINT "COPYRIGHT": HTAB 5: PRINT "1989": HTAB 6: PRINT "BY"
  18. 180  HTAB 3: PRINT "GR.EDIT.JCE": HTAB 7: PRINT "&": HTAB 3: PRINT "MICROSPARC": HTAB 6: PRINT "INC.": PRINT 
  19. 190  FOR I = 2 TO 22: VTAB I: HTAB 40: PRINT "%": NEXT I
  20. 200  POKE 32,15: POKE 33,24: POKE 34,1: POKE 35,21
  21. 210  HOME : NORMAL : PRINT : PRINT "< MENU' PRINCIPALE >"
  22. 220  PRINT 
  23. 230  FOR I = 1 TO NP: READ A$: PRINT I") "A$: NEXT I
  24. 240  PRINT 
  25. 250  VTAB 14: CALL  -958: INPUT "SCELTA => ";A$:A =  VAL(A$): IF A <1  OR A >8  THEN 250
  26. 260  IF A <4  THEN  PRINT : INVERSE : PRINT "ATTENDI": NORMAL : ONERR  GOTO 310
  27. 270  ON A GOSUB 280,290,300,360,730,890,920,1360: RESTORE : GOTO 210
  28. 280  PRINT D$;"RUN COMMAND.CHANGER"
  29. 290  PRINT D$;"RUN ERROR.MESSAGES"
  30. 300  PRINT D$;"RUN DISK.VOLUME"
  31. 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
  32. 320  PRINT : PRINT "ERRORE N."; PEEK(222): PRINT "PREMI UN TASTO: PRINT "PER CONT INUARE": WAIT  - 16384,128: POKE  - 16368,0: GOTO 250
  33. 330  REM  :
  34. 340  REM  : ROUTINE DEL TIPO DI FILE
  35. 350  REM  :
  36. 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"
  37. 370 NN$ = "TIAB *"
  38. 380  HOME : VTAB 3
  39. 390  FOR I = 1 TO 6: PRINT  MID$ (NN$,I,1)"= "A$(I): NEXT I
  40. 400  PRINT : PRINT "IMMETTI NUOVI CARATTERI:"
  41. 410  FOR I = 1 TO 6
  42. 420  VTAB 12: CALL  -958: PRINT A$(I)"=> ";: INPUT " ";C$
  43. 430  IF  LEN(C$) >1  THEN  PRINT "LIMITE DI UN CARATTERE !": CALL  -1052: FOR J = 1 TO 2000: NEXT J: GOTO 420
  44. 440  IF C$ = ""  THEN C$ =  MID$ (NN$,I,1)
  45. 450 M$ = M$ +C$: NEXT I
  46. 460  HOME : VTAB 3: FOR I = 1 TO 6: PRINT  MID$ (M$,I,1)" = "A$(I): NEXT I
  47. 470  PRINT : INPUT "CORREGGI (SI'/NO) => ";AN$
  48. 480  IF  LEFT$(AN$,1) < >"N"  THEN M$ = "": GOTO 380
  49. 490  FOR I = 1 TO 6
  50. 500  VTAB 2 +I: HTAB 20: CALL  -868: FLASH : PRINT "<=": NORMAL 
  51. 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$
  52. 520  IF N$ = "N"  THEN X = 128: GOTO 560
  53. 530  IF N$ = "F"  THEN X = 0: GOTO 560
  54. 540  IF N$ = "I"  THEN X =  -64: GOTO 560
  55. 550  GOTO 510
  56. 560 BV = ( ASC( MID$ (M$,I,1)))
  57. 570  IF BV <27  AND X = 128  THEN  GOTO 630
  58. 580  IF BV <27  AND X = 0  THEN BV = BV +128
  59. 590  IF BV <27  AND X =  -64  THEN BV = BV +192
  60. 600  IF BV <64  THEN BV = BV +64
  61. 610  IF I = 5  THEN  GOTO 640
  62. 620  IF I = 6  THEN  GOTO 650
  63. 630  POKE 45990 +I,BV +X
  64. 640  POKE 44508,BV +X
  65. 650  POKE 44515,BV +X
  66. 660  VTAB 2 +I: HTAB 20: CALL  -868
  67. 670  NEXT I
  68. 680  VTAB 17: HTAB 1: CALL  -958: PRINT "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 
  69. 690  REM  :
  70. 700  REM  : NUMERO DI SERIE
  71. 710  REM  : ROUTINE
  72. 720  REM  :
  73. 730  HOME : PRINT : PRINT "< NUMERO DI SERIE DOS >"
  74. 740  PRINT : PRINT "PUOI CODIFICARE UN"
  75. 750  PRINT "NUMERO DI SERIE DI": PRINT "SEI CIFRE NELLA"
  76. 760  PRINT "IMMAGINE DEL DOS."
  77. 770  PRINT : PRINT 
  78. 780  INPUT "IMMETTI NUMERO =>";SN$
  79. 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
  80. 800  FOR I = 1 TO  LEN(SN$)
  81. 810 X$ =  MID$ (SN$,I,1)
  82. 820  POKE 46988 +I, ASC(X$)
  83. 830  NEXT I
  84. 840  VTAB 17: HTAB 1: CALL  -958: PRINT "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 
  85. 850  REM  :
  86. 860  REM  : ROUTINE DI
  87. 870  REM  : PROGRAMMA NON LISTABILE
  88. 880  REM  :
  89. 890  POKE 42210,76: POKE 42211,223: POKE 42212,188
  90. 900  POKE 48351,169: POKE 48352,255: POKE 48353,133: POKE 48354,214: POKE 48355,108: POKE 48356,88: POKE 48357,157
  91. 910  VTAB 17: HTAB 1: CALL  -958: PRINT "L'IMPRESA E' COMPIUTA !": FOR I = 1 TO 2000: NEXT I: RESTORE : RETURN 
  92. 920  REM  :
  93. 930  REM  : RILOCA LA VTOC E 
  94. 940  REM  : LA DIRECTORY 
  95. 950  REM  :
  96. 960  TEXT : HOME 
  97. 970 FT$(1) = "APPLESOFT":FT$(2) = "INTEGER":FT$(3) = "BINARIO":FT$(4) = "TESTO"
  98. 980 D1$ = "<< RILOCA VTOC E INIZIALIZZA DISCO >>"
  99. 990  VTAB 2: HTAB 2: PRINT "<< RILOCA VTOC E INIZIALIZZA DISCO >>"
  100. 1000  PRINT : FOR I = 1 TO 40: PRINT "=";: NEXT I: PRINT 
  101. 1010  INPUT "TRACCIA VTOC N. (3-35) DECIMALE => ";TK$: PRINT 
  102. 1020 TK =  VAL(TK$)
  103. 1030  IF TK <3  OR TK >35  THEN  GOTO 960
  104. 1040  INPUT "NOME PROGRAMMA SALUTO => ";N$: CALL  -958
  105. 1050  IF N$ = ""  THEN  CALL  -1052: PRINT "NOME DI FILE ILLEGALE !": FOR I = 1 TO 1000: NEXT I: VTAB 8: CALL  -958: GOTO 1040
  106. 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
  107. 1070  PRINT : PRINT "TIPO DI FILE DEL PROGRAMMA DI SALUTO"
  108. 1080  PRINT "1- APPLESOFT": PRINT "2- INTEGER": PRINT "3- BINARIO": PRINT "4- TESTO": PRINT : INPUT "SCELTA => ";FT$
  109. 1090 FT =  VAL(FT$)
  110. 1100  IF FT <1  OR FT >4  THEN  VTAB 9: CALL  -1052: CALL  -958: GOTO 1070
  111. 1110  IF FT = 3  THEN  POKE 40514,52
  112. 1120  IF FT = 4  THEN  POKE 40514,20
  113. 1130  PRINT 
  114. 1140  INPUT "INSERISCI IL DISCO DI DESTINAZIONE =>";A$
  115. 1150  CALL  -1052: VTAB 6: CALL  -958
  116. 1160  FLASH : PRINT "ATTENZIONE:": NORMAL : PRINT : PRINT : PRINT : PRINT "L'OPERAZIONE DISTRUGGE TUTTI I DATI SUL DISCO DI DESTINAZIONE": PRINT 
  117. 1170  PRINT "ATTUALI PARAMETERI: ": PRINT 
  118. 1180  PRINT "N. TRACCIA VTOC => "TK
  119. 1190  PRINT "NOME PROGRAMMA DI SALUTO => "N$
  120. 1200  PRINT "TIPO FILE => "FT$(FT)
  121. 1210  PRINT : INVERSE : PRINT "<CTRL>S";: NORMAL : PRINT " PER PROCEDERE ";: INVERSE : PRINT "ESC";: NORMAL : PRINT " PER ANNULLARE"
  122. 1220  PRINT : PRINT "VERIFICA PER PROCEDERE =>";: GET A$
  123. 1230  IF A$ =  CHR$(27)  THEN  GOTO 100
  124. 1240  IF A$ < > CHR$(19)  THEN  GOTO 920
  125. 1250  PRINT 
  126. 1260  VTAB 10: CALL  -958: HTAB 10: INVERSE : PRINT " STO INIZIALIZZANDO IL DISCO ": NORMAL 
  127. 1270 TT = (TK *4)
  128. 1280  IF TK = 35  THEN  POKE 44725,144
  129. 1290  POKE 44741,TT: POKE 44745,TT +4
  130. 1300  POKE 44033,TK: POKE 46012,TK: POKE 48894,36: POKE 44764,TK: POKE 46063,36
  131. 1310  PRINT D$;"INIT"N$
  132. 1320  HOME : VTAB 8
  133. 1330  PRINT "L'IMPRESA E' COMPIUTA!"
  134. 1340  PRINT : PRINT "FAI REBOOT DEL DISCO PROGRAMMA"
  135. 1350  END 
  136. 1360  TEXT : HOME : VTAB 12
  137. 1370  PRINT "PER SALVARE TUTTE LE MODIFICHE": PRINT "INIZIALIZZA UN NUOVO DISCO O RIESEGUI": PRINT "'DOS DESIGNER' E SCEGLI L'OPZIONE 7."
  138. 1380  END 
  139. 1390  DATA   COMANDI DOS,MESSAGGI ERRORE DOS,TESTO VOLUME DISCO
  140. 1400  DATA     CARATTERE TIPO FILE,AGGIUNTA NUM. SERIE,PROGR. NON LISTABILI,RILOCA VTOC E INIT,ESCE