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
|
|
|
|
|
|
|
float clock_seconds = ((c64.TIME_LO as float) + 256.0*(c64.TIME_MID as float) + 65536.0*(c64.TIME_HI as float)) / 60
|
|
|
|
ubyte hours = clock_seconds / 3600 as ubyte
|
|
|
|
clock_seconds -= hours * 3600
|
|
|
|
ubyte minutes = clock_seconds / 60 as ubyte
|
|
|
|
clock_seconds -= minutes * 60
|
|
|
|
ubyte seconds = 0; clock_seconds as ubyte ; @todo fix crash
|
|
|
|
|
|
|
|
|
|
|
|
; @todo implement strcpy/strcat/strlen?
|
|
|
|
c64scr.print("system time is ")
|
|
|
|
c64scr.print_ub(hours)
|
|
|
|
c64.CHROUT(':')
|
|
|
|
c64scr.print_ub(minutes)
|
|
|
|
c64.CHROUT(':')
|
|
|
|
c64scr.print_ub(seconds)
|
|
|
|
c64.CHROUT('\n')
|
2018-12-09 18:48:59 +00:00
|
|
|
}
|
2018-11-25 00:17:39 +00:00
|
|
|
|
|
|
|
}
|