This is a really, really awful old program of mine. Basically, when I was a kid, I read about these Big Computer Operating Systems and wanted to have one of my own... on my Commodore 64.
I'm publishing this code because it's kind of embarrassing; yet, full disclosure is nice and it at least tells people how not to program. It also tells people how painful programming on Commodore BASIC was. Line numbers! Two-letter variable names! Weird control codes!
So what is it? This is a complete operating system! Complete with password checking, computer usage logging, email and bulletin board/news system. My friend Mikko wrote some code for this; I think the "diary" (usage log) idea, if not the implementation, was his (the messages shown here are a bit inconsistent), and I think he wrote some other parts. He even thought of writing some games for this, but I didn't really have the time and energy to integrate them here, it seems. I even had crazy delusions of grandeur of expanding this into a full-fledged dial-in BBS system. In BASIC! Oh how amusing it all seems in retrospect...
I wrote this program mostly in early 1990s, circa 1991-1994; some random tweaks were added later. I really loved my C64, as that was the only computer I had for my personal use at that time. In 1996, I got a PC of my own, so the interest kind of waned. Also another reason for the waning was that I had been programming stuff on my father's PC; PC had this "Pascal" thing that allowed you to do structured programming and I didn't have to torture my eyes with two-letter variable names and, good heavens, the code merging from floppy, the endless RENUMBER commands, and so on. However, I have to say the programming on Commodore 64 with The Final Cartridge III was surprisingly painless. It's just pretty painful to read this stuff. I guess I have a list of variables and what they mean somewhere; if I find that, I'm sure to include it here somewhere.
It's a strange thing to note, however, that I did maintain this program way after I was using PC - I was using PC for ordinary things since early-mid 1990s. Also fascinating to note that I started using Linux in summer 1996. I had finally gotten the Big Computer Operating System I had been looking for. =)
You may note the curious mix of Finnish and English; hey, everyone does that, it's because English is a foreign language and thus it's automatically cool. Also it apparently tells I used the name "WwW-Wolf" back then; I've since completely, utterly rescinded all that sort of l33t stuff. (Ugh.) It's "WWWWolf" now, and I don't claim it has anything to do with WWW anymore. Much better, see? =) Also, the code was written by "Mallorcasoft"; I don't know why I credited the code this way, it was just that every kid was supposed to have a "software house". I have never been in that place, I just found the name cool.
Yet, it's a fascinating bit of computing history in the scale of our little microcosm. We have evolved; we have better tools now and forever.
—Urpo Lankinen, 2008-03-29
And now, without further ado...
100 rem 110 rem ***************************** 120 rem saapasboot - the ultimate 130 rem booter for commodore 64 140 rem 150 rem copyright(c) rlcrallorcasoft 160 rem coded by: urpo 'www-wolf' 170 rem lankinen 1991-1996 180 rem 190 rem ***************************** 200 rem 210 rem 220 rem logon engine for commodore 64 230 rem created by ul using tfc 3 240 rem 250 poke 774,0:poke 808,225:t%=0:dim w$(16) 260 poke 53280,0:poke 53281,0:print"{gry3}{clr}" 270 print"{swlc}" 280 rem 290 rem ******** ver number ******** 300 ve$="v8.2 BETA":ed$="06041996" 310 rem **************************** 320 rem 330 rem previous lines contain the 340 rem current version number and 350 rem last edited information 360 rem date in format ddmmyyyy 370 rem 'beta' means, not yet 100% 380 rem working, perharps. 390 rem 400 rem ----------------------------- 410 rem the new logon engine created 420 rem 06 april 1996 --------------- 430 rem 440 rem 450 rem 460 rem following loads userlist 470 rem 480 open 2,8,2,"userlist.lst,seq,read" 490 input#2,ma$:input#2,p:dim b$(p+1,2) 500 for r=1 to p 510 input#2,b$(r,1):input#2,b$(r,2) 520 next:close 2 530 b$(p+1,1)="*":b$(p+1,2)="*" 540 print"{clr}{down}";ma$:nt%=3 550 open2,0:print"{down}{down}Logon:";:input#2,a$:aa$=a$+"*":close 2 560 pg$="":print:print"Pass:";:ct%=0 570 get pp$:if pp$="" goto 570 580 if pp$=chr$(13) and ct%>0 then goto 600 590 ct%=ct%+1:pg$=pg$+pp$:print".";:goto 570 600 for zu=1 to p 610 if b$(zu,1)=pg$ then s$=pg$ 620 if b$(zu,2)=a$ or b$(zu,2)=aa$ then n$=a$:px=zu 630 next:pr$="" 640 if s$<>"" and n$<>"" then 680 650 print:print"login incorrect" 660 nt%=nt%-1: if nt%>=1 then 550 670 print"{down}{down}connection closed":new 680 ifright$(b$(px,2),1)="*"then pr$="*" 690 print"{clr}{yel}{rvon}Welcome!{rvof}{gry3} user ";n$ 700 if pr$="*" then print"System Administrator" 710 if pr$="*" then print"You have {rvon}FULL{$a0}ACCESS{rvof} to this system.{down}" 720 print"{down}Terve,";n$ 730 print"tervetuloa kayttamaan" 740 goto 830 750 print"apua ei saatavilla!" 760 rem paluu logoniin! 770 rem 780 print:goto 480 790 print:print"{yel}*** Oi terve Herrani ***" 800 print" {lgrn}olen onnellinen saadessani" 810 print" palvella sinua.{gry3}":goto 860 820 for i=1to2000:next 830 print"jarjestelmaan: ";ma$ 840 gosub 3670 850 if pr$<>"" then goto 790 860 rem kayttopaivakirja 870 rem programmed by urpo lankinen v0.2 880 rem idea: mikko tormanen 890 rem 900 rem paivakirja tiedostossa: 910 rem diary.dry 920 rem 930 rem ----------------- 940 rem dialogi 950 rem ----------------- 960 print"{down}{rvon}{lblu}Paivakirja{rvof}{down}{gry3}" 970 print"Ole hyva anna paivays: "; 980 open2,0:input#2,g$:close 2 990 print:print"{down}{down}Selvita mika on tulosi syy," 1000 print"kuolevainen." 1010 dim o$(5) 1020 input":";o$(1) 1030 input":";o$(2) 1040 input":";o$(3) 1050 input":";o$(4) 1060 input":";o$(5) 1070 open2,8,2,"0:diary.dry,s,r":close2 1080 open15,8,15:input#15,a,a$,t,s:close15 1090 if a>0 then gosub 1150 1100 open 2,8,2,"0:diary.dry,s,a" 1110 print#2,n$;" "g$ 1120 print#2,o$(1);" ";o$(2);" ";o$(3);" ";o$(4);" ";o$(5) 1130 print#2 1140 close 2:goto 1270 1150 rem creating diary file 1160 open 2,8,2,"0:diary.dry,s,w" 1170 print#2,"saapasboot 64 log file" 1180 print#2,"---------------------------------------" 1190 print#2,"created with version ";ve$ 1200 print#2,"was last edited on ";ed$ 1210 print#2,"log created on ";g$ 1220 print#2,"---------------------------------------" 1230 print#2,"System ID: ";ma$ 1240 print#2,"---------------------------------------" 1250 close2 1260 return 1270 rem ja sitten boksiin... 1280 rem 1290 rem b o o t - e n g i n e 1300 rem the ultimate boot engine 1310 rem 1320 for i=1 to 2000:next 1330 poke 53280,0:poke53281,0:print"{clr}{grn}"; 1340 print"{down}{yel}{rvon}CBM 64 SaapasBoot{rvof}{grn} release ";ve$ 1350 print"{lred}(c) by {lgrn}Urpo Lankinen{lred} 1991-1996{grn}" 1360 print"{lred}All rights reserved{grn} last edited:";ed$ 1370 k=fre(0):ifk<0thenk=k+65536 1380 print k"{lgrn}BASIC bytes free{lblu}" 1390 print n$;"{grn}"; 1400 if pr$="*" then print " {lgrn}System Administrator{grn}" 1410 if pr$<>"*" then print 1420 print"{down}{yel}{rvon}Present devices{rvof}:{grn}" 1430 print"disk drive A:";:r=8:gosub 1490 1440 print"printer :";:r=4:gosub 1490 1450 goto 1530 1460 rem 1470 rem check device (r=devicenr) 1480 rem 1490 open r,r,15:close r:tu=st 1500 if tu=0 then print"{SHIFT-@}" 1510 if tu<>0 then print 1520 return 1530 print"{down}{wht}{rvon}valitse toiminta{rvof}{grn}" 1540 rem mailcheck ************** 1550 r$=left$(n$,12)+".msg,s,r" 1560 open 2,8,2,r$:close 2 1570 open 15,8,15:input#15,z,z$,zz,zx:close 15 1580 if z then ml%=0:goto 1660 1590 ml%=1:goto 1660 1600 rem mailcheck ************** 1610 rem 1620 rem valikko 1630 rem 1640 rem 1650 rem *************************** 1660 print" {grn}{rvon}L{rvof}{lgrn}aheta postia Lue "; 1670 if ml% then print"{red}{rvon}Y{rvof}{lgrn}";:goto 1690 1680 print"{grn}{rvon}Y{rvof}{lgrn}"; 1690 print"ksityisposti" 1700 rem *************************** 1710 print" {grn}{rvon}J{rvof}{lgrn}ulkinen alue {grn}{rvon}T{rvof}{lgrn}yhjaa yks.posti" 1720 print" Postia{grn}{rvon}R{rvof}{lgrn}kisto Ty{grn}{rvon}H{rvof}{lgrn}jenna arkisto" 1730 print" L{grn}{rvon}A{rvof}{lgrn}taa ohjelma {grn}{rvon}S{rvof}{lgrn}ysadmin-valikko" 1740 print" T{grn}{rvon}I{rvof}{lgrn}etoja Toi{grn}{rvon}N{rvof}{lgrn}en kayttaja" 1750 print" P{grn}{rvon}O{rvof}{lgrn}istu Bootista{gry3}" 1760 open2,0 1770 print">"; 1780 input#2,p$ 1790 close2 1800 print 1810 if p$="a" or p$="A" then 2000 1820 if p$="s" or p$="S" then 2210 1830 if p$="n" or p$="N" then run 1840 if p$="i" or p$="I" then gosub 4360:goto 1330 1850 if p$="o" or p$="O" then 1930 1860 if p$="l" or p$="L" then goto 2820 1870 if p$="j" or p$="J" then goto 3540 1880 if p$="r" or p$="R" then goto 4740 1890 if p$="h" or p$="H" then goto 4850 1900 if p$="y" or p$="Y" then goto 3390 1910 if p$="t" or p$="T" then gosub 3730 1920 goto 1760 1930 print"{clr}eksit!":new:end 1940 rem 1950 rem ************************** 1960 rem alitoimintojen osuus alkaa 1970 rem tasta! 1980 rem ************************** 1990 rem 2000 print"-loader-" 2010 print"a = Drive 8 (primary)" 2020 print"b = Drive 9 (scndry)" 2030 print"{down}0 = Argh! Wrong button..." 2040 print">"; 2050 open2,0:input#2,z$:close2 2060 rem 2070 rem thinking device 2080 rem 2090 if z$="a" then dn=8 2100 if z$="b" then dn=9 2110 if z$="0" then goto 1330 2120 if z$<>"a"andz$<>"b" then goto 1320 2130 rem 2140 rem ask program name & load 2150 rem 2160 print"{clr}";z$;": % "; 2170 open2,0:input#2,oh$:close2 2180 load oh$,dn 2190 new 2200 run 2210 print:print 2220 if pr$="*" then 2290 2230 print" {rvon}RESTRICTED{$a0}ACCESS{rvof}: Kaytto on sallittu" 2240 print" VAIN 'King'-postfiksin omaaville kayt-" 2250 print" tajatunnuksille. 'Duunari'-tason kayt-" 2260 print" tajilla ei ole asiaa tanne." 2270 geta$:ifa$=""then2270 2280 goto 1330 2290 print"{down}{down}{lgrn}{rvon}SYSTEM{$a0}ADMINSTRATOR{$a0}MENU{rvof}{gry3}" 2300 print"{gry3} S{wht}{rvon}A{rvof}{gry3}lasanat {wht}{rvon}P{rvof}{gry3}aivakirja" 2310 print"{gry3} Arkistoi A{wht}{rvon}L{rvof}{gry3}L-board Poista {wht}{rvon}S{rvof}{gry3}uojaukset" 2320 print"{gry3} Lue {wht}{rvon}Y{rvof}{gry3}ksit.postia Tu{wht}{rvon}H{rvof}{gry3}oa ALL-arkisto" 2330 print"{gry3} {wht}{rvon}N{rvof}{gry3}yykkaa yks.postit" 2340 print"{gry3} P{wht}{rvon}O{rvof}{gry3}is taalta!" 2350 open 2,0:print"{down}{lgrn}SysOp{wht}>{gry3}";:input#2,a$:close 2 2360 if a$="a" or a$="A" then goto 2450 2370 if a$="s" or a$="S" then goto 2540 2380 if a$="p" or a$="P" then goto 2580 2390 if a$="l" or a$="L" then gosub 4130 2400 if a$="o" or a$="O" then goto 1330 2410 if a$="y" or a$="Y" then goto 4600 2420 if a$="h" or a$="H" then goto 4920 2430 if a$="n" or a$="N" then gosub 4930 2440 goto 2350 2450 print"{clr}{rvon}salas.","omistaja{rvof}":i=1:rf=1 2460 rem tulostuslooppi 2470 print b$(i,1),b$(i,2) 2480 if rf=23 thengosub 2510:rf=1 2490 if b$(i,1)<>"*" then i=i+1:rf=rf+1:goto 2460 2500 print:print"listattu!":goto 2290 2510 print:print" paina nappia jatkaaksesi" 2520 geta$:ifa$=""then2520 2530 return 2540 poke 808,237:poke 774,26 2550 print" voit poistua ja listata!" 2560 gosub 2510 2570 goto 2290 2580 rem 2590 rem paivakirjan kelaaja by ul 2600 rem 25.08.1994 2610 rem 2620 print"{clr}{wht}{rvon}--- Boot Diary Reader v0.0 by Urpo L ---{rvof}{yel}" 2630 open 2,8,2,"0:diary.dry,s,r" 2640 get#2,k$:print k$; 2650 if st<>64 then goto 2640 2660 close 2 2670 print"{wht}{rvon}--- End of File ---{rvof}{grn}" 2680 get k$:if k$="" then 2680 2690 goto 2290 2700 rem 2710 rem postikusti the new mailer 2720 rem by urpo lankinen 1994 2730 rem for saapasboot 8.0 2740 rem first version 25.08.1994 2750 rem 2760 print"{clr}{yel}{rvon}PostiKusti v1.1 by Urpo Lankinen 310894 {rvof}{grn}"; 2770 goto 1330: rem menu on paavalikossan ettas tiedatte! 2780 goto 2760 2790 rem 2800 rem *** laheta postia *** 2810 rem 2820 print"{lgrn}{down}Anna vastaanottajan tunnus (ALL jos" 2830 print"viestisi on julkinen)":ju%=0 2840 input"{lred}RECVR:{lblu}";v$ 2850 if v$="ALL" then ju%=1:goto 2930 2860 print"{gry3}Tarkistetaan{grn}":vv$=v$+"*" 2870 for x=1 to p+1 2880 print"."; 2890 if b$(x,2)=v$ goto 2940 2900 if b$(x,2)=vv$ goto 2940 2910 next 2920 print"{lgrn} ei loytynyt!{down}": goto 2770 2930 if ju%=1 then print"{lgrn}Julkinen viesti.":goto 2950 2940 print"{lgrn} OK!":goto 2950 2950 print"{down}{gry3}Anna viestisi aihe : "; 2960 input c$ 2970 goto 3050 2980 print"{clr}{lgrn}@@@@@@@@@@@@@@@ {pur}Message {lgrn}@@@@@@@@@@@@@@@@" 2990 print"{lblu}Lahettaja :{lred}";n$ 3000 if ju%=1 then print"{lgrn} Julkinen viesti":goto 3020 3010 print"{lblu}Vast.ottaja :{lred}";v$ 3020 print"{lblu}Paivays :{lred}";g$ 3030 print"{lblu}Aihe :{lred}";c$ 3040 print"{down}{lgrn}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{down}{gry3}":return 3050 for qq=1 to 16:w$(qq)="":next 3060 gosub 2980:for i=1 to 16 3070 print":";:input w$(i) 3080 next 3090 gosub 2980 3100 for i=1 to 16 3110 print w$(i);" ";:next 3120 print:print"{down}{grn}Onko OK? (k/e)" 3130 get q$:if q$="" goto 3130 3140 if q$="k" or q$="K" goto 3160 3150 goto 2760 3160 f$=left$(v$,12)+".msg" 3170 r$=f$+",s,r" 3180 open 3,8,2,r$:get#3,u$:close 3:uu%=0 3190 if u$="/" then r$=f$+",s,a":goto 3210 3200 r$=f$+",s,w":uu%=1 3210 open 3,8,2,r$ 3220 if uu%=1 then print#3,"/":uu%=0 3230 print#3,"@@@@@@@@@@@@@@@ Message @@@@@@@@@@@@@@@@" 3240 print#3,"Lahettaja :";n$ 3250 if ju%=1 then print#3," Julkinen viesti":goto 3270 3260 print#3,"Vast.ottaja :";v$ 3270 print#3,"Paivays :";g$ 3280 print#3,"Aihe :";c$ 3290 print#3,"{down}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{down}" 3300 for i=1 to 16 3310 print#3,w$(i);" ";:next 3320 print#3 3330 close 3 3340 print"{clr}Viesti kirjoitettu." 3350 goto 2770 3360 rem 3370 rem lue yksit.viestit 3380 rem 3390 print"{clr}"; 3400 r$=left$(n$,12)+".msg,s,r" 3410 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 3420 if z then goto 3490 3430 open 2,8,2,r$ 3440 get#2,f$:print f$; 3450 if st<>64 goto 3440 3460 close 2 3470 gosub 3730 3480 goto 3500 3490 print" -- Ei viesteja laatikossa." 3500 goto 2770 3510 rem 3520 rem lue julk.viestit 3530 rem 3540 print"{clr}"; 3550 r$="ALL.msg,s,r" 3560 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 3570 if z then goto 3490 3580 open 2,8,2,r$ 3590 get#2,f$:print f$; 3600 if st<>64 goto 3590 3610 close 2 3620 goto 1330 3630 rem 3640 rem m a i l c h e c k 3650 rem e n g i n e 3660 rem by urpo l. 30081994 3670 r$=left$(n$,12)+".msg,s,r" 3680 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 3690 if z then goto 3710 3700 print"postilaatikossasi on postia.":ml%=1:goto 3720 3710 print"postilaatikkosi on tyhja.":ml%=0 3720 return 3730 rem 3740 rem tyhjenna postilaatikko 3750 rem 3760 input"Tyhjennanko";t$:if t$<>"k" and t$<>"K" then goto 3990 3770 r$=left$(n$,12)+".msg,s,r" 3780 no$=left$(n$,12) 3790 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 3800 if z then goto 3820 3810 goto 3830 3820 print"laatikko on jo tyhja!":goto 3990 3830 print"tyhjennan postilaatikon." 3840 r$=no$+".rcd,s,r" 3850 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 3860 if z=0 then goto 3910 3870 goto 3980 3880 rem 3890 rem swappaa vanhan peraan 3900 rem 3910 k$="r0:FOO.old="+no$+".rcd":gosub 4060 3920 k$="r0:FOO.msg="+no$+".msg":gosub 4060 3930 k$="c0:FOO.rcd=FOO.old,FOO.msg":gosub 4060 3940 k$="s0:FOO.old":gosub 4060 3950 k$="s0:FOO.msg":gosub 4060 3960 k$="r0:"+no$+".rcd=FOO.rcd":gosub 4060 3970 goto 3990 3980 k$="r0:"+no$+".rcd="+no$+".msg":gosub 4060 3990 return 4000 rem 4010 rem laheta levykomento 4020 rem k$=komento 4030 rem 4040 rem adminille myos kaiutetaan 4050 rem 4060 open 1,8,15:if pr$="*" then print k$ 4070 print#1,k$:input#1,z,z$,zz,zx 4080 if pr$="*" then print z;" ";z$ 4090 close 1:forx=1to1000:next:return 4100 rem 4110 rem arkistoi julkiset viestit 4120 rem 4130 input"Arkistoinko";t$:if t$<>"k" and t$<>"K" then goto 3990 4140 r$="ALL.msg,s,r" 4150 no$="ALL" 4160 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 4170 if z then goto 3820 4180 goto 3830 4190 print"ei ole julkisia viesteja!":goto 3990 4200 print"Arkistoin, hetki..." 4210 r$=no$+".rcd,s,r" 4220 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 4230 if z=0 then goto 4280 4240 goto 4340 4250 rem 4260 rem swappaa vanhan peraan 4270 rem 4280 k$="r0:"+no$+".old="+no$+".rcd":gosub 4060 4290 k$="c0:"+no$+".rcd="+no$+".old,"+no$+".msg":gosub 4060 4300 k$="s0:"+no$+".old":gosub 4060 4310 goto 3990 4320 k$="r0:"+no$+".rcd="+no$+".msg":gosub 4060 4330 return 4340 k$="r0:"+no$+".rcd="+no$+".msg":gosub 4060 4350 return 4360 rem logo ************************ 4370 print"{clr} {orng}{CBM-A}@@@@{CBM-S} {wht}{CBM-A}@{CBM-A}@{CBM-S}{CBM-A}@{CBM-S}{CBM-A}@{CBM-S}{CBM-A}@{CBM-S}{CBM-A}@" 4380 print" {orng}{CBM-Z}{CBM-S}{yel}**{orng}{CBM-A}{CBM-X} {cyn}] {CBM-Q}@{CBM-W}{CBM-Q}@{CBM-W}{CBM-Q}@{CBM-X}{CBM-Q}@{CBM-W}]" 4390 print" {orng}] ] {lblu}{CBM-Z}{CBM-S}] ]] ]] ] ]{CBM-Z}{CBM-S}{blu}Made in Finland" 4400 print" {orng}] ] {gry3}]] ]] ]] ] ] ] {rvon}{wht} {blu} {wht} {rvof} {lgrn}by" 4410 print" {orng}] {CBM-Z}{CBM-S} {gry2}@{CBM-X} {gry1}BOOT {gry2}@{CBM-X} {rvon}{blu} {rvof} {lblu}MALLORCA" 4420 print" {orng}]{CBM-A}{CBM-S} {CBM-Z}@@{CBM-S} {rvon}{wht} {blu} {wht} {rvof} {lblu}SOFT" 4430 print" {orng}{CBM-Z}{CBM-X}{CBM-Z}@@@@{CBM-X}{gry3}{pur} ";ve$;"{lgrn} last ed {gry3}";ed$ 4440 rem print" {grn}Copyright (c) Urpo Lankinen 1991-1996" 4450 rem print" {blu}All rights reserved{gry3}" 4460 print"{yel} {rvon} BROUGHT{$a0}TO{$a0}YOU{$a0}BY: {rvof}{gry3}" 4470 print"{down} {gry2}Urpo {lgrn}WwW-Wolf{gry2} Lankinen{gry3}" 4480 print" File access, mail engine, boot" 4490 print" engine, rest of engines" 4500 print" and all the dirty job" 4510 print" = I did nearly everything..." 4520 print"{down} {gry2}Mikko {lblu}Okkim{gry2} Tormanen{gry3}" 4530 print" He invented diary system" 4540 print" and created games." 4550 get fp$: if fp$="" goto 4550 4560 return 4570 rem 4580 rem sysoppi lukee kauttajan postit 4590 rem 4600 print"{clr}Anna kayttajan nimi:" 4610 input y$ 4620 print"{clr}"; 4630 r$=left$(y$,12)+".msg,s,r" 4640 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 4650 if z then goto 3490 4660 open 2,8,2,r$ 4670 get#2,f$:print f$; 4680 if st<>64 goto 4670 4690 close 2 4700 goto 2290:rem sysop menu 4710 rem 4720 rem lue postiarkisto 4730 rem 4740 print"{clr}"; 4750 r$=left$(n$,12)+".rcd,s,r" 4760 open 2,8,2,r$:close 2:open 15,8,15:input#15,z,z$,zz,zx:close 15 4770 if z then goto 3490 4780 open 2,8,2,r$ 4790 get#2,f$:print f$; 4800 if st<>64 goto 4790 4810 close 2 4820 rem 4830 rem poista postiarkisto 4840 rem 4850 input"{wht}{down}Poistanko{gry3}";an$ 4860 r$=left$(n$,12)+".rcd" 4870 if an$<>"k" and an$<>"K" goto 4890 4880 goto 4910 4890 open 15,8,15 4900 print#15,"s0:";r$:close 15 4910 goto 1330 4920 r$="ALL.rcd":goto 4890 4930 rem 4940 rem sysoppi tekee selvaa jalkea 4950 rem duunarin postiarkistoista... 4960 rem 4970 input"Kayttajanimi";y$ 4980 r$=left$(y$,12)+".rcd" 4990 print"Oletko nyt AIVAN varma?" 5000 print"Meinaan, han ei varmaankaan" 5010 print"ihan tykkaa siita." 5020 input"siis 'K' jos joo.";y$ 5030 if y$<>"K" then return 5040 open 15,8,15:print#15,"s0:";r$:close 15 5050 return
(Syntax coloured with Enscript and with some hand-tweaking)
[Index] [Up] [Main] [Weyfour WWWWolf]
Last modified: $Date: 2008-04-18 10:52:43 +0300 (pe, 18 huhti 2008) $