prog8/examples/hello.p8

47 lines
1.1 KiB
Plaintext
Raw Normal View History

2018-11-25 00:17:39 +00:00
%import c64lib
%import c64utils
2019-01-24 20:45:50 +00:00
%import c64flt
%zeropage basicsafe
2019-01-24 20:45:50 +00:00
2018-11-25 00:17:39 +00:00
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
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
; use optimized routine to write text
c64scr.print("Hello!\n")
2018-12-18 14:12:56 +00:00
; use iteration to write text
str question = "How are you?\n"
ubyte char
for char in question
2018-12-18 14:12:56 +00:00
c64.CHROUT(char)
; use indexed loop to write characters
2018-12-18 14:12:56 +00:00
str bye = "Goodbye!\n"
for char in 0 to len(bye)-1
c64.CHROUT(bye[char])
2018-11-25 00:17:39 +00:00
2019-01-24 20:45:50 +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
c64scr.print("system time in ti$ is ")
c64flt.print_f(hours)
2019-01-24 20:45:50 +00:00
c64.CHROUT(':')
c64flt.print_f(minutes)
2019-01-24 20:45:50 +00:00
c64.CHROUT(':')
c64flt.print_f(clock_seconds)
2019-01-24 20:45:50 +00:00
c64.CHROUT('\n')
c64scr.print("bye!\n")
}
2018-11-25 00:17:39 +00:00
}