| ... | ... |
@@ -33,7 +33,10 @@ |
| 33 | 33 |
|
| 34 | 34 |
|0100 |
| 35 | 35 |
|
| 36 |
- ( theme ) #f03f .System/r DEO2 #f03f .System/g DEO2 #003f .System/b DEO2 |
|
| 36 |
+ ( theme ) |
|
| 37 |
+ #f03f .System/r DEO2 |
|
| 38 |
+ #f03c .System/g DEO2 |
|
| 39 |
+ #f03f .System/b DEO2 |
|
| 37 | 40 |
|
| 38 | 41 |
( background ) ;checker_icn #03 ;cover-pattern JSR2 |
| 39 | 42 |
|
| ... | ... |
@@ -41,6 +44,8 @@ |
| 41 | 44 |
#0070 #0040 #0010 #01 ;draw-circle JSR2 |
| 42 | 45 |
#0038 #0030 #0020 #0020 SIZE-TO-RECT #01 ;line-rect JSR2 |
| 43 | 46 |
#0038 #0058 #0020 #0020 SIZE-TO-RECT #01 ;fill-rect JSR2 |
| 47 |
+ #0010 #0030 #0068 #01 ;line-hor JSR2 |
|
| 48 |
+ #0020 #0058 #0078 #01 ;line-ver JSR2 |
|
| 44 | 49 |
|
| 45 | 50 |
BRK |
| 46 | 51 |
|
| ... | ... |
@@ -70,46 +75,49 @@ BRK |
| 70 | 75 |
|
| 71 | 76 |
RTN |
| 72 | 77 |
|
| 73 |
-@line-rect ( x1 y1 x2 y2 color -- ) |
|
| 78 |
+@line-rect ( x1* y1* x2* y2* color -- ) |
|
| 74 | 79 |
|
| 75 |
- ( load ) .color STZ DUP2 STH2 -- .rect/y2 STZ2 -- .rect/x2 STZ2 DUP2 STH2 .rect/y1 STZ2 .rect/x1 STZ2 |
|
| 76 |
- STH2r STH2r |
|
| 80 |
+ ( load ) .color STZ |
|
| 81 |
+ STH2k .rect/y2 STZ2 .rect/x2 STZ2 |
|
| 82 |
+ STH2k .rect/y1 STZ2 .rect/x1 STZ2 |
|
| 83 |
+ STH2r STH2r SWP2 |
|
| 77 | 84 |
&ver |
| 78 |
- ( save ) OVR2 .Screen/y DEO2 |
|
| 85 |
+ ( save ) DUP2 .Screen/y DEO2 |
|
| 79 | 86 |
( draw ) .rect/x1 LDZ2 .Screen/x DEO2 .color LDZ DUP .Screen/pixel DEO |
| 80 | 87 |
( draw ) .rect/x2 LDZ2 .Screen/x DEO2 .Screen/pixel DEO |
| 81 |
- ( incr ) SWP2 INC2 SWP2 |
|
| 82 |
- OVR2 OVR2 LTS2 ,&ver JCN |
|
| 88 |
+ ( incr ) INC2 |
|
| 89 |
+ OVR2 OVR2 GTS2 ,&ver JCN |
|
| 83 | 90 |
POP2 POP2 |
| 84 |
- .rect/x1 LDZ2 .rect/x2 LDZ2 |
|
| 91 |
+ .rect/x1 LDZ2 .rect/x2 LDZ2 SWP2 |
|
| 85 | 92 |
&hor |
| 86 |
- ( save ) OVR2 .Screen/x DEO2 |
|
| 93 |
+ ( save ) DUP2 .Screen/x DEO2 |
|
| 87 | 94 |
( draw ) .rect/y1 LDZ2 .Screen/y DEO2 .color LDZ DUP .Screen/pixel DEO |
| 88 | 95 |
( draw ) .rect/y2 LDZ2 .Screen/y DEO2 .Screen/pixel DEO |
| 89 |
- ( incr ) SWP2 INC2 SWP2 |
|
| 90 |
- OVR2 OVR2 INC2 LTS2 ,&hor JCN |
|
| 96 |
+ ( incr ) INC2 |
|
| 97 |
+ OVR2 INC2 OVR2 GTS2 ,&hor JCN |
|
| 91 | 98 |
POP2 POP2 |
| 92 | 99 |
|
| 93 | 100 |
RTN |
| 94 | 101 |
|
| 95 |
-@fill-rect ( x1 y1 x2 y2 color -- ) |
|
| 102 |
+@fill-rect ( x1* y1* x2* y2* color -- ) |
|
| 96 | 103 |
|
| 97 |
- .color STZ |
|
| 98 |
- ( x1 x2 y1 y2 ) ROT2 SWP2 |
|
| 104 |
+ ,&color STR |
|
| 105 |
+ ( x1 x2 y1 y2 ) ROT2 |
|
| 99 | 106 |
&ver |
| 100 |
- ( save ) OVR2 .Screen/y DEO2 |
|
| 101 |
- STH2 STH2 OVR2 OVR2 |
|
| 107 |
+ ( save ) DUP2 .Screen/y DEO2 |
|
| 108 |
+ STH2 STH2 OVR2 OVR2 SWP2 |
|
| 102 | 109 |
&hor |
| 103 |
- ( save ) OVR2 .Screen/x DEO2 |
|
| 104 |
- ( draw ) .color LDZ .Screen/pixel DEO |
|
| 105 |
- ( incr ) SWP2 INC2 SWP2 |
|
| 106 |
- OVR2 OVR2 LTS2 ,&hor JCN |
|
| 110 |
+ ( save ) DUP2 .Screen/x DEO2 |
|
| 111 |
+ ( draw ) ,&color LDR .Screen/pixel DEO |
|
| 112 |
+ ( incr ) INC2 |
|
| 113 |
+ OVR2 OVR2 GTS2 ,&hor JCN |
|
| 107 | 114 |
POP2 POP2 STH2r STH2r |
| 108 |
- ( incr ) SWP2 INC2 SWP2 |
|
| 109 |
- OVR2 OVR2 LTS2 ,&ver JCN |
|
| 115 |
+ ( incr ) INC2 |
|
| 116 |
+ OVR2 OVR2 GTS2 ,&ver JCN |
|
| 110 | 117 |
POP2 POP2 POP2 POP2 |
| 111 | 118 |
|
| 112 | 119 |
RTN |
| 120 |
+ &color $1 |
|
| 113 | 121 |
|
| 114 | 122 |
@draw-circle ( xc yc r color -- ) |
| 115 | 123 |
|
| ... | ... |
@@ -141,33 +149,32 @@ RTN |
| 141 | 149 |
|
| 142 | 150 |
RTN |
| 143 | 151 |
|
| 144 |
-@cover-pattern ( addr color -- ) |
|
| 152 |
+@cover-pattern ( addr* color -- ) |
|
| 145 | 153 |
|
| 146 |
- ( load ) .color STZ .Screen/addr DEO2 |
|
| 147 |
- #0000 .Screen/height DEI2 |
|
| 154 |
+ ( load ) STH .Screen/addr DEO2 |
|
| 155 |
+ .Screen/height DEI2 #0000 |
|
| 148 | 156 |
&ver |
| 149 |
- ( save ) OVR2 .Screen/y DEO2 |
|
| 150 |
- #0000 .Screen/width DEI2 |
|
| 157 |
+ ( save ) DUP2 .Screen/y DEO2 |
|
| 158 |
+ .Screen/width DEI2 #0000 |
|
| 151 | 159 |
&hor |
| 152 |
- ( save ) OVR2 .Screen/x DEO2 |
|
| 153 |
- ( draw ) .color LDZ .Screen/sprite DEO |
|
| 154 |
- ( incr ) SWP2 8++ SWP2 |
|
| 155 |
- OVR2 OVR2 LTH2 ,&hor JCN |
|
| 160 |
+ ( save ) DUP2 .Screen/x DEO2 |
|
| 161 |
+ ( draw ) STHkr .Screen/sprite DEO |
|
| 162 |
+ #0008 ADD2 GTH2k ,&hor JCN |
|
| 156 | 163 |
POP2 POP2 |
| 157 |
- ( incr ) SWP2 8++ SWP2 |
|
| 158 |
- OVR2 OVR2 LTH2 ,&ver JCN |
|
| 164 |
+ #0008 ADD2 GTH2k ,&ver JCN |
|
| 159 | 165 |
POP2 POP2 |
| 166 |
+ POPr |
|
| 160 | 167 |
|
| 161 | 168 |
RTN |
| 162 | 169 |
|
| 163 | 170 |
@line-hor ( x0* x1* y* color -- ) |
| 164 | 171 |
|
| 165 | 172 |
STH .Screen/y DEO2 |
| 173 |
+ SWP2 |
|
| 166 | 174 |
&loop |
| 167 |
- ( save ) OVR2 .Screen/x DEO2 |
|
| 175 |
+ ( save ) DUP2 .Screen/x DEO2 |
|
| 168 | 176 |
( draw ) STHkr .Screen/pixel DEO |
| 169 |
- ( incr ) SWP2 #0002 INC2 SWP2 |
|
| 170 |
- LTH2k ,&loop JCN |
|
| 177 |
+ INC2 GTH2k ,&loop JCN |
|
| 171 | 178 |
POP2 POP2 POPr |
| 172 | 179 |
|
| 173 | 180 |
RTN |
| ... | ... |
@@ -175,11 +182,11 @@ RTN |
| 175 | 182 |
@line-ver ( x* y0* y1* color -- ) |
| 176 | 183 |
|
| 177 | 184 |
STH ROT2 .Screen/x DEO2 |
| 185 |
+ SWP2 |
|
| 178 | 186 |
&loop |
| 179 |
- ( save ) OVR2 .Screen/y DEO2 |
|
| 187 |
+ ( save ) DUP2 .Screen/y DEO2 |
|
| 180 | 188 |
( draw ) STHkr .Screen/pixel DEO |
| 181 |
- ( incr ) SWP2 #0002 INC2 SWP2 |
|
| 182 |
- LTH2k ,&loop JCN |
|
| 189 |
+ INC2 GTH2k ,&loop JCN |
|
| 183 | 190 |
POP2 POP2 POPr |
| 184 | 191 |
|
| 185 | 192 |
RTN |