| ... | ... |
@@ -22,7 +22,6 @@ |
| 22 | 22 |
%DEBUG2 { ;print-hex/short JSR2 #0a .Console/write DEO }
|
| 23 | 23 |
|
| 24 | 24 |
%RTN { JMP2r }
|
| 25 |
-%SWP2? { #01 JCN SWP2 }
|
|
| 26 | 25 |
%BRK? { #01 JCN BRK }
|
| 27 | 26 |
%RTN? { #01 JCN RTN }
|
| 28 | 27 |
%TOS { #00 SWP }
|
| ... | ... |
@@ -98,12 +97,12 @@ |
| 98 | 97 |
#0040 ++ .modpad-frame/x2 STZ2 |
| 99 | 98 |
.keypad-frame/y LDZ2 #0040 ++ |
| 100 | 99 |
DUP2 .modpad-frame/y STZ2 |
| 101 |
- #0010 ++ .modpad-frame/y2 STZ2 |
|
| 100 |
+ #0020 ++ .modpad-frame/y2 STZ2 |
|
| 102 | 101 |
|
| 103 | 102 |
.keypad-frame/x LDZ2 |
| 104 | 103 |
DUP2 .bitpad-frame/x STZ2 |
| 105 | 104 |
#0040 ++ .bitpad-frame/x2 STZ2 |
| 106 |
- .keypad-frame/y LDZ2 #0058 ++ |
|
| 105 |
+ .modpad-frame/y2 LDZ2 #0008 ++ |
|
| 107 | 106 |
DUP2 .bitpad-frame/y STZ2 |
| 108 | 107 |
#0010 ++ .bitpad-frame/y2 STZ2 |
| 109 | 108 |
|
| ... | ... |
@@ -204,13 +203,16 @@ BRK |
| 204 | 203 |
|
| 205 | 204 |
@click-modpad ( x* y* -> ) |
| 206 | 205 |
|
| 207 |
- POP2 |
|
| 208 |
- ( get key ) |
|
| 209 |
- .modpad-frame/x LDZ2 -- 10// NIP |
|
| 206 |
+ .modpad-frame/y LDZ2 -- 10// 4** |
|
| 207 |
+ SWP2 .modpad-frame/x LDZ2 -- 10// #0003 AND2 ++ NIP |
|
| 210 | 208 |
DUP #00 ! ,&no-add JCN ;do-add JSR2 &no-add |
| 211 | 209 |
DUP #01 ! ,&no-sub JCN ;do-sub JSR2 &no-sub |
| 212 | 210 |
DUP #02 ! ,&no-mul JCN ;do-mul JSR2 &no-mul |
| 213 | 211 |
DUP #03 ! ,&no-div JCN ;do-div JSR2 &no-div |
| 212 |
+ DUP #04 ! ,&no-and JCN ;do-and JSR2 &no-and |
|
| 213 |
+ DUP #05 ! ,&no-ora JCN ;do-ora JSR2 &no-ora |
|
| 214 |
+ DUP #06 ! ,&no-eor JCN ;do-eor JSR2 &no-eor |
|
| 215 |
+ DUP #07 ! ,&no-not JCN ;do-not JSR2 &no-not |
|
| 214 | 216 |
POP |
| 215 | 217 |
|
| 216 | 218 |
;draw-bitpad JSR2 |
| ... | ... |
@@ -364,6 +366,62 @@ RTN |
| 364 | 366 |
|
| 365 | 367 |
RTN |
| 366 | 368 |
|
| 369 |
+@do-and ( -- ) |
|
| 370 |
+ |
|
| 371 |
+ .input/value LDZ2 #0000 == ,&no-push JCN |
|
| 372 |
+ ;do-push JSR2 |
|
| 373 |
+ &no-push |
|
| 374 |
+ |
|
| 375 |
+ ( stack empty ) .stack/length LDZ #01 > RTN? |
|
| 376 |
+ |
|
| 377 |
+ #46 .Audio0/pitch DEO |
|
| 378 |
+ #04 ;draw-modpad JSR2 |
|
| 379 |
+ ;pop JSR2 ;pop JSR2 SWP2 AND2 ;push JSR2 |
|
| 380 |
+ |
|
| 381 |
+RTN |
|
| 382 |
+ |
|
| 383 |
+@do-ora ( -- ) |
|
| 384 |
+ |
|
| 385 |
+ .input/value LDZ2 #0000 == ,&no-push JCN |
|
| 386 |
+ ;do-push JSR2 |
|
| 387 |
+ &no-push |
|
| 388 |
+ |
|
| 389 |
+ ( stack empty ) .stack/length LDZ #01 > RTN? |
|
| 390 |
+ |
|
| 391 |
+ #47 .Audio0/pitch DEO |
|
| 392 |
+ #05 ;draw-modpad JSR2 |
|
| 393 |
+ ;pop JSR2 ;pop JSR2 SWP2 ORA2 ;push JSR2 |
|
| 394 |
+ |
|
| 395 |
+RTN |
|
| 396 |
+ |
|
| 397 |
+@do-eor ( -- ) |
|
| 398 |
+ |
|
| 399 |
+ .input/value LDZ2 #0000 == ,&no-push JCN |
|
| 400 |
+ ;do-push JSR2 |
|
| 401 |
+ &no-push |
|
| 402 |
+ |
|
| 403 |
+ ( stack empty ) .stack/length LDZ #01 > RTN? |
|
| 404 |
+ |
|
| 405 |
+ #48 .Audio0/pitch DEO |
|
| 406 |
+ #06 ;draw-modpad JSR2 |
|
| 407 |
+ ;pop JSR2 ;pop JSR2 SWP2 EOR2 ;push JSR2 |
|
| 408 |
+ |
|
| 409 |
+RTN |
|
| 410 |
+ |
|
| 411 |
+@do-not ( -- ) |
|
| 412 |
+ |
|
| 413 |
+ .input/value LDZ2 #0000 == ,&no-push JCN |
|
| 414 |
+ ;do-push JSR2 |
|
| 415 |
+ &no-push |
|
| 416 |
+ |
|
| 417 |
+ ( stack empty ) .stack/length LDZ #00 > RTN? |
|
| 418 |
+ |
|
| 419 |
+ #49 .Audio0/pitch DEO |
|
| 420 |
+ #07 ;draw-modpad JSR2 |
|
| 421 |
+ ;pop JSR2 #ffff EOR2 ;push JSR2 |
|
| 422 |
+ |
|
| 423 |
+RTN |
|
| 424 |
+ |
|
| 367 | 425 |
@key-value ( key -- value ) |
| 368 | 426 |
|
| 369 | 427 |
DUP #2f > OVR #3a < #0101 !! ,&no-num JCN |
| ... | ... |
@@ -490,12 +548,12 @@ RTN |
| 490 | 548 |
@draw-modpad ( key -- ) |
| 491 | 549 |
|
| 492 | 550 |
STH |
| 493 |
- #04 #00 |
|
| 551 |
+ #08 #00 |
|
| 494 | 552 |
&loop |
| 495 | 553 |
( state ) DUP STHkr = STH |
| 496 | 554 |
( glyph ) DUP TOS 8** ;mod-icns ++ STH2 |
| 497 |
- ( y ) .modpad-frame/y LDZ2 STH2 |
|
| 498 |
- ( x ) DUP TOS 10** .modpad-frame/x LDZ2 ++ STH2 |
|
| 555 |
+ ( y ) DUP 4/ TOS 10** .modpad-frame/y LDZ2 ++ STH2 |
|
| 556 |
+ ( x ) DUP 4MOD TOS 10** .modpad-frame/x LDZ2 ++ STH2 |
|
| 499 | 557 |
STH2r STH2r STH2r STHr #03 ;draw-key JSR2 |
| 500 | 558 |
INC GTHk ,&loop JCN |
| 501 | 559 |
POP2 |
| ... | ... |
@@ -689,6 +747,11 @@ RTN |
| 689 | 747 |
0010 5428 c628 5410 |
| 690 | 748 |
0010 0000 fe00 0010 |
| 691 | 749 |
|
| 750 |
+ 0078 8484 4836 8876 |
|
| 751 |
+ 0010 1010 1010 1010 |
|
| 752 |
+ 0000 1028 4482 0000 |
|
| 753 |
+ 0000 0060 920c 0000 |
|
| 754 |
+ |
|
| 692 | 755 |
@button-icns |
| 693 | 756 |
&outline |
| 694 | 757 |
3f40 8080 8080 8080 |