M src/apps.tal => src/apps.tal +0 -31
@@ 461,41 461,10 @@ JMP2r
&no-pict
INC2 GTH2k ,&l JCN
POP2 POP2
-
- ( DUP2 #0008 ADD2 LDA2 ;pstr JSR #0a18 DEO )
-
- ( .File/name DEO2
- #0006 .File/length DEO2
- ;metadata/header .File/read DEO2
-
- )
-
- ( ;mem-ptr JSR2
- DUP2 ;load-metadata JSR2
- STH2k ;draw-txt JSR2 INC2
- OVR2 LDA2 #0010 ADD2 .Screen/x DEO2
- OVR2 INC2 INC2 LDA2 #0020 ADD2 .Screen/y DEO2
-
- ;metadata/end LDA2 ;metadata/start LDA2
- SUB2 STH2r ADD2 #0003 SUB2 SWP2
- &l
- LDAk STH
- INC2 LDA2k STHr ;parse-field JSR2
- INC2 INC2 GTH2k ,&l JCN
- POP2 POP2 )
( win* ) POP2
JMP2r
-@parse-field ( value* key -- )
-
- DUP #83 NEQ ,&no-icon JCN
- POP #0100 SUB2 ;draw-metaicon JMP2
- &no-icon
- POP POP2
-
-JMP2r
-
(
@|text )
M src/assets.tal => src/assets.tal +0 -1
@@ 12,7 12,6 @@
&delete "Delete $1
&clone "Clone $1
&open "Open $1
- &no-meta "No 20 "Metadata $1
&ok "OK $1
&red "Red $1
&green "Green $1
M src/potato.tal => src/potato.tal +35 -2
@@ 757,6 757,40 @@ JMP2r
[ LIT &color 85 ] SWP ORA .Screen/sprite DEO
JMP2r
+@draw-rom-icon ( file* -- )
+
+ #0005 ADD2 ;make-src JSR2 ;has-metadata JSR2 ,&valid JCN
+ ( display default icon )
+ ;icons/application ;draw-icon JSR2
+
+JMP2r
+
+&valid ( -- )
+
+ ;metadata/fields #0100 ;mclr JSR2
+ ;load-metadata JSR2
+ ( find picture )
+ ;metadata/fields LDAk LITr 00 STH
+ INC2 DUP2 STH2r ADD2 SWP2
+ &l
+ LDAk #83 EQU ,&valid-icon JCN
+ INC2 GTH2k ,&l JCN
+ POP2 POP2
+ ;icons/application ;draw-icon JSR2
+
+JMP2r
+
+&valid-icon ( fields* field -- )
+
+ INC2 LDA2 #0100 SUB2 ;seek JSR2
+ #0090 .File/length DEO2
+ ;metadata/icon
+ DUP2 .File/read DEO2
+ ;draw-icon JSR2
+ POP2
+
+JMP2r
+
@draw-icon ( addr* -- )
.Screen/addr DEO2
@@ 785,7 819,7 @@ JMP2
LDAk LIT "- EQU ,&folder JCN
LDAk LIT "? EQU ,&unknown JCN
DUP2 #0005 ADD2 LDA LIT ". EQU ,&unknown JCN
- DUP2 #0005 ADD2 ;dict/rom-ext ;has-ext JSR2 ,&rom JCN
+ DUP2 #0005 ADD2 ;dict/rom-ext ;has-ext JSR2 ;draw-rom-icon JCN2
DUP2 #0005 ADD2 ;dict/chr-ext ;has-ext JSR2 ,&picture JCN
DUP2 #0005 ADD2 ;dict/icn-ext ;has-ext JSR2 ,&picture JCN
DUP2 #0005 ADD2 ;dict/pcm-ext ;has-ext JSR2 ,&sound JCN
@@ 796,7 830,6 @@ JMP2
&folder POP2 ;icons/folder ;draw-icon JMP2
&unknown POP2 ;icons/unknown ;draw-icon JMP2
&picture POP2 ;icons/picture ;draw-icon JMP2
- &rom POP2 ;icons/application ;draw-icon JMP2
&sound POP2 ;icons/sound ;draw-icon JMP2
&font POP2 ;icons/font ;draw-icon JMP2