home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1995 February / 1995-02a.d64 / menu.prog (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  4KB  |  105 lines

  1. 10 ifa=0thena=1:load"text reader",8,1
  2. 30 rem poke56,56:poke55,0:clr
  3. 40 f=49153:fl=49170:fori=820to1023:pokei,0:next
  4. 50 n=8:n=n-1:dimt$(n),a$(n),p$(n),as(n),ps(n)
  5. 60 fori=0ton:readt$(i),a$(i),p$(i),as(i),ps(i):next
  6. 70 sp$="                                      "
  7. 80 a$="gazette's february programs":cx=20-len(a$)/2
  8. 90 z$="":a$=left$(sp$,cx)+a$+sp$:fori=1to40
  9. 100 z$=z$+chr$(asc(mid$(a$,i))+128):next
  10. 110 np=int(n/8):cp=0:tt=183
  11. 120 poke53280,15:poke53281,15
  12. 130 poke53282,8:poke53283,1:poke53284,6
  13. 140 gosub610:rem opening advisory
  14. 150 print"[147]":poke53280,15:poke53281,15:poke53265,peek(53265)or64
  15. 160 printchr$(142)"[147][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]";
  16. 170 print""z$;
  17. 180 print"[160][160][168][195][169][160][177][185][185][181][160][195][207][205][208][213][212][197][160][208][213][194][204][174][160][201][206][212][167][204][172][160][204][212][196][174][160][160]";
  18. 190 print"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][145]"
  19. 200 print"[146][144]----------------------------------------";
  20. 210 s=cp*8:e=cp*8+7:ife>nthene=n
  21. 220 fori=stoe:print"[160]";chr$(177+i-cp*8);"[160][151]";t$(i);
  22. 230 printleft$(sp$,36-len(t$(i)));
  23. 240 print"[146][144]----------------------------------------";:next
  24. 250 print"this is page #";cp+1;"of";np+1
  25. 260 rem print"press [210][197][212][213][210][206][146] for next page[145][145]"
  26. 265 gosub 900
  27. 266 :
  28. 270 print"[145][145][160][208][210][197][211][211][160][177][173]"chr$(tt);
  29. 280 print"[160][212][207][160][204][207][193][196][160][193][160][208][210][207][199][210][193][205][160][207][210][160][193][210][212][201][195][204][197][160]";
  30. 290 print"[160][160][160][160][160][160][208][210][197][211][211][160][216][160][212][207][160][197][216][201][212][160][212][207][160][205][193][201][206][160][205][197][206][213][160][160][160][160][160][160]";
  31. 300 geta$:ifa$<>chr$(13)and(a$<"1"ora$>"8"anda$<>"x")then300
  32. 310 ifa$="x"then 950
  33. 320 ifa$=chr$(13)thencp=cp+1:ifcp>npthencp=0
  34. 330 ifa$=chr$(13)then150
  35. 340 fv=(asc(a$)-48):fv=fv+7*(fv>8)
  36. 350 c=fv+cp*8-1
  37. 360 ifc>nthen300
  38. 365 if a$(c)="xx" goto 550
  39. 366 if p$(c)="xx" goto 580
  40. 370 print"[147]":poke53265,27:ifcp=1 and c=11 then 580
  41. 380 b=0:print""tab(11)"article[146] or program"
  42. 390 printtab(8)"[145][145][145][145][145]press any key to switch,"
  43. 400 printtab(10)"or return[146] to select."
  44. 410 geta$:ifa$=""then410
  45. 420 ifa$=chr$(13)then460
  46. 430 ifb=0thenar$="article or program[146]":b=1:goto450
  47. 440 ar$="article[146] or program":b=0
  48. 450 print""tab(11)ar$:goto410
  49. 460 ifb=0then580
  50. 470 goto550:rem  ifc<>3then550
  51. 480 b=0:c=1
  52. 490 cx=21-len(q$(c))/2:b$=left$(sp$,cx)+q$(c)
  53. 500 print""b$
  54. 510 geta$:ifa$=""then510
  55. 520 ifa$=chr$(13)thenp$(c)=r$(c):goto550
  56. 530 ifb=0thenc=c+1:b=1:goto490
  57. 540 c=c-1:b=0:goto490
  58. 550 print"[147][146][155]load[146]";chr$(34);p$(c);chr$(34);",8":print"run"
  59. 560 d$=p$(c):pp=ps(c):gosub850
  60. 570 poke631,13:poke632,13:poke631,13:poke198,2:end
  61. 580 fori=1tolen(a$(c)):pokei+f,asc(mid$(a$(c),i,1)):next
  62. 590 pokefl,len(a$(c))+2:d$=t$(c)
  63. 600 print"[147]":d$=a$(c):pp=as(c):gosub850:sys49171:goto150
  64. 610 printchr$(14)"[147] [194]efore attempting to run any programs"
  65. 611 print" please refer to the instructions."
  66. 617 print" [196]ocumentation has been included on the"
  67. 618 print" disk, along with a text reader. [215]hen a"
  68. 619 print" program is selected from the menu,"
  69. 620 print" you are given the option of reading"
  70. 621 print" the article or running the program."
  71. 622 print" [213]se the cursor keys to make your"
  72. 623 print" selection, then hit [210]eturn. [207]nce"
  73. 624 print" you run a program, however, you must"
  74. 625 print" reload the menu."
  75. 650 print"      [208][210][197][211][211] [193][206][217] [203][197][217] [198][207][210] [212][200][197] [205][197][206][213]"
  76. 670 getmt$:ifmt$=""then670
  77. 680 return
  78. 700 data satellite tracker,sattrack.doc,sattrack.64,1,2
  79. 710 data display maker,displaymaker.doc,boot,1,2
  80. 720 data map maker,mapmaker.doc,mapmaker,1,2
  81. 725 data screen saver,screensaver.doc,64saver,1,1
  82. 735 data mailing list, mailing list.doc,mailing list,1,2
  83. 740 data hurricane,hurricane.doc,hurricane,1,2
  84. 770 data cosmos design, pd.doc, cosmos designs,1,2
  85. 780 data warriors, pd.doc, warriors inst,1,2
  86. 850 poke53265,27:print"[146]";:if left$(d$,3)="64s"thengosub1000
  87. 851 ff$="make sure you have side"+str$(pp)+" ready"
  88. 852 printtab((40-len(ff$))/2)ff$
  89. 853 ff$="and press any key"
  90. 854 printtab((40-len(ff$))/2)ff$
  91. 855 get x$:if x$="" then 855
  92. 860 ff$="loading "+chr$(34)+d$+chr$(34)
  93. 870 printtab((40-len(ff$))/2)ff$
  94. 880 print"            please stand by[155]"
  95. 886 rem if left$(d$,3)="64s"then gosub1000
  96. 887 return
  97. 900 tt=176+8
  98. 910 if (cp+1)*8 > (n+1) then tt=176+n+1-cp*8
  99. 920 return
  100. 950 print"[147]":poke53265,27:sys65409:poke56,160:poke55,0:clr
  101. 960 load"mn",8
  102. 1000 print"[147][144]  do not run 64saver from this menu;"
  103. 1005 print"they are not compatible.
  104. 1010 [129] dd[178]1[164]2000:[130]:[138]30
  105.