2020-09-20 21:49:36 +00:00
|
|
|
%import syslib
|
|
|
|
%import textio
|
|
|
|
%import floats
|
2019-02-02 23:14:56 +00:00
|
|
|
%zeropage basicsafe
|
2019-01-24 20:45:50 +00:00
|
|
|
|
2020-09-21 23:34:05 +00:00
|
|
|
; Note: this program is compatible with C64 and CX16.
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2020-09-26 17:59:57 +00:00
|
|
|
; TODO why is this larger than on the previous compiler version?
|
|
|
|
|
2019-07-29 21:11:13 +00:00
|
|
|
main {
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2018-12-18 14:12:56 +00:00
|
|
|
sub start() {
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2020-09-19 20:37:24 +00:00
|
|
|
txt.lowercase()
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2019-01-15 20:35:15 +00:00
|
|
|
; use optimized routine to write text
|
2020-08-27 16:10:22 +00:00
|
|
|
txt.print("Hello!\n")
|
2018-12-18 14:12:56 +00:00
|
|
|
|
|
|
|
; use iteration to write text
|
2019-01-15 20:35:15 +00:00
|
|
|
str question = "How are you?\n"
|
2019-08-18 01:16:23 +00:00
|
|
|
ubyte char
|
|
|
|
for char in question
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.chrout(char)
|
2018-12-18 14:12:56 +00:00
|
|
|
|
2019-01-15 20:35:15 +00:00
|
|
|
; use indexed loop to write characters
|
2018-12-18 14:12:56 +00:00
|
|
|
str bye = "Goodbye!\n"
|
2020-02-07 00:22:07 +00:00
|
|
|
for char in 0 to len(bye)-1
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.chrout(bye[char])
|
|
|
|
|
|
|
|
ubyte time_lo
|
|
|
|
ubyte time_mid
|
|
|
|
ubyte time_hi
|
|
|
|
|
|
|
|
%asm {{
|
|
|
|
stx P8ZP_SCRATCH_REG
|
|
|
|
jsr c64.RDTIM ; A/X/Y
|
|
|
|
sta time_lo
|
|
|
|
stx time_mid
|
|
|
|
sty time_hi
|
|
|
|
ldx P8ZP_SCRATCH_REG
|
|
|
|
}}
|
|
|
|
|
|
|
|
float clock_seconds = ((mkword(time_mid, time_lo) as float) + (time_hi as float)*65536.0) / 60
|
2019-01-24 22:31:16 +00:00
|
|
|
float hours = floor(clock_seconds / 3600)
|
|
|
|
clock_seconds -= hours*3600
|
|
|
|
float minutes = floor(clock_seconds / 60)
|
|
|
|
clock_seconds = floor(clock_seconds - minutes * 60.0)
|
2019-01-24 20:45:50 +00:00
|
|
|
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.print("system time (jiffy clock) is ")
|
2020-09-20 21:49:36 +00:00
|
|
|
floats.print_f(hours)
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.chrout(':')
|
2020-09-20 21:49:36 +00:00
|
|
|
floats.print_f(minutes)
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.chrout(':')
|
2020-09-20 21:49:36 +00:00
|
|
|
floats.print_f(clock_seconds)
|
2020-09-21 23:34:05 +00:00
|
|
|
txt.chrout('\n')
|
2020-02-07 00:22:07 +00:00
|
|
|
|
2020-08-27 16:10:22 +00:00
|
|
|
txt.print("bye!\n")
|
2020-03-12 23:27:33 +00:00
|
|
|
}
|
2018-11-25 00:17:39 +00:00
|
|
|
}
|