Browse code

(metadata.tal) Catch no metadata case

neauoire authored on 14/11/2022 18:17:56
Showing 1 changed files
... ...
@@ -44,8 +44,11 @@ BRK
44 44
 
45 45
 	 .Disk/name DEO2
46 46
 	( read )
47
-	#0003 .Disk/length DEO2
47
+	#0006 .Disk/length DEO2
48 48
 	;&header .Disk/read DEO2
49
+
50
+	;&deo LDA2 #f037 NEQ2 ;&missing JCN2
51
+
49 52
 	;&start LDA2 #0100 SUB2 ;seek JSR2
50 53
 	#0004 .Disk/length DEO2
51 54
 	;&end
... ...
@@ -66,21 +69,39 @@ BRK
66 69
 	;draw-str JSR2 ;draw-lb JSR2
67 70
 	POP2
68 71
 	( icon )
69
-	#0008
70
-		DUP2 .Screen/x DEO2
71
-		.Screen/y DEO2
72 72
 	;&icon LDA2 #0100 SUB2 ;seek JSR2
73 73
 	#0200 .Disk/length DEO2
74 74
 	;data
75 75
 		DUP2 .Disk/read DEO2
76
-		.Screen/addr DEO2
77
-	#76 .Screen/auto DEO
76
+		#76 ;draw-icon JSR2
77
+
78
+JMP2r
79
+	&header $1 &start $3 &deo $2 &end $2 &icon $2
80
+
81
+&missing ( -- )
82
+
83
+	;blank-icn #72 ;draw-icon JSR2
84
+	#0058 STH2k .Screen/x DEO2
85
+	#0018 .Screen/y DEO2
86
+	;src ;draw-str JSR2 POP2
87
+	;draw-lb JSR2
88
+	STH2r .Screen/x DEO2
89
+	;dict/empty ;draw-str JSR2 POP2
90
+
91
+JMP2r
92
+
93
+@draw-icon ( addr* auto -- )
94
+
95
+	#0008
96
+		DUP2 .Screen/x DEO2
97
+		.Screen/y DEO2
98
+	.Screen/auto DEO
99
+	.Screen/addr DEO2
78 100
 	#01 .Screen/sprite 
79 101
 		DEOk DEOk DEOk DEOk
80 102
 		DEOk DEOk DEOk DEO
81 103
 
82 104
 JMP2r
83
-	&header $1 &start $2 &end $2 &icon $2
84 105
 
85 106
 @draw-lb ( -- )
86 107
 
... ...
@@ -124,6 +145,14 @@ JMP2r
124 145
 JMP2r
125 146
 	&b $1
126 147
 
148
+@print ( short* -- )
149
+
150
+	SWP ,&byte JSR
151
+	&byte ( byte -- ) DUP #04 SFT ,&char JSR
152
+	&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
153
+
154
+JMP2r
155
+
127 156
 @scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ,&w JCN JMP2r
128 157
 @sput ( chr str* -- ) ,scap JSR STA JMP2r
129 158
 @skey ( key buf -- proc ) OVR #21 LTH ,&eval JCN #00 SWP ;sput JSR2 #00 JMP2r &eval POP2 #01 JMP2r
... ...
@@ -131,6 +160,10 @@ JMP2r
131 160
 
132 161
 @dict
133 162
 	&input "Input(.tal): 20 $1
163
+	&empty "Metadata 20 "Missing $1
164
+
165
+@blank-icn
166
+	aa55 aa55 aa55 aa55
134 167
 
135 168
 @font ( atari8 )
136 169
 0000 0000 0000 0000 6060 6060 6000 6000