Browse Source

Added copy(icn) to edit menu

main
neauoire 3 years ago
parent
commit
230b677fa9
  1. 126
      src/nasu.tal

126
src/nasu.tal

@ -79,8 +79,9 @@ BRK
00 00 =file-save-mono "SaveMono $1
01 "p =save-theme "SaveTheme $1
01 "q =exit "Exit $1
04 "Edit $1
01 "c =edit-copy "Copy $1
05 "Edit $1
01 "c =edit-copy-chr "Copy $1
05 "C =edit-copy-icn "CopyMono $1
01 "v =edit-paste "Paste $1
01 "x =edit-cut "Cut $1
00 08 =edit-erase "Erase $1
@ -1095,6 +1096,59 @@ JMP2r
JMP2r
@draw-frame ( w h chr* -- )
STH2 ,&h STR ,&w STR
.Screen/x DEI2 DUP2 #0008 SUB2 .Screen/x DEO2
.Screen/y DEI2 #0008 SUB2 DUP2 .Screen/y DEO2
( ul ) #00 STH2kr #05 ,&single JSR
( uu ) [ LIT &w $1 ] #00 STH2kr #0010 ADD2 #01 ,&repeat JSR
( ur ) #10 STH2kr #06 ,&single JSR
( rr ) [ LIT &h $1 ] #00 STH2kr #0020 ADD2 #02 ,&repeat JSR
#0008 ADD2 .Screen/y DEO2
#0008 SUB2 .Screen/x DEO2
( ll ) ,&h LDR #10 STH2kr #0020 ADD2 #02 ,&repeat JSR
( dl ) #20 STH2kr #01 ,&single JSR
( bb ) ,&w LDR #20 STH2kr #0010 ADD2 #01 ,&repeat JSR
( dr ) #30 STH2r #00 ,&single ( .. )
JMP
&repeat ( times color addr* auto -- )
.Screen/auto DEO
.Screen/addr DEO2
STH
#00 &l STHkr ,&paint JSR INC GTHk ,&l JCN POP2
POPr
JMP2r
&single ( color addr* auto -- )
.Screen/auto DEO
.Screen/addr DEO2
&paint ( mask -- )
[ LIT &color 8a ] SWP ORA .Screen/sprite DEO
JMP2r
@line-hor-dashed ( x* y* color -- )
STH .Screen/y DEO2 .Screen/x DEO2
;&sprite .Screen/addr DEO2
#f2 .Screen/auto DEO
STHr .Screen/sprite DEO
#01 .Screen/auto DEO
JMP2r
&sprite aa00 0000 0000 0000
@line-ver-dashed ( x* y* color -- )
STH .Screen/y DEO2 .Screen/x DEO2
;&sprite .Screen/addr DEO2
#f1 .Screen/auto DEO
STHr .Screen/sprite DEO
#01 .Screen/auto DEO
JMP2r
&sprite 8000 8000 8000 8000
(
@|options )
@ -1197,15 +1251,26 @@ JMP2r
@snarf-txt ".snarf $1
@edit-copy-icn ( -- )
#0008 ;edit-copy/mode STA2
,edit-copy ( .. )
JMP
@edit-copy-chr ( -- )
#0010 ;edit-copy/mode STA2
@edit-copy ( -- )
;snarf-txt .File/name DEO2
#0010 .File/length 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 #0010 ;mcpy JSR2
OVR2 NIP OVR SWP ;get-tile-addr JSR2 ;&buf [ LIT2 &mode $2 ] ;mcpy JSR2
;&buf .File/write DEO2
INC GTHk ,&hor JCN
POP2
@ -1313,59 +1378,6 @@ JMP2r
JMP2r
@draw-frame ( w h chr* -- )
STH2 ,&h STR ,&w STR
.Screen/x DEI2 DUP2 #0008 SUB2 .Screen/x DEO2
.Screen/y DEI2 #0008 SUB2 DUP2 .Screen/y DEO2
( ul ) #00 STH2kr #05 ,&single JSR
( uu ) [ LIT &w $1 ] #00 STH2kr #0010 ADD2 #01 ,&repeat JSR
( ur ) #10 STH2kr #06 ,&single JSR
( rr ) [ LIT &h $1 ] #00 STH2kr #0020 ADD2 #02 ,&repeat JSR
#0008 ADD2 .Screen/y DEO2
#0008 SUB2 .Screen/x DEO2
( ll ) ,&h LDR #10 STH2kr #0020 ADD2 #02 ,&repeat JSR
( dl ) #20 STH2kr #01 ,&single JSR
( bb ) ,&w LDR #20 STH2kr #0010 ADD2 #01 ,&repeat JSR
( dr ) #30 STH2r #00 ,&single ( .. )
JMP
&repeat ( times color addr* auto -- )
.Screen/auto DEO
.Screen/addr DEO2
STH
#00 &l STHkr ,&paint JSR INC GTHk ,&l JCN POP2
POPr
JMP2r
&single ( color addr* auto -- )
.Screen/auto DEO
.Screen/addr DEO2
&paint ( mask -- )
[ LIT &color 8a ] SWP ORA .Screen/sprite DEO
JMP2r
@line-hor-dashed ( x* y* color -- )
STH .Screen/y DEO2 .Screen/x DEO2
;&sprite .Screen/addr DEO2
#f2 .Screen/auto DEO
STHr .Screen/sprite DEO
#01 .Screen/auto DEO
JMP2r
&sprite aa00 0000 0000 0000
@line-ver-dashed ( x* y* color -- )
STH .Screen/y DEO2 .Screen/x DEO2
;&sprite .Screen/addr DEO2
#f1 .Screen/auto DEO
STHr .Screen/sprite DEO
#01 .Screen/auto DEO
JMP2r
&sprite 8000 8000 8000 8000
(
@|stdlib )

Loading…
Cancel
Save