commit f22e6b383716e34662cf60495cbc8275ba88d801
parent 48d4289671ba1b97da5efc50fdee795873f1fed5
Author: neauoire <aliceffekt@gmail.com>
Date: Thu, 11 Feb 2021 13:56:27 -0800
FillRect
Diffstat:
1 file changed, 19 insertions(+), 35 deletions(-)
diff --git a/examples/draw.usm b/examples/draw.usm
@@ -3,19 +3,13 @@
:dev/r fff8 ( std read port )
:dev/w fff9 ( std write port )
-;x_ 2 ;y_ 2
-
-;x 2 ;y 2 ;w 2 ;h 2
-;color 1
+;x_ 2 ;y_ 2 ;x 2 ;y 2 ;w 2 ;h 2 ;color 1
|0100 @RESET
( set dev/write to screen )
,01 ,dev/w STR
- ( set color 1 )
- ,03 ,color STR
-
,01 ,color STR
( fill rect x y w h )
,0020 ,0020 ,0060 ,0040 ,fillrect JSR
@@ -28,10 +22,28 @@
( fill rect x y w h )
,0040 ,0040 ,0060 ,0040 ,fillrect JSR
+
+ ,01 ,color STR
+ ( fill rect x y w h )
+ ,00a0 ,0010 ,0020 ,0020 ,fillrect JSR
+
,redraw JSR
BRK
+@fillrect
+ ,h STR^ ,w STR^ ,y STR^ ,x STR^
+ ,x LDR^ ,x_ STR^ ,y LDR^ ,y_ STR^
+ @fillrectrow
+ ,x LDR^ ,x_ STR^
+ @fillrectcol
+ ,x_ LDR^ ,y_ LDR^ ,putpixel JSR
+ ,x_ LDR^ ,0001 ADD^ ,x_ STR^
+ ,x_ LDR^ ,w LDR^ ,x LDR^ ADD^ LTH^ ,fillrectcol ROT JMP? POP^
+ ,y_ LDR^ ,0001 ADD^ ,y_ STR^
+ ,y_ LDR^ ,h LDR^ ,y LDR^ ADD^ LTH^ ,fillrectrow ROT JMP? POP^
+ RTS
+
@redraw
,0000 IOW^
,0000 IOW^
@@ -46,34 +58,6 @@ BRK
,00 IOW ( redraw byte )
RTS
-@fillrect
- ( store shape )
- ,h STR^ ,w STR^ ,y STR^ ,x STR^
- ( set head )
- ,x LDR^ ,x_ STR^ ,y LDR^ ,y_ STR^
- ( paint row )
- ,fillrectrow JSR
- RTS
-
-@fillrectcol
- ,x_ LDR^ ,y_ LDR^ ,putpixel JSR
- ( incr x )
- ,x_ LDR^ ,0001 ADD^ ,x_ STR^
- ( check if greater than w )
- ,x_ LDR^ ,w LDR^ ,x LDR^ ADD^ GTH^ RTS?
- ,fillrectcol JMP
- RTS
-
-@fillrectrow
- ,x LDR^ ,x_ STR^
- ,fillrectcol JSR
- ( incr x )
- ,y_ LDR^ ,0001 ADD^ ,y_ STR^
- ( check if greater than w )
- ,y_ LDR^ ,h LDR^ ,y LDR^ ADD^ GTH^ RTS?
- ,fillrectrow JMP
- RTS
-
|c000 @FRAME BRK
|d000 @ERROR BRK
|FFFA .RESET .FRAME .ERROR