@@ 17,16 17,25 @@
ctrl+v - paste
)
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
+%+ { ADD } %- { SUB } %* { MUL }
%< { LTH } %> { GTH } %= { EQU } %! { NEQ }
-%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
+%++ { ADD2 } %-- { SUB2 } %** { MUL2 }
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
%DEBUG { ;print-hex JSR2 #0a .Console/write DEO }
%DEBUG2 { SWP ;print-hex JSR2 ;print-hex JSR2 #0a .Console/write DEO }
-%2** { #10 SFT2 } %2// { #01 SFT2 }
-%8** { #30 SFT2 } %8// { #03 SFT2 }
+%2* { #10 SFT } %2/ { #01 SFT }
+%4* { #20 SFT } %4/ { #02 SFT }
+%8* { #30 SFT } %8/ { #03 SFT }
+%20* { #50 SFT }
+
+%2** { #10 SFT2 } %2// { #01 SFT2 }
+%4// { #02 SFT2 }
+%8** { #30 SFT2 } %8// { #03 SFT2 }
+%10** { #40 SFT2 }
+%200// { #09 SFT2 }
+
%TOS { #00 SWP }
%MOD { DIVk MUL SUB } %MOD2 { DIV2k MUL2 SUB2 }
@@ 35,26 44,25 @@
%ROL { DUP #07 SFT SWP #10 SFT + }
%ROR { DUP #70 SFT SWP #01 SFT + }
%SFL { #40 SFT SFT }
-%LTS2 { #8000 ++ SWP2 #8000 ++ >> }
%GTS2 { #8000 ++ SWP2 #8000 ++ << }
%STEP8 { #33 SFT2 }
%TOGGLE { LDZk #00 = SWP STZ }
%GET-ITER { OVR2 NIP OVR SWP }
%BRK? { #01 JCN BRK }
-%HOR { #20 } %VER { #10 }
-%WIDTH { HOR TOS 8** }
-%LENGTH { HOR TOS VER TOS ** #0010 ** }
+%HOR { #20 } %VER { #10 }
+%WIDTH { #0100 }
+%LENGTH { #2000 }
%DATA-CLIP { #f000 } ( copy/paste )
%BANK { #2000 }
%BANK-TEMP { #4000 }
-%GET-COLOR { .settings/color LDZ STHk #02 / + DEI #01 STHr #01 AND - #04 * SFT #0f AND }
-%GET-POSITION { .settings/focus LDZ2 BANK -- DUP2 2// WIDTH MOD2 SWP2 WIDTH 2** // 8** }
+%GET-COLOR { .settings/color LDZ STHk 2/ + DEI #01 STHr #01 AND - 4* SFT #0f AND }
+%GET-POSITION { .settings/focus LDZ2 BANK -- DUP2 2// WIDTH MOD2 SWP2 200// 8** }
%ADD-POSITIONS { ROT2 ++ ROT2 ROT2 ++ SWP2 }
%RELEASE-MOUSE { #00 .Mouse/state DEO }
%RESET-SELECTION { .selection/x1 LDZ2 .selection/x2 STZ2 }
-%GET-ADDR { TOS HOR TOS ** ROT TOS ++ #0010 ** BANK ++ }
+%GET-ADDR { TOS HOR TOS ** ROT TOS ++ 10** BANK ++ }
%SET-STATE { #01 .state/changed STZ ;draw-state JSR2 }
%RESET-STATE { #00 .state/changed STZ ;draw-state JSR2 }
@@ 180,7 188,7 @@ BRK
#08 ! ,&no-toggle JCN
.state/blink TOGGLE
- #01 .state/blink LDZ #08 * + ;draw-filepath JSR2
+ #01 .state/blink LDZ 8* + ;draw-filepath JSR2
#00 .state/timer STZ
&no-toggle
@@ 223,10 231,10 @@ BRK
.Controller/button DEI #f0 AND
DUP #04 SFT #01 AND #01 ! ,&no-up JCN
- ( clamp ) .settings/focus LDZ2 BANK HOR TOS #0010 ** ++ << ,&no-up JCN
+ ( clamp ) .settings/focus LDZ2 BANK HOR TOS 10** ++ << ,&no-up JCN
( up ) .settings/focus LDZ2 #0010 HOR TOS ** -- .settings/focus STZ2 &no-up
DUP #05 SFT #01 AND #01 ! ,&no-down JCN
- ( clamp ) .settings/focus LDZ2 BANK LENGTH HOR TOS #0010 ** -- ++ >> ,&no-down JCN
+ ( clamp ) .settings/focus LDZ2 BANK LENGTH HOR TOS 10** -- ++ >> ,&no-down JCN
( down ) .settings/focus LDZ2 #0010 HOR TOS ** ++ .settings/focus STZ2 &no-down
DUP #06 SFT #01 AND #01 ! ,&no-left JCN
( clamp ) .settings/focus LDZ2 BANK #0001 ++ << ,&no-left JCN
@@ 509,8 517,8 @@ BRK
&no-mod
( paint )
- .Mouse/x DEI2 .zoomview/x1 LDZ2 -- #0004 //
- .Mouse/y DEI2 .zoomview/y1 LDZ2 -- #0004 //
+ .Mouse/x DEI2 .zoomview/x1 LDZ2 -- 4//
+ .Mouse/y DEI2 .zoomview/y1 LDZ2 -- 4//
.settings/focus LDZ2 ++
( detect erase )
#00 .Mouse/state DEI #10 = ,&do-erase JCN
@@ 533,7 541,7 @@ BRK
( skip ) .Mouse/state DEI #00 ! BRK?
.Mouse/x DEI2 .blendview/x1 LDZ2 -- 8// NIP
- .Mouse/y DEI2 .blendview/y1 LDZ2 -- 8// NIP #04 * +
+ .Mouse/y DEI2 .blendview/y1 LDZ2 -- 8// NIP 4* +
.settings/blending STZ
;redraw JSR2
@@ 550,15 558,15 @@ BRK
DUP #00 ! ,&no-r JCN
.System/r STHk ,&set-color JSR
- STHr [ .settings/color LDZ #02 / + ] DEO
+ STHr [ .settings/color LDZ 2/ + ] DEO
&no-r
DUP #01 ! ,&no-g JCN
.System/g STHk ,&set-color JSR
- STHr [ .settings/color LDZ #02 / + ] DEO
+ STHr [ .settings/color LDZ 2/ + ] DEO
&no-g
DUP #02 ! ,&no-b JCN
.System/b STHk ,&set-color JSR
- STHr [ .settings/color LDZ #02 / + ] DEO
+ STHr [ .settings/color LDZ 2/ + ] DEO
&no-b
POP
@@ 567,12 575,12 @@ BRK
BRK
&set-color
- .settings/color LDZ STHk #02 / + DEI
+ .settings/color LDZ STHk 2/ + DEI
STHr #02 MOD STHk
#0f SWP [ #40 * SFT ] AND
STHr #00 =
.Mouse/x DEI2 .colorview/x1 LDZ2 -- 2// NIP
- ( clamp to #0f ) DUP #10 = #01 * -
+ ( clamp to #0f ) DUP #10 = -
SWP [ #40 * SFT ] +
RTN
@@ 785,10 793,10 @@ RTN
;pixel-icn .Screen/addr DEO2
VER #00
&ver
- DUP #08 * TOS .tileview/y1 LDZ2 ++ .Screen/y DEO2
+ DUP 8* TOS .tileview/y1 LDZ2 ++ .Screen/y DEO2
HOR #00
&hor
- DUP #08 * TOS .tileview/x1 LDZ2 ++ .Screen/x DEO2
+ DUP 8* TOS .tileview/x1 LDZ2 ++ .Screen/x DEO2
( get pixel offset ) GET-ITER SWP TOS ROT TOS
( add focus ) STH2kr SWP2r STH2kr SWP2r ADD-POSITIONS
;get-pixel JSR2 #00 + .Screen/sprite DEO
@@ 799,7 807,7 @@ RTN
POP2r POP2r
( guides )
- VER #08 / #01 - #00
+ VER 8/ #01 - #00
&guides-hor
DUP STH
.tileview/x1 LDZ2
@@ 810,7 818,7 @@ RTN
#01 + GTHk ,&guides-hor JCN
POP2
- HOR #08 / #01 - #00
+ HOR 8/ #01 - #00
&guides-ver
DUP STH
.tileview/x1 LDZ2 STHr #01 + #40 * #01 - TOS ++
@@ 832,7 840,7 @@ RTN
( channel 2 )
[ STHr ] [ STH2r ] #0008 ++ LDA SWP
#07 SWP - SFT #01 AND
- #02 *
+ 2*
+
RTN
@@ 879,7 887,7 @@ RTN
@get-tile-addr ( x* y* -- addr* )
- STEP8 WIDTH ** #0004 // SWP2
+ STEP8 WIDTH ** 4// SWP2
STEP8 2** ++
BANK ++
@@ 949,7 957,7 @@ RTN
#10 #00
&loop
DUP #04 MOD #00 SWP 8** .blendview/x1 LDZ2 ++ .Screen/x DEO2
- DUP #04 / #00 SWP 8** .blendview/y1 LDZ2 ++ .Screen/y DEO2
+ DUP 4/ #00 SWP 8** .blendview/y1 LDZ2 ++ .Screen/y DEO2
#00 .Screen/sprite DEO
DUP #00 + .settings/depth LDZ #80 * + .Screen/sprite DEO
#01 + GTHk ,&loop JCN
@@ 968,10 976,10 @@ RTN
.settings/focus LDZ2 STH2k .Screen/addr DEO2
#04 #00
&ver
- DUP #08 * TOS .preview/y1 LDZ2 ++ .Screen/y DEO2
+ DUP 8* TOS .preview/y1 LDZ2 ++ .Screen/y DEO2
#04 #00
&hor
- DUP #08 * TOS .preview/x1 LDZ2 ++ .Screen/x DEO2
+ DUP 8* TOS .preview/x1 LDZ2 ++ .Screen/x DEO2
( get x,y )
GET-ITER
( check if within ratio )
@@ 982,7 990,7 @@ RTN
( get blending ) .settings/blending LDZ
( get depth ) .settings/depth LDZ #80 *
( draw ) + .Screen/sprite DEO
- ( incr ) STH2r #0008 [ .settings/depth LDZ #08 * TOS ++ ] ++ STH2
+ ( incr ) STH2r #0008 [ .settings/depth LDZ 8* TOS ++ ] ++ STH2
,&resume JMP
&outside
;halftone-icn .Screen/addr DEO2
@@ 1024,7 1032,7 @@ RTN
.Screen/x DEO2
#10 #00
&loop
- DUP STHkr > #08 * TOS ;slider-icns ++ .Screen/addr DEO2
+ DUP STHkr > 8* TOS ;slider-icns ++ .Screen/addr DEO2
#02 .Screen/sprite DEO
.Screen/x DEI2 #0002 ++ .Screen/x DEO2
#01 + GTHk ,&loop JCN
@@ 1044,10 1052,10 @@ RTN
#04 #00
&loop
.dataview/x1 LDZ2 .Screen/x DEO2
- DUP #08 * TOS .dataview/y1 LDZ2 ++ .Screen/y DEO2
- DUP #02 * TOS .settings/focus LDZ2 ++ LDA2 #03 ;draw-short JSR2
+ DUP 8* TOS .dataview/y1 LDZ2 ++ .Screen/y DEO2
+ DUP 2* TOS .settings/focus LDZ2 ++ LDA2 #03 ;draw-short JSR2
.dataview/x1 LDZ2 #0020 ++ .Screen/x DEO2
- DUP #02 * TOS .settings/focus LDZ2 ++ #0008 ++ LDA2 #03 ;draw-short JSR2
+ DUP 2* TOS .settings/focus LDZ2 ++ #0008 ++ LDA2 #03 ;draw-short JSR2
#01 + GTHk ,&loop JCN
POP2
@@ 1058,10 1066,10 @@ RTN
;bigpixel-icn .Screen/addr DEO2
#08 #00
&ver
- DUP #04 * TOS .zoomview/y1 LDZ2 ++ .Screen/y DEO2
+ DUP 4* TOS .zoomview/y1 LDZ2 ++ .Screen/y DEO2
#08 #00
&hor
- DUP #04 * TOS .zoomview/x1 LDZ2 ++ .Screen/x DEO2
+ DUP 4* TOS .zoomview/x1 LDZ2 ++ .Screen/x DEO2
( get pixel )
GET-ITER
( ch 1 )
@@ 1070,7 1078,7 @@ RTN
( ch2 )
[ STHr ] [ STH2r ] #0008 ++ LDA SWP
#07 SWP - SFT #01 AND
- #02 * +
+ 2* +
.Screen/sprite DEO
#01 + GTHk ,&hor JCN
POP2
@@ 1107,7 1115,7 @@ RTN
.Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2
( draw new cursor )
- ;tool-brush #00 .settings/tool LDZ #08 * ++ .Screen/addr DEO2
+ ;tool-brush #00 .settings/tool LDZ 8* ++ .Screen/addr DEO2
#42 .Mouse/state DEI #00 ! + .Screen/sprite DEO
RTN
@@ 1119,7 1127,7 @@ RTN
.toolview/y1 LDZ2 .Screen/y DEO2
;path/name
&loop
- LDAk DUP #00 ! #20 * - TOS 8** ;font ++ .Screen/addr DEO2
+ LDAk DUP #00 ! 20* - TOS 8** ;font ++ .Screen/addr DEO2
STHkr .Screen/sprite DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
#0001 ++