From f7e133dcd96ce586defc412ed003fd51897197e3 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sun, 8 Jan 2023 09:58:44 -0800 Subject: [PATCH] New metadata --- src/manifest.tal | 93 +++++++++++++++++++++++++++++++++++++++++++----- src/nasu.tal | 84 +++---------------------------------------- 2 files changed, 89 insertions(+), 88 deletions(-) diff --git a/src/manifest.tal b/src/manifest.tal index 16c4659..7e0cb83 100644 --- a/src/manifest.tal +++ b/src/manifest.tal @@ -1,4 +1,5 @@ -( manifest ) +( +@|manifest ) @trap-menu ( -> ) @@ -243,8 +244,7 @@ JMP2r LDAk STH INC2 ;skip-str JSR2 STHr #00 &subcat - STHk - ( theme ) #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA + ( theme ) STHk #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA [ LIT2 &anchor $2 ] .Screen/x DEO2 #00 OVR INC #30 SFT2 #0004 ADD2 .Screen/y DEO2 SWP2 ;draw-label JSR2 SWP2 @@ -326,7 +326,84 @@ JMP2r JMP2r -( theme ) +( +@|about ) + +@about +&on-mouse ( -> ) + .Mouse/state DEI ,&on-control JCN + BRK +&on-control ( -> ) + ,&hide JSR +BRK +&toggle ( -- ) + [ LIT &active 00 ] ,&hide JCN + #01 ,&active STR + ;draw-about JSR2 + ;&on-mouse .Mouse/vector DEO2 + ;&on-control .Controller/vector DEO2 +JMP2r +&hide ( -- ) + #00 ,&active STR + ;clear-about JSR2 + ;untrap ( .. ) +JMP2 + +@draw-about ( -- ) + + ( frame ) + .Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2 + .Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2 + #1c06 ;frame1-chr ;draw-frame JSR2 + ( fill ) + STH2r .Screen/y DEO2 + STH2r .Screen/x DEO2 + #1c #0351 ;fill-icn ;draw-fill-fast JSR2 + .Screen/x DEI2k #00e0 SUB2 ROT DEO2 + ( icon ) + .Screen/x DEI2k #0008 ADD2 ROT DEO2 + .Screen/y DEI2k #000c ADD2 ROT DEO2 + #03 #8526 ;appicon ;draw-fill-fast JSR2 + .Screen/x DEI2k #0020 ADD2 ROT DEO2 + .Screen/y DEI2k #001c SUB2 ROT DEO2 + #0a ;draw-chr/color STA + ;meta/body ( .. ) + +@draw-txt ( txt* -- ) + + #01 .Screen/auto DEO + .Screen/x DEI2 ,&anchor STR2 + &w + LDAk #20 LTH ,&no-char JCN + LDAk ;draw-chr JSR2 + &no-char + LDAk #0a NEQ ,&no-lb JCN + [ LIT2 &anchor $2 ] .Screen/x DEO2 + ,draw-lb JSR + &no-lb + INC2 LDAk ,&w JCN + POP2 + +JMP2r + +@draw-lb ( -- ) + + .Screen/y DEI2k #0008 ADD2 ROT DEO2 + +JMP2r + +@clear-about ( -- ) + + .Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2 + .Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2 + #22 #0091 ;draw-fill-fast/blank JSR2 + ;redraw-all JSR2 + ;draw-menu ( .. ) + +JMP2 + +( +@|theme ) @load-theme ( -- ) @@ -353,11 +430,11 @@ JMP2r @scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r @mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r -@print ( short* -- ) +@phex ( short* -- ) - SWP ,&byte JSR - &byte ( byte -- ) DUP #04 SFT ,&char JSR - &char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO + SWP ,&b JSR + &b ( byte -- ) DUP #04 SFT ,&c JSR + &c ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r diff --git a/src/nasu.tal b/src/nasu.tal index 266b1ed..f6b8054 100644 --- a/src/nasu.tal +++ b/src/nasu.tal @@ -746,7 +746,8 @@ JMP2r INC GTHk ,&hor JCN POP2 POPr - .nametableview/x LDZ2 ;draw-lb JSR2 + .nametableview/x LDZ2 .Screen/x DEO2 + ;draw-lb JSR2 INC GTHk ,&ver JCN POP2 @@ -985,7 +986,8 @@ JMP2r #02 ;draw-chr/color STA ( ch2 ) #0008 ADD2 LDA2 ;draw-short JSR2 ( skip line ) - .dataview/x1 LDZ2 ;draw-lb JSR2 + .dataview/x1 LDZ2 .Screen/x DEO2 + ;draw-lb JSR2 INC GTHk ,&loop JCN POP2 @@ -1385,84 +1387,6 @@ JMP2r @ror ( byte -- byte ) DUP #70 SFT SWP #01 SFT ADD JMP2r @mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r -( -@|about ) - -@about -&on-mouse ( -> ) - .Mouse/state DEI ,&on-control JCN - BRK -&on-control ( -> ) - ,&hide JSR -BRK -&toggle ( -- ) - [ LIT &active 00 ] ,&hide JCN - #01 ,&active STR - ;draw-about JSR2 - ;&on-mouse .Mouse/vector DEO2 - ;&on-control .Controller/vector DEO2 -JMP2r -&hide ( -- ) - #00 ,&active STR - ;clear-about JSR2 - ;untrap ( .. ) -JMP2 - -@draw-about ( -- ) - - ( frame ) - .Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2 - .Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2 - #1c06 ;frame1-chr ;draw-frame JSR2 - ( fill ) - STH2r .Screen/y DEO2 - STH2r .Screen/x DEO2 - #1c #0351 ;fill-icn ;draw-fill-fast JSR2 - .Screen/x DEI2k #00e0 SUB2 ROT DEO2 - ( icon ) - .Screen/x DEI2k #0008 ADD2 ROT DEO2 - .Screen/y DEI2k #000c ADD2 ROT DEO2 - #03 #8526 ;appicon ;draw-fill-fast JSR2 - .Screen/x DEI2k #0020 ADD2 ROT DEO2 - .Screen/y DEI2k #001c SUB2 ROT DEO2 - #0a ;draw-chr/color STA - ;meta/body ;draw-txt JSR2 - -JMP2r - -@draw-txt ( txt* -- ) - - #01 .Screen/auto DEO - .Screen/x DEI2 ,&anchor STR2 - &w - LDAk #20 LTH ,&no-char JCN - LDAk ;draw-chr JSR2 - &no-char - LDAk #0a NEQ ,&no-lb JCN - [ LIT2 &anchor $2 ] ,draw-lb JSR - &no-lb - INC2 LDAk ,&w JCN - POP2 - -JMP2r - -@draw-lb ( anchor* -- ) - - .Screen/x DEO2 - .Screen/y DEI2k #0008 ADD2 ROT DEO2 - -JMP2r - -@clear-about ( -- ) - - .Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2 - .Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2 - #22 #0091 ;draw-fill-fast/blank JSR2 - ;redraw-all JSR2 - ;draw-menu ( .. ) - -JMP2 - ( @|assets )