1( 54K . Perifs
2| Controller: Buttons should highlight on press and display the button and key bytes.
3| Mouse: Buttons should highlight on press and display the x and y position. )
4
5|00 @System/vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1
6|20 @Screen/vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
7|80 @Controller/vector $2 &button $1 &key $1
8|90 @Mouse/vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
9|0050 @Varvara/version
10
11|000
12
13 @center/x $2 &y $2
14 @wheel/y $1 &y-lo $1
15
16|100
17
18@on-reset ( -> )
19 ;meta #06 DEO2
20 ( | Set size )
21 #0180 .Screen/width DEO2
22 #0180 .Screen/height DEO2
23 ( | Theme )
24 #0f0f .System/r DEO2
25 #00ff .System/g DEO2
26 #00ff .System/b DEO2
27 ( | Wipe layers )
28 #0000 DUP2 .Screen/x DEO2
29 .Screen/y DEO2
30 [ LIT2 80 -Screen/pixel ] DEO
31 [ LIT2 c0 -Screen/pixel ] DEO
32 ( | Blank vectors )
33 #0000 #00 &l DEO2k #10 ADD DUP [ ?&l POP POP2 ]
34 ( | Halt recover )
35 [ LIT2 80 -System/halt ] DEO
36 [ LIT2 01 -System/halt ] DEO
37 [ LIT2 00 -System/halt ] DEO
38 ( | Distant pixels )
39 #8000 .Screen/x DEO2
40 #8000 .Screen/y DEO2
41 [ LIT2 00 -Screen/pixel ] DEO
42 [ LIT2 40 -Screen/pixel ] DEO
43 [ LIT2 80 -Screen/pixel ] DEO
44 [ LIT2 c0 -Screen/pixel ] DEO
45 [ LIT2 d0 -Screen/pixel ] DEO
46 [ LIT2 e0 -Screen/pixel ] DEO
47 [ LIT2 f0 -Screen/pixel ] DEO
48 ( | Find center )
49 .Screen/width DEI2 #01 SFT2 .center/x STZ2
50 .Screen/height DEI2 #01 SFT2 .center/y STZ2
51 controller/<draw>
52 mouse/<draw>
53 smile/<draw-all>
54 ;controller/on-event .Controller/vector DEO2
55 ;mouse/on-event .Mouse/vector DEO2
56 BRK
57
58@meta 00 "Perifs 0a
59 ( details ) "A 20 "Peripherals 20 "Test 0a
60 ( author ) "By 20 "Hundred 20 "Rabbits 0a
61 ( date ) "10 20 "Jul 20 "2026 00
62 ( . ) 02
63 ( - ) 56 =Varvara/version
64 ( - ) 83 =appicon
65
66%Screen/<mod-x> ( x* -- ) {
67 .Screen/x DEI2 ADD2 .Screen/x DEO2 }
68
69%Screen/<mod-y> ( x* -- ) {
70 .Screen/y DEI2 ADD2 .Screen/y DEO2 }
71
72%Screen/<mod> ( x* y* -- ) {
73 Screen/<mod-y>
74 Screen/<mod-x> }
75
76%u8/mod ( a b -- res ) {
77 DIVk MUL SUB }
78
79(
80@|Controller )
81
82@controller/on-event ( -> )
83 /<draw>
84 ( | print stack on start button )
85 [ LIT2 08 -Controller/button ] DEI
86 ( | handlers )
87 DUP ?{ smile/<next> }
88 NEQ ?{ #010e DEO }
89 BRK
90
91@controller/<draw> ( -- )
92 .Controller/button DEI2
93 ( | background )
94 .center/x LDZ2 #0040 SUB2 .Screen/x DEO2
95 .center/y LDZ2 #0040 SUB2 .Screen/y DEO2
96 #03f9 ;&icns #f6 <draw-times>
97 ( | output )
98 #0010 #ffb0 Screen/<mod>
99 DUP2 hex/<draw-short>
100 ( | A button )
101 OVR #01 AND #00 EQU ?{
102 .center/x LDZ2 #0028 ADD2 .Screen/x DEO2
103 .center/y LDZ2 #0020 SUB2 .Screen/y DEO2
104 #03fe ;large/icns #16 <draw-times> }
105 ( | B button )
106 OVR #02 AND #00 EQU ?{
107 .center/x LDZ2 #0010 ADD2 .Screen/x DEO2
108 .center/y LDZ2 #0020 SUB2 .Screen/y DEO2
109 #03fe ;large/icns #16 <draw-times> }
110 ( | C button )
111 OVR #04 AND #00 EQU ?{
112 .center/x LDZ2 #0008 SUB2 .Screen/x DEO2
113 .center/y LDZ2 #0018 SUB2 .Screen/y DEO2
114 #03ff ;small/icn #16 <draw-times> }
115 ( | S button )
116 OVR #08 AND #00 EQU ?{
117 .center/x LDZ2 #0018 SUB2 .Screen/x DEO2
118 .center/y LDZ2 #0018 SUB2 .Screen/y DEO2
119 #03ff ;small/icn #16 <draw-times> }
120 ( | Up arrow )
121 OVR #10 AND #00 EQU ?{
122 .center/x LDZ2 #0030 SUB2 .Screen/x DEO2
123 .center/y LDZ2 #0028 SUB2 .Screen/y DEO2
124 #0fff ;arrow/icn #00 <draw-times> }
125 ( | Down arrow )
126 OVR #20 AND #00 EQU ?{
127 .center/x LDZ2 #0030 SUB2 .Screen/x DEO2
128 .center/y LDZ2 #0018 SUB2 .Screen/y DEO2
129 #0fff ;arrow/icn #00 <draw-times> }
130 ( | Left arrow )
131 OVR #40 AND #00 EQU ?{
132 .center/x LDZ2 #0038 SUB2 .Screen/x DEO2
133 .center/y LDZ2 #0020 SUB2 .Screen/y DEO2
134 #0fff ;arrow/icn #00 <draw-times> }
135 ( | Right arrow )
136 OVR #80 AND #00 EQU ?{
137 .center/x LDZ2 #0028 SUB2 .Screen/x DEO2
138 .center/y LDZ2 #0020 SUB2 .Screen/y DEO2
139 #0fff ;arrow/icn #00 <draw-times> }
140 POP2 JMP2r
141
142(
143@|Mouse )
144
145@mouse/on-event ( -> )
146 [ LIT2 &last $1 -Mouse/state ] DEI DUP ,&last STR
147 EQUk ?{
148 DUP #00 EQU ?{ smile/<next> } }
149 POP2 /<draw>
150 /<draw-cursor>
151 BRK
152
153@mouse/<draw-cursor> ( -- )
154 [ LIT2 00 -Screen/auto ] DEO
155 ;&cursor-icn .Screen/addr DEO2
156 [ LIT2 &last-x $2 ] .Screen/x DEO2
157 [ LIT2 &last-y $2 ] .Screen/y DEO2
158 [ LIT2 40 -Screen/sprite ] DEO
159 .Mouse/x DEI2 #0003 SUB2 DUP2 ,&last-x STR2
160 .Screen/x DEO2
161 .Mouse/y DEI2 #0003 SUB2 DUP2 ,&last-y STR2
162 .Screen/y DEO2
163 [ LIT2 43 -Screen/sprite ] DEO
164 JMP2r
165
166@mouse/<draw> ( -- )
167 .center/x LDZ2 #0040 SUB2 .Screen/x DEO2
168 .center/y LDZ2 #0020 ADD2 .Screen/y DEO2
169 #03fc ;&icns #f6 <draw-times>
170 ( | output )
171 #0010 #ffd0 Screen/<mod>
172 [ LIT2 01 -Screen/auto ] DEO
173 .Mouse/state DEI DUP hex/<draw-byte>
174 ( | x )
175 #0018 Screen/<mod-x>
176 .Mouse/x DEI2 hex/<draw-short>
177 ( | y )
178 #0008 Screen/<mod-x>
179 .Mouse/y DEI2 hex/<draw-short>
180 ( | mouse 1 )
181 DUP #01 AND #00 EQU ?{
182 .center/x LDZ2 #0040 SUB2 .Screen/x DEO2
183 .center/y LDZ2 #0022 ADD2 .Screen/y DEO2
184 #0fff ;&tip-icn #16 <draw-times> }
185 ( | mouse 2 )
186 DUP #02 AND #00 EQU ?{
187 .center/x LDZ2 #0028 SUB2 .Screen/x DEO2
188 .center/y LDZ2 #0022 ADD2 .Screen/y DEO2
189 #0fff ;small/icn #16 <draw-times> }
190 ( | mouse 3 )
191 DUP #04 AND #00 EQU ?{
192 .center/x LDZ2 #0018 SUB2 .Screen/x DEO2
193 .center/y LDZ2 #0022 ADD2 .Screen/y DEO2
194 #0fff ;small/icn #16 <draw-times> }
195 POP !wheel/<redraw>
196
197@wheel/<redraw> ( -- )
198 .center/x LDZ2 #0047 ADD2 .Screen/x DEO2
199 .center/y LDZ2 #0010 ADD2 .Screen/y DEO2
200 [ LIT2 01 -Screen/auto ] DEO
201 .&y-lo LDZ hex/<draw-byte>
202 ( | wheel )
203 .center/x LDZ2 #0048 ADD2 .Screen/x DEO2
204 .center/y LDZ2 #0020 ADD2 .Screen/y DEO2
205 #03ff ;&icns #16 <draw-times>
206 #03ff ;&icns2 #16 <draw-times>
207 .&y LDZ2k .Mouse/scrolly DEI2 ADD2 ROT STZ2
208 .&y LDZ2 DUP2 #0010 ADD2 /offset
209 ( >> )
210 &offset ( wheelpos* -- )
211 DUP2 #001f AND2 .center/x LDZ2 #0048 ADD2 /load .Screen/x DEO2
212 #0018 ADD2 #001f AND2 .center/y LDZ2 #0020 ADD2 /load .Screen/y DEO2
213 [ LIT2 03 -Screen/pixel ] DEO
214 JMP2r
215
216 &load ( offset* base* -- coord* )
217 SWP2 ;&offsets ADD2 LDA #00 SWP ADD2 JMP2r
218
219(
220@|Smile )
221
222@smile/<next> ( -- )
223 [ LIT &ptr $1 ] INCk ,&ptr STR
224 [ LIT2 00 -Screen/auto ] DEO
225 #0a u8/mod
226 ( | draw )
227 #0020 .Screen/x DEO2
228 .Screen/height DEI2 #0018 SUB2 .Screen/y DEO2
229 DUP hex/<draw-byte>
230 /<clear>
231 #00 SWP DUP ADD ;&lut ADD2 LDA2 JMP2
232
233@smile/<draw-all> ( -- )
234 ;&lut-end ;&lut
235 &>l
236 /<clear>
237 LDA2k JSR2 INC2 INC2 GTH2k ?&>l
238 POP2 POP2 JMP2r
239
240@smile/<set-pos> ( -- )
241 #0010 .Screen/x DEO2
242 .Screen/height DEI2 #0020 SUB2 .Screen/y DEO2
243 JMP2r
244
245@smile/<clear> ( -- )
246 [ LIT2 11 -Screen/auto ] DEO
247 ( | bg )
248 /<set-pos>
249 ;hash .Screen/addr DEO2
250 [ LIT2 03 -Screen/sprite ] DEOk DEO
251 ( | fg )
252 /<set-pos>
253 ;fill .Screen/addr DEO2
254 [ LIT2 40 -Screen/sprite ] DEOk DEO
255 JMP2r
256
257@smile/<draw-0> ( Draw 1bpp four times by moving x,y )
258 /<set-pos>
259 [ LIT2 00 -Screen/auto ] DEO
260 ( a ) ;&hor-a .Screen/addr DEO2
261 [ LIT2 03 -Screen/sprite ] DEO
262 #0008 Screen/<mod-x>
263 ( b ) ;&hor-b .Screen/addr DEO2
264 [ LIT2 03 -Screen/sprite ] DEO
265 #fff8 #0008 Screen/<mod>
266 ( c ) ;&hor-c .Screen/addr DEO2
267 [ LIT2 03 -Screen/sprite ] DEO
268 #0008 #0000 Screen/<mod>
269 ( d ) ;&hor-d .Screen/addr DEO2
270 [ LIT2 03 -Screen/sprite ] DEO
271 JMP2r
272
273@smile/<draw-1> ( Draw 1bpp two times using addr-y )
274 /<set-pos>
275 [ LIT2 16 -Screen/auto ] DEO
276 ;&hor .Screen/addr DEO2
277 [ LIT2 03 -Screen/sprite ] DEOk DEO
278 JMP2r
279
280@smile/<draw-2> ( Draw 1bpp two times using addr-x )
281 /<set-pos>
282 [ LIT2 15 -Screen/auto ] DEO
283 ;&ver .Screen/addr DEO2
284 [ LIT2 03 -Screen/sprite ] DEOk DEO
285 JMP2r
286
287@smile/<draw-3> ( Draw 1bpp-flipx two times using addr-y )
288 /<set-pos>
289 #0008 #0000 Screen/<mod>
290 [ LIT2 16 -Screen/auto ] DEO
291 ;&horx .Screen/addr DEO2
292 [ LIT2 13 -Screen/sprite ] DEOk DEO
293 JMP2r
294
295@smile/<draw-4> ( Draw 1bpp-flipy two times using addr-x )
296 /<set-pos>
297 #0000 #0008 Screen/<mod>
298 [ LIT2 15 -Screen/auto ] DEO
299 ;&very .Screen/addr DEO2
300 [ LIT2 23 -Screen/sprite ] DEOk DEO
301 JMP2r
302
303@smile/<draw-5> ( Draw 2bpp two times using addr-x )
304 /<set-pos>
305 [ LIT2 15 -Screen/auto ] DEO
306 ;&2bpp .Screen/addr DEO2
307 [ LIT2 81 -Screen/sprite ] DEOk DEO
308 JMP2r
309
310@smile/<draw-6> ( Draw 1bpp, once for the outline, once for the face )
311 /<set-pos>
312 [ LIT2 16 -Screen/auto ] DEO
313 ;&outline .Screen/addr DEO2
314 [ LIT2 03 -Screen/sprite ] DEOk DEO
315 #0000 #fff0 Screen/<mod>
316 ;&face .Screen/addr DEO2
317 [ LIT2 0f -Screen/sprite ] DEOk DEO
318 JMP2r
319
320@smile/<draw-7> ( Draw 1bpp, once for the outline, once for the face in fg )
321 /<set-pos>
322 [ LIT2 16 -Screen/auto ] DEO
323 ;&outline .Screen/addr DEO2
324 [ LIT2 03 -Screen/sprite ] DEOk DEO
325 #0000 #fff0 Screen/<mod>
326 ;&face .Screen/addr DEO2
327 [ LIT2 43 -Screen/sprite ] DEOk DEO
328 JMP2r
329
330@smile/<draw-8> ( Draw using pixels )
331 /<set-pos>
332 ;&hor-a icn/<draw-tile>
333 #0008 #fff8 Screen/<mod>
334 ;&hor-b icn/<draw-tile>
335 #fff8 #0000 Screen/<mod>
336 ;&hor-c icn/<draw-tile>
337 #0008 #fff8 Screen/<mod>
338 ;&hor-d !icn/<draw-tile>
339
340@smile/<draw-9> ( Draw offscreen origin )
341 /<set-pos>
342 .Screen/x DEI2 #0030 SUB2 .Screen/x DEO2
343 ;&offscreen .Screen/addr DEO2
344 [ LIT2 76 -Screen/auto ] DEO
345 [ LIT2 03 -Screen/sprite ] DEOk DEO
346 JMP2r
347
348@smile/lut [
349 =/<draw-0> =/<draw-1> =/<draw-2> =/<draw-3>
350 =/<draw-4> =/<draw-5> =/<draw-6> =/<draw-7>
351 =/<draw-8> =/<draw-9> ] &lut-end
352
353@icn/<draw-tile> ( addr* -- )
354 [ LIT2 01 -Screen/auto ] DEO
355 DUP2 #0008 ADD2 SWP2
356 &>v
357 LDAk /<draw-row>
358 #fff8 #0001 Screen/<mod>
359 INC2 GTH2k ?&>v
360 POP2 POP2 JMP2r
361
362@icn/<draw-row> ( byte -- )
363 STH
364 #ff07
365 &>h
366 STHkr OVR SFT #01 AND #03 MUL .Screen/pixel DEO
367 #01 SUB NEQk ?&>h
368 POP2 POPr JMP2r
369
370(
371@|Generics )
372
373@<draw-times> ( color times addr* auto -- )
374 .Screen/auto DEO
375 .Screen/addr DEO2
376 SWP STH
377 [ LITr -Screen/sprite ]
378 &>l
379 DEOkr
380 INC DUP ?&>l
381 POP POP2r JMP2r
382
383@hex/<draw-short> ( short* -- )
384 [ LIT2 01 -Screen/auto ] DEO
385 SWP /<draw-byte>
386 ( >> )
387
388@hex/<draw-byte> ( byte -- )
389 DUP #04 SFT /<draw-char>
390 ( >> )
391
392@hex/<draw-char> ( char -- )
393 #00 SWP #0f AND #30 SFT2 ;&icns ADD2 .Screen/addr DEO2
394 [ LIT2 03 -Screen/sprite ] DEO
395 JMP2r
396
397(
398@|Assets )
399
400@hash [ aa55 aa55 aa55 aa55 ]
401
402@fill [ ffff ffff ffff ffff ]
403
404@appicon [
405 0000 0000 0000 0000 0000 0000 0000 0000
406 0000 0000 0000 0000 0000 0000 0000 0000
407 0000 0000 0000 0000 0000 0000 0000 0000
408 0001 0201 0000 0000 0000 0000 0000 0000
409 8143 2743 8100 817e 0000 0000 0000 0000
410 0080 c080 0000 0000 0000 0000 0000 0000
411 0000 0000 0000 0000 0000 0000 0000 0000
412 0000 0000 0000 0000 0000 0000 0000 0000
413 0000 0000 0000 0000 0000 0000 0000 0000 ]
414
415@wheel/offsets [
416 07 08 09 0a 0b 0b 0c 0c 0c 0c 0c 0b 0b 0a 09 08
417 07 06 05 04 03 03 02 02 02 02 02 03 03 04 05 06 ]
418 &icns [ 0718 2040 4080 8081 c030 0804 0402 0202 ]
419 &icns2 [ 8080 4040 2018 0700 0202 0404 0830 c000 ]
420
421@arrow/icn [ 187e 7eff ff7e 7e18 ]
422
423@small/icn [ 0000 001f 3f3f 3f1f 0000 00f8 fcfc fcf8 ]
424
425@large/icns [
426 071f 3f7f 7fff ffff e0f8 fcfe feff ffff
427 ffff ff7f 7f3f 1f07 ffff fffe fefc f8e0 ]
428
429@controller/icns [
430 0000 0f30 4040 8080 0000 ff00 0000 0000
431 0042 8100 0000 0000 0000 ff00 0000 0000
432 0000 ff00 0000 0000 0000 ff00 0000 0000
433 0000 ff00 0000 0000 0000 ff00 0000 0000
434 0000 ff00 0000 0000 0000 ff00 0000 0000
435 0000 ff00 0000 0000 0000 ff00 0000 0000
436 0000 ff00 0000 0000 0000 ff00 0000 0000
437 0000 ff00 0000 0000 0000 f00c 0202 0101
438 8080 8080 8080 8080 0000 0000 0000 0000
439 0000 0000 0000 0000 0000 0000 0000 0000
440 0000 0000 0000 0000 0000 0000 0000 0000
441 0000 0000 0000 0000 0000 0000 0000 0000
442 0000 0000 0000 0000 0000 0000 0000 0000
443 0000 0000 0000 0000 0000 0000 0000 0000
444 0000 0000 0000 0000 0000 0000 0000 0000
445 0000 0000 0000 0000 0101 0101 0101 0101
446 8080 8080 8080 8080 0000 0000 0000 0000
447 0000 0000 0000 0018 0000 0000 0000 0000
448 0000 0000 0000 0000 0000 0000 0000 0000
449 0000 0000 0000 0000 0000 0000 0000 0000
450 0000 0000 0000 0000 0000 0000 0000 0000
451 0000 0000 0000 0302 0000 0000 0000 8040
452 0000 0000 0000 0000 0000 0000 0000 0102
453 0000 0000 0000 8040 0101 0101 0101 0101
454 8080 8080 8080 8080 0000 0001 0101 011f
455 6681 8100 0000 0000 0000 0080 8080 80f8
456 0000 0000 0000 0000 0000 0000 0000 0000
457 0000 0000 0000 0000 0000 0000 0000 0000
458 0000 0000 0000 0000 0000 0000 0000 0000
459 0203 0202 0300 0000 4080 4040 8000 0000
460 0000 0000 0000 0000 0203 0202 0200 0000
461 40c0 4040 4000 0000 0101 0101 0101 0101
462 8080 8081 8180 8080 6080 8000 0080 8060
463 0000 0000 0000 0000 0601 0100 0001 0106
464 0000 0080 8000 0000 0001 0202 0100 0201
465 0080 4000 8040 4080 0001 0202 0202 0201
466 0080 4000 0000 4080 0000 0000 0000 0000
467 0718 2040 4080 8080 e018 0402 0201 0101
468 0000 0000 0000 0000 0718 2040 4080 8080
469 e018 0402 0201 0101 0101 0101 0101 0101
470 8080 8080 8080 8080 1f01 0101 0100 0000
471 0000 0000 0081 8166 f880 8080 8000 0000
472 0000 0000 0000 0000 0000 001f 2020 201f
473 0000 00f8 0404 04f8 0000 001f 2020 201f
474 0000 00f8 0404 04f8 0000 0000 0000 0000
475 8080 8040 4020 1807 0101 0102 0204 18e0
476 0000 0000 0000 0000 8080 8040 4020 1807
477 0101 0102 0204 18e0 0101 0101 0101 0101
478 8080 8080 4040 300f 0000 0000 0000 00ff
479 1800 0000 0000 00ff 0000 0000 0000 00ff
480 0000 0000 0000 00ff 0000 0000 0000 00ff
481 0000 0000 0000 00ff 0000 0000 0000 00ff
482 0000 0000 0000 00ff 0000 0000 0000 00ff
483 0000 0000 0000 00ff 0000 0000 0000 00ff
484 0000 0000 0000 00ff 0000 0000 0000 00ff
485 0000 0000 0000 00ff 0101 0101 0202 0cf0 ]
486
487@mouse/icns [
488 0000 0001 0618 6482 0718 6080 0000 0000
489 e01f 0000 0000 0000 00c0 3f00 001f 2020
490 0000 ff00 00f8 0404 0000 ff00 001f 2020
491 0000 ff00 00f8 0404 0000 ff00 0000 0000
492 0000 ff00 0000 0000 0000 ff00 0000 0000
493 0000 ff00 0000 0000 0000 ff00 0000 0000
494 0000 ff00 0000 0000 0000 ff00 0000 0000
495 0000 ff00 0000 0000 0000 c03e 0101 0101
496 6418 0601 0000 0000 0000 0080 6018 0700
497 0000 0000 001f e000 201f 0000 3fc0 0000
498 04f8 0000 ff00 0000 201f 0000 ff00 0000
499 04f8 0000 ff00 0000 0000 0000 ff00 0000
500 0000 0000 ff00 0000 0000 0000 ff00 0000
501 0000 0000 ff00 0000 0000 0000 ff00 0000
502 0000 0000 ff00 0000 0000 0000 ff00 0000
503 0000 0000 ff00 0000 0101 013e c000 0000
504 0000 6090 90f0 9090 0000 0000 0000 0000
505 0000 0000 0000 0000 0000 0302 0203 0202
506 0000 8040 4080 4040 0000 0102 0202 0202
507 0000 8040 0000 0040 0000 0000 0000 0000
508 0000 0000 0000 0000 0000 0000 0000 0000
509 0000 0000 0000 0000 0000 0000 0000 0000
510 0000 0000 0000 0000 0000 0000 0000 0000
511 0000 0000 0000 0000 0000 0000 0000 0000
512 9000 0000 0000 0000 0000 0000 0000 0000
513 0000 0000 0000 0000 0300 0000 0000 0000
514 8000 0000 0000 0000 0100 0000 0000 0000
515 8000 0000 0000 0000 0000 0000 0000 0000
516 0000 0000 0000 0000 0000 0000 0000 0000
517 0000 0000 0000 0000 0000 0000 0000 0000
518 0000 0000 0000 0000 0000 0000 0000 0000
519 0000 0000 0000 0000 0000 0000 0000 0000 ]
520 &tip-icn [ 0000 0000 187c 1800 $8 ]
521 &cursor-icn [ 1010 10ee 1010 1000 ]
522
523@hex/icns [
524 0018 2424 2424 2418 0008 1808 0808 0808
525 0018 2404 1820 203c 0018 2404 1804 2418
526 0024 2424 1c04 0404 003c 2020 1804 2418
527 0018 2420 3824 2418 003c 0408 1010 1010
528 0018 2424 1824 2418 0018 2424 1c04 2418
529 0018 2424 3c24 2424 0038 2424 3824 2438
530 0018 2420 2020 2418 0038 2424 2424 2438
531 001c 2020 3820 201c 001c 2020 3820 2020 ]
532
533@smile/hor
534 &hor-a [ 030c 1020 4040 889c ]
535 &hor-b [ c030 0804 0202 1129 ]
536 &hor-c [ 8880 4443 2010 0c03 ]
537 &hor-d [ 1101 22c2 0408 30c0 ]
538
539@smile/horx [
540 030c 1020 4040 8894 c030 0804 0202 1139
541 8880 4443 2010 0c03 1101 22c2 0408 30c0 ]
542
543@smile/very [
544 030c 1020 4344 8088 9c88 4040 2010 0c03
545 c030 0804 c222 0111 2911 0202 0408 30c0 ]
546
547@smile/ver [
548 030c 1020 4040 889c 8880 4443 2010 0c03
549 c030 0804 0202 1129 1101 22c2 0408 30c0 ]
550
551@smile/2bpp [
552 030c 1020 4040 889c 030c 1020 4040 889c
553 8880 4443 2010 0c03 8880 4443 2010 0c03
554 c030 0804 0202 1129 c030 0804 0202 1129
555 1101 22c2 0408 30c0 1101 22c2 0408 30c0 ]
556
557@smile/outline [
558 030c 1020 4040 8080 c030 0804 0202 0101
559 8080 4040 2010 0c03 0101 0202 0408 30c0 ]
560
561@smile/face [
562 0000 0000 0000 081c 0000 0000 0000 1028
563 0800 0403 0000 0000 1000 20c0 0000 0000 ]
564
565@smile/offscreen [
566 aa55 aa55 aa55 aa55 0000 0000 0000 0000
567 0000 0000 0000 0000 0000 0000 0000 0000
568 0000 0000 0000 0000 0000 0000 0000 0000
569 030c 1020 4040 889c c030 0804 0202 1129
570 aa55 aa55 aa55 aa55 0000 0000 0000 0000
571 0000 0000 0000 0000 0000 0000 0000 0000
572 0000 0000 0000 0000 0000 0000 0000 0000
573 8880 4443 2010 0c03 1101 22c2 0408 30c0 ]
574