| ... | ... |
@@ -6,9 +6,11 @@ |
| 6 | 6 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
| 7 | 7 |
|
| 8 | 8 |
%4/ { #02 SFT }
|
| 9 |
+%4* { #20 SFT }
|
|
| 9 | 10 |
%2** { #10 SFT2 } %2// { #01 SFT2 }
|
| 11 |
+%4** { #20 SFT2 }
|
|
| 10 | 12 |
%8** { #30 SFT2 } %8// { #03 SFT2 }
|
| 11 |
-%10** { #40 SFT2 }
|
|
| 13 |
+%10** { #40 SFT2 } %10// { #04 SFT2 }
|
|
| 12 | 14 |
|
| 13 | 15 |
%4MOD { #03 AND }
|
| 14 | 16 |
|
| ... | ... |
@@ -38,6 +40,8 @@ |
| 38 | 40 |
|
| 39 | 41 |
|0000 |
| 40 | 42 |
|
| 43 |
+@input |
|
| 44 |
+ &length $1 &value $2 |
|
| 41 | 45 |
@center |
| 42 | 46 |
&x $2 &y $2 |
| 43 | 47 |
@rect |
| ... | ... |
@@ -106,15 +110,42 @@ BRK |
| 106 | 110 |
|
| 107 | 111 |
@click-keypad ( -> ) |
| 108 | 112 |
|
| 109 |
- #00 .Mouse/state DEO |
|
| 110 |
- #aa DEBUG |
|
| 113 |
+ ( get key ) |
|
| 114 |
+ .Mouse/x DEI2 .keypad-frame/x LDZ2 -- 10// 4MOD |
|
| 115 |
+ .Mouse/y DEI2 .keypad-frame/y LDZ2 -- 10// 4** |
|
| 116 |
+ ++ ;keypad/layout ++ LDA ;push-key JSR2 |
|
| 117 |
+ |
|
| 118 |
+ ( release mouse ) #00 .Mouse/state DEO |
|
| 111 | 119 |
|
| 112 | 120 |
BRK |
| 113 | 121 |
|
| 122 |
+@push-key ( key -- ) |
|
| 123 |
+ |
|
| 124 |
+ TOS .input/value LDZ2 #40 SFT2 ++ .input/value STZ2 |
|
| 125 |
+ .input/length LDZ INC .input/length STZ |
|
| 126 |
+ ;draw-value JSR2 |
|
| 127 |
+ |
|
| 128 |
+RTN |
|
| 129 |
+ |
|
| 114 | 130 |
@redraw ( -- ) |
| 115 | 131 |
|
| 116 | 132 |
;draw-keypad JSR2 |
| 117 | 133 |
;draw-modpad JSR2 |
| 134 |
+ ;draw-value JSR2 |
|
| 135 |
+ |
|
| 136 |
+RTN |
|
| 137 |
+ |
|
| 138 |
+@draw-value ( -- ) |
|
| 139 |
+ |
|
| 140 |
+ .center/y LDZ2 #0030 -- .Screen/y DEO2 |
|
| 141 |
+ #04 #00 |
|
| 142 |
+ &loop |
|
| 143 |
+ ( x ) DUP TOS 8** .center/x LDZ2 SWP2 -- .Screen/x DEO2 |
|
| 144 |
+ ( value ) STHk .input/value LDZ2 STHr 4* SFT2 #000f AND2 |
|
| 145 |
+ ( value glyph ) 8** ;font-hex ++ .Screen/addr DEO2 |
|
| 146 |
+ #01 .Screen/sprite DEO |
|
| 147 |
+ INC GTHk ,&loop JCN |
|
| 148 |
+ POP2 |
|
| 118 | 149 |
|
| 119 | 150 |
RTN |
| 120 | 151 |
|