diff --git a/src/manifest.tal b/src/manifest.tal index 7b51257..e21516b 100644 --- a/src/manifest.tal +++ b/src/manifest.tal @@ -56,8 +56,8 @@ BRK DUP #ff EQU ,&no-clear JCN DUP #00 ;draw-sub JSR2 #ff ;draw-menu/sel STA - ;draw-menu JSR2 ;redraw-all JSR2 + ;draw-menu JSR2 &no-clear POP @@ -109,7 +109,7 @@ BRK STH #00 ,&id STR - ;manifest/menu + ;draw-menu/manifest LDA2 &cat [ LIT &id 00 ] STHkr EQU ,&end JCN ;skip-sub JSR2 @@ -149,7 +149,7 @@ JMP2r LIT2r 0000 ,&target STR #00 ,&id STR - ;manifest/menu + ;draw-menu/manifest LDA2 &cat [ LIT &id 00 ] [ LIT &target $1 ] EQU ,&end JCN INC2k ;get-strw JSR2 #0008 ADD2 STH2 ADD2r @@ -163,13 +163,13 @@ JMP2r JMP2r -@get-xcat ( x* -- cat ) +@get-xcat ( x* -- ) #0010 SUB2 LIT2r 0000 ,&target STR2 #00 ,&id STR - ;manifest/menu + ;draw-menu/manifest LDA2 &cat INC2k ;get-strw JSR2 #0008 ADD2 STH2r ADD2 DUP2 [ LIT2 &target $2 ] LTH2 ,&continue JCN @@ -190,7 +190,7 @@ JMP2r ORAk ,&no-null JCN JMP2r &no-null ( not null ) ,&mk STR2 - ;manifest/menu + ;draw-menu/manifest LDA2 &cat LDAk STH INC2 ,skip-str JSR STHr #00 @@ -229,10 +229,10 @@ JMP2r #0010 .Screen/x DEO2 #0004 .Screen/y DEO2 #00 ,&id STR - ;manifest/menu + [ LIT2 &manifest :manifest ] &cat menu-sel menu-def [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA - INC2k ;draw-str JSR2 POP2 #00 .Screen/sprite DEO + INC2k ;draw-str JSR2 POP2 #20 ;draw-chr JSR2 ;skip-sub JSR2 ,&id LDR INC ,&id STR LDAk ,&cat JCN @@ -329,6 +329,17 @@ JMP2r JMP2r +@update-cursor ( color addr* -- ) + + #00 .Screen/auto DEO + #40 ,draw-cursor JSR + .Mouse/x DEI2 DUP2 .cursor/x STZ2 .Screen/x DEO2 + .Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2 + .Screen/addr DEO2 + .Screen/sprite DEO + +JMP2r + @draw-cursor ( color -- ) .cursor/x LDZ2 .Screen/x DEO2 @@ -373,6 +384,12 @@ JMP2r JMP2r +@exit ( -- ) + + #010f DEO + +JMP2r + ( assets ) @hand-icn diff --git a/src/nasu.tal b/src/nasu.tal index 869c267..9fbbb0c 100644 --- a/src/nasu.tal +++ b/src/nasu.tal @@ -91,10 +91,8 @@ BRK @manifest - &name "Nasu $1 - &date "2022-07-03 $1 &menu - 07 "File $1 + 08 "Nasu $1 01 'n :file-new "New $1 01 'r :file-rename "Rename $1 01 'o :file-open "Open $1 @@ -102,6 +100,7 @@ BRK 01 's :file-save "Save $1 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 01 'v :edit-paste "Paste $1 @@ -230,14 +229,10 @@ BRK .Mouse/y DEI2 #000c LTH2 ;trap-menu JCN2 - ( clear last cursor ) - #40 ;draw-cursor JSR2 - ( record mouse positions ) - .Mouse/x DEI2 DUP2 .cursor/x STZ2 .Screen/x DEO2 - .Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2 - ( draw new cursor ) - ;brush-icn #00 .settings/tool LDZ #30 SFT ADD2 .Screen/addr DEO2 - #42 .Mouse/state DEI #00 NEQ ADD .Screen/sprite DEO + ( color ) #42 .Mouse/state DEI #00 NEQ ADD + ( addr* ) ;brush-icn #00 .settings/tool LDZ #30 SFT ADD2 + ;update-cursor JSR2 + #01 .Screen/auto DEO .Mouse/state DEI #00 EQU ,&no-touch JCN .Mouse/x DEI2 .Mouse/y DEI2 .tileview ;within-rect JSR2 ;on-touch-tileview JCN2 @@ -1044,7 +1039,7 @@ JMP2r @draw-hex ( char -- ) - #0f AND DUP #09 GTH #07 MUL ADD #30 ADD + #0f AND DUP #09 GTH #27 MUL ADD #30 ADD @draw-chr ( char -- )