Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,13 @@
1 rem time since last reset
5 print chr$(147);chr$(14);
10 t$=ti$
20 h$=left$(t$,2)
30 m$=mid$(t$,3,2)
40 s$=right$(t$,2)
50 print chr$(19);"Roughly ";tab(9);h$;" hours "
51 print tab(9);m$;" minutes"
52 print tab(9);s$; " seconds":print
60 print "has elapsed since TI$ was last reset or"
65 print "the system was powered on.":print
70 print "Press any key to quit."
80 get k$:if k$="" then goto 10

View file

@ -0,0 +1,14 @@
5 rem set time to current time of day
10 print chr$(147);
20 input "Enter hour of day (0-23)";h$
25 if val(h$)<0 or val(h$)>23 then goto 20
30 input "Enter minutes (0-59)";m$
35 if val(m$)<0 or val(m$)>99 then goto 30
40 input "Enter seconds (0-59)";s$
45 if val(s$)<0 or val(s$)>99 then goto 40
60 ti$=h$+m$+s$
70 print chr$(147);
80 print chr$(19);"The time is now: ";ti$
85 print:print "Press any key to end."
90 get k$:if k$="" then 80
100 end

View file

@ -0,0 +1,68 @@
1 rem read and set cia time of day clock
2 rem rosetta code commodore 64/128 example
10 print chr$(147);chr$(14)
15 hr=56331:mr=56330:sr=56329:tr=56328:gosub 300
20 print spc(11);"CIA #1 Time of Day"
21 print:print "Press S to start or stop the clock."
22 print "Press T to change the time."
23 print:print "Press Q to quit.":print
25 h=peek(hr):m=peek(mr):s=peek(sr):th=peek(tr):t=h:gosub 200
35 print chr$(19);:for q=1 to 8:print chr$(17);:next q
36 print "Clock is:";tab(12);cl$(b):print
40 print "Hours:";tab(12);h;". "
45 print "Minutes:";tab(12);m;". "
50 print "Seconds:";tab(12);s;". "
55 print "1/10 Sec.:";tab(12);th;". "
60 print "AM or PM? ";tab(13);ap$
65 get k$:if k$="" then goto 25
70 if k$="s" and b=0 then poke tr,0:b=1:goto 25
75 if k$="s" and b=1 then poke hr,t:b=0:goto 25
80 if k$="t" then gosub 400:goto 20
90 if k$="q" then end
100 goto 25
200 rem decode bcd
210 ap$="AM":if (h and 128)=128 then ap$="PM"
220 s=int((s and 112)/16)*10+(s and 15)
230 m=int((m and 112)/16)*10+(m and 15)
240 h=int((h and 48)/16)*10+(h and 15)
250 return
300 rem decide if clock is running
305 cl$(0)="Stopped":cl$(1)="Running":b=0
301 rem latch, read/resume
310 z=peek(hr):t1=peek(tr)
315 for i=1 to 100:next i
320 z=peek(hr):t2=peek(tr)
325 if t1<>t2 then b=1
330 return
400 rem change clock value
405 print chr$(147)
410 input "Hour";nh$
415 if val(nh$)<1 or val(nh$)>12 then goto 410
416 if val(nh$)<10 then nh$="0"+nh$
420 input "Minutes";nm$
425 if val(nm$)<0 or val(nm$)>59 then goto 420
426 if val(nm$)<10 then nm$="0"+nm$
430 input "Seconds";ns$
435 if val(ns$)<0 or val(ns$)>59 then goto 430
436 if val(ns$)<10 then ns$="0"+ns$
440 print "AM or PM (a,p)? ";
445 get ap$:if ap$<>"a" and ap$<>"p" then 445
446 print ap$
450 ap=0:if ap$="p" then ap=128
455 rem convert input to bcd
457 ns=val(mid$(ns$,1,1))*16+val(mid$(ns$,2,1))
460 nm=val(mid$(nm$,1,1))*16+val(mid$(nm$,2,1))
465 nh=val(mid$(nh$,1,1))*16+val(mid$(nh$,2,1))
470 nh=nh+ap
475 rem now set values into clock
480 poke hr,nh:rem set hour stops clock
485 poke mr,nm:rem set minute
490 poke sr,ns:rem set second
495 poke tr,0 :rem set 1/10 starts clock
497 b=1
499 print chr$(147):return