home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1995 January / 1995-01a.d64 / menu.prog (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  103 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=9: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 january 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 text scroll,text scroll.doc,text scroll,1,2
  79. 710 data drive error, drive error.doc,drive error demo,1,2
  80. 720 data lodraw 2 (part 1),lodraw2.doc1,lodraw2,1,2
  81. 725 data lodraw 2 (part 2), lodraw2.doc2,lodraw2,1,2
  82. 730 data the value of money,value.doc,value of money,1,2
  83. 740 data life, pd.doc,life inst,1,2
  84. 750 data whatzit,pd.doc,whatzit,1,2
  85. 770 data disk checker, pd.doc, disk checker,1,2
  86. 780 data disk display, pd.doc, disk display,1,2
  87. 850 poke53265,27:print"[146]";
  88. 851 ff$="make sure you have side"+str$(pp)+" ready"
  89. 852 printtab((40-len(ff$))/2)ff$
  90. 853 ff$="and press any key"
  91. 854 printtab((40-len(ff$))/2)ff$
  92. 855 get x$:if x$="" then 855
  93. 860 ff$="loading "+chr$(34)+d$+chr$(34)
  94. 870 printtab((40-len(ff$))/2)ff$
  95. 880 print"            please stand by[155]"
  96. 886 if left$(t$(c),3)="sup"then poke53281,3:poke53280,3
  97. 887 return
  98. 900 tt=176+8
  99. 910 if (cp+1)*8 > (n+1) then tt=176+n+1-cp*8
  100. 920 return
  101. 950 print"[147]":poke53265,27:sys65409:poke56,160:poke55,0:clr
  102. 960 load"mn",8
  103.