home *** CD-ROM | disk | FTP | other *** search
/ Commodore Dossier / Commodore_Dossier_1_2008-05-29_WiseGuy_Industries_2015.d64 / bbs (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  17KB  |  575 lines

  1. 10 rem *** module 10 ***
  2. 20 rem userpoort openen
  3. 30 open 2,2,0,chr$(8)
  4. 40 open 15,8,15
  5. 100 rem *** module 20 ***
  6. 110 rem declaratie variabelen
  7. 120 us=56577:be=999
  8. 130 r$=chr$(10)+chr$(13):c$=chr$(147):rv$=chr$(18):up$=chr$(145):kl$=chr$(14)
  9. 140 f$=r$+"uw keuze bestaat niet - toets opnieuw"
  10. 145 l$=r$+"alleen toegankelijk voor leden"
  11. 150 t$=r$+"uw tijd is om"
  12. 160 tp$="003000":tw$="002800":tk=7200
  13. 165 rn$="                ":rc$="    ":rem 16/4 spaties
  14. 170 dimz$(24),p%(999),z%(255)
  15. 180 z$(0)=r$+r$+r$+r$+r$+r$+r$+"commodore dossier                 *"
  16. 190 dimb$(49,7):bo=-1
  17. 300 rem *** module 30 ***
  18. 310 rem conversietabel
  19. 320 for i=0to64:z%(i)=i:next:z%(20)=8
  20. 330 for i=65to94:z%(i)=i+32:next
  21. 340 for i=95to127:z%(i)=i:next
  22. 350 fori=128to255:z%(i)=i-128:next
  23. 400 rem *** module 40 ***
  24. 401 rem machinekode
  25. 402 data169,0,168,153,0,195,200,208,250,162
  26. 403 data8,32,198,255,160,0,32,183,255,41
  27. 404 data64,208,9,32,207,255,153,0,195,200
  28. 405 data208,240,32,204,255,96,162,0,142,167
  29. 406 data2,189,0,195,77,167,2,141,167,2
  30. 407 data189,0,195,32,143,192,232,224,20,208
  31. 408 data236,173,167,2,32,143,192,96,162,0
  32. 409 data142,167,2,189,0,195,77,167,2,141
  33. 410 data167,2,189,0,195,32,143,192,232,208
  34. 411 data238,173,167,2,32,143,192,96,162,8
  35. 412 data32,198,255,32,183,255,41,64,208,29
  36. 413 data32,207,255,170,32,210,255,201,13,208
  37. 414 data5,169,10,32,143,192,189,0,194,32
  38. 415 data143,192,173,1,221,41,1,208,220,32
  39. 416 data204,255,96,141,255,0,120,24,32,182
  40. 417 data192,32,202,192,160,8,110,255,0,32
  41. 418 data182,192,32,202,192,136,208,244,56,32
  42. 419 data182,192,32,202,192,88,169,40,141,5
  43. 420 data220,96,176,9,173,1,221,41,253,141
  44. 421 data1,221,96,173,1,221,9,2,141,1
  45. 422 data221,96,173,253,0,141,4,220,173,254
  46. 423 data0,141,5,220,173,14,220,9,16,141
  47. 424 data14,220,173,5,220,48,251,96,16,0
  48. 425 data0,0,0,0,0,0,0,0,0,0
  49. 426 data0,0,0,0,0,0,0,0,0,0
  50. 427 data0,0,0,0,0,0,0,1,2,3
  51. 428 data4,5,6,7,20,9,10,11,12,13
  52. 429 data14,15,16,17,18,19,20,21,22,23
  53. 430 data24,25,26,27,28,29,30,31,32,33
  54. 431 data34,35,36,37,38,39,40,41,42,43
  55. 432 data44,45,46,47,48,49,50,51,52,53
  56. 433 data54,55,56,57,58,59,60,61,62,63
  57. 434 data64,193,194,195,196,197,198,199,200,201
  58. 435 data202,203,204,205,206,207,208,209,210,211
  59. 436 data212,213,214,215,216,217,218,219,220,221
  60. 437 data222,223,64,65,66,67,68,69,70,71
  61. 438 data72,73,74,75,76,77,78,79,80,81
  62. 439 data82,83,84,85,86,87,88,89,90,91
  63. 440 data92,93,94,95,0,1,2,3,4,5
  64. 441 data6,7,20,9,10,11,12,13,14,15
  65. 442 data16,17,18,19,20,21,22,23,24,25
  66. 443 data26,27,28,29,30,31,32,33,34,35
  67. 444 data36,37,38,39,40,41,42,43,44,45
  68. 445 data46,47,48,49,50,51,52,53,54,55
  69. 446 data56,57,58,59,60,61,62,63,64,193
  70. 447 data194,195,196,197,198,199,200,201,202,203
  71. 448 data204,205,206,207,208,209,210,211,212,213
  72. 449 data214,215,216,217,218,219,220,221,222,223
  73. 450 data64,65,66,67,68,69,70,71,72,73
  74. 451 data74,75,76,77,78,79,80,81,82,83
  75. 452 data84,85,86,87,88,89,90,91,92,93
  76. 453 data94,95,0,1,2,3,4,5,6,7
  77. 454 data8,9,10,11,12,13,14,15,16,17
  78. 455 data18,19,8,21,22,23,24,25,26,27
  79. 456 data28,29,30,31,32,33,34,35,36,37
  80. 457 data38,39,40,41,42,43,44,45,46,47
  81. 458 data48,49,50,51,52,53,54,55,56,57
  82. 459 data58,59,60,61,62,63,64,97,98,99
  83. 460 data100,101,102,103,104,105,106,107,108,109
  84. 461 data110,111,112,113,114,115,116,117,118,119
  85. 462 data120,121,122,123,124,125,126,95,96,97
  86. 463 data98,99,100,101,102,103,104,105,106,107
  87. 464 data108,109,110,111,112,113,114,115,116,117
  88. 465 data118,119,120,121,122,123,124,125,126,127
  89. 466 data0,1,2,3,4,5,6,7,8,9
  90. 467 data10,11,12,13,14,15,16,17,18,19
  91. 468 data20,21,22,23,24,25,26,27,28,29
  92. 469 data30,31,32,33,34,35,36,37,38,39
  93. 470 data40,41,42,43,44,45,46,47,48,49
  94. 471 data50,51,52,53,54,55,56,57,58,59
  95. 472 data60,61,62,63,64,65,66,67,68,69
  96. 473 data70,71,72,73,74,75,76,77,78,79
  97. 474 data80,81,82,83,84,85,86,87,88,89
  98. 475 data90,91,92,93,94,95,96,97,98,99
  99. 476 data100,101,102,103,104,105,106,107,108,109
  100. 477 data110,111,112,113,114,115,116,117,118,119
  101. 478 data120,121,122,123,124,125,126,127
  102. 479 s=0:fori=49152to49919:readd
  103. 480 pokei,d:s=s+d:next
  104. 481 ifs<>68108thenprint"fout![146]":stop
  105. 999 goto 10020
  106. 1000 rem *** module 100 ***
  107. 1010 rem print at
  108. 1020 poke782,x:poke781,y:poke783,peek(783)and0:sys65520:return
  109. 1100 rem *** module 110 ***
  110. 1110 rem indeling beeldscherm
  111. 1120 poke53265,peek(53265)and239
  112. 1130 poke53280,6:poke53281,6:poke646,15:printc$;chr$(142)chr$(8);
  113. 1135 rem alleen voor oude c64's:fori=0to999:poke55296+i,15:next
  114. 1140 ifd0=0thend1=peek(63):d2=peek(64):d3=peek(65):d4=peek(66):d0=1:goto1160
  115. 1150 poke63,d1:poke64,d2:poke65,d3:poke66,d4
  116. 1160 data1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,1,0,1,1
  117. 1170 data0,1,1,1,0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1
  118. 1180 data1,0,0,0,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1
  119. 1190 data0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0
  120. 1200 data1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
  121. 1210 data0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,0
  122. 1220 data1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1
  123. 1230 data0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,0
  124. 1240 data1,1,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1
  125. 1250 data0,1,1,1,0,1,1,0,0,1,1,1,0,1,0,1,0,1,1,1
  126. 1260 data1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1
  127. 1270 data1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1
  128. 1280 data1,0,1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,0,1,1,0,0,1,1,1
  129. 1290 data1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,0
  130. 1300 data1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,0,1
  131. 1310 fori=0to4:forj=0to38:readd:ifd=1thenpoke1024+i*40+j,160
  132. 1320 nextj,i
  133. 1330 fori=0to4:forj=0to24:readd:ifd=1thenpoke1271+i*40+j,160
  134. 1340 nextj,i
  135. 1350 x=9:y=12:gosub1020:print"bulletin board system"
  136. 1360 x=0:a$="beller":gosub1480
  137. 1370 x=16:a$="status":gosub1480
  138. 1380 x=32:a$="pagina":gosub1480
  139. 1390 x=0:y=19:gosub1020:printchr$(117);
  140. 1400 fori=0to12:printchr$(99);:next
  141. 1410 print"tekstruimte";
  142. 1420 fori=0to13:printchr$(99);:next:printchr$(105);
  143. 1430 fori=0to2:printchr$(98):printchr$(157)chr$(98);:next
  144. 1440 printchr$(106);:fori=0to37:printchr$(99);:next:printchr$(107);
  145. 1450 poke53265,peek(53265)or16
  146. 1460 return
  147. 1470 rem hok
  148. 1480 y=15:gosub1020:printchr$(117)a$chr$(105)
  149. 1490 y=16:gosub1020:printchr$(98)spc(6)chr$(98)
  150. 1500 y=17:gosub1020:printchr$(106);
  151. 1510 fori=0to5:printchr$(99);:next:printchr$(107)
  152. 1520 return
  153. 1600 rem *** module 120 ***
  154. 1610 rem print update beeldscherm
  155. 1620 x=2:y=16:gosub1020:printbe
  156. 1630 x=17:y=16:gosub1020:printa$
  157. 1640 x=34:y=16:gosub1020:print"     ":gosub1020:print"*"pa:return
  158. 1700 rem *** module 130 ***
  159. 1710 rem print sysop menu
  160. 1720 a$="":sy=0:geta$
  161. 1730 ifa$=""then1780
  162. 1740 ifa$=chr$(133)andsp=0thensy=1:return
  163. 1750 ifa$=chr$(134)thensp=1:goto1780
  164. 1760 ifa$=chr$(135)thensy=1:sp=1:goto1800
  165. 1770 ifa$=chr$(136)andspthensp=0:gosub1120:a$=" wait ":gosub1620:return
  166. 1775 ifa$=chr$(137)thengosub3620:sp=1
  167. 1777 ifa$=chr$(138)thenprintc$kl$:gosub5020:sp=1
  168. 1780 ifspthenprintc$rv$kl$be"peek-mode"
  169. 1790 return
  170. 1800 printc$rv$kl$"sysop peek-mode":return
  171. 1810 return
  172. 1900 rem *** module 140 ***
  173. 1910 rem stel baudrate in
  174. 1920 br=5:tl=2:th=12:cr=6:rl=212:rh=12
  175. 1930 poke56590,64:poke56581,5:poke56590,65:poke56588,br
  176. 1940 poke659,cr:poke665,rl:poke666,rh
  177. 1950 return
  178. 1960 br=6:tl=220:th=2:cr=2:rl=80:rh=51
  179. 1970 goto1930
  180. 2000 rem *** module 150 ***
  181. 2010 rem kontroleer telefoonverbinding
  182. 2020 ifsythena=0:return
  183. 2030 a=peek(us)and16:ifa=0thenpokeus,peek(us)and251:return
  184. 2040 if(peek(us)and8)=0thenpoke(us),peek(us)and251:goto2030
  185. 2050 pokeus,peek(us)or4:return
  186. 2100 rem *** module 160 ***
  187. 2110 rem zend een byte
  188. 2120 rem dit kommentaar laten staan
  189. 2130 poke253,tl:poke254,th+128:poke255,z:sys49298:return
  190. 2200 rem *** module 170 ***
  191. 2210 rem zend een string
  192. 2220 z$=z$+r$:ifspthenprintz$;
  193. 2230 ifsythenreturn
  194. 2240 poke253,tl:poke254,th+128
  195. 2250 fori=1tolen(z$):z=z%(asc(mid$(z$,i,1)))
  196. 2260 poke255,z:sys49298:next:return
  197. 2300 rem *** module 180 ***
  198. 2310 rem ontvang een string
  199. 2320 poke198,0:fori=0to99:get#2,a$:next
  200. 2330 o$="":x=1:y=22:tj=ti
  201. 2340 gosub2020:ifatheno$="":return
  202. 2350 ifti>tj+tktheno$="":pv=90:return
  203. 2360 ifsythengeta$:goto2380
  204. 2370 get#2,a$
  205. 2380 ifa$=""then2340
  206. 2390 z=asc(a$+chr$(0))and127:z1=z:ifz=0then2340
  207. 2395 ifsyandz=20thenz=8
  208. 2400 ifz=13thenprint;:y=y+1:gosub2120:z=10:gosub2120:return
  209. 2410 if(z=8)and(len(o$))theno$=left$(o$,len(o$)-1):gosub2120:z=20:goto2460
  210. 2420 ifz<32then2340
  211. 2425 ifz>64andz<96thenz=z+128:goto2440
  212. 2430 if(z>95)and(z<123)thenz=z-32
  213. 2440 iflen(o$)>37thenz=13:goto2400
  214. 2450 o$=o$+chr$(z):z2=z:z=z1:gosub2120:z=z2
  215. 2460 ifspthen2540
  216. 2470 ifx<>1then2530
  217. 2480 poke781,20:sys59888
  218. 2490 poke172,peek(60656+21):poke780,peek(216+21):sys59848
  219. 2500 poke781,21:sys59888
  220. 2510 poke172,peek(60656+22):poke780,peek(216+22):sys59848
  221. 2520 gosub1020:print"                                      "
  222. 2530 gosub1020
  223. 2540 printchr$(z);:x=x+1:ifz=20thenx=x-2
  224. 2550 ifz=34thenpoke212,0
  225. 2560 goto2340
  226. 2800 rem *** module 190 ***
  227. 2810 rem interpreteer string
  228. 2820 marker=0:l=len(o$):ifl>4thenmarker=1:return
  229. 2830 ifl=0andpv<>-1thenpn=pv:return
  230. 2840 ifl=0thenmarker=1:return
  231. 2850 o=asc(left$(o$,1))
  232. 2860 ifo=42then2890
  233. 2870 if(o>47)and(o<58)then2910
  234. 2880 marker=1:return
  235. 2890 ifl=1thengosub3420:return
  236. 2900 pn=val(mid$(o$,2)):return
  237. 2910 ifpmthenpn=10*pa+o-48:return
  238. 2920 marker=1:return
  239. 3300 rem *** module 210 ***
  240. 3310 rem traject gebruiker volgen
  241. 3320 ifkeus=4thenk(0)=k(1):k(1)=k(2):k(2)=k(3):keus=keus-1
  242. 3330 k(keus)=pa:keus=keus+1:return
  243. 3400 rem *** module 220 ***
  244. 3410 rem gebruiker vraagt vorige pagina
  245. 3420 ifk(3)>=0thenpn=k(2):k(3)=-1:k(2)=-1:keus=2:return
  246. 3430 ifk(2)>=0thenpn=k(1):k(2)=-1:k(1)=-1:keus=1:return
  247. 3440 ifk(1)>=0thenpn=k(0):k(1)=-1:k(0)=-1:keus=0:return
  248. 3450 marker=1:return
  249. 3500 rem *** module 230 ***
  250. 3510 rem tijdcontrole
  251. 3520 ifti$>tp$thenz$=t$:a=1:gosub2220:fori=1to2000:next:return
  252. 3530 ifti$<tw$thenreturn
  253. 3540 tp=val(tp$):t=val(ti$):x=int((tp-t)/100+.5)
  254. 3550 z$=r$+"u hebt nog"+str$(x)+" minuten":gosub2220:return
  255. 3600 rem *** module 240 ***
  256. 3610 rem ledenadministratie
  257. 3620 printc$rv$"ledenadministratie"
  258. 3630 print#15,"i0"
  259. 3640 print:print"1. lezen"
  260. 3650 print"2. schrijven"
  261. 3660 print"3. bestand vervangen"
  262. 3670 print"4. bestand aanmaken"
  263. 3680 print"5. terug naar het bbs"
  264. 3690 print:input"wat is uw keuze";a$
  265. 3700 v=val(a$):ifv>5orv<1then3690
  266. 3710 onvgoto3730,3860,3990,4040
  267. 3720 close8:return
  268. 3730 open8,8,8,"0:leden,l,"+chr$(30):gosub4130
  269. 3740 input"welk lidnummer";rn:ifrn<1thene=50:goto3770
  270. 3750 rh=int(rn/256):rl=rn-(256*rh)
  271. 3760 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  272. 3770 ife=50thenprint"lidnummer buiten bereik":goto3830
  273. 3780 input#8,a$:gosub4130
  274. 3790 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  275. 3800 print"lidnummer:";rn
  276. 3810 print"naam     : ";left$(a$,16)
  277. 3820 print"kode     : ";right$(a$,4)
  278. 3830 print:input"nog een lidnummer (j/n)";a$
  279. 3840 if a$="j"then3740
  280. 3850 close8:goto3640
  281. 3860 open8,8,8,"0:leden,l,"+chr$(30):gosub4130
  282. 3870 print:input"welk lidnummer";rn:ifrn<1then3870
  283. 3880 input"naam";n$:n$=left$(n$+rn$,16)
  284. 3890 input"kode";k$:k$=left$(k$+rc$,4)
  285. 3900 a$=n$+k$
  286. 3910 rh=int(rn/256):rl=rn-(256*rh)
  287. 3920 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  288. 3930 if e=50 thenprint"het dos breidt het bestand hiervoor uit"
  289. 3940 print#8,a$:gosub4130
  290. 3950 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  291. 3960 print:input"nog een lidnummer (j/n)";a$
  292. 3970 if a$="j"then3870
  293. 3980 close8:goto3640
  294. 3990 print"de oude ledenlijst wordt hierdoor"
  295. 4000 print"vernietigd"
  296. 4010 input"doorgaan (j/n)";a$
  297. 4020 ifa$<>"j"then3640
  298. 4030 print#15,"s0:leden":gosub4130
  299. 4040 open8,8,8,"0:leden,l,"+chr$(30):gosub4130
  300. 4050 print:print"wat is het hoogste aantal leden"
  301. 4060 input"dat u wilt toelaten";rn
  302. 4070 rh=int(rn/256):rl=rn-(256*rh)
  303. 4080 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  304. 4090 if e=50 thenprint"het dos maakt het bestand nu aan"
  305. 4100 print#8,chr$(255):gosub4130
  306. 4110 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1):gosub4130
  307. 4120 close8:goto3640
  308. 4130 input#15,e,e$,e1,e2
  309. 4140 if e<20thenreturn
  310. 4150 if e=50thenreturn
  311. 4160 print"error nummer";e,e$
  312. 4170 print"op track";e1;"sector";e2
  313. 4180 close8:close15:end
  314. 4200 rem *** module 250 ***
  315. 4210 rem ledenkontrole
  316. 4220 open8,8,8,"0:leden,l,"+chr$(30)
  317. 4230 lid=1:rn=val(g$(2))
  318. 4240 ifrn>2000orrn<1thenlid=0:close8:return
  319. 4250 rh=int(rn/256):rl=rn-(256*rh)
  320. 4260 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1)
  321. 4270 input#8,a$
  322. 4280 print#15,"p"+chr$(96+8)+chr$(rl)+chr$(rh)+chr$(1)
  323. 4290 close8
  324. 4300 n$=left$(a$,16):k$=right$(a$,4)
  325. 4310 g$(1)=left$(g$(1)+rn$,16)
  326. 4320 g$(3)=left$(g$(3)+rc$,4)
  327. 4330 ifk$<>g$(3)thenlid=0:return
  328. 4340 fori=1to16:x=asc(mid$(g$(1),i,1)):y=asc(mid$(n$,i,1))
  329. 4350 z=abs(x-y):ifz=0orz=128then4370
  330. 4360 i=16:lid=0
  331. 4370 next
  332. 4380 return
  333. 4400 rem *** module 255 ***
  334. 4410 rem chat-mode
  335. 4420 z$=r$+r$+"[193]ls de sysop er is, reageert hij binnen 20 seconden.":gosub2220
  336. 4425 d=0:s=54272:pokes+5,9:pokes+6,0:pokes+24,15
  337. 4430 pokes+4,33:pokes,75:pokes+1,34:fori=1to500:next:pokes+4,32
  338. 4435 pokes+4,33:pokes,75:pokes+1,20:fori=1to500:next:pokes+4,32
  339. 4440 geta$:ifa$=chr$(140)thenpokes+24,0:goto4465
  340. 4445 ifd<16thend=d+1:goto4430
  341. 4450 pokes+24,0:z$=r$+"[196]e sysop is momenteel niet aanwezig.":gosub2220
  342. 4455 z$=r$+"[213] kunt via *80 een boodschap achterlaten":gosub2220
  343. 4460 return
  344. 4465 sp=1:printc$rv$kl$"[195]hat-mode"
  345. 4470 z$=r$+r$+"[196]e sysop is nu on-line.":gosub2220
  346. 4475 get#2,o$
  347. 4480 z=asc(o$+chr$(0))and127:z1=z
  348. 4485 ifz=8thenz=20:goto4510
  349. 4490 ifz=13then4510
  350. 4495 ifz<32thenz=0:goto4510
  351. 4500 ifz>64andz<96thenz=z+128:goto4510
  352. 4505 ifz>95andz<123thenz=z-32
  353. 4510 geta$:ifa$then4540
  354. 4515 ifzthenprintchr$(z);:z=z1:gosub2120
  355. 4520 ifz=34thenpoke212,0
  356. 4525 ifz=13thenz=10:gosub2120
  357. 4530 goto4475
  358. 4535 ifa$=chr$(140)thenz$=r$+"[213] bent weer terug in het board.":gosub2220:return
  359. 4540 z=z%(asc(a$)):gosub2120:printa$;:ifz=34thenpoke212,0
  360. 4545 ifz=13thenz=10:gosub2120:fori=0to99:get#2,o$:next:goto4475
  361. 4550 geta$:ifa$=""then4550
  362. 4555 goto4535
  363. 4600 rem *** module 260 ***
  364. 4610 rem zend tekstbestand
  365. 4620 a$=mid$(str$(pn),2)
  366. 4625 n$=a$+" *":open8,8,2,n$+",s,r"
  367. 4630 poke49266,234:poke49267,234:poke49268,234
  368. 4635 ifspthenpoke49266,32:poke49267,210:poke49268,255
  369. 4640 input#15,e,e$,e1,e2:ife=0then4650
  370. 4645 close8:marker=1:return
  371. 4650 input#8,a$
  372. 4655 pa=val(left$(a$,3))
  373. 4660 pv=val(mid$(a$,4,3))
  374. 4665 pm=val(right$(a$,1))
  375. 4670 ifsp=0thengosub1640
  376. 4675 gosub3320
  377. 4680 z$=r$+r$:gosub2220
  378. 4685 gosub2020:ifathenclose8:return
  379. 4690 sys49250
  380. 4695 ifst=64then4730
  381. 4700 forx=0to99:get#2,a$:next
  382. 4705 gosub2020:ifathenclose8:return
  383. 4710 get#2,a$:ifa$=""then4705
  384. 4715 ifa$=chr$(3)then4725
  385. 4720 goto4685
  386. 4725 z$=r$+r$+"[215]at is uw keuze?":gosub2220
  387. 4730 close8:return
  388. 4800 rem *** module 270 ***
  389. 4810 rem boodschap voor sysop
  390. 4820 ifsp=0thenpa=80:gosub1640
  391. 4822 bo=bo+1:ifbo=50thenbo=0
  392. 4824 z$=r$+"[213] kunt uw boodschap nu invoeren.":gosub2220
  393. 4826 tm=tk:tk=25000:forl=0to7
  394. 4828 z=l+49:gosub2120:z=32:gosub2120
  395. 4830 ifspthenprint:printl+1;
  396. 4832 gosub2320:ifo$="stop"oro$="[211][212][207][208]"thenl=7:goto4840
  397. 4834 b$(bo,l)=o$
  398. 4836 gosub3520:ifathenl=7
  399. 4838 gosub2020:ifathenl=7
  400. 4840 next
  401. 4842 z$=r$+r$+"1=verzend,2=vernietig,3=edit,4=show":gosub2220
  402. 4844 gosub2320:ifo$="1"then4890
  403. 4846 ifo$="2"thenforl=0to7:b$(bo,l)="":next:bo=bo-1:goto4902
  404. 4848 ifo$="3"then4858
  405. 4850 ifo$="4"then4880
  406. 4852 gosub3520:ifathen4890
  407. 4854 gosub2020:ifathen4890
  408. 4856 goto4842
  409. 4858 z$=r$+r$+"[215]elke regel wilt u wijzigen?":gosub2220
  410. 4860 gosub2320:l=val(o$+chr$(0))
  411. 4862 gosub3520:ifathen4890
  412. 4864 gosub2020:ifathen4890
  413. 4866 ifl<1orl>8then4858
  414. 4868 z=l+48:gosub2120:z=32:gosub2120
  415. 4870 ifspthenprint:printl;
  416. 4872 z$=b$(bo,l-1):gosub2220
  417. 4874 z$=r$+r$+"[206]ieuwe regel:":gosub2220
  418. 4876 gosub2320:b$(bo,l-1)=o$
  419. 4878 goto4842
  420. 4880 ifspthenprint
  421. 4882 forl=0to7:z$=b$(bo,l):ifz$=""then4888
  422. 4884 z=l+49:gosub2120:z=32:gosub2120:ifspthenprintl+1;
  423. 4886 gosub2220
  424. 4888 next:goto4842
  425. 4890 z$=r$+r$+"[213]w bericht wordt nu verzonden.":gosub2220
  426. 4892 open8,8,8,"0:10 prikbord,s,a"
  427. 4894 print#8,chr$(13)
  428. 4896 forl=0to7
  429. 4898 ifb$(bo,l)<>""thenbo$=b$(bo,l):gosub4904
  430. 4900 next:close8
  431. 4902 tk=tm:return
  432. 4904 zi=39:iflen(bo$)<=zithenprint#8,bo$:return
  433. 4906 bk$=left$(bo$,zi)
  434. 4908 ifmid$(bo$,zi+1,1)<>" "then4912
  435. 4910 gosub4920:print#8,bk$:bo$=mid$(bo$,zi+2):gosub4916:goto4904
  436. 4912 ifright$(bk$,1)<>" "then4924
  437. 4914 gosub4920:print#8,bk$:bo$=mid$(bo$,zi+1):goto4904
  438. 4916 ifleft$(bo$,1)=" "thenbo$=mid$(bo$,2):goto4916
  439. 4918 return
  440. 4920 ifright$(bk$,1)=" "thenbk$=left$(bk$,len(bk$)-1):goto4920
  441. 4922 return
  442. 4924 zi=zi-1:ifzi=0thenprint#8,bo$:return
  443. 4926 goto4906
  444. 5000 rem *** module 280 ***
  445. 5010 rem boodschappen lezen
  446. 5020 ifbo=-1thenprint"[199][197][197][206] [194][207][207][196][211][195][200][193][208][208][197][206]":fori=1to2000:next:return
  447. 5030 forl=boto0step-1
  448. 5040 print"[194][207][207][196][211][195][200][193][208]";l:print
  449. 5050 forj=0to7
  450. 5060 printright$(str$(j+1),1);" ";b$(l,j)
  451. 5070 next
  452. 5080 print:print"[214]olgende boodschap (j/n)?":print
  453. 5090 geta$:ifa$=""then5090
  454. 5100 ifa$="n"thenl=0
  455. 5110 next:return
  456. 8000 rem *** module 400 ***
  457. 8010 rem download
  458. 8020 b$=mid$(str$(pn),2):d$=",s"
  459. 8030 n$=b$+" *":open8,8,2,n$+d$+",r"
  460. 8040 input#15,e,e$,e1,e2:ife<>64then8070
  461. 8050 close8:d$=",p":open8,8,2,n$+d$+",r"
  462. 8060 input#15,e,e$,e1,e2
  463. 8070 ife=0then8090
  464. 8080 close 8:z$=f$:goto8420
  465. 8090 z$=r$+"het bestand op pagina "+b$+r$+"wordt nu aan u verzonden":gosub 2220
  466. 8100 ifsythenclose8:goto8340
  467. 8110 z=2:gosub2120
  468. 8120 gosub1960
  469. 8130 fori=0to99:get#2,a$:next
  470. 8140 w$=b$
  471. 8150 iflen(w$)<16thenw$=w$+chr$(160):goto8150
  472. 8160 w$=w$+d$+",w"
  473. 8170 z=2:gosub2120
  474. 8180 fori=1to20:poke49919+i,asc(mid$(w$,i,1)):next:sys49188
  475. 8190 gosub8350
  476. 8200 ifa$=chr$(21)then8170
  477. 8210 ifa$=chr$(24)thenclose8:z$=r$+"download afgebroken":goto8420
  478. 8220 ifa$<>chr$(6)then8190
  479. 8230 sys49152:ls=st
  480. 8240 z=2:gosub2120:sys49220
  481. 8250 gosub8350
  482. 8260 ifa$=chr$(21)then8240
  483. 8270 ifa$=chr$(24)thenclose8:z$=r$+"download afgebroken":goto8420
  484. 8280 ifa$<>chr$(6)then8250
  485. 8290 ifls<>64then8230
  486. 8300 z=3:gosub2120
  487. 8310 close8:gosub8350
  488. 8320 ifa$=chr$(21)thenz=3:gosub2120:goto8320
  489. 8330 fori=0to4000:next
  490. 8340 z$=r$+"download succesvol - toets uw keuze":goto8420
  491. 8350 i=0
  492. 8360 gosub2020:ifathena$=chr$(24):return
  493. 8370 get#2,a$:ifa$thenreturn
  494. 8380 i=i+1:ifi<400then8360
  495. 8390 forz=4to255:gosub2130:next
  496. 8400 z=255:fori=0to9:gosub2130:next
  497. 8410 goto8350
  498. 8420 gosub2220:return
  499. 10000 rem *** module 500 ***
  500. 10010 rem hoofdprogramma
  501. 10020 rem dit kommentaar laten staan
  502. 10030 gosub 1120:rem bouw beeldscherm op
  503. 10040 z=2:gosub2120:gosub1960:z=3:gosub2120:fori=0to99:next:gosub1920
  504. 10050 pa=-1:a$=" wait "
  505. 10060 ifsp=0thengosub1620:rem werk scherm bij
  506. 10070 gosub1720:rem sysop aktief?
  507. 10080 gosub2020:ifathen10070:rem telefoon aktief?
  508. 10090 z=0:gosub2120:rem stuur een nul
  509. 10100 get#2,z$:ifz$then10100
  510. 10110 gosub2020:ifathen10040:rem carrier?
  511. 10120 ti$="000000":pn=0:k(0)=-1:k(1)=-1:k(2)=-1:k(3)=-1:keus=0
  512. 10130 ifsythena$="sysop ":gosub1620:goto10150:rem werk scherm bij
  513. 10140 be=be+1:a$=" call ":gosub1620:rem werk scherm bij
  514. 10150 a$="-1":gosub4625
  515. 10160 gosub22020:ifathen10040:rem login procedure
  516. 10165 gosub4620:ifmarkerthen10300
  517. 10200 gosub3520:ifathen10040:rem controleer tijd
  518. 10210 gosub2020:ifathen10040:rem controleer carrier
  519. 10220 ifpn=90thenfori=1to2000:next:goto10040
  520. 10230 gosub2320:rem ontvang string
  521. 10250 gosub2820:rem interpreteer string
  522. 10260 gosub3520:ifathen10040:rem controleer tijd
  523. 10270 gosub2020:ifathen10040:rem controleer carrier
  524. 10280 ifpn<0orpn>999thenmarker=1:goto10300
  525. 10285 rem plaats voor eventuele ledenkontrole
  526. 10287 ifpn>=20thenifpn=<29thengosub8020:goto10230:rem downloadpagina's
  527. 10300 ifmarkerthenz$=f$:gosub2220:goto10230:rem keus bestaat niet
  528. 10307 ifpn=80thengosub4820:pn=0
  529. 10308 ifpn=81thengosub4420:pn=0
  530. 10309 ifpn=88thenpv=0:pm=0:gosub23020:goto10230
  531. 10310 ifti$>tp$thenz$=t$:gosub2220:fori=1to2000:next:goto10040:rem tijd om
  532. 10315 ifpeek(197)=3andpeek(653)=1thengosub4465:pn=0
  533. 10320 goto10165
  534. 22000 rem *** module 1025 ***
  535. 22010 rem login procedure
  536. 22020 z$=r$+r$+"[194]ent u abonnee (j/n)?":gosub2220:lid=0:gosub2320
  537. 22030 ifo$="n"oro$="[206]"thenti$="001000":tj$="20":goto22260
  538. 22040 ifo$="j"oro$="[202]"then22080
  539. 22050 gosub2020:ifathenreturn
  540. 22060 gosub3520:ifathenreturn
  541. 22070 goto22020
  542. 22080 z$(1)=r$+"[206]aam:":z$(2)=r$+"[204]idnummer:":z$(3)=r$+"[203]ode:"
  543. 22090 forj=1to3:z$=z$(j)
  544. 22100 gosub2220:gosub2320
  545. 22110 g$(j)=o$:z$(j)="":next
  546. 22120 gosub2020:ifathenreturn
  547. 22130 gosub3520:ifathenreturn
  548. 22140 z$=r$+"[213] bent:    "+g$(1):gosub2220
  549. 22150 z$="[204]idnummer: "+g$(2):gosub2220
  550. 22160 z$="[203]ode:      "+g$(3):gosub2220
  551. 22170 z$=r$+"[201]s dit juist (j/n)?":gosub2220
  552. 22180 gosub2320
  553. 22190 gosub2020:ifathenreturn
  554. 22200 gosub3520:ifathenreturn
  555. 22210 ifo$="n"oro$="[206]"then22080
  556. 22220 ifo$="j"oro$="[202]"thengosub4220:goto22240
  557. 22230 goto22170
  558. 22240 iflid=0thenz$=r$+"[207]nbekende inloginformatie.":gosub2220:a=1:goto22270
  559. 22250 tj$="30":z$=r$+r$+"[204]edencontrole succesvol.":gosub2220
  560. 22260 z$=r$+r$+"[213] hebt "+tj$+" minuten toegang.":gosub2220
  561. 22270 fori=1to2000:next:return
  562. 23000 rem *** module 1027 ***
  563. 23010 rem naar 1200 baud
  564. 23020 z$=r$+"[207]verschakelen op 1200 baud (j/n)?":gosub2220
  565. 23030 z$="([193]lleen met 'j' antwoorden als u een":gosub2220
  566. 23040 z$="[212][197][204][212][210][207][206]-modem gebruikt.)":gosub2220
  567. 23050 gosub2320:ifo$=""then23120
  568. 23060 ifo$="n"oro$="[206]"then23100
  569. 23070 ifo$<>"j"ando$<>"[202]"then23020
  570. 23080 z=2:gosub2120
  571. 23090 gosub1960:z=3:gosub2120
  572. 23100 z$=r$+"[207].[203]. - [215]at is uw volgende keuze?":gosub2220
  573. 23110 fori=0to99:get#2,a$:next
  574. 23120 return
  575.