home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 63
/
063.d81
/
basics
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
3KB
|
73 lines
100 dimcat$(11),amount$(11):fori=1to11:ca$(i)="[206]ot defined":am$(i)="0.00":next
110 ca$(11)="[197]nter [215]ages ->":mode=0
120 wl$="[215]hat's left ->"
130 poke53281,15:poke53280,15:print"[147][144]";
140 sp$=" "
150 rem menu
160 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]";
170 print"[221] [195] [200][160][197][160][193][160][208][160][160][160][195][160][193][160][204][160][195] [146][221]";
180 fori=1to11:print"[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][219][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
190 print"[221] [221] [221]";:next
200 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";:poke2023,125
210 poke56295,peek(646)
220 rem clear line links
230 fori=217to242:pokei,peek(i)or128:next
240 rem main program
250 item=11:poke631,13:poke198,1
260 fori=1to11:poke211,1:poke214,1+2*i:sys58732:printca$(i);
270 printtab(30-len(am$(i)))" "am$(i):next
280 geta$:gosub370:ifa$=""then280
290 ifa$=""andpeek(653)=4thengosub700
300 ifa$=""andpeek(653)=0thent=-1:gosub380:it=it+1:ifit>11thenit=1
310 ifa$="[145]"thent=-1:gosub380:it=it-1:ifit<1thenit=11
320 ifa$=""ora$="[157]"thent=-1:gosub380:mode=not mode
330 ifit=11andmode=-1then350
340 ifa$=chr$(13)then560
350 t=0:gosub380
360 goto280
370 ifti<15thenreturn
380 t=nott:poke199,-t:poke211,1:poke214,1+2*it:sys58732:if-modethen400
390 printtab(38-len(am$(it)))am$(it):ti$="000000":return
400 printca$(it):ti$="000000":return
410 rem input routine
420 w$="":print">[146][157]";:limit=8:ifmode=-1thenli=18
430 geta$:ifa$="[145]"ora$=""ora$="[157]"ora$=""ora$=""ora$="[147]"ora$=""then430
440 lw=len(w$):as=asc(a$):ifas=13oras=141oras=20then490
445 ifnotmodethenifas<43oras>57then420
450 ifpeek(653)=2orpeek(653)=4oras=148then430
460 iflw=limit and(as<>20andas<>13andas<>141)then430
470 ifas=34or(as>=133andas<=140)or(as>=1andas<=31)then430
480 w$=w$+a$:printa$">[146][157]";:lw=len(w$):goto430
490 ifas=20andw$<>""thenw$=left$(w$,lw-1):print"[157]<[146] [157][157]";:goto430
500 ifas=20andw$=""then430
510 ifas=13thenprint" ";:lw=len(w$):return
520 rem calculate total
530 tt=val(tt$):fori=1to10:tt=tt-val(am$(i)):next
540 a$=str$(tt):gosub620:am$(11)=a$:return
550 rem enter data
560 poke211,1-(-mo=0)*27:poke214,2*it+1:sys58732
570 print" [157][157][157][157][157][157][157][157][157][157][157]";:gosub420
580 ifmodethenifw$<>""thenca$(it)=w$:goto260
590 ifw$<>""thena$=w$:gosub620:am$(it)=a$:ifit=11thentt$=a$:ca$(11)=wl$:it=1
600 gosub530:gosub790
610 goto260
620 rem round a$ to nearest penny
630 a$=str$(val(a$)):a$=a$+".00":a$=str$(int(val(a$)*100+.5)/100)
640 ifa$=" 0"thena$=" 0.00"
650 ifval(a$)>.99andval(a$)<10.1thenifval(a$)=int(val(a$))then680
660 ifmid$(a$,len(a$)-2,1)="."thenreturn
670 ifmid$(a$,len(a$)-1,1)="."thena$=a$+"0":return
680 a$=a$+".00":return
690 rem get two ctrl-q's
700 poke198,0:poke53281,1:wait198,1:poke53281,15
710 geta$:ifa$<>""orpeek(653)<>4thenreturn
720 rem return to loadstar
730 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
740 if er<>63 then print"[147]":end
750 a$="hello connect":q$=chr$(34):print"[147]":poke646,peek(53281)
760 print"load"q$a$q$",8"
770 print"run":poke631,13:poke632,13:poke198,2:end
780 rem update top of menu
790 a$=str$(val(tt$)-val(am$(11))):gosub630:rem calculate expenditures
800 print"[197]xpenditures:$"a$" "tab(25)"[195][212][210][204]-[209] to quit":return