prog8/examples/screencodes.p8

40 lines
974 B
Plaintext
Raw Normal View History

%target c64
%import textio
2020-02-07 19:47:38 +00:00
%zeropage basicsafe
; TODO use setcc instead of poking screen ram directly to make this cross-system
2020-02-07 19:47:38 +00:00
main {
sub start() {
txt.lowercase()
2020-02-07 19:47:38 +00:00
str s1 = "HELLO hello 1234 @[/]" ; regular strings have default encoding (petscii on c64)
str s2 = @"HELLO hello 1234 @[/]" ; alternative encoding (screencodes on c64)
2020-02-07 19:47:38 +00:00
2020-08-27 16:10:22 +00:00
txt.print("\n\n\n\nString output via print:\n")
txt.print("petscii-str: ")
txt.print(s1)
txt.print("\nscrcode-str: ")
txt.print(s2)
2020-02-07 19:47:38 +00:00
2020-08-27 16:10:22 +00:00
txt.print("\n\nThe top two screen lines are set via screencodes.\n")
2020-02-07 19:47:38 +00:00
ubyte i
for i in 0 to len(s1)-1
2020-02-07 19:47:38 +00:00
@($0400+i) = s1[i]
for i in 0 to len(s2)-1
2020-02-07 19:47:38 +00:00
@($0400+40+i) = s2[i]
ubyte c1 = 'z'
ubyte c2 = @'z'
2020-08-27 16:10:22 +00:00
txt.print("\npetscii z=")
txt.print_ub(c1)
txt.print("\nscreencode z=")
txt.print_ub(c2)
txt.print("\n")
2020-02-07 19:47:38 +00:00
}
}