home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib34a.dsk / JULY.1988 / CONFIG.NM.bas next >
BASIC Source File  |  2023-02-26  |  4KB  |  75 lines

  1. 10  REM  *************************
  2. 20  REM  * CONFIG.NM             *
  3. 30  REM  * BY JOHN J, GWYNN      *
  4. 40  REM  * COPYRIGHT(C) 1988     *
  5. 50  REM  * MICROSPARC, INC.      *
  6. 60  REM  * CONCORD, MA  01742    *
  7. 70  REM  *************************
  8. 80  ONERR  GOTO 700
  9. 90  REM  ---RELOCATE ROUTINE--------
  10. 100  IF  PEEK(104) < >32  THEN  POKE 104,32: POKE 8192,0: PRINT  CHR$(4)"RUN CONFIG.NM"
  11. 110  PRINT  CHR$(4)"BLOAD NEWSMAKER"
  12. 120  REM ---MAIN MENU---------------
  13. 130  HOME : TEXT : PRINT  CHR$(21): REM  40 COLUMN TEXT
  14. 140  VTAB 2: HTAB 17: PRINT "NEWSMAKER": PRINT 
  15. 150  HTAB 12: PRINT "INSTALLATION PROGRAM"
  16. 160  PRINT : PRINT : HTAB 19: PRINT "MENU   "
  17. 170  PRINT : PRINT : HTAB 8: PRINT " M)odify NewsMaker parameters": PRINT 
  18. 180  HTAB 8: PRINT " S)ave existing setup": PRINT 
  19. 190  HTAB 8: PRINT " R)un NewsMaker": PRINT : HTAB 8: PRINT " Q)uit";:
  20. 200  VTAB 22: HTAB 5: CALL  -868: PRINT "SELECT =>";: GET A$: PRINT A$;
  21. 210  IF A$ = "M"  OR A$ = "m"  THEN  GOSUB 260: GOSUB 280: GOTO 360
  22. 220  IF A$ = "S"  OR A$ = "s"  THEN 590
  23. 230  IF A$ = "R"  OR A$ = "r"  THEN 610
  24. 240  IF A$ = "Q"  OR A$ = "q"  THEN  HOME : VTAB 23: END 
  25. 250  GOTO 200
  26. 260 LFT =  PEEK(2054):C2 =  PEEK(2055):MAX =  PEEK(2056) -1:NL$ =  CHR$( PEEK(3370) +128): RETURN 
  27. 270  REM  ----DISPLAY PARMS---------
  28. 280  HOME : PRINT "CURRENT SETUP"
  29. 290  PRINT "--------------------"
  30. 300  PRINT "LEFT MARGIN = ";LFT
  31. 310  PRINT "START OF SECOND COLUMN IS ";C2
  32. 320  PRINT "MAXIMUM CHARACTERS PER COLUMN IS ";MAX
  33. 330  PRINT "CURRENT DELIMETER IS ";NL$
  34. 340  RETURN 
  35. 350  REM ---GET NEW PARMS----------
  36. 360 R$ = "<0-15>": GOSUB 620: VTAB 10: HTAB 1: CALL  -868: PRINT "ENTER LEFT MARGIN <";LFT"> ";: INPUT A$: IF A$ = ""  THEN 400
  37. 370  IF A$ = "0"  THEN LFT = 0: GOTO 400: REM  SEPARATE TEST FOR ZERO
  38. 380 TST =  VAL(A$): IF TST <1  OR TST >15  THEN  GOSUB 660: GOTO 360
  39. 390 LFT = TST
  40. 400  GOSUB 280
  41. 410 R$ = "<30-60>": GOSUB 620: VTAB 10: HTAB 1: CALL  -868: PRINT "ENTER START OF COLUMN 2 <";C2;"> ";: INPUT A$: IF A$ = ""  THEN 440
  42. 420 TST =  VAL(A$): IF TST <30  OR TST >60  THEN  GOSUB 660: GOTO 410
  43. 430 C2 = TST
  44. 440  GOSUB 280:Q1 = 79 -C2:Q2 = C2 -1 -LFT:Q3 = Q1 *(Q1 < = Q2) +Q2 *(Q2 <Q1): IF Q3 <MAX  THEN MAX = Q3: GOSUB 280
  45. 450 R$ = "<10-" + STR$(Q3) +">": GOSUB 620: VTAB 10: HTAB 1: CALL  -868: PRINT "ENTER MAXIMUM CHARS PER LINE <";MAX;"> ";: INPUT A$: IF A$ = ""  THEN 480
  46. 460 TST =  VAL(A$): IF TST <10  OR TST >Q3  THEN  GOSUB 660: GOTO 450
  47. 470 MAX = TST
  48. 480  GOSUB 280: GOSUB 640
  49. 490  VTAB 10: HTAB 1: CALL  -868: PRINT "CHANGE DELIMETER <N> ";: INPUT A$
  50. 500  IF A$ = "Y"  OR A$ = "y"  THEN 550
  51. 510  REM 
  52. 520  REM ----POKE NEW VALUES--------
  53. 530  POKE 2054,LFT: POKE 2055,C2: POKE 2056,MAX +1: GOSUB 680: GOTO 130
  54. 540  REM  GET NEW DELIMITER
  55. 550  GOSUB 640: VTAB 10: HTAB 1: CALL  -868: PRINT "ENTER NEW DELIMETER ";: INPUT A$
  56. 560 NL$ =  LEFT$(A$,1)
  57. 570  POKE 3370, ASC(NL$): GOSUB 280: GOSUB 680: GOTO 530
  58. 580  REM ---SAVE NEW SETUP----------
  59. 590  HOME : PRINT : PRINT "SAVING NEWSMAKER...": PRINT  CHR$(4)"BSAVE NEWSMAKER,A$803,L$73B": GOSUB 680
  60. 600  GOTO 130
  61. 610  CALL 2051: REM  ENTER PROCOLUMN
  62. 620  VTAB 22: HTAB 1: CALL  -868: PRINT "RANGE IS ";R$;" <RETURN> FOR DEFAULT."
  63. 630  RETURN 
  64. 640  VTAB 22: HTAB 1: CALL  -868: PRINT "DELIMITER IS ";NL$;" <RETURN> FOR DEFAULT."
  65. 650  RETURN 
  66. 660  HOME : GOSUB 280: VTAB 10: HTAB 1: PRINT "PLEASE USE THE SPECIFIED RANGE...": PRINT  CHR$(7): GOSUB 680
  67. 670  RETURN 
  68. 680  VTAB 22: HTAB 1: CALL  -868: PRINT "PRESS <RETURN> TO CONTINUE...";: POKE  -16368,0: GET C$
  69. 690  RETURN 
  70. 700  HOME : PRINT  CHR$(21):EL =  PEEK(219) *256 + PEEK(218)
  71. 710  IF EL = 110  THEN  VTAB 22: HTAB 1: PRINT "INSERT DISK WITH NEWSMAKER ";: VTAB 23: HTAB 1: PRINT "AND PRESS RETURN";: POKE  -16368,0: GET C$
  72. 720  IF EL = 110  THEN 110
  73. 730  IF EL = 590  THEN  VTAB 22: HTAB 1: PRINT "ERROR SAVING NEWSMAKER";: VTAB 23: HTAB 1: PRINT "CHECK YOUR DISK DRIVES AND PRESS RETURN";: POKE  -16368,0: GET C$
  74. 740  IF EL = 590  THEN 590
  75. 750  PRINT  CHR$(7): HOME : VTAB 22: PRINT : PRINT "UNKNOWN ERROR IN LINE ";EL: END