home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 December
/
64er_Magazin_93-12_1993_Markt__Technik_de_Side_B.d64
/
card-o-mat
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
18KB
|
586 lines
3 rem cardomat*(c) p.laackmann & m.janke
100 rem *** main ***
110 gosub 09000 :rem init
120 if lf=2 then goto 230
130 if lf=3 then goto 250
140 gosub 16000 :rem lesemaske
150 gosub 12000 :rem sprung masch-prg.
160 gosub 13000 :rem auswertung
170 if ff<>0 then goto 110
180 gosub 15000 :rem hauptmaske
190 gosub 14000 :rem ausgabe
200 gosub 18000 :rem abspeichern
210 gosub 23000 :rem drucken
220 goto 110
230 gosub 24000 :rem alte werte lesen
240 goto 110
250 gosub 25000 :rem ende
260 sys 64738
8999 :
9000 rem *** init1 ***
9010 poke 45,01
9020 poke 46,116
9030 poke 47,01
9040 poke 48,116
9050 poke 49,01
9060 poke 50,116
9070 gosub 11000
9080 gosub 10000 :rem maske ausgeben
9090 dim dd$(15)
9100 poke ls,co
9110 sys mh
9120 poke ls,fa
9130 return
9999 :
10000 rem *** hauptmenue ***
10010 printchr$(142);"[147][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]";
10020 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
10030 print"[194][194] card-o-mat v2.4[146][194][194]";
10040 print"[194][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][194]";
10050 print"[194][194] (c) by p. laackmann & m. janke [146][194][194]";
10060 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
10070 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]";
10080 print"[194] bitte waehlen sie : [194]";
10090 print"[194] [194]";
10100 print"[194] 1. karte lesen, [194]";
10110 print"[194] 2. alte kartendaten auswerten oder [194]";
10120 print"[194] 3. programm beenden. [194]";
10130 print"[194] [194]";
10140 print"[194] ihre wahl ? (1/2/3) [194]";
10150 print"[194] [194]";
10160 print"[194] [194]";
10170 print"[194] [194]";
10180 print"[194] [194]";
10190 print"[194] [194]";
10200 print"[194] [194]";
10210 print"[194] [194]";
10220 print"[194] [194]";
10230 print"[194] [194]";
10240 print"[194] [194]";
10250 print"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
10260 poke 2023,75
10270 get ta$:if ta$="" then goto 10270
10280 lf=val(ta$)
10290 if a$="2" then lf=2:return
10300 if lf<1 or lf>3 then 10270
10310 return
10999 :
11000 rem *** init2 ***
11010 ba = 49152
11020 mh = 18296
11030 ma = 00139
11040 ja = 00140
11050 ha = 00141
11060 ta = 00142
11070 r1 = 00171
11080 r2 = 00170
11090 fa = 00002
11100 ls = 49162
11110 co = 00170
11999 return
12000 rem *** aufruf lesen ***
12010 poke 198,0
12020 print" bitte taste druecken "
12030 for w=0 to 25:get ta$:if ta$<>"" then goto 12090
12040 next w
12050 print" bitte taste druecken [146]"
12060 for w=0 to 25:get ta$:if ta$<>"" then goto 12090
12070 next w
12080 goto 12020
12090 gosub 17000
12100 print" ich lese daten ! "
12110 sys mh
12120 return
12630 return
12999 :
13000 rem *** auswertung ***
13010 print" ich berechne daten ! "
13020 ff = 0
13030 fk = peek (fa)
13040 if fk = 0 then goto 13120
13050 ff = 1
13060 if fk = 001 then fm$ = " fehler 1! taste! "
13070 if fk = 002 then fm$ = " fehler 2! taste! "
13080 if fk = 004 then fm$ = " fehler 3! taste! "
13090 if fk = 008 then fm$ = " fehler 4! taste! "
13110 goto 13500
13120 s1 = peek(ba+0)
13130 s2 = peek(ba+1)
13140 s3 = peek(ba+2)
13150 s4 = peek(ba+3)
13160 s5 = peek(ba+4)
13170 s6 = peek(ba+5)
13180 s7 = peek(ba+6)
13190 s8 = peek(ba+7)
13200 sn$=right$(str$(s1),1)
13210 sn$=sn$+right$(str$(s2),1)
13220 sn$=sn$+right$(str$(s3+100),2)
13230 sn$=sn$+right$(str$(s4),1)
13240 sn$=sn$+right$(str$(s5),1)
13250 sn$=sn$+right$(str$(s6),1)
13260 sn$=sn$+right$(str$(s7),1)
13270 sn$=sn$+right$(str$(s8),1)
13280 sn$=sn$+"xx"
13290 mo=peek(ma)
13300 jh=peek(ja)
13310 da$=right$(str$(mo+100),2)+"/"
13320 da$=da$+right$(str$(jh+100),2)
13330 he=peek(ha)
13340 if he=240 then he$="orga":goto 13380
13345 if he=241 then he$="g+d":goto 13380
13350 if he=242 then he$="ods":goto 13380
13360 if he=243 then he$="gem plus":goto 13380
13365 if he=244 then he$="solaric":goto 13380
13370 he$="unbekannt"
13380 ty=peek(ta)
13383 if ty=4 then ty$=" 20 6":en=20:en$="[160]20 "
13386 if ty=4 then an$=" 6":md= 6:md$=" 6 ":goto 13450
13390 if ty=5 then ty$=" 4012":en=40:en$="[160]40 "
13400 if ty=5 then an$="12":md=12:md$=" 12 ":goto 13450
13410 if ty=6 then ty$="20050":en=200:en$=" 200 "
13420 if ty=6 then an$="60":md=60:md$=" 60 ":goto 13450
13430 ty$="unbekannt ":en=100:md=100:en$=" ?? ":md$=" ?? "
13440 an$="100":md=100
13450 re=peek(r1)+peek(r2)*256
13460 re$=right$(str$(int(re/30)+1000),3)
13470 re$=re$+""
13480 re$=re$+mid$(str$((re/100)+100.001),3,5)
13490 return
13500 gosub 17000
13510 print"";fm$
13520 gosub 19000
13530 print"[194] [194]";
13540 print"[194] fehlermeldungen: [194]";
13550 print"[194] 1 = karte falsch/fehlerhaft [194]";
13560 print"[194] 2 = karte falsch/fehlerhaft [194]";
13570 print"[194] 3 = auslesen techn. nicht moeglich [194]";
13580 print"[194] 4 = keine telefondebitkarte [194]";
13590 print"[194] oder fehlerhafter/falscher anschluss![194]";
13610 get ta$
13620 if ta$= "" then goto 13610
13630 return
13999 :
14000 rem *** ausgabe ***
14040 print" "
14050 print"";sn$
14060 print"";he$
14070 print"";da$
14080 print"";ty$
14090 print"";re$
14100 print"";an$
14110 kn=int(re*0.36/md)
14120 if kn=0 and re>0 then bl$="[161]":goto 14180
14130 if kn=0 then goto 14190
14140 if kn>36 then kn=36
14150 bl$=""
14160 for w=1 to kn:bl$=bl$+" ":next w
14170 bl$=""+bl$+"[146]"
14180 print"";bl$
14190 print" weiter ? (j)? "
14200 get ta$
14210 if ta$="j" or ta$="[202]" then return
14220 goto 14200
14999 :
15000 rem *** hauptmaske ***
15010 print"[213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]";
15020 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
15030 print"[194][194] card-o-mat v2.4[146][194][194]";
15040 print"[194][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][194]";
15050 print"";
15060 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
15070 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]";
15080 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
15090 print"[194][194]serien-nummer : [194][194]";
15100 print"[194][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][194]";
15110 print"[194][194]karten-hersteller : [194][194]";
15120 print"[194][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][194]";
15130 print"[194][194]karten-fertigungs-datum : [194][194]";
15140 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
15150 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
15160 print"[194][194]kartenart : gebuehren = dm [194][194]";
15170 print"[194][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][194]";
15180 print"[194][194]verfuegbar: gebuehren = , dm[194][194]";
15190 print"[194][194][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][194][194]";
15200 print"[194][194]0 dm dm[194][194]";
15210 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
15220 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
15230 print"[194][194]user-message : [194][194]";
15240 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
15250 print"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
15260 poke 2023,75
15270 return
15999 :
16000 rem *** lesemaske ***
16010 print"[194] [194]";
16020 print"[194] bitte geben sie jetzt die telefon- [194]";
16030 print"[194] karte wie angegeben in den leser! [194]";
16040 print"[194] und druecken sie dann eine taste! [194]";
16050 for w=0 to 9
16060 print"[194] [194]";
16070 next
16080 print"[194][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][194]";
16090 print"[194][194]user-message : [194][194]";
16100 print"[194][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][194]";
16110 print"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
16120 poke 2023,75
16130 return
16999 :
17000 rem *** loeschmaske ***
17010 print"[194] [194]";
17020 for w=0 to 12
17030 print"[194] [194]";
17040 next
17050 return
17999 :
18000 rem *** abspeichern ? ***
18010 gosub 17000
18020 print"[194] moechten sie die daten auf [194]";
18030 print"[194] diskette abspeichern ? [194]";
18040 print" daten saven ? (j/n)? "
18050 get ta$
18060 if ta$="j" or ta$="[202]" then goto 18090
18070 if ta$="n" or ta$="[206]" then return
18080 goto 18050
18090 poke 768,61
18100 open 1,8,15
18110 print#1,"i"
18120 close 1
18130 poke 768,139
18140 if not(st=-128) then goto 18170
18150 print"";
18160 print" disk an! saven?(j/n)?"
18163 gosub 19000
18166 goto 18050
18170 ka=1
18175 gosub 20000
18180 df=1:ka=0
18190 print"[194] bitte geben sie das aktuelle datum [194]";
18200 print"[194] ein ! (format : tt.mm.jjjj) [194]";
18210 print" "
18220 print"";
18230 gosub 26000:dl$=in$
18240 dl$=left$(dl$,10)
18250 ta=val(left$(dl$,2))
18260 if ta<1 or ta>31 then goto 18320
18270 mo=val(mid$(dl$,4,2))
18280 if mo<1 or mo>12 then goto 18320
18290 ja=val(right$(dl$,4))
18300 if ja<1991 or ja>2010 then goto 18320
18310 goto 18340
18320 print"[194] bitte eingabe ueberpruefen !! [194]";
18325 gosub 19000
18330 goto 18210
18340 print"";
18350 print"[194] bitte geben sie jetzt den filenamen [194]";
18360 print"[194] ein, unter dem die daten auf der [194]";
18370 print"[194] eingelegten diskette abgespeichert [194]";
18380 print"[194] werden sollen! ($=directory) [194]";
18390 gosub 16050
18400 print"";
18410 gosub 26000:dn$=in$
18420 if left$(dn$,1)="$" then gosub 21000:goto 18340
18430 dn$=left$(dn$,17)
18440 open 2,8,2,dn$+",s,w"
18450 gosub 20000
18460 if nn=1 then nn=0:close2:goto 18340
18463 close2
18465 open 2,8,2,dn$+",s,a"
18470 lk=2
18480 gosub 22000
18490 close 2
18500 return
18999 :
19000 rem *** beep ***
19010 poke 54296,15
19020 poke 54277,25
19030 poke 54278,68
19040 poke 54275,29
19050 poke 54274,69
19060 poke 54273,14
19070 poke 54272,162
19080 poke 54276,17
19090 for w=0 to 200
19100 next
19110 poke 54276,0
19120 poke 54296,0
19130 return
19999 :
20000 rem *** fehlerkanal ***
20010 open 15,8,15
20020 input#15,f1,f2$,f3,f4
20030 close15
20040 if f1=0 then gosub 17000:return
20050 print"";
20060 print"[194] achtung : [194]";
20070 print"[194] disk-meldung nr. "right$("00"+str$(f1),2)": [194]";
20080 print"[194] ";left$(f2$+" ",15);" [194]";
20090 print"[194] fehler bitte beseitigen! [194]";
20095 gosub 19000
20100 gosub 16050
20110 print" diskbefehl senden ? "
20120 get ta$
20130 if ta$="j" or ta$="[202]" then goto 20160
20140 if ta$="n" or ta$="[206]" then goto 20310
20150 goto 20120
20160 print"";
20170 print"[194] bitte geben sie im unteren eingabe- [194]";
20180 print"[194] feld jetzt den diskbefehl ein ! [194]";
20190 print"[194] [194]";
20200 print"[194] [194]";
20210 gosub 16050
20220 print"";
20230 gosub 26000:db$=in$
20240 db$=left$(db$,20)
20250 open 15,8,15,db$
20260 close 15
20270 gosub 20000
20280 open 15,8,15,"i"
20290 close15
20300 gosub 20000
20310 if ka=1 then ka=0:return
20315 print"";
20320 print"[194] moechten sie einen neuen filenamen [194]";
20330 print"[194] eingeben? (j/n)? [194]";
20340 print"[194] [194]";
20350 print"[194] [194]";
20360 gosub 16050
20370 print" neuer name ? (j/n) ? "
20380 get ta$
20390 if ta$="j" or ta$="[202]" then nn=1:return
20400 if ta$="n" or ta$="[206]" then nn=2:return
20410 goto 20380
20999 :
21000 rem *** dir out ***
21010 print"";
21020 for w=0 to 13
21030 print"[194] [194]";
21040 next
21050 gosub 16080
21060 print"";
21070 open1,8,0,"$0"
21075 zz=0:ex=0
21080 get#1,d1$,d2$
21090 get#1,d1$,d2$,d1$,d2$
21100 d1=asc(d1$+chr$(0))+asc(d2$+chr$(0))*256
21110 print"[194] "right$(" "+str$(d1),3);" ";
21120 get#1,d2$:if st<>0 then goto 21200
21130 if d2$<>chr$(34) then goto 21120
21135 d3$=""
21140 get#1,d2$:ifd2$<>chr$(34)then d3$=d3$+d2$:goto 21140
21150 get#1,d2$:if d2$=chr$(32) then goto 21150
21160 printleft$(d3$+" ",18);:d3$=" "
21170 d3$=d3$+d2$:get#1,d2$:if d2$<>"" then goto 21170
21180 print left$(d3$+" ",7);"";
21182 zz=zz+1
21184 if zz=>13 then gosub 21230
21186 if ex=1 then close1:return
21190 if st=0 then goto 21090
21200 print" blocks free [194]";
21210 close1
21220 forw=1 to 13-zz:print"[194] [194]";:next
21230 print"";
21240 print" weiter ? (j/n)? "
21250 get ta$
21260 if ta$="j" or ta$="[202]" then goto 21290
21270 if ta$="n" or ta$="[206]" then ex=1:return
21280 goto 21250
21290 print" "
21300 zz=1
21310 print"";
21330 return
21999 :
22000 rem *** datenmaske ***
22010 print#lk,"bericht ueber telefonkarte mit der"
22020 print#lk," seriennummer ";sn$
22030 print#lk," stand vom ";dl$
22040 print#lk," kartenhersteller ";he$
22050 print#lk," kartenfertigung ";da$
22060 print#lk," von den";en$;"einheiten (=";md$;"dm)"
22070 print#lk," sind ";int(re/30);" uebrig (= ";
22073 print#lk,mid$(str$((re/100)+100.001),3,5);" dm)."
22075 if en=0 then print#lk:print#lk:goto 22100
22080 print#lk," der restwert betraegt also noch"
22090 print#lk,int(re/md);"prozent."
22100 print#lk," "
22110 print#lk," datenermittlung durch cardomat"
22120 print#lk," - listing des monats der 64'er -"
22130 print#lk," (c) by p.laackmann & m.janke ."
22140 print#lk," "
22150 return
22999 :
23000 rem *** drucken ? ***
23010 gosub 17000
23020 print"[194] moechten sie die daten auf einen [194]";
23030 print"[194] drucker (geraetenr.4) ausdrucken[160]? [194]";
23040 print" daten drucken?(j/n)? "
23050 get ta$
23060 if ta$="j" or ta$="[202]" then goto 23090
23070 if ta$="n" or ta$="[206]" then return
23080 goto 23050
23090 poke 768,61
23100 open 1,4
23110 print#1
23120 close 1
23130 poke 768,139
23140 if not(st=-128) then goto 23185
23150 print"";
23160 print" drucker an! ok?(j/n)?"
23170 gosub 19000
23180 goto 23050
23185 if df=1 then goto 23340
23190 print"[194] bitte geben sie das aktuelle datum [194]";
23200 print"[194] ein ! (format : tt.mm.jjjj) [194]";
23210 print" "
23220 print"";
23230 gosub 26000:dl$=in$
23240 dl$=left$(dl$,10)
23250 ta=val(left$(dl$,2))
23260 if ta<1 or ta>31 then goto 23320
23270 mo=val(mid$(dl$,4,2))
23280 if mo<1 or mo>12 then goto 23320
23290 ja=val(right$(dl$,4))
23300 if ja<1991 or ja>2010 then goto 23320
23310 goto 23340
23320 print"[194] bitte eingabe ueberpruefen !! [194]";
23325 gosub 19000
23330 goto 23210
23340 print"";
23350 print"[194] die daten werden nun gedruckt ! [194]";
23360 for w = 0 to 2
23370 print"[194] [194]";
23380 next
23390 gosub 16050
23400 open4,4
23410 lk=4
23420 gosub 22000
23430 close4
23440 return
23999 :
24000 rem *** lesen alter werte ***
24010 print"[194] [194]";
24020 print"[194] bitte geben sie jetzt den file- [194]";
24030 print"[194] namen an, unter dem die daten auf [194]";
24040 print"[194] diskette gespeichert sind! ($=dir) [194]";
24050 gosub 16050
24060 print"";
24070 gosub 26000:dn$=in$
24080 dn$=left$(dn$,17)
24090 poke 768,61
24100 open 1,8,15
24110 print#1,"i"
24120 close 1
24130 poke 768,139
24140 if not(st=-128) then goto 24220
24150 print"";
24160 print" disk an! ready?(j/n)?"
24170 gosub 19000
24180 get ta$
24190 if ta$="j" or ta$="[202]" then goto 24090
24200 if ta$="n" or ta$="[206]" then return
24210 goto 24180
24220 gosub 20000
24225 if nn=1 then nn=0:goto 24010
24226 if nn=2 then nn=0:return
24230 if left$(dn$,1)="$" then gosub 21000:goto 24010
24240 open 2,8,2,dn$+",s,r"
24250 gosub 20000
24260 if nn=1 then nn=0:close2:goto 24010
24262 if nn=2 then nn=0:close2:return
24263 close2
24265 open 2,8,2,dn$+",s,r"
24270 for w=0to13
24280 input#2,dd$(w)
24290 next
24300 close2
24310 print"[194] [194]";
24320 print"[194] moechten sie die daten auf dem bild- [194]";
24330 print"[194] schirm angezeigt bekommen? (j/n)? [194]";
24340 print"[194] [194]";
24350 gosub 16050
24360 print"";
24370 print" screen-output ?(j/n)?"
24380 get ta$
24390 if ta$="j" or ta$="[202]" then goto 24420
24400 if ta$="n" or ta$="[206]" then goto 24520
24410 goto 24380
24420 print"";
24430 for w=0 to 13
24440 print"[194] ";left$(dd$(w)+" ",37);"[194]";
24450 next
24470 gosub 16080
24480 print" weiter ? (j) ? "
24490 get ta$
24500 if ta$="j" or ta$="[202]" then goto 24520
24510 goto 24490
24520 print"[194] [194]";
24530 print"[194] moechten sie die daten auf dem [194]";
24540 print"[194] drucker (geraeteaddresse 4) [194]";
24550 print"[194] ausgegeben bekommen ? (j/n)? [194]";
24560 gosub 16050
24570 print"";
24580 print" druck-output ?(j/n)? "
24590 get ta$
24600 if ta$="j" or ta$="[202]" then goto 24630
24610 if ta$="n" or ta$="[206]" then return
24620 goto 24590
24630 poke 768,61
24640 open 1,4
24650 print#1
24660 close 1
24670 poke 768,139
24680 if not(st=-128) then goto 24730
24690 print"";
24700 print" drucker an! ok?(j/n)?"
24710 gosub 19000
24720 goto 24590
24730 print"";
24740 print" ich drucke! moment. "
24750 open4,4
24760 forw=0to13
24770 print#4,dd$(w)
24780 next
24790 print#4
24800 close4
24810 print" nochmal? (j/n)? "
24820 goto 24590
24999 :
25000 rem *** ende ***
25010 print"[194] danke fuer's arbeiten mit [194]";
25020 print"[194] *** card-o-mat *** [194]";
25030 print"[194] ein listing des monats der [194]";
25040 print"[194] 64'er -das magazin fuer computerfans [194]";
25050 gosub 16050
25060 print"";
25070 print"das war's!bis bald bei"
25080 get ta$
25090 if ta$<>"" then goto 25190
25100 for w=0to150
25110 next w
25120 print"";
25130 print" *** card-o-mat *** [146]"
25140 get ta$
25150 if ta$<>"" then goto 25190
25160 for w=0to150
25170 next w
25180 goto 25060
25190 print"[147]"
25200 return
25999 :
26000 rem *** input ***
26005 in$=""
26010 get ta$
26020 ta=asc(ta$+chr$(0))
26050 if ta>=35 and ta=<95 then goto 26110
26060 if ta =32 or ta =33 then goto 26110
26070 if ta =20 or ta=148 then goto 26150
26080 if ta=157 then goto 26150
26090 if ta =13 then return
26100 goto 26010
26110 if len(in$)>=17 then goto 26140
26120 in$=in$+ta$
26130 print ta$;
26140 goto 26010
26150 print"[157] [157]";
26160 in$=left$(in$,len(in$)-1)
26170 goto 26010