mirror of
https://github.com/irmen/prog8.git
synced 2024-11-20 03:32:05 +00:00
103 lines
2.3 KiB
Lua
103 lines
2.3 KiB
Lua
%import textio
|
|
%import syslib
|
|
%import floats
|
|
%zeropage basicsafe
|
|
|
|
|
|
main {
|
|
|
|
|
|
; Color c1 = [11,22,33] ; TODO fix crash
|
|
; Color c2 = [11,22,33] ; TODO fix crash
|
|
; Color c3 = [11,22,33] ; TODO fix crash
|
|
; uword[] colors = [ c1, c2, c3] ; TODO should contain pointers to (the first element) of each struct
|
|
|
|
|
|
; str[] names = ["aap", "noot", "mies", "vuur"]
|
|
; uword[] names3 = ["aap", "noot", "mies", "vuur"]
|
|
; ubyte[] values = [11,22,33,44]
|
|
; uword[] arrays = [names, names3, values]
|
|
|
|
|
|
asmsub testX() {
|
|
%asm {{
|
|
stx _saveX
|
|
lda #13
|
|
jsr txt.chrout
|
|
lda _saveX
|
|
jsr txt.print_ub
|
|
lda #13
|
|
jsr txt.chrout
|
|
ldx _saveX
|
|
rts
|
|
_saveX .byte 0
|
|
}}
|
|
}
|
|
|
|
sub start() {
|
|
; byte bb = 100
|
|
; word ww = 30000
|
|
float ff1 = 1000
|
|
float ff2 = -1000
|
|
|
|
|
|
ubyte[10] xbuf
|
|
ubyte[10] ybuf
|
|
ubyte x
|
|
ubyte y
|
|
|
|
ubyte cc = xbuf[x] + ybuf[y] ; TODO should be split!!
|
|
ubyte cc2
|
|
cc2 = xbuf[x] + ybuf[y] ; will be split correctly?
|
|
|
|
return
|
|
|
|
ff1 = 1+((-ff1) *3)
|
|
floats.print_f(ff1)
|
|
floats.print_f(1+((-1000) *3))
|
|
testX()
|
|
ff1 = 1+((-ff2) *3)
|
|
floats.print_f(ff1)
|
|
floats.print_f(1+((- (-1000)) *3))
|
|
txt.chrout('\n')
|
|
testX()
|
|
return
|
|
|
|
; struct Color {
|
|
; ubyte red
|
|
; ubyte green
|
|
; ubyte blue
|
|
; }
|
|
;
|
|
; ;Color c1 = [11,22,33] ; TODO fix struct initializer crash
|
|
; Color c1
|
|
; Color c2
|
|
; Color c3
|
|
; ;Color c2 = [11,22,33]
|
|
; ;Color c3 = [11,22,33]
|
|
; ;uword[] colors = [ c1, c2, c3] ; TODO should contain pointers to (the first element) of each struct
|
|
;
|
|
; c1 = c2
|
|
; ;c1 = [11,22,33] ; TODO rewrite into individual struct member assignments
|
|
;
|
|
;
|
|
; uword s
|
|
; for s in names {
|
|
; txt.print(s)
|
|
; txt.chrout('\n')
|
|
; }
|
|
; txt.chrout('\n')
|
|
;
|
|
; txt.print(names[2])
|
|
; txt.chrout('\n')
|
|
; txt.print(names[3])
|
|
; txt.chrout('\n')
|
|
;
|
|
; repeat {
|
|
; txt.print(names3[rnd()&3])
|
|
; txt.chrout(' ')
|
|
; }
|
|
}
|
|
|
|
}
|