... | ... |
@@ -3,19 +3,13 @@ |
3 | 3 |
:dev/r fff8 ( std read port ) |
4 | 4 |
:dev/w fff9 ( std write port ) |
5 | 5 |
|
6 |
-;x_ 2 ;y_ 2 |
|
7 |
- |
|
8 |
-;x 2 ;y 2 ;w 2 ;h 2 |
|
9 |
-;color 1 |
|
6 |
+;x_ 2 ;y_ 2 ;x 2 ;y 2 ;w 2 ;h 2 ;color 1 |
|
10 | 7 |
|
11 | 8 |
|0100 @RESET |
12 | 9 |
|
13 | 10 |
( set dev/write to screen ) |
14 | 11 |
,01 ,dev/w STR |
15 | 12 |
|
16 |
- ( set color 1 ) |
|
17 |
- ,03 ,color STR |
|
18 |
- |
|
19 | 13 |
,01 ,color STR |
20 | 14 |
( fill rect x y w h ) |
21 | 15 |
,0020 ,0020 ,0060 ,0040 ,fillrect JSR |
... | ... |
@@ -28,10 +22,28 @@ |
28 | 22 |
( fill rect x y w h ) |
29 | 23 |
,0040 ,0040 ,0060 ,0040 ,fillrect JSR |
30 | 24 |
|
25 |
+ |
|
26 |
+ ,01 ,color STR |
|
27 |
+ ( fill rect x y w h ) |
|
28 |
+ ,00a0 ,0010 ,0020 ,0020 ,fillrect JSR |
|
29 |
+ |
|
31 | 30 |
,redraw JSR |
32 | 31 |
|
33 | 32 |
BRK |
34 | 33 |
|
34 |
+@fillrect |
|
35 |
+ ,h STR^ ,w STR^ ,y STR^ ,x STR^ |
|
36 |
+ ,x LDR^ ,x_ STR^ ,y LDR^ ,y_ STR^ |
|
37 |
+ @fillrectrow |
|
38 |
+ ,x LDR^ ,x_ STR^ |
|
39 |
+ @fillrectcol |
|
40 |
+ ,x_ LDR^ ,y_ LDR^ ,putpixel JSR |
|
41 |
+ ,x_ LDR^ ,0001 ADD^ ,x_ STR^ |
|
42 |
+ ,x_ LDR^ ,w LDR^ ,x LDR^ ADD^ LTH^ ,fillrectcol ROT JMP? POP^ |
|
43 |
+ ,y_ LDR^ ,0001 ADD^ ,y_ STR^ |
|
44 |
+ ,y_ LDR^ ,h LDR^ ,y LDR^ ADD^ LTH^ ,fillrectrow ROT JMP? POP^ |
|
45 |
+ RTS |
|
46 |
+ |
|
35 | 47 |
@redraw |
36 | 48 |
,0000 IOW^ |
37 | 49 |
,0000 IOW^ |
... | ... |
@@ -46,34 +58,6 @@ BRK |
46 | 58 |
,00 IOW ( redraw byte ) |
47 | 59 |
RTS |
48 | 60 |
|
49 |
-@fillrect |
|
50 |
- ( store shape ) |
|
51 |
- ,h STR^ ,w STR^ ,y STR^ ,x STR^ |
|
52 |
- ( set head ) |
|
53 |
- ,x LDR^ ,x_ STR^ ,y LDR^ ,y_ STR^ |
|
54 |
- ( paint row ) |
|
55 |
- ,fillrectrow JSR |
|
56 |
- RTS |
|
57 |
- |
|
58 |
-@fillrectcol |
|
59 |
- ,x_ LDR^ ,y_ LDR^ ,putpixel JSR |
|
60 |
- ( incr x ) |
|
61 |
- ,x_ LDR^ ,0001 ADD^ ,x_ STR^ |
|
62 |
- ( check if greater than w ) |
|
63 |
- ,x_ LDR^ ,w LDR^ ,x LDR^ ADD^ GTH^ RTS? |
|
64 |
- ,fillrectcol JMP |
|
65 |
- RTS |
|
66 |
- |
|
67 |
-@fillrectrow |
|
68 |
- ,x LDR^ ,x_ STR^ |
|
69 |
- ,fillrectcol JSR |
|
70 |
- ( incr x ) |
|
71 |
- ,y_ LDR^ ,0001 ADD^ ,y_ STR^ |
|
72 |
- ( check if greater than w ) |
|
73 |
- ,y_ LDR^ ,h LDR^ ,y LDR^ ADD^ GTH^ RTS? |
|
74 |
- ,fillrectrow JMP |
|
75 |
- RTS |
|
76 |
- |
|
77 | 61 |
|c000 @FRAME BRK |
78 | 62 |
|d000 @ERROR BRK |
79 | 63 |
|FFFA .RESET .FRAME .ERROR |