| ... | ... |
@@ -5,11 +5,10 @@ |
| 5 | 5 |
%++ { ADD2 } %-- { SUB2 } %// { DIV2 }
|
| 6 | 6 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
| 7 | 7 |
|
| 8 |
-%2* { #10 SFT }
|
|
| 9 |
-%4/ { #02 SFT }
|
|
| 10 |
-%4* { #20 SFT }
|
|
| 8 |
+%2* { #10 SFT }
|
|
| 9 |
+%4* { #20 SFT } %4/ { #02 SFT }
|
|
| 11 | 10 |
%2** { #10 SFT2 } %2// { #01 SFT2 }
|
| 12 |
-%4** { #20 SFT2 }
|
|
| 11 |
+%4** { #20 SFT2 }
|
|
| 13 | 12 |
%8** { #30 SFT2 } %8// { #03 SFT2 }
|
| 14 | 13 |
%10** { #40 SFT2 } %10// { #04 SFT2 }
|
| 15 | 14 |
|
| ... | ... |
@@ -164,10 +163,14 @@ BRK |
| 164 | 163 |
POP2 |
| 165 | 164 |
.input-frame/x LDZ2 #0008 ++ -- 10// NIP |
| 166 | 165 |
DUP #01 ! ,&no-push JCN |
| 167 |
- .input/value LDZ2 ;push JSR2 |
|
| 166 |
+ .input/value LDZ2 #0001 << ,&no-push-empty JCN |
|
| 167 |
+ .input/value LDZ2 ;push JSR2 |
|
| 168 |
+ &no-push-empty |
|
| 168 | 169 |
&no-push |
| 169 | 170 |
DUP #02 ! ,&no-pop JCN |
| 170 |
- ;pop JSR2 POP2 |
|
| 171 |
+ .stack/length LDZ #01 < ,&no-pop-empty JCN |
|
| 172 |
+ ;pop JSR2 POP2 |
|
| 173 |
+ &no-pop-empty |
|
| 171 | 174 |
&no-pop |
| 172 | 175 |
POP |
| 173 | 176 |
|
| ... | ... |
@@ -216,9 +219,10 @@ RTN |
| 216 | 219 |
|
| 217 | 220 |
#08 #00 |
| 218 | 221 |
&loop |
| 222 |
+ ( color ) DUP .stack/length LDZ < STH |
|
| 219 | 223 |
( value ) DUP 2* .stack/items + LDZ2 STH2 |
| 220 | 224 |
( y ) DUP TOS 8** #0070 SWP2 -- STH2 |
| 221 |
- ( x ) #0088 STH2r STH2r #01 ;draw-short JSR2 |
|
| 225 |
+ ( x ) #0088 STH2r STH2r STHr ;draw-short JSR2 |
|
| 222 | 226 |
INC GTHk ,&loop JCN |
| 223 | 227 |
POP2 |
| 224 | 228 |
|
| ... | ... |
@@ -226,19 +230,18 @@ RTN |
| 226 | 230 |
|
| 227 | 231 |
@draw-short ( x* y* value* color -- ) |
| 228 | 232 |
|
| 229 |
- POP STH2 |
|
| 233 |
+ STH STH2 |
|
| 230 | 234 |
.Screen/y DEO2 |
| 231 | 235 |
.Screen/x DEO2 |
| 232 |
- |
|
| 233 | 236 |
#04 #00 |
| 234 | 237 |
&loop |
| 235 | 238 |
.Screen/x DEI2 #0008 -- .Screen/x DEO2 |
| 236 | 239 |
( value ) DUP STH2kr ROT 4* SFT2 #000f AND2 |
| 237 | 240 |
( value glyph ) 8** ;font-hex ++ .Screen/addr DEO2 |
| 238 |
- #01 .Screen/sprite DEO |
|
| 241 |
+ ROTr STHkr ROTr ROTr .Screen/sprite DEO |
|
| 239 | 242 |
INC GTHk ,&loop JCN |
| 240 | 243 |
POP2 |
| 241 |
- POP2r |
|
| 244 |
+ POP2r POPr |
|
| 242 | 245 |
|
| 243 | 246 |
RTN |
| 244 | 247 |
|