diff --git a/etc/block8.chr b/etc/block8.chr index 32f6823..9b7a05a 100644 Binary files a/etc/block8.chr and b/etc/block8.chr differ diff --git a/src/font.tal b/src/font.tal new file mode 100644 index 0000000..f597434 --- /dev/null +++ b/src/font.tal @@ -0,0 +1,97 @@ +@font +0000 0000 0000 0000 +1010 1010 1000 1000 +2828 0000 0000 0000 +44fe 4444 44fe 4400 +107e 807c 02fc 1000 +0044 0810 2044 0000 +7884 8864 9a84 7a00 +1020 0000 0000 0000 +2040 4040 4040 2000 +0804 0404 0404 0800 +0044 2810 2844 0000 +0010 107c 1010 0000 +0000 0000 0010 2000 +0000 007c 0000 0000 +0000 0000 0000 1000 +0204 0810 2040 8000 +7c82 8282 8282 7c00 +3010 1010 1010 3800 +7c82 027c 8080 fe00 +7c82 021c 0282 7c00 +2242 82fe 0202 0200 +fe80 807c 0282 7c00 +7c82 80fc 8282 7c00 +fe82 0408 0810 1000 +7c82 827c 8282 7c00 +7c82 827e 0202 0200 +0000 1000 1000 0000 +0000 1000 1010 2000 +0008 1020 1008 0000 +0000 7c00 7c00 0000 +0010 0804 0810 0000 +7c82 820c 1000 1000 +7c82 92aa aa92 6400 +7c82 82fe 8282 8200 +fc82 82fc 8282 fc00 +7c82 8080 8082 7c00 +fc82 8282 8282 fc00 +fe80 80f0 8080 fe00 +fe80 80f0 8080 8000 +7c82 808e 8282 7c00 +8282 82fe 8282 8200 +3810 1010 1010 3800 +0602 0202 0282 7c00 +8284 88f0 8884 8200 +8080 8080 8080 fe00 +ec92 9292 9292 9200 +c2a2 a292 8a8a 8600 +7c82 8282 8282 7c00 +fc82 82fc 8080 8000 +7c82 8282 8a84 7a00 +fc82 82fc 8282 8200 +7c82 807c 0282 7c00 +fe10 1010 1010 1000 +8282 8282 8286 7a00 +8282 8282 4428 1000 +9292 9292 9292 ec00 +8244 2810 2844 8200 +8282 4428 1010 1000 +fe02 0c10 6080 fe00 +6040 4040 4040 6000 +8040 2010 0804 0200 +0c04 0404 0404 0c00 +1028 0000 0000 0000 +0000 0000 0000 fe00 +1008 0000 0000 0000 +0000 7c02 7e82 7e00 +0000 fc82 fc82 fc00 +0000 7c82 8082 7c00 +0000 027e 8282 7e00 +0000 7c82 fc80 7e00 +0000 7c82 e080 8000 +0000 7c82 7e02 fc00 +0000 80fc 8282 8200 +0000 1000 1010 1000 +0000 0200 0282 7c00 +0000 8284 f884 8200 +0000 8080 8080 7e00 +0000 6c92 9292 9200 +0000 bcc2 8282 8200 +0000 7c82 8282 7c00 +0000 fc82 fc80 8000 +0000 7c82 7e02 0200 +0000 bcc2 8080 8000 +0000 7e80 7c02 fc00 +0000 fe10 1010 1000 +0000 8282 8282 7c00 +0000 8282 4428 1000 +0000 9292 9292 6c00 +0000 8244 3844 8200 +0000 8282 7e02 7c00 +0000 fe02 7c80 fe00 +2040 4080 4040 2000 +1010 1010 1010 1000 +0804 0402 0404 0800 +0000 0032 4c00 0000 +0000 0000 0000 0000 diff --git a/src/manifest.tal b/src/manifest.tal index 6cbdfad..18e28e3 100644 --- a/src/manifest.tal +++ b/src/manifest.tal @@ -3,11 +3,12 @@ &name "Nasu $1 &date "2022-06-28 $1 &menu - 04 "File $1 + 05 "File $1 01 'n :file-new "New $1 01 'r :file-rename "Rename $1 01 'o :file-open "Open $1 01 's :file-save "Save $1 + 01 'p :save-theme "SaveTheme $1 04 "Edit $1 01 'c :edit-copy "Copy $1 01 'v :edit-paste "Paste $1 @@ -62,7 +63,7 @@ JMP2r .Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2 ( draw new cursor ) ;hand-icn .Screen/addr DEO2 - #4f .Mouse/state DEI #00 NEQ ADD .Screen/sprite DEO + #42 .Mouse/state DEI #00 NEQ ADD .Screen/sprite DEO ( when touch cat ) .Mouse/state DEI #00 EQU ,&no-touch-cat JCN .Mouse/y DEI2 #0008 GTH2 ,&no-touch-cat JCN @@ -111,7 +112,7 @@ JMP2r ( hide ) ;draw-menu/sel LDA #00 ;draw-sub JSR2 #ff ;draw-menu/sel STA ;draw-menu JSR2 - ;redraw JSR2 + ;redraw-all JSR2 JMP2r @@ -124,7 +125,7 @@ JMP2r DUP #00 ;draw-sub JSR2 &no-clear POP - ( draw application ) ;redraw JSR2 + ( draw application ) ;redraw-all JSR2 ( unselect sub ) #ff ;draw-sub/sel STA ( select cat ) DUP ;draw-menu/sel STA ( draw sub ) #ff ;draw-sub JSR2 @@ -298,7 +299,7 @@ JMP2r LDA2k SWP2 #0004 ADD2 STH2k ;draw-str JSR2 ( fill ) - #0b STH2r ;slen JSR2 NIP SUB #00 + #0c STH2r ;slen JSR2 NIP SUB #00 &loop #20 ;draw-chr JSR2 INC GTHk ,&loop JCN diff --git a/src/nasu.tal b/src/nasu.tal index c6a8516..c8cba2b 100644 --- a/src/nasu.tal +++ b/src/nasu.tal @@ -45,7 +45,7 @@ #0caf .System/b DEO2 ( size ) #0122 .Screen/width DEO2 - #0100 .Screen/height DEO2 + #00e8 .Screen/height DEO2 ( vectors ) ;on-console .Console/vector DEO2 ;on-button .Controller/vector DEO2 @@ -73,17 +73,7 @@ .tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ADD2 #0100 #0008 ;toolview ;set-size JSR2 ( static drawings ) ;load-theme JSR2 - .frame/x1 LDZ2 #0009 SUB2 .frame/y1 LDZ2 #0030 ADD2 #20 #10 ;frame-icns ;draw-frame JSR2 - ( spacers ) - ;spacer-icn .Screen/addr DEO2 - .frame/x1 LDZ2 #007b ADD2 .Screen/x DEO2 - .frame/y1 LDZ2 #0030 ADD2 .Screen/y DEO2 - #01 .Screen/sprite DEO - ;spacer-icn .Screen/addr DEO2 - .frame/x1 LDZ2 #007b ADD2 .Screen/x DEO2 - .frame/y1 LDZ2 #00b8 ADD2 .Screen/y DEO2 - #21 .Screen/sprite DEO - #00 .Screen/auto DEO + ;draw-once JSR2 ( let's begin! ) ;file-new JSR2 ;menu-init JSR2 @@ -593,6 +583,10 @@ JMP2r JMP2r +@redraw-all ( -- ) + + ;draw-once JSR2 + @redraw ( -- ) ;draw-toolview JSR2 @@ -1002,6 +996,22 @@ JMP2r JMP2r +@draw-once ( -- ) + + .frame/x1 LDZ2 #0009 SUB2 .frame/y1 LDZ2 #0030 ADD2 #20 #10 ;frame-icns ;draw-frame JSR2 + ( spacers ) + ;spacer-icn .Screen/addr DEO2 + .frame/x1 LDZ2 #007b ADD2 .Screen/x DEO2 + .frame/y1 LDZ2 #0030 ADD2 .Screen/y DEO2 + #01 .Screen/sprite DEO + ;spacer-icn .Screen/addr DEO2 + .frame/x1 LDZ2 #007b ADD2 .Screen/x DEO2 + .frame/y1 LDZ2 #00b8 ADD2 .Screen/y DEO2 + #21 .Screen/sprite DEO + #00 .Screen/auto DEO + +JMP2r + ( drawing primitives ) @draw-text ( text* color -- ) @@ -1094,7 +1104,6 @@ JMP2r &no-nametable #00 .state/changed STZ ;draw-state JSR2 - ;save-theme JSR2 JMP2r @@ -1405,56 +1414,9 @@ JMP2r ( br ) 00ff 0000 0000 0000 ( mc ) 4080 0000 0000 0000 -@font ( block8 ) - 0000 0000 0000 0000 1010 1010 1000 1000 - 2828 0000 0000 0000 44fe 4444 44fe 4400 - 107e 807c 02fc 1000 0044 0810 2044 0000 - 7884 8864 9a84 7a00 1020 0000 0000 0000 - 2040 4040 4040 2000 0804 0404 0404 0800 - 0044 2810 2844 0000 0010 107c 1010 0000 - 0000 0000 0010 2000 0000 007c 0000 0000 - 0000 0000 0000 1000 0204 0810 2040 8000 - 7c82 8282 8282 7c00 3010 1010 1010 3800 - 7c82 027c 8080 fe00 7c82 021c 0282 7c00 - 2242 82fe 0202 0200 fe80 807c 0282 7c00 - 7c82 80fc 8282 7c00 fe82 0408 0810 1000 - 7c82 827c 8282 7c00 7c82 827e 0202 0200 - 0000 1000 1000 0000 0000 1000 1010 2000 - 0008 1020 1008 0000 0000 7c00 7c00 0000 - 0010 0804 0810 0000 7c82 820c 1000 1000 - 7c82 92aa aa92 6400 7c82 82fe 8282 8200 - fc82 82fc 8282 fc00 7c82 8080 8082 7c00 - fc82 8282 8282 fc00 fe80 80f0 8080 fe00 - fe80 80f0 8080 8000 7c82 808e 8282 7c00 - 8282 82fe 8282 8200 3810 1010 1010 3800 - 0602 0202 0282 7c00 8284 88f0 8884 8200 - 8080 8080 8080 fe00 c6aa 9292 9292 9200 - c2a2 a292 8a8a 8600 7c82 8282 8282 7c00 - fc82 82fc 8080 8000 7c82 8282 8a84 7a00 - fc82 82fc 8282 8200 7c82 807c 0282 7c00 - fe10 1010 1010 1000 8282 8282 8286 7a00 - 8282 8282 4428 1000 9292 9292 92aa c600 - 8244 2810 2844 8200 8282 4428 1010 1000 - fe02 0c10 6080 fe00 6040 4040 4040 6000 - 8040 2010 0804 0200 0c04 0404 0404 0c00 - 1028 0000 0000 0000 0000 0000 0000 fe00 - 1008 0000 0000 0000 0000 7c02 7e82 7e00 - 0000 fc82 fc82 fc00 0000 7c82 8082 7c00 - 0000 0202 7e82 7e00 0000 7c82 fc80 7e00 - 0000 7c82 e080 8000 0000 7c82 7e02 fc00 - 0000 8080 fc82 8200 0000 1000 1010 1000 - 0000 fe02 0282 7c00 0000 8284 f884 8200 - 0000 8080 8080 7e00 0000 6c92 9292 9200 - 0000 bcc2 8282 8200 0000 7c82 8282 7c00 - 0000 fc82 fc80 8000 0000 7c82 7e02 0200 - 0000 bcc2 8080 8000 0000 7e80 7c02 fc00 - 0000 fe10 1010 1000 0000 8282 8282 7c00 - 0000 8282 4428 1000 0000 9292 9292 6c00 - 0000 8244 3844 8200 0000 8282 7e02 7c00 - 0000 fe02 7c80 fe00 2040 4080 4040 2000 - 1010 1010 1010 1000 0804 0402 0404 0800 - 0000 0032 4c00 0000 0000 0000 0000 0000 + +~src/font.tal ~src/manifest.tal |8000