2018-11-25 00:17:39 +00:00
|
|
|
%import c64lib
|
|
|
|
%import c64utils
|
2019-01-24 20:45:50 +00:00
|
|
|
%import c64flt
|
|
|
|
|
2018-11-25 00:17:39 +00:00
|
|
|
|
|
|
|
~ main {
|
|
|
|
|
2018-12-18 14:12:56 +00:00
|
|
|
sub start() {
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2019-01-24 20:45:50 +00:00
|
|
|
; set text color and activate lowercase charset
|
|
|
|
c64.COLOR = 13
|
2018-12-18 14:12:56 +00:00
|
|
|
c64.VMCSB |= 2
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2019-01-15 20:35:15 +00:00
|
|
|
; use optimized routine to write text
|
|
|
|
c64scr.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-01-16 21:02:35 +00:00
|
|
|
for ubyte char in question
|
2018-12-18 14:12:56 +00:00
|
|
|
c64.CHROUT(char)
|
|
|
|
|
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"
|
2019-01-16 21:02:35 +00:00
|
|
|
for ubyte c in 0 to len(bye)
|
2018-12-18 14:12:56 +00:00
|
|
|
c64.CHROUT(bye[c])
|
2018-11-25 00:17:39 +00:00
|
|
|
|
2019-01-24 20:45:50 +00:00
|
|
|
|
2019-01-24 22:31:16 +00:00
|
|
|
float clock_seconds = ((mkword(c64.TIME_LO, c64.TIME_MID) as float) + (c64.TIME_HI as float)*65536.0) / 60
|
|
|
|
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
|
|
|
|
|
|
|
; @todo implement strcpy/strcat/strlen?
|
2019-01-24 22:31:16 +00:00
|
|
|
c64scr.print("system time in ti$ is ")
|
|
|
|
c64flt.print_f(hours)
|
2019-01-24 20:45:50 +00:00
|
|
|
c64.CHROUT(':')
|
2019-01-24 22:31:16 +00:00
|
|
|
c64flt.print_f(minutes)
|
2019-01-24 20:45:50 +00:00
|
|
|
c64.CHROUT(':')
|
2019-01-24 22:31:16 +00:00
|
|
|
c64flt.print_f(clock_seconds)
|
2019-01-24 20:45:50 +00:00
|
|
|
c64.CHROUT('\n')
|
2018-12-09 18:48:59 +00:00
|
|
|
}
|
2018-11-25 00:17:39 +00:00
|
|
|
|
|
|
|
}
|