2022-02-22 20:07:19 +00:00
|
|
|
%import textio
|
2022-03-13 11:52:12 +00:00
|
|
|
|
2022-03-24 23:17:41 +00:00
|
|
|
; NOTE: meant to test to virtual machine output target (use -target vitual)
|
|
|
|
|
2021-10-30 13:15:11 +00:00
|
|
|
main {
|
2022-02-15 22:16:49 +00:00
|
|
|
sub start() {
|
2022-03-24 23:17:41 +00:00
|
|
|
txt.clear_screen()
|
|
|
|
txt.print("Welcome to a prog8 pixel shader :-)\n")
|
2022-02-27 15:27:02 +00:00
|
|
|
|
2022-03-27 22:18:56 +00:00
|
|
|
uword ww = 0
|
|
|
|
ubyte bc
|
|
|
|
uword wc
|
|
|
|
|
|
|
|
for bc in "irmen" {
|
|
|
|
; +5 -> 17
|
|
|
|
txt.chrout(bc)
|
|
|
|
ww++
|
|
|
|
}
|
|
|
|
txt.print_uw(ww)
|
|
|
|
txt.nl()
|
|
|
|
|
|
|
|
for wc in [1000,1111,1222] {
|
|
|
|
txt.print_uw(wc)
|
|
|
|
txt.spc()
|
|
|
|
ww++ ; +3 -> 20
|
|
|
|
}
|
|
|
|
txt.print_uw(ww)
|
2022-03-27 17:34:49 +00:00
|
|
|
txt.nl()
|
2022-03-27 19:59:46 +00:00
|
|
|
|
2022-03-27 22:18:56 +00:00
|
|
|
for bc in 10 to 20 step 3 {
|
|
|
|
; 10,13,16,19 -> 4
|
|
|
|
ww++
|
|
|
|
}
|
|
|
|
txt.print_uw(ww)
|
|
|
|
txt.nl()
|
|
|
|
for bc in 30 to 10 step -4 {
|
|
|
|
; 30,26,22,18,14,10,6,2 -> +8 -> 12
|
|
|
|
ww++
|
|
|
|
}
|
|
|
|
txt.print_uw(ww)
|
2022-03-27 17:34:49 +00:00
|
|
|
txt.nl()
|
2022-03-27 22:18:56 +00:00
|
|
|
|
|
|
|
|
2022-03-27 19:59:46 +00:00
|
|
|
sys.exit(99)
|
|
|
|
|
|
|
|
|
|
|
|
syscall1(8, 0) ; enable lo res creen
|
|
|
|
ubyte shifter
|
2022-03-27 12:23:01 +00:00
|
|
|
|
2022-03-27 19:59:46 +00:00
|
|
|
shifter >>= 1
|
2022-03-27 12:23:01 +00:00
|
|
|
|
2022-03-27 19:59:46 +00:00
|
|
|
repeat {
|
|
|
|
uword xx
|
|
|
|
uword yy = 0
|
|
|
|
repeat 240 {
|
|
|
|
xx = 0
|
|
|
|
repeat 320 {
|
|
|
|
syscall3(10, xx, yy, xx*yy + shifter) ; plot pixel
|
|
|
|
xx++
|
|
|
|
}
|
|
|
|
yy++
|
|
|
|
}
|
|
|
|
shifter+=4
|
2022-03-27 12:23:01 +00:00
|
|
|
|
2022-03-27 19:59:46 +00:00
|
|
|
txt.print_ub(shifter)
|
|
|
|
txt.nl()
|
|
|
|
}
|
2022-03-04 21:26:46 +00:00
|
|
|
}
|
2022-02-17 23:40:31 +00:00
|
|
|
}
|