prog8/examples/cx16/datetime.p8

61 lines
1.4 KiB
Plaintext
Raw Normal View History

; CommanderX16 text datetime example!
2020-09-09 20:49:32 +00:00
%target cx16
%import textio
%zeropage basicsafe
2020-07-26 22:32:59 +00:00
main {
2020-07-26 21:32:20 +00:00
sub start() {
cx16.clock_set_date_time(mkword(8, 2020 - 1900), mkword(19, 27), mkword(0, 16), 0)
txt.lowercase()
2020-08-26 17:34:12 +00:00
repeat {
txt.chrout(19) ; HOME
2020-08-27 16:21:12 +00:00
txt.print("\n yyyy-mm-dd HH:MM:SS.jj\n\n")
void cx16.clock_get_date_time()
txt.chrout(' ')
2020-08-26 17:34:12 +00:00
print_date()
txt.chrout(' ')
2020-08-26 17:34:12 +00:00
print_time()
txt.chrout('\n')
txt.chrout('\n')
uword jiffies = c64.RDTIM16()
txt.print_uw(jiffies)
}
2020-08-26 17:34:12 +00:00
}
sub print_date() {
txt.print_uw(1900 + lsb(cx16.r0))
txt.chrout('-')
if msb(cx16.r0) < 10
txt.chrout('0')
txt.print_ub(msb(cx16.r0))
txt.chrout('-')
if lsb(cx16.r1) < 10
txt.chrout('0')
txt.print_ub(lsb(cx16.r1))
2020-08-26 17:34:12 +00:00
}
2020-08-26 17:34:12 +00:00
sub print_time() {
if msb(cx16.r1) < 10
txt.chrout('0')
txt.print_ub(msb(cx16.r1))
txt.chrout(':')
if lsb(cx16.r2) < 10
txt.chrout('0')
txt.print_ub(lsb(cx16.r2))
txt.chrout(':')
if msb(cx16.r2) < 10
txt.chrout('0')
txt.print_ub(msb(cx16.r2))
txt.chrout('.')
if lsb(cx16.r3) < 10
txt.chrout('0')
txt.print_ub(lsb(cx16.r3))
2020-08-23 22:26:26 +00:00
}
}
2020-08-24 21:18:46 +00:00