|
|
|
|
@ -410,6 +410,18 @@ JMP2
|
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
@clamp-selection ( -- ) |
|
|
|
|
|
|
|
|
|
.selection/x1 LDZ #0f STHk LTH ,&ok-limitx1 JCN STHkr .selection/x1 STZ &ok-limitx1 POPr |
|
|
|
|
.selection/y1 LDZ #0f STHk LTH ,&ok-limity1 JCN STHkr .selection/y1 STZ &ok-limity1 POPr |
|
|
|
|
.selection/x2 LDZ #0f STHk LTH ,&ok-limitx2 JCN STHkr .selection/x2 STZ &ok-limitx2 POPr |
|
|
|
|
.selection/y2 LDZ #0f STHk LTH ,&ok-limity2 JCN STHkr .selection/y2 STZ &ok-limity2 POPr |
|
|
|
|
( invert ) |
|
|
|
|
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ,&ok-flipx JCN STHkr .selection/x2 STZ &ok-flipx POPr |
|
|
|
|
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ,&ok-flipy JCN STHkr .selection/y2 STZ &ok-flipy POPr |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
|
|
|
|
|
@set-selection-zoom ( x y -- ) |
|
|
|
|
|
|
|
|
|
#7f AND .selection/zy STZ |
|
|
|
|
@ -504,6 +516,9 @@ JMP2
|
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
@|map ) |
|
|
|
|
|
|
|
|
|
@run ( op* -- ) |
|
|
|
|
|
|
|
|
|
STH2 |
|
|
|
|
@ -511,7 +526,7 @@ JMP2
|
|
|
|
|
&ver |
|
|
|
|
.selection/x2 LDZ INC .selection/x1 LDZ |
|
|
|
|
&hor |
|
|
|
|
( write char ) OVR2 NIP OVR SWP ;get-tile-addr JSR2 STH2kr JSR2 |
|
|
|
|
OVR2 NIP OVR SWP ;get-tile-addr JSR2 STH2kr JSR2 |
|
|
|
|
INC GTHk ,&hor JCN |
|
|
|
|
POP2 |
|
|
|
|
INC GTHk ,&ver JCN |
|
|
|
|
@ -598,18 +613,22 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
|
|
|
|
|
@clamp-selection ( -- ) |
|
|
|
|
@op-read ( addr* -- ) |
|
|
|
|
|
|
|
|
|
.selection/x1 LDZ #0f STHk LTH ,&ok-limitx1 JCN STHkr .selection/x1 STZ &ok-limitx1 POPr |
|
|
|
|
.selection/y1 LDZ #0f STHk LTH ,&ok-limity1 JCN STHkr .selection/y1 STZ &ok-limity1 POPr |
|
|
|
|
.selection/x2 LDZ #0f STHk LTH ,&ok-limitx2 JCN STHkr .selection/x2 STZ &ok-limitx2 POPr |
|
|
|
|
.selection/y2 LDZ #0f STHk LTH ,&ok-limity2 JCN STHkr .selection/y2 STZ &ok-limity2 POPr |
|
|
|
|
( invert ) |
|
|
|
|
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ,&ok-flipx JCN STHkr .selection/x2 STZ &ok-flipx POPr |
|
|
|
|
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ,&ok-flipy JCN STHkr .selection/y2 STZ &ok-flipy POPr |
|
|
|
|
.File/read DEO2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
|
|
|
|
|
@op-write ( addr* -- ) |
|
|
|
|
|
|
|
|
|
[ LIT2 &length $2 ] |
|
|
|
|
DUP2 .File/length DEO2 |
|
|
|
|
;&buf SWP2 ;mcpy JSR2 |
|
|
|
|
;&buf .File/write DEO2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
&buf $10 |
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
@|drawing ) |
|
|
|
|
|
|
|
|
|
@ -1253,59 +1272,47 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
@edit-copy-icn ( -- ) |
|
|
|
|
|
|
|
|
|
#0008 ;edit-copy/mode STA2 |
|
|
|
|
,edit-copy ( .. ) |
|
|
|
|
;snarf-txt .File/name DEO2 |
|
|
|
|
#0008 ;op-write/length STA2 |
|
|
|
|
;op-write ;run JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP |
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
@edit-copy-chr ( -- ) |
|
|
|
|
|
|
|
|
|
#0010 ;edit-copy/mode STA2 |
|
|
|
|
|
|
|
|
|
@edit-copy ( -- ) |
|
|
|
|
|
|
|
|
|
;snarf-txt .File/name DEO2 |
|
|
|
|
,&mode LDR2 .File/length DEO2 |
|
|
|
|
.selection/y2 LDZ INC .selection/y1 LDZ |
|
|
|
|
&ver |
|
|
|
|
.selection/x2 LDZ INC .selection/x1 LDZ |
|
|
|
|
&hor |
|
|
|
|
OVR2 NIP OVR SWP ;get-tile-addr JSR2 ;&buf [ LIT2 &mode $2 ] ;mcpy JSR2 |
|
|
|
|
;&buf .File/write DEO2 |
|
|
|
|
INC GTHk ,&hor JCN |
|
|
|
|
POP2 |
|
|
|
|
INC GTHk ,&ver JCN |
|
|
|
|
POP2 |
|
|
|
|
#0010 ;op-write/length STA2 |
|
|
|
|
;op-write ;run JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
&buf $10 |
|
|
|
|
|
|
|
|
|
@edit-paste ( -- ) |
|
|
|
|
|
|
|
|
|
;snarf-txt .File/name DEO2 |
|
|
|
|
#0010 .File/length DEO2 |
|
|
|
|
.selection/y2 LDZ INC .selection/y1 LDZ |
|
|
|
|
&ver |
|
|
|
|
.selection/x2 LDZ INC .selection/x1 LDZ |
|
|
|
|
&hor |
|
|
|
|
OVR2 NIP OVR SWP ;get-tile-addr JSR2 .File/read DEO2 |
|
|
|
|
INC GTHk ,&hor JCN |
|
|
|
|
POP2 |
|
|
|
|
INC GTHk ,&ver JCN |
|
|
|
|
POP2 |
|
|
|
|
;op-read ;run JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
@edit-cut ( -- ) |
|
|
|
|
|
|
|
|
|
;edit-copy JSR2 |
|
|
|
|
;edit-copy-chr JSR2 |
|
|
|
|
;op-erase ;run JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
@edit-erase ( -- ) |
|
|
|
|
|
|
|
|
|
;op-erase ;run JSR2 |
|
|
|
|
#01 .state/changed STZ ;draw-state JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
( select ) |
|
|
|
|
|
|
|
|
|
@tool-brush ( -- ) #00 ;set-tool JMP2 |
|
|
|
|
@ -1335,16 +1342,6 @@ JMP2
|
|
|
|
|
@pick-color3 ( -- ) #02 ;set-color JMP2 |
|
|
|
|
@pick-color4 ( -- ) #03 ;set-color JMP2 |
|
|
|
|
|
|
|
|
|
( option ) |
|
|
|
|
|
|
|
|
|
@edit-erase ( -- ) |
|
|
|
|
|
|
|
|
|
;op-erase ;run JSR2 |
|
|
|
|
#01 .state/changed STZ ;draw-state JSR2 |
|
|
|
|
;redraw ( .. ) |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
|
|
|
|
|
( generics ) |
|
|
|
|
|
|
|
|
|
@set-size ( x1 y1 w* h* rect* -- ) |
|
|
|
|
|