|
|
|
|
@ -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 ++ |
|
|
|
|
|