| ... | ... |
@@ -16,7 +16,7 @@ |
| 16 | 16 |
%10** { #40 SFT2 } %10// { #04 SFT2 }
|
| 17 | 17 |
%20** { #50 SFT2 }
|
| 18 | 18 |
|
| 19 |
-%4MOD { #03 AND }
|
|
| 19 |
+%4MOD { #03 AND } %4MOD2 { #0003 AND2 }
|
|
| 20 | 20 |
|
| 21 | 21 |
%DEBUG { ;print-hex/byte JSR2 #0a .Console/write DEO }
|
| 22 | 22 |
%DEBUG2 { ;print-hex/short JSR2 #0a .Console/write DEO }
|
| ... | ... |
@@ -161,18 +161,15 @@ BRK |
| 161 | 161 |
@on-mouse ( -> ) |
| 162 | 162 |
|
| 163 | 163 |
;pointer-icn .Screen/addr DEO2 |
| 164 |
+ |
|
| 164 | 165 |
( clear last cursor ) |
| 165 | 166 |
.pointer/x LDZ2 .Screen/x DEO2 |
| 166 | 167 |
.pointer/y LDZ2 .Screen/y DEO2 |
| 167 | 168 |
#40 .Screen/sprite DEO |
| 168 | 169 |
|
| 169 |
- ( record pointer positions ) |
|
| 170 |
- .Mouse/x DEI2 .pointer/x STZ2 |
|
| 171 |
- .Mouse/y DEI2 .pointer/y STZ2 |
|
| 172 |
- |
|
| 173 | 170 |
( draw new cursor ) |
| 174 |
- .pointer/x LDZ2 .Screen/x DEO2 |
|
| 175 |
- .pointer/y LDZ2 .Screen/y DEO2 |
|
| 171 |
+ .Mouse/x DEI2 DUP2 .pointer/x STZ2 .Screen/x DEO2 |
|
| 172 |
+ .Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2 |
|
| 176 | 173 |
#41 .Mouse/state DEI #01 = + .Screen/sprite DEO |
| 177 | 174 |
|
| 178 | 175 |
( handle events ) |
| ... | ... |
@@ -204,9 +201,10 @@ BRK |
| 204 | 201 |
@click-keypad ( x* y* -> ) |
| 205 | 202 |
|
| 206 | 203 |
( get key ) |
| 207 |
- .keypad-frame/y LDZ2 -- 10// 4** |
|
| 208 |
- SWP2 .keypad-frame/x LDZ2 -- 10// #0003 AND2 |
|
| 209 |
- ++ ;keypad/layout ++ LDA ;push-input JSR2 |
|
| 204 |
+ ( y ) .keypad-frame/y LDZ2 -- #24 SFT2 |
|
| 205 |
+ ( x ) SWP2 .keypad-frame/x LDZ2 -- 10// 4MOD2 |
|
| 206 |
+ ( value ) ++ ;keypad/layout ++ LDA |
|
| 207 |
+ ;push-input JSR2 |
|
| 210 | 208 |
|
| 211 | 209 |
( release mouse ) #00 .Mouse/state DEO |
| 212 | 210 |
|
| ... | ... |
@@ -214,8 +212,8 @@ BRK |
| 214 | 212 |
|
| 215 | 213 |
@click-modpad ( x* y* -> ) |
| 216 | 214 |
|
| 217 |
- .modpad-frame/y LDZ2 -- 10// 4** |
|
| 218 |
- SWP2 .modpad-frame/x LDZ2 -- 10// #0003 AND2 ++ NIP |
|
| 215 |
+ ( y ) .modpad-frame/y LDZ2 -- #24 SFT2 NIP STH |
|
| 216 |
+ ( x ) .modpad-frame/x LDZ2 -- 10// NIP STHr + |
|
| 219 | 217 |
DUP #00 ! ,&no-add JCN ;do-add JSR2 &no-add |
| 220 | 218 |
DUP #01 ! ,&no-sub JCN ;do-sub JSR2 &no-sub |
| 221 | 219 |
DUP #02 ! ,&no-mul JCN ;do-mul JSR2 &no-mul |