home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 21
/
021.d81
/
presenter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
10KB
|
323 lines
0 rem sidirq presenter 12/28/84
1 iflf=0thenprint"[147][210]eading the [212]able of [195]ontents..."
2 iflf=0thenlf=1:load"romusic",8,1
3 ifpeek(49153)=11thenifpeek(49154)=192then5
4 load"sidirq v3",8,1
5 ifpeek(51201)<>12orpeek(51202)<>200orpeek(52222)<>5then7
6 goto8
7 load"routines v4",8,1
8 ifpeek(928)=128then10
9 load"menu.sprites",8,1
10 poke49161,0:poke49162,160:old$="":goto6000
1000 poke646,c%(2):print"[147]"tl$:pokev+33,c%(1):poke1021,17:lp=1:poke646,c%(4)
1002 poke53280,c%(0)
1010 printwt$;:fori=2to17:print"[221]"spc(38)"[221]";:next:printwb$;:poke646,c%(3)
1020 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]";
1025 print"[221]f1[146][208]age [194]ack [221] [221][202]oystick[146] scrolls[221]";
1030 print"[221]f3[146][211]croll [194]ack[221][208][146]rinter[221] ([208]ort 2) [221]";
1035 print"[221]f5[146][211]croll [198]wd.[221]"mu$" [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
1040 print"[221]f7[146][208]age [198]wd. [221][216][146]=[197]xit [221]"spc((16-len(mo$))/2)mo$tab(39)"[221]";
1045 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1050 fori=217to242:pokei,peek(i)or128:next:poke646,c%(5):sys51203
1055 poke2023,125:poke56295,c%(3):return
1100 poke783,peek(783)and254:poke781,y%:poke782,x%:sys65520:return
1200 input#15,er%,er$,et%,es%
1205 if(er%>19ander%<30)orer%=66orer%=67orer%=71orer%=73then1250
1210 return
1250 print"[147][212]here has been a disk error."
1251 print
1252 print"[208]ress <space> to continue.":pokeb,0
1253 getk$:if k$=""then 1253
1261 run
1270 :
1280 remwiggle & bonk
1282 fori=27to31step+1:waitr,128:poker,i:next
1284 fori=31to24step-1:waitr,128:poker,i:next
1286 fori=24to27step+1:waitr,128:poker,i:next
1288 :
1290 ifpeek(788)<>49then1296
1291 pokes+4,0:pokes+11,0:pokes+18,0:pokes+5,8:pokes+6,0:pokes+24,15
1292 pokes+4,20:pokes,rnd(0)*256:pokes+1,rnd(0)*256:pokes+14,rnd(0)*256
1294 pokes+15,30:pokes+4,21
1295 :
1296 return
1300 remold bonk
1400 remnow goto
1450 rem1280
1455 :
1500 iff$=old$thenreturn
1501 old$=f$
1502 open8,8,8,f$:gosub1200:ifer%=62thenreturn
1505 print"[158] [210]eading: "m$(mp,0)
1510 ll=1:poke781,8:sys65478
1515 sysli,b$:t$(ll)=left$(b$,38):ifst=.thenll=ll+1:goto1515
1520 sys65484:close8:gosub1200:fori=ll+1toll+20:t$(i)="":next:return
2000 getk$:j%=notpeek(j)and31:ifk$=""andj%=.then2000
2001 pokeb,0
2005 ifk$="\"then60000:rem run a program
2010 ifk$="[145]"ork$=""ork$="[134]"orj%=1thengosub2100:goto2000
2015 ifk$=""ork$="[157]"ork$="[135]"orj%=2thengosub2200:goto2000
2020 ifk$="[133]"then2300
2025 ifk$="[136]"then2400
2030 ifk$="p"ork$="[208]"ork$="[175]"ork$=""then50000
2040 ifk$="m"ork$="[205]"ork$="[167]"thenmu%=-1:gosub2705:sys49152:mu$="[209][146]uiet":goto2800
2045 ifk$="q"ork$="[209]"ork$="[171]"thenmu%=0:gosub2705:mu$="[205][146]usic":goto2800
2050 if(k$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" ")andm$(mp,2)="rq"then5000
2051 :
2052 ifk$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" "thengosub9000:gosub5500
2053 ifk$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" "thengoto5900
2054 :
2055 goto2000
2100 iflp=1then1280
2105 lp=lp-1:sys51209:x%=1:y%=2:gosub1100
2106 ifleft$(t$(lp),4)="\oad"thenprint"":goto2110
2107 printt$(lp)
2110 return
2200 iflp+16>llthen1280
2205 lp=lp+1:sys51206:x%=1:y%=17:gosub1100
2206 ifleft$(t$(lp+15),4)="\oad"thenprint"":goto2210
2207 printt$(lp+15)
2210 return
2300 fori=1to15:gosub2100:next:goto2000
2400 fori=1to15:gosub2200:next:goto2000
2500 :
2700 ifpeek(788)=49thenpokes+24,15:sys49158:poke56325,59
2702 return
2705 ifpeek(788)=49then2715
2710 sys49155:pokes+4,0:pokes+11,0:pokes+18,0:pokes+5,8:pokes+6,0:pokes+24,15
2715 return
2800 x%=15:y%=22:gosub1100:poke646,c%(3):printmu$:poke646,c%(5):goto2000
2900 x%=0:y%=2:gosub1100:sys51200:fori=lptolp+15
2902 ifleft$(t$(i),4)="\oad"thenprint"":goto2904
2903 print""t$(i)
2904 next:pokeb,0
2906 return
5000 gosub9000:remscreen
5047 gosub5500:rem menu
5048 :
5049 :
5050 ifmp=1thenifm$(1,1)="*"thena$="":goto5053
5051 formy=55708to55708+25:pokemy,7:next
5052 pokev+21,val(m$(mp,3)):geta$:j%=notpeek(j)and31:ifj%=.anda$=""then5051
5053 pokeb,0
5055 ifa$="[145]"ora$=""ora$="[134]"ora$="[138]"orj%=1thengosub5100
5060 kf=0:ifa$=""ora$="[157]"ora$="[135]"ora$="[139]"orj%=2thengosub5200
5065 ifa$="[133]"ora$="[137]"thenmp=1:gosub5520
5070 ifa$="[136]"ora$="[140]"thenmp=ml:gosub5500
5075 ifj%=16ora$=" "ora$=chr$(13)thengosub63300:goto5900
5080 ifa$="x"ora$="[216]"ora$="[189]"thenpokev+21,.:goto5600
5090 goto5050
5100 ifmp=1thengosub1280:goto5160
5105 sys51209:sys51209:mp=mp-1
5110 ifmp<5then5150
5114 x%=12:y%=2:gosub1100:po$=m$(mp-4,.)
5115 ifleft$(po$,1)="*"thenprintmid$(po$,2);:goto5150
5116 print"[129]"m$(mp-4,.);
5150 ifleft$(m$(mp,1),1)="*"then5100
5160 return
5175 :
5200 ifmp=mlthengosub1280:goto5260
5205 sys51206:sys51206:mp=mp+1
5210 ifmp>ml-4then5250
5214 x%=12:y%=18:gosub1100:po$=m$(mp+4,.)
5215 ifleft$(po$,1)="*"thenprintmid$(po$,2);:goto5250
5216 print"[129]"m$(mp+4,.);
5250 ifleft$(m$(mp,1),1)="*"then5200
5260 return
5275 :
5300 :
5400 :
5500 sys51200:print"[129]";:ifmp<5then5520
5505 fori=mp-4tomp+4
5507 ifleft$(m$(i,.),1)="*"thenprinttab(12)mid$(m$(i,0),2)"":goto5515
5510 printtab(12)"[129]"m$(i,.)"":
5515 next:return
5517 :
5520 sys51200:print"[129]";:fori=mpto4:print"";:next:fori=1tomp+4
5522 ifleft$(m$(i,.),1)="*"thenprinttab(12)mid$(m$(i,0),2)"":goto5530
5525 printtab(12)m$(i,.)"":
5530 next:return
5600 rem exit
5605 gosub63002:gosub63000
5607 goto63400
5608 end
5620 :
5630 :
5900 pop=0:gosub7000:ifpop=1then5000
5902 f$="t."+m$(mp,1):tl$=m$(mp,.)
5903 pop=0:gosub63100:ifpop=1then5000
5904 gosub1500:ifer%=62thenclose8:goto5000
5905 :
5906 pokev+21,0
5907 poke1020,2:poke1021,18:poke1022,1:poke1023,38:sys51200:print"[129]";:sys51203
5910 pokes+4,.:pokes+11,.:pokes+18,.
5915 ifmu%andpeek(788)=49thensys49152:poke56325,80:mu%=-1:pokes+24,15
5999 gosub1000:gosub2900:goto2000
6000 v=53248:r=v+17:c=128:s=v+1024:j=56320:lp=1:li=52016:mu%=-1:sys52176:b=198
6002 pokes+5,96:pokes+6,246
6005 open15,8,15:dimt$(600),m$(60,3),c(4):fori=1to4:readc(i):next:mu$="[209][146]uiet
6006 [131]2,5,6,7
6010 [151]1020,2:[151]1021,17:[151]1022,1:[151]1023,38:[151]49665,4
6012 [153]:[151]s[170]23,.:[151]s[170]4,128
6014 wl$[178]"tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan":wt$[178]"or"[170]wl$[170]"^":wb$[178]"/"[170]wl$[170]"exp
6015 d1$=left$(wt$,27)+right$(wt$,1):d2$=left$(wb$,27)+right$(wb$,1)
6016 bo$="[158][221] [221][146]"
6017 q1$="[158] "
6018 q2$="[158] "
6020 m$="features11":open8,8,8,m$:gosub1200:ml=1:
6022 :
6025 input#8,mt$,mo$,mn$
6030 fori=.to3:poke781,8:sys65478:sysli,b$:m$(ml,i)=b$+""
6032 ifstthengosub1200:ifer%=.andst>63then6037
6033 next
6035 ml=ml+1:goto6030
6037 close8:p$="p"+chr$(8)+chr$(1)+chr$(0)+chr$(1):print#15,"i0":dimc%(5)
6038 open8,8,8,"color.file":get#8,a$,b$:fori=0to5:input#8,c%(i):next:close8
6039 open8,8,8,"print.file":print#15,p$:input#8,pa:input#8,sa:close8
6040 sys65484:pokes+4,.:pokes+23,.:pokes+5,9:pokes+6,.
6042 mp=peek(597):ifmp>mlormp<1thenmp=1
6044 goto5000
6050 :
6060 :
7000 remsub menus 111885
7002 rem120485
7005 poke53281,0:poke53280,6:sys51200:pokev+21,val(m$(mp,3)):gosub2705
7006 poke1020,6:poke1021,14:poke1022,12:poke1023,37
7007 sys51200:print"";:sys51203
7010 bl=len(m$(mp,2)):sq$=m$(mp,2)
7020 c=0
7030 print" ";
7031 print"[159]"wt$"[221] [195][210][211][210][146] keys or [202]oystick[146] to scroll menu [221]";
7032 print"[221] [211][208][193][195][197]-[194][193][210][146], [210]eturn[146], or [194]utton[146] [211]elects [221]";
7033 printleft$(wb$,39);:pok