commit bb5fa6a70c46516940a3ede78e889dda03428772 parent 176bade157c007c9b7a26181496e00686e8a38d4 Author: neauoire <aliceffekt@gmail.com> Date: Sat, 27 Feb 2021 09:39:06 -0800 Rewrote picture routine Diffstat:
M | build.sh | | | 2 | +- |
D | examples/gui.background.usm | | | 815 | ------------------------------------------------------------------------------- |
D | examples/gui.images.usm | | | 375 | ------------------------------------------------------------------------------- |
A | examples/gui.picture.usm | | | 316 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
4 files changed, 317 insertions(+), 1191 deletions(-)
diff --git a/build.sh b/build.sh @@ -20,5 +20,5 @@ cc -std=c89 -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werr # cc uxn.c emulator.c -std=c89 -Os -DNDEBUG -g0 -s -Wall -Wno-unknown-pragmas -L/usr/local/lib -lSDL2 -o bin/emulator # run -./bin/assembler examples/dev.mouse.usm bin/boot.rom +./bin/assembler examples/gui.picture.usm bin/boot.rom ./bin/emulator bin/boot.rom diff --git a/examples/gui.background.usm b/examples/gui.background.usm @@ -1,815 +0,0 @@ -( blank ) - -:dev/r fff8 ( std read port ) -:dev/w fff9 ( std write port ) - -;i 2 - -|0100 @RESET - - #01 =dev/r ( read screen for size ) - #02 =dev/w ( write to sprite ) - - ,paint-background JSR - - -BRK - -@paint-background ( nil ) - - #01 =dev/r ( read screen for size ) - #02 =dev/w ( write to sprite ) - - #0000 - @paint-background-loop-hor - #0000 - @paint-background-loop - ( draw ) OVR2 IOW2 DUP2 IOW2 ,image ~i ADD2 IOW2 #01 IOW - ( incr ) #0008 ADD2 DUP2 - ( incr ) ~i #0008 ADD2 =i - #00 IOR2 LTH2 ,paint-background-loop ROT JMP? POP2 - POP2 - ( incr ) #0008 ADD2 DUP2 - #02 IOR2 LTH2 ,paint-background-loop-hor ROT JMP? POP2 - POP2 - -RTS - -@image [ - -0000 0802 1001 0410 -0095 0055 0024 0154 -114a 2114 a209 5005 -2552 09a5 540a a114 -5548 2651 aa4a 25a8 -5592 4955 aa44 2aa9 -5555 554a aaaa 5555 -556d abaa b5d6 555b -b65b 6aad b6d5 5b6c -db6d b6d5 bb56 bbd5 -6db6 db6d b6db 6ab7 -b6db 6db6 db6a af74 -db6d b6db 6db6 dbad -6db6 db6d b6db 6cb5 -bbd7 6e9f bf7e fcf8 -ff7c f0e0 8080 0000 -0000 0101 0101 0301 -f0e0 e0e1 c2d2 c385 -375a ef55 faaf 55fa -77da 6fb5 da6f b5da -77da 6fb5 da6f b5da -77da 6eb5 db6d b6db -bbd6 edb6 5bed b7ba -deb5 dbb6 dd6d b7db -dfbe 7cf8 f0e1 e4c1 -070a 1d36 5b6d b66d -77da b7dd 6bbd ebb6 -77da b76d b66d b6db -77da 6fb5 dab7 dd6b -77da 6fb5 da6f b56e -77da 6db6 db6d b6db -76da adf6 5bad f75a -0002 1000 0421 0004 -0190 0540 1500 5401 -500a 4114 4210 8a21 -a214 4229 9442 9520 -924a a924 9255 49a5 -9549 55a4 552a 4955 -5555 2aaa 55aa 5555 -6aad abad 6aab b556 -ab55 6e55 da6d 56ab -6eb5 aeb5 db6d b6ab -da6d b6db 6d56 fb4d -dbad d67b add6 7baa -f65b adea 5ae5 57be -ab6f aa9f f6bf eaf9 -e35e fff6 dfa8 57ba -fadd f7be ef10 efb5 -0383 ebbb f75f a75b -8a8f 8916 910a 5538 -af55 f6ab 5dea 5f6a -6fb5 da6f b5da 6db7 -6fb5 da6f b5d6 6db7 -6db7 da6d b6db 6db6 -57fa adb6 db6d b6db -6fdf bede 7cf8 f8f0 -8203 0d0b 162d 365b -db6d b66f dab7 da6f -5bed b65b ed76 adf6 -6db7 dd6b bdeb b6db -bd6b b66d b66d db6d -b56f dab5 dfb5 6db6 -6db6 db6d b65b edb6 -adf6 5bad f65b adf6 -1000 0520 0210 0124 -9441 1401 5401 4812 -1442 1442 114a 208a -9522 9442 1449 9224 -14aa 45a9 144a a42a -aa55 4a2a aaaa aa55 -aa55 ab55 aaab ad55 -da55 566a ad56 6aad -da55 b7da 55af d56a -dd6a 5bed 566b bdd6 -b6db 6db6 db6d b6da -ac73 af9b 7e6b bff4 -dbff 54fd d2cd 36aa -a69b 6aad b6db aadb -d55b ed56 db6d b556 -55ba 57ea 5d6b b6db -b6d7 76ae de6e b65c -0e23 3c2b 2d36 2b35 -5b2d b65b aacd 6bb5 -da6d b7da adf7 2add -da6d b7da 6db7 aadd -db6d b6db 6db6 db6d -6db7 d77f afdf 7fbf -e0e8 e181 c285 9305 -adf6 5bad d268 934e -b5dd 6bad bfe9 965b -5b44 ffbd 4751 ef5a -6db6 cbfd 774d 74db -b6db 6d36 d5fd b75f -db6d b6db 6d56 e9bf -5bed b65b edb6 55aa -5bad f655 bbd6 5baa -0012 4002 0821 0009 -802a 0148 2500 5402 -4429 4491 2492 4492 -8924 9225 914a a412 -49a5 2a52 29a5 9555 -4a55 aa55 5555 5555 -aa55 ab55 5a55 566a -b556 5a6a abad b5aa -adab d5ad 556b 55ad -5bad 75ae 6bb5 5eab -6db5 5aeb 5bea b156 -bae5 abd5 2e55 b5ae -db6d 55b6 db55 b6db -6d56 b5db 556e b5db -ebbd 55aa 77a8 d450 -556d b4c0 0000 0000 -ac0e 0c0c 0c0c 0c04 -0e02 0201 0000 0000 -d6ab f555 db69 5d69 -b66b bd56 eb5d 6ab7 -b76a bdd7 6abd d76a -b6db 6db6 da6d b6db -ff7d 5fde 9e9e 9c0e -0e4a 141b 223d 2b5d -33cd 36db b5de 6bb5 -ad76 db6d b6da 6880 -b7da 6fb5 da4b 0000 -6db6 db6d b6db 6d16 -a1fe 55bb d66d b6db -7eab aa76 dbad f65b -fffb afd5 6abd d66b -fdef 7ddf 6da7 d96e -2002 0821 0410 4208 -2984 2214 4229 8452 -2492 4992 4924 924a -aa52 4a29 a555 9552 -a9a5 5555 2955 55aa -552a 5556 5a55 55aa -55ad 55d5 ad55 6aad -55b6 555a ab6d aab5 -b5aa 55aa 6bb5 aedb -75ae dbb5 6eb6 d96f -e5aa 55ae f5d5 adb6 -6ab5 add6 5a6b adb5 -aa6d b6ab da6d 4535 -6dab dd6a adb5 5000 -4050 b4db 6daa 2d02 -0000 0000 c0a0 b8d4 -0c0c 080c 0808 0808 -0000 0000 0000 0000 -2d29 1d15 1516 050a -5aef 55ba 6fd5 bad7 -dd6b bdd7 6abd d66b -6db4 5aec b5ac ec59 -3c0c 7c5c 6cac f554 -6a37 ad76 ad76 5868 -de68 a0c0 0000 0000 -0000 0000 0000 0000 -0000 0000 0000 0000 -0b00 0000 0000 0000 -6db6 5b15 0601 0000 -d5be d56f b55b 6d16 -bdd6 6bbd 6ab7 5aed -b5df 69b6 db6d b6db -0251 0410 4200 1401 -0954 2289 2492 4914 -2592 544a a52a 5295 -4aaa aa95 55aa 5555 -a5aa aa55 5aab 556a -55aa b655 ab6d 55aa -b6aa db55 6d56 b5ab -d6ab 6d5a afd5 765b -b55d abf6 5a6f b5d6 -b756 ee9d fd3a 75f6 -55b5 d65a aaa9 6ca4 -55aa a0c4 a000 8000 -48a0 4000 0209 2650 -0000 04b2 4abf dd03 -0200 8050 aa54 eaf5 -aada 552d 160a 0b05 -0808 0808 8888 4848 -0000 0000 0001 0102 -1f12 3b55 b65b adf6 -6db6 db6d b6db 55de -bdd6 6bb5 de6b adb6 -b9d9 53ba b375 a5e6 -b66c b6d6 6e56 fea7 -50a0 6040 6020 a020 -0000 0000 0000 0000 -0000 0000 0000 0001 -0000 0002 0d36 db6d -0000 2fd5 bbd5 7eab -0000 fe55 6eb5 da6f -0502 a1dc b7da ad77 -b6db 6d56 bbd5 6eb5 -ad76 abdd 6ab7 da6d -4802 1005 4015 0054 -4295 4924 520a a94a -554a 2aa9 aaaa 2aaa -55aa aa55 abad aaaa -55ab d55a 5556 b5d5 -6d56 6bad b5aa 6db6 -6db5 566b b5de 53dd -6aad db6d b6ab 7dab -bbab 76af ef5e bf7e -f5e9 ecd4 d4ab a9a8 -5050 a020 0800 00a0 -0101 040a 132a 1656 -0040 8504 1008 1408 -0000 6804 0804 040a -ba7e 3b3f 1f3b 3f3f -8542 4241 a1c0 60d0 -88e8 8868 a8a0 d8a0 -0506 0b15 2e2a 5bad -55ae 75ad d6bb 55dd -6ab7 da6d b6aa 6db7 -db6d b5db adeb 5dab -6b6d 4a5b 565b 556e -5bef b75b eb5b b7db -2020 40a0 2080 2020 -0000 0000 0000 0001 -0305 0c13 354a 9440 -565b ad6a b680 0000 -da6f b5da ab00 0000 -d57d aadf 6956 0b00 -aadd b76a bdd7 6abb -db6d b6db 6a5d eb5d -b65b ed55 db6d b65b -0228 0251 0422 1442 -a412 aa24 924a a915 -aaa5 9aa5 aaaa 2a55 -b555 ab55 aaad aa55 -565a 6b55 aa6d aa56 -abd5 5b6d aab6 dbaa -6a57 6db5 dbad 76ab -dd6a b75b b76e df5f -7bfd faee b4f6 d9ac -2854 54aa aa28 8040 -0000 0001 8001 0001 -5eae 5f7b bf7d efff -0a05 00c0 d0ff 76ff -5440 0103 1ffd efba -77fd bff7 7efb dfb7 -e8e0 b0f0 f0d2 eac5 -524a 452a abca ad56 -d5bb d5ae 6ab5 afd5 -6a57 baab da6d 56b5 -da55 dd6a aeb5 da6d -dd6a b6db aab6 da6b -35db 566b 5daa 6d57 -6eb6 de6c acec 58b8 -20a0 3050 516d b6db -0003 057a 4cb0 d050 -4000 0002 0a17 5b5f -0015 aaaf f8a0 e080 -0055 fadf 0700 0090 -0000 a0d0 eafc 7f1b -5516 0b01 0000 4000 -abf5 5b4d 72ab 5509 -ed56 6bbd d556 6b5d -114a 0154 0229 0452 -4955 2495 524a aa25 -552a aa55 aaa5 5555 -56aa b555 aa56 5a6a -b5d6 555a abd5 add5 -6db6 abda 576a b75a -ddb6 6abd d56b b7af -bdff f6dd fef5 f6ab -d569 adb2 aa65 aa4a -b450 55a0 ad50 aeb2 -0002 0000 00a0 08a5 -dbff fdaa 0000 026d -b7f8 8000 022d d556 -c000 0015 d65a 6aab -0000 00bf c9b5 a040 -150a 0dd5 165a 2b2d -95db 2aad b6ab 555a -6a5d d66b b55a add7 -db6d aab7 5aeb 5a6d -ab6d b65b ea5b add5 -ad75 ae6a b7da 556e -6a5d abf6 5aad d7ba -d971 b1a1 e243 62c5 -5576 ad56 fa4a f44a -4081 8102 0503 0507 -be77 ffde fffa bfff -820a 0808 140c 0505 -4804 0201 0002 056a -1f0f 8607 8707 0587 -d0a0 d8e8 f4fa bafd -0d05 0000 0000 8000 -aa17 3a4d 162a 0b15 -0944 2215 4015 4a21 -5492 4a2a a94a 2a49 -aa95 aa52 55aa aa55 -ab55 adb5 55aa ad56 -5a6b 55ad 56eb 5aad -aa6d b65b ea5d abb6 -dfbf bd7f feee fdfd -f5ad b5aa d5ac 55b4 -55aa 2a55 55aa 55aa -55aa d556 55aa 55aa -55aa b6aa 55aa 56b5 -55aa b6d5 55ab ad55 -6aad d556 6a55 5b6a -adb4 50a0 956a 55ad -0000 022a a9aa 54aa -34ab 555d 66b5 9aeb -ad6b ad55 b6aa b65a -6a5b ad6a b6d5 add6 -b655 b6db aa6d aab6 -bb55 db6d aab6 aadb -b556 6bb5 add6 ba55 -55ee 556b b5d9 a9b1 -83c5 8682 8685 8586 -60a0 b8d6 aa8b 0180 -0203 0328 d45b 6daa -f7ff bdf7 3f8f 45f1 -01c0 e0b0 fcff b7ff -aa00 0000 05ff fff7 -0f1e 377f fdef bffd -f6df fffd dfff 76ff -8040 40a0 a8d0 d0e8 -0a00 0100 0300 0000 -4a12 4904 5209 5402 -a52a 548a 524a aa12 -2aaa aaaa a5aa 55aa -b5aa aaad 55b6 55aa -b5d6 ab6d b5aa 5bd5 -57ef 5d5f b7bf 7e7b -daf6 faaa eab5 d6aa -a9a5 d5a5 aa44 95aa -5555 5555 aa95 55aa -5555 5555 aa55 55aa -55aa 5556 aa55 55aa -6aaa adaa ab55 55aa -aaad 55ab 6d55 55aa -d55a 6b55 555a 6baa -6a8a 5536 5552 59a2 -2dd5 55b6 5ad5 56aa -6baa 55b6 d55b aad5 -6ab5 aeaa 555b 8a45 -d55b add5 6a5b adb5 -556d 56b5 d65a 55ad -ae72 adab b5d6 5aab -d3a9 51a1 7181 e151 -8285 8682 8583 c582 -c040 a0d0 685e abb5 -5b2d 0b05 0201 4050 -5c55 6bb5 ae6a b655 -6e1f 45a1 b8d6 aab6 -deff ffb6 7f0d 83a0 -f7ff bff7 fffd b77f -ffdb 7fff f6bf ffed -ea74 f4da f9f5 baf4 -0000 0000 0000 8000 -5402 5409 520a 4529 -ca29 aa55 9552 4a2a -aa55 aa55 55aa aaab -b556 aa55 55aa d62a -5aad d55b 67af addf -ffef fefe b5fe fab5 -b555 aad4 55a8 a255 -2a55 4aa9 2aaa a554 -aa55 aa55 aa92 55aa -aa55 aa55 aaaa 55aa -b555 aa55 aaaa 55aa -565a aa55 aaaa 55aa -dbaa aa55 aaad 55aa -54b5 d554 aa52 aab2 -a151 4181 8181 8182 -6d55 566a 555a 55ab -5b6d aaab b5aa 566a -4502 8141 0080 8080 -55da 565a aa55 6d2a -6aad d5b6 d555 adb5 -b55b aad6 5a6b ad55 -4361 82c2 a344 4642 -c282 c2c2 e1e2 e1e2 -daad d6b5 56db 6aad -d65a eb55 b65b d55a -5aad 564b ea35 d65b -da6b ad6a b7aa db6d -d054 6bb5 5bd5 5b6c -0e01 2048 5368 adb6 -ff77 0400 0075 02a8 -f040 0000 027a 954a -0000 0000 80a0 7897 -0452 1542 294a 114a -aaa9 4a29 55a5 2a92 -aa55 5555 5555 aa55 -d52a 6d55 5556 aa55 -5bbf af7d 7fef fdbf -faea 6aea dad5 aaaa -a5a9 8aa5 942a 492a -2a52 aa2a a595 54aa -aa95 55aa 5552 aaaa -554a 55aa 55aa a595 -55aa 55aa 554a 5555 -55aa 55aa 55aa 5555 -55aa 6daa 55aa 5555 -55aa 55aa 55aa 555a -0182 0202 0585 0a8a -55b6 aaaa 555b aaaa -55ad b5d5 5555 aab5 -0000 8000 0080 0080 -2b15 160a 0b05 0a05 -566a add5 565a aa6a -b5d6 5aaa b5d6 aab5 -95a6 8aa5 4aa5 9625 -e2e2 e262 f262 b263 -d5b6 aadb aab5 d65a -adb5 d65a abb5 d5ad -aa6d b5d6 556b ad55 -aa56 b5db 555a 6aad -abd5 6d56 b5ab da6b -55b6 55da 566a ad6a -6bad b5d5 aab6 abb5 -106e a956 b5d6 5a6a -ea2a 5baa b5ad d6aa -2412 4924 1249 2412 -55aa 2495 aa49 a52a -4aa9 aa2a aa55 25aa -ab5a aba7 b74f 5d9f -f7ff ddfe 76de 7dfa -5454 a9a9 a2a9 45a9 -a5aa 5229 954a 2955 -25aa 524a 5452 4a2a -554a a9a5 95aa a554 -55aa 552a 52aa 2aa4 -54aa 4a55 aaa9 aa95 -aaaa aa55 9555 aa55 -aaaa aa55 5555 aa55 -aaaa aa55 5555 aa55 -95d5 aa55 5555 aa55 -556a ab55 5555 aa55 -56aa 556a 5556 aa55 -80c0 20d0 50a8 a856 -0a05 0a05 0a05 0a0b -ad55 d65a aa55 d65a -56aa b5ad aa6b adaa -aaab 25aa 2556 25aa -b252 52a5 92d5 52a5 -aaab d55b aab5 ad55 -b556 6a55 b6aa 5a6b -b6aa b5ad b5d5 aa56 -abb5 aa5b ad6a abd5 -555a d65a 6baa 556d -adb5 d6aa 5baa 6daa -ad55 daab 55b5 56da -ab55 ad6a 555a d5ab -5a6b 55aa b6aa 556d -4912 4412 4914 4215 -548a 52a9 15a4 522a -aa95 5255 5594 aa55 -b75e bf7a 6ffd fddd -6dfa fad5 f5b4 eaea -4495 8924 2a92 4925 -9249 2aa9 a554 2552 -a94a 5552 29a5 5592 -4aaa 29a5 2a55 24aa -aa95 5452 4a55 aa94 -aa52 aa95 a955 95a5 -49aa aa55 2955 4a55 -2aaa aa55 552a a555 -aaaa aa55 55aa 552a -aaaa aa55 55aa 55aa -aaaa aa55 55aa 55aa -aaaa aa55 55aa 55aa -a9ad d555 55aa 55aa -144b 5555 55aa 55aa -aa55 5555 56aa 55aa -b555 55aa adaa 55aa -25aa 55aa 56aa 55da -55a5 aaaa a5a2 55a5 -6aad aaab 55b5 565a -aaad b555 566a abad -b556 aa75 96ea 2b5a -5aab d55a add5 55b6 -aa56 b5ab 5aaa 56b5 -b5d6 5555 b6d5 aa56 -55aa 6dab ad55 b5d6 -5ad5 565a 6a55 55aa -aa55 aadb aa55 aab6 -4015 0944 1224 0944 -9249 2a92 49a5 14aa -a52b ab4a 574b ae4f -f77b daf3 f6a3 ede5 -55e8 a554 d451 a84a -544a 2592 5548 a512 -9453 4954 2594 524a -4a55 24aa 49a5 548a -524a a94a 5425 94aa -52aa 5592 aa49 a555 -aa55 49aa 5549 2a55 -5452 2aaa 492a aa52 -aa95 aaa4 2aaa a554 -aa55 a995 aaa5 2aa9 -aa55 2a55 aa52 4a55 -aa55 aa55 aa55 aa52 -aa55 aa55 aa55 aa55 -aa55 aa55 aa55 aa55 -aa55 aa55 aa55 aa55 -b555 aa55 aa55 aa55 -5556 aa55 aa55 aa55 -55aa ab55 aa55 aa5a -52a5 5552 a555 a5aa -aa55 aab5 5555 55aa -b255 aaad 5555 55aa -aaaa b556 5555 55aa -aaaa b5aa 565a 6aaa -d5aa 56aa d5aa adb5 -b5aa adb5 55d5 5556 -55aa 55ad 5555 6aaa -6daa 55aa 565a aad5 -55aa 55da aaab aa55 -1221 0a44 1104 5104 -2249 2a90 4a25 520a -ad1f ad9f bb2f bd77 -add5 c555 a985 24a5 -5141 5220 4521 8442 -5524 9249 5522 9449 -2994 4a51 2a89 544a -52a9 4a24 aa25 a994 -4955 92a9 4534 4aa4 -4a29 a42a 5592 a994 -a42a a5aa 5229 9552 -9555 5295 5452 2aa5 -522a aa49 aa95 402d -a595 aa55 492a 04f0 -5552 aa2a 5295 a00a -2aaa a995 5554 02d8 -aa95 5255 55aa 95a9 -aa55 aa55 2aa5 5555 -aa55 aa55 4a55 5455 -aa55 aa55 aa55 aa55 -aa55 aa55 aa55 aa55 -aa55 aa55 aa55 aa55 -a555 a54a aa4a aa4a -5556 55aa aaaa abaa -55aa 56aa b5aa 55aa -55b6 d5aa 55aa 55aa -55aa 55aa 55b6 55aa -55aa 55aa 55ab 55aa -55b5 55aa 556a 56aa -555a 55aa 55d5 aaaa -55aa 55ab 55aa aaaa -6aaa 5555 56aa b5aa -2208 4510 0452 0128 -a94a 2592 4825 4a21 -5f7d 76de fabd ecba -244a 45a2 4924 8aa5 -8144 0249 0284 010a -2592 492a 904a 2548 -2154 2a85 a855 02b4 -425a 8452 5512 a885 -528a a94a 2492 5549 -a552 2a92 a944 2a52 -4aa9 5492 4aa9 4aa5 -9452 a992 4556 a50a -6ab7 aadd 6aaa 8000 -af5a edb6 dbaa 1501 -edb7 5aff 55aa 6a10 -6eb5 db7e abd5 2d02 -558a 65a4 d279 acd6 -55aa 25aa a955 9552 -55aa 25aa 552a 52aa -4aa9 5555 4aaa a955 -aa55 2a55 aaa4 552a -aa55 aa55 aaaa 55aa -a54a aa4a a58a 55aa -55aa aaaa 55aa 55aa -55aa aaaa 55aa 55aa -55aa aaaa 55aa 55aa -55aa aaaa 55aa 55aa -55aa adaa 55aa 55aa -55aa 55aa 55aa 55aa -55aa 55aa 55aa 55aa -55aa 55aa 55aa 55aa -55aa 55aa 55aa 55aa -0550 0520 0a40 1500 -4a29 452b 8356 13a6 -f9da f259 f2d5 f2a5 -4885 5409 9248 1224 -810a 010a 0108 0510 -2548 2249 14a2 09a4 -09a4 5209 a429 4422 -5522 9449 2452 8954 -2492 4a29 a492 2984 -8954 a512 a994 4529 -14aa 4552 2994 4a25 -9b54 28b4 50d0 a040 -0000 0010 0000 0000 -0000 0000 4200 0000 -0000 0041 0000 0000 -0000 4002 0000 0000 -ba55 2f15 0b0a 0502 -4a35 8a54 4aa5 d2a5 -4a55 aa92 aa55 4955 -aa49 55aa aa49 2a55 -aa55 52aa 9555 aa49 -9554 aa55 524a aa55 -55aa a955 aa95 5255 -24aa 5555 aa49 aa55 -95aa 5452 aa55 9552 -55aa aaa5 9555 55aa -55aa aa55 552a 54a5 -55aa aa55 54aa a555 -55aa aa55 aaa4 5555 -55aa aa55 a495 5555 -55aa aa55 aa52 4a2a -54a9 ab52 aa46 aca8 -5500 2a00 4a01 2802 -1745 9746 2b47 0da7 -e8a5 62c8 ca45 908a -9208 2490 0a20 5408 -0409 0211 0412 000a -114a 214a 208a 5184 -5402 5422 914a 218a -8254 8952 0950 2548 -528a 2550 0aa5 10aa -a452 09aa 4528 9249 -9255 4a25 5595 4a2a -c040 8000 0000 0001 -0000 0001 154b 5a20 -0000 0055 6d5a 2c00 -0000 0120 a8de 6b00 -0002 0000 0090 403a -0221 0100 0000 0000 -d269 5aa8 b65a 2b55 -aa24 95aa a552 2a49 -a995 524a 55a9 4a2a -2a55 aa49 552a a495 -4a55 a955 25aa a94a -aa55 2955 4aa9 2aa5 -9452 4a2a aa54 9255 -aaaa 95a9 a595 aa55 -55a9 4a2a 5554 aa49 -552a a9a5 5595 aa54 -55aa 492a 5555 aa92 -55a5 2aa9 552a a594 -542a aa52 4aaa 2aa5 -aaa9 a5aa 54a5 9455 -9850 30a0 61c1 c285 -4802 2802 2108 4208 -169b 571d 572b ae2b -918a 4014 4210 8805 -5004 5088 2090 4820 -0015 000a 0114 0208 -2842 11a4 0944 2194 -2194 2248 0550 0aa1 -1244 9249 1288 5204 -05a8 4429 04a9 4492 -2492 4924 9224 9224 -9456 2894 54a8 50a8 -4102 0000 0000 0000 -0000 0000 0000 0000 -0000 0000 0000 0000 -0000 0000 0000 0000 -0c00 0000 0000 0000 -0004 8040 4020 0000 -2d15 160b 150a 0505 -554a a855 4aa5 a954 -52aa 924a 5524 5295 -52aa 9552 4aa9 5549 -aa49 2aa5 544a 2955 -5452 9554 a555 4925 -aa92 4aaa 5229 4a2a -a94a a995 544a a955 -2aaa 522a a495 5552 -a555 aa92 aa52 2a94 -5455 4aa9 5492 aa95 -aa55 a42a a594 aa52 -aa55 92aa 49aa 9552 -5356 974c 5cb0 3061 -820a 1509 252a 5522 -2104 2108 2200 2500 -366e 2b6e 6a6e 6ab6 -a011 0882 2881 1082 -4810 a008 a010 8050 -0211 0805 1002 0802 -4210 4a01 5402 a804 -1481 5402 5108 a510 -5108 a510 4510 4a20 -0852 09a4 1144 9249 -9249 2288 2548 2249 -5050 4184 4000 2400 -2400 1100 4400 1082 -a500 1044 a84a 1240 -5200 0980 2682 0982 -4009 2004 a194 552a -0000 2008 2200 49a0 -0000 0000 4000 2004 -0502 0201 0101 0000 -a5a9 aa64 525a a5b4 -4925 9452 9549 2492 -2455 9249 5524 9552 -924a 5549 24aa 2495 -aa52 492a a495 a42a -a552 2994 a552 9549 -24aa 2592 5549 2a52 -944a 524a 542a 9249 -a594 52aa 924a a955 -52a9 954a a452 4a2a -4a55 2492 aa55 9249 -a84b a957 865c 1870 -c284 8805 1029 49a2 -5592 4a29 a554 12aa -2400 2401 2401 1105 -daee b56a eeb5 6ab6 -1184 0124 0208 2281 -0050 00a8 00a0 1040 -1004 0210 0500 1200 -a210 8a41 1441 1481 -8550 0a40 2a00 5500 -4a01 aa01 aa00 5402 -2248 1244 1188 4492 -12a4 11a4 09a2 1481 -02a0 0049 0050 8420 -0024 0002 2004 8011 -0210 8004 2001 4400 -2004 8010 4200 0820 -0188 2100 4400 9100 -2a49 0411 4004 0120 -4009 8054 0154 0104 -0000 0040 0800 4420 -525a 542a 2914 158a -5592 49a4 12a9 0aa0 -4954 2592 a924 9249 -5249 2a92 4924 aa25 -924a 5294 4a25 a825 -a554 92aa 4924 9552 -29a5 9452 49a4 15a4 -5524 92aa 49a5 14aa -2492 aa49 2554 9249 -a594 524a 29a5 944a -55aa 914b 5224 9448 -62c1 0a84 122a 4924 -510a a1a5 5284 49a5 -4925 5425 9255 4825 -2105 1101 0521 0000 -6dd6 75b6 d576 0000 -0802 0805 1005 0000 -2088 4020 1040 0000 -0401 0802 0800 0000 -2409 4014 8025 0000 -5500 2580 2a00 0000 -500a 4015 4092 0000 -208a 2015 802a 0000 -5482 2904 a902 0000 -4a10 4010 4000 0000 -0000 1200 0000 0000 -0820 0104 2000 0000 -8200 0801 2000 0000 -0440 1002 0048 0000 -8400 2200 4400 0000 -2082 0800 4108 0000 -8800 2400 1201 0000 -0402 900a 500a 0000 -558a 4095 4992 0000 -2492 4924 5209 0000 -904a 2492 4924 0000 -92a4 4992 2492 0000 -2885 5229 8452 0000 -924a 2944 9249 0000 -a254 12a9 442a 0000 -a495 5229 8455 0000 -219a 442a a412 0000 -1081 4182 0500 0000 -aa25 512a 44aa 0000 -0254 0992 4984 0000 -9452 4925 5289 0000 - -] - -|c000 @FRAME BRK -|d000 @ERROR BRK - -|FFF0 [ 0ffc 0f0b 0f03 ] ( palette ) -|FFFA .RESET .FRAME .ERROR diff --git a/examples/gui.images.usm b/examples/gui.images.usm @@ -1,375 +0,0 @@ -( drag ) - -:dev/r fff8 ( std read port ) -:dev/w fff9 ( std write port ) - -&Point { x 1 y 1 } - -&Point2d { x 2 y 2 } - -&Picture2d { x 2 y 2 width 1 height 1 color 1 addr 2 } - -;mouse Point2d -;pict Picture2d ;pictpt Point -( drawing ) ;color 1 ;x1 2 ;x2 2 ;y1 2 ;y2 2 ;i 2 -;state 1 - -|0100 @RESET - - #02 =dev/w ( set dev/write to sprite ) - - #0010 #0020 #04 #04 #01 ,graphic1 ,draw-picture JSR - #0020 #0030 #10 #10 #04 ,graphic2 ,draw-picture JSR - #0088 #0020 #10 #10 #08 ,graphic2 ,draw-picture JSR - - #05 =dev/r ( set dev/read mouse ) - -BRK - -|c000 @FRAME - - ( clear last cursor ) - #10 ,clear_icn ~mouse.x ~mouse.y ,draw-sprite JSR - ( record mouse positions ) - #00 IOR2 =mouse.x #02 IOR2 =mouse.y - ( record mouse state ) - #04 IOR #11 ADD =state - ( draw mouse ) - ~state ,cursor_icn ~mouse.x ~mouse.y ,draw-sprite JSR - -BRK - -@draw-picture ( x y width height addr -> picture ) - - =pict.addr =pict.color =pict.height =pict.width =pict.y =pict.x - #00 =pictpt.y - @draw-picture-row - #00 =pictpt.x - @draw-picture-col - ( draw ) - ~pict.color - ~pict.addr - #0008 #00 ~pictpt.x MUL2 ADD2 ( x ) - #0008 #00 ~pictpt.y ~pict.width MUL MUL2 ADD2 ( y * width ) - ~pict.x #0008 #00 ~pictpt.x MUL2 ADD2 - ~pict.y #0008 #00 ~pictpt.y MUL2 ADD2 - ,draw-sprite JSR - ( draw - end ) - ( incr x ) ~pictpt.x #01 ADD =pictpt.x - ~pictpt.x ~pict.width LTH ,draw-picture-col ROT JMP? POP2 - ( incr y ) ~pictpt.y #01 ADD =pictpt.y - ~pictpt.y ~pict.height LTH ,draw-picture-row ROT JMP? POP2 - - #01 =dev/w ( set dev/write to sprite ) - #03 =color - ~pict.x #0001 SUB2 ~pict.y #0001 SUB2 ~pict.x #0008 #00 ~pict.width MUL2 ADD2 ~pict.y #0008 #00 ~pict.height MUL2 ADD2 ,line-rect JSR - #02 =dev/w ( set dev/write to sprite ) - -RTS - -@line-rect ( x1 y1 x2 y2 ) - =y2 =x2 ( stash x1 y1 ) DUP2 WSR2 =y1 DUP2 WSR2 =x1 - @line-rect-hor - ( draw ) ~x1 ~y1 IOW2 IOW2 ~color IOW - ( draw ) ~x1 ~y2 IOW2 IOW2 ~color IOW - ( incr ) ~x1 #0001 ADD2 DUP2 =x1 - ~x2 #0001 ADD2 LTH2 ,line-rect-hor ROT JMP? POP2 - ( restore x1 y1 ) RSW2 =x1 RSW2 =y1 - @line-rect-ver - ( incr ) ~y1 #0001 ADD2 DUP2 =y1 - ( draw ) ~x1 ~y1 IOW2 IOW2 ~color IOW - ( draw ) ~x2 ~y1 IOW2 IOW2 ~color IOW - ~y2 #0001 SUB2 LTH2 ,line-rect-ver ROT JMP? POP2 -RTS - -@draw-sprite - IOW2 ( y byte ) - IOW2 ( x byte ) - IOW2 ( sprite address ) - IOW ( layer-color ) - RTS - -@clear_icn [ 0000 0000 0000 0000 ] -@cursor_icn [ 80c0 e0f0 f8e0 1000 ] - -@graphic1 [ - ff80 8080 8080 8088 - ffff fffc f8f9 f1f4 - ffff 0010 c721 2120 - ffff 3f0f 0717 c343 - 8888 8080 8080 8080 - f0f1 f2f5 f2f1 f0f4 - 1208 804c 9212 4c00 - 7303 0343 1b1b fbfb - 8080 8f83 8383 8393 - f0f3 f1f0 e4c0 80ff - 00c7 c7c6 4606 00ff - c3d3 c307 870f 3fff - 8f83 8383 8383 83ff - fff7 fdff c0e2 f1ff - 7fef bfff 07af 5fff - ffff ffff ffff ffff -] - -@graphic2 [ - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff fffe - ffff ffff fef0 8000 - ffff ffd0 0000 0000 - ffff ff02 0000 0000 - ffff ffff 1f03 0000 - ffff ffff ffff ff1f - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff fef8 f8e0 - f8e0 c000 0003 0c30 - 0000 0738 c000 0000 - 17d0 0404 0404 0404 - fd00 0000 0000 0000 - 40be 0100 0000 0000 - 0300 e01c 0300 0000 - ff2f 0300 802d 0000 - ffff ff3f 0f07 a101 - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff fefc f0e0 c081 - a081 060c 3060 8000 - c080 0000 0000 0000 - 0000 0000 0000 0000 - 0604 0406 0206 0202 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0000 0100 0101 - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - fffe ffd0 e0e0 e0e0 - 16f8 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0202 0202 0300 02ba - 0000 0000 0000 12c8 - 0000 0000 0000 4893 - 0000 0000 0000 00f4 - 0000 0000 0000 0000 - 0103 0303 0703 0707 - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - e0e0 e0f0 f0f8 f8fc - 0000 0000 0000 0000 - 0000 0000 0001 020a - 0000 0314 7040 8000 - 0b74 8000 0000 0000 - 4001 0105 0703 0200 - 0000 80c0 c080 4000 - 0000 0000 0000 0000 - 0700 0000 0000 0000 - 8028 0000 0000 0000 - 0f0f 0f1f 1f1f 1f1f - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - fcfe feff ffff ffff - 0000 0003 82cc c0e0 - 1060 8000 0000 0000 - 0000 0000 0000 0b34 - 0000 0000 17f8 0000 - 0000 005f ff3f fe68 - 0000 aff8 e0fc a100 - 0000 5a00 0092 4000 - 0000 b217 0080 9000 - 0000 0040 5801 0101 - 0f1f 0f1f 0f1f 4f2f - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - e0f0 f0f0 f0f1 f1ed - 0105 0a30 4000 0000 - c000 0000 0000 0000 - 0000 0000 0000 0000 - 071f 1f3f 1fbf 3fbf - 8080 a0d0 84e4 f0f0 - 0000 0000 0000 0000 - 0000 0000 0000 0000 - 0000 0302 040a 062b - af0f 0f1f 0f0f 1f9f - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - e5e5 eaf0 f2f8 eeff - 8000 0000 0200 001e - 0000 0000 4500 00aa - 0000 0055 0200 01ff - 3fbf 28f7 0f14 57ff - f059 80d0 c02f fde5 - 2840 0008 f795 474f - 0100 16eb 5fff ffff - 54df 1f87 ffff ffff - 1f3f 291e bf7b fdfb - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - fbfd fef5 fdff ffff - 8789 c64f af87 6fe7 - f76d 8e56 deed edef - 55ff 00fe 896d ffff - 5fe1 c9d7 7b77 bb7b - 5a5f ffff ff7f 7fff - dffc f8f2 c7ea fd9f - 0100 8496 619f ffff - 6f1f 7f7f ffff ffff - 3ffb 7fdf 776f 7777 - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - fcff ffff ffff ffff - d7b7 7ff7 bbd7 f3fb - edee edfe e2eb d5d6 - edff ffe9 22aa dd56 - bf7b bb35 75f2 a7ff - ffff f7ff 5fd1 2efa - efff ffff ff7f 95ee - ffff ffff ffff 779a - feff feff fefe ffa1 - df7f dfbf bfff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - f9ff f5fa fcfc fcff - af5f 7fbf 7fff 7fff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - 52ff ffff ffff ffff - aef5 ffff ffff ffff - ddeb fffd fdff fbf9 - ffff ffff ffff ff7f - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff ffff ffde fef0 - fbf8 f7ed d1a3 21c1 - bfff 3f9f 0f0f 0787 - ffff ffff ffff ffff - ffff ffff ffff ffff - ffff afd2 fdff ea80 - ffbf 5fff ffff 1f07 - ffff ffff ffff ffff - f9f0 f0e0 e8c8 cc94 - 5fe3 1c0f 0100 0000 - ffff bf85 fa3f 0f03 - ffff ffff 7f83 fcff - ffff ffff ffff 5fa5 - ffff ffff ffff fffb - ffff ffff ffff fcf3 - fffe faeb ac58 f0c0 - d9a3 a206 0c18 3830 - 0402 0404 0404 0404 - 8381 8040 4000 4000 - ffff ff6f 3f1f 0f07 - fefe fefe fffe ffdf - 8037 00e4 390f 8087 - 03a3 13f7 47a7 cf1f - fef7 fffe fefc f8f8 - 94a4 2420 4440 4480 - 0000 0000 0000 0000 - 0101 0303 060c 0c08 - 9f86 0001 0303 060c - fabf 7dc0 8000 0000 - 2fd3 fc07 0100 0000 - cfbf 7ff1 c080 0000 - 8080 8000 8080 8080 - 6020 6060 2060 6020 - 0404 040c 0404 0404 - 1000 0008 0002 0000 - 0101 0000 0000 0080 - ffff 7f1f 0f03 0000 - e0fd ffff fffe fe1e - 3fff ff57 4faf a6f4 - f0e0 e182 8200 0000 - 8080 0000 0000 0000 - 0000 0000 0000 0000 - 1810 3020 60c0 80c0 - 0c18 1030 2040 40c0 - 0000 0000 0000 0000 - 0001 0307 0f0f 1f3f - 0000 0000 0000 0000 - 4040 4040 2020 2030 - 6030 6030 2030 2030 - 0804 0408 0404 0404 - 0000 0000 0000 0000 - 0028 0802 0100 0000 - 0000 0000 8061 171f - 0000 000a 7fff fffe - b0b8 995b 8fa9 b4bc - 0001 7ffe fea0 0000 - 0040 e080 0000 0000 - 0101 0301 0206 0404 - 8000 0100 0101 0301 - 8080 8080 0000 0000 - 0000 0001 0103 0707 - 7e7c f8f0 e0c0 c080 - 0000 0000 80c0 6070 - 1010 1008 0808 0808 - 2030 1020 3000 3010 - 0404 0406 0202 0403 - 0000 0001 0b3f 7fff - 0003 1f7f ffff ffff - 7fff ffff ffff ffff - faf9 f7fd fcff ffff - b6da dc9a 5d4d ee6e - 0000 0000 00fa ffff - 0000 0000 0080 fcf8 - 0404 0000 0000 0000 - 0302 0301 0202 0202 - 0000 0000 0000 0000 - 0f1f 1e3c 7c78 f0e0 - 0000 0000 0000 0001 -] - -|d000 @ERROR BRK -|FFF0 [ f0ac f0bb f053 ] ( palette ) -|FFFA .RESET .FRAME .ERROR ( vectors ) diff --git a/examples/gui.picture.usm b/examples/gui.picture.usm @@ -0,0 +1,316 @@ +( gui/picture ) + +&Screen { width 2 height 2 pad 4 x 2 y 2 color 1 } +&Sprite { pad 8 x 2 y 2 addr 2 color 1 } + +&Picture2d { x 2 y 2 width 2 height 2 color 1 addr 2 } +&Point2d { x 2 y 2 } + +;pict Picture2d + +|0100 @RESET + + #0000 #0000 ~dev/screen.width ~dev/screen.height #01 ,pict_large ,draw-picture JSR + #0008 #0010 #0080 #0080 #01 ,pict_medium ,draw-picture JSR + #00d0 #0090 #0020 #0020 #04 ,pict_small ,draw-picture JSR + +BRK + +@draw-picture ( x y width height color addr ) + + DUP2 =dev/sprite.addr =pict.addr =pict.color =pict.height =pict.width DUP2 =dev/sprite.y =pict.y =pict.x + @draw-picture-ver + ~pict.x =dev/sprite.x + @draw-picture-hor + ( draw ) ~pict.color =dev/sprite.color + ( incr ) ~dev/sprite.x #0008 ADD2 =dev/sprite.x + ( incr ) ~dev/sprite.addr #0008 ADD2 =dev/sprite.addr + ,draw-picture-hor ~dev/sprite.x ~pict.width ~pict.x ADD2 LTH2 JMP? POP2 + ( incr ) ~dev/sprite.y #0008 ADD2 =dev/sprite.y + ,draw-picture-ver ~dev/sprite.y ~pict.height ~pict.y ADD2 LTH2 JMP? POP2 + +RTS + +@pict_small [ + ff80 8080 8080 8088 ffff fffc f8f9 f1f4 + ffff 0010 c721 2120 ffff 3f0f 0717 c343 + 8888 8080 8080 8080 f0f1 f2f5 f2f1 f0f4 + 1208 804c 9212 4c00 7303 0343 1b1b fbfb + 8080 8f83 8383 8393 f0f3 f1f0 e4c0 80ff + 00c7 c7c6 4606 00ff c3d3 c307 870f 3fff + 8f83 8383 8383 83ff fff7 fdff c0e2 f1ff + 7fef bfff 07af 5fff ffff ffff ffff ffff +] + +@pict_medium [ + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff fffe ffff ffff fef0 8000 ffff ffd0 0000 0000 ffff ff02 0000 0000 + ffff ffff 1f03 0000 ffff ffff ffff ff1f ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff fef8 f8e0 + f8e0 c000 0003 0c30 0000 0738 c000 0000 17d0 0404 0404 0404 fd00 0000 0000 0000 + 40be 0100 0000 0000 0300 e01c 0300 0000 ff2f 0300 802d 0000 ffff ff3f 0f07 a101 + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff fefc f0e0 c081 a081 060c 3060 8000 + c080 0000 0000 0000 0000 0000 0000 0000 0604 0406 0206 0202 0000 0000 0000 0000 + 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0101 + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff fffe ffd0 e0e0 e0e0 16f8 0000 0000 0000 0000 0000 0000 0000 + 0000 0000 0000 0000 0000 0000 0000 0000 0202 0202 0300 02ba 0000 0000 0000 12c8 + 0000 0000 0000 4893 0000 0000 0000 00f4 0000 0000 0000 0000 0103 0303 0703 0707 + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff e0e0 e0f0 f0f8 f8fc 0000 0000 0000 0000 0000 0000 0001 020a + 0000 0314 7040 8000 0b74 8000 0000 0000 4001 0105 0703 0200 0000 80c0 c080 4000 + 0000 0000 0000 0000 0700 0000 0000 0000 8028 0000 0000 0000 0f0f 0f1f 1f1f 1f1f + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff fcfe feff ffff ffff 0000 0003 82cc c0e0 1060 8000 0000 0000 + 0000 0000 0000 0b34 0000 0000 17f8 0000 0000 005f ff3f fe68 0000 aff8 e0fc a100 + 0000 5a00 0092 4000 0000 b217 0080 9000 0000 0040 5801 0101 0f1f 0f1f 0f1f 4f2f + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff e0f0 f0f0 f0f1 f1ed 0105 0a30 4000 0000 + c000 0000 0000 0000 0000 0000 0000 0000 071f 1f3f 1fbf 3fbf 8080 a0d0 84e4 f0f0 + 0000 0000 0000 0000 0000 0000 0000 0000 0000 0302 040a 062b af0f 0f1f 0f0f 1f9f + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff e5e5 eaf0 f2f8 eeff 8000 0000 0200 001e + 0000 0000 4500 00aa 0000 0055 0200 01ff 3fbf 28f7 0f14 57ff f059 80d0 c02f fde5 + 2840 0008 f795 474f 0100 16eb 5fff ffff 54df 1f87 ffff ffff 1f3f 291e bf7b fdfb + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff fbfd fef5 fdff ffff 8789 c64f af87 6fe7 + f76d 8e56 deed edef 55ff 00fe 896d ffff 5fe1 c9d7 7b77 bb7b 5a5f ffff ff7f 7fff + dffc f8f2 c7ea fd9f 0100 8496 619f ffff 6f1f 7f7f ffff ffff 3ffb 7fdf 776f 7777 + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff fcff ffff ffff ffff d7b7 7ff7 bbd7 f3fb + edee edfe e2eb d5d6 edff ffe9 22aa dd56 bf7b bb35 75f2 a7ff ffff f7ff 5fd1 2efa + efff ffff ff7f 95ee ffff ffff ffff 779a feff feff fefe ffa1 df7f dfbf bfff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff f9ff f5fa fcfc fcff + af5f 7fbf 7fff 7fff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + 52ff ffff ffff ffff aef5 ffff ffff ffff ddeb fffd fdff fbf9 ffff ffff ffff ff7f + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffde fef0 fbf8 f7ed d1a3 21c1 + bfff 3f9f 0f0f 0787 ffff ffff ffff ffff ffff ffff ffff ffff ffff afd2 fdff ea80 + ffbf 5fff ffff 1f07 ffff ffff ffff ffff f9f0 f0e0 e8c8 cc94 5fe3 1c0f 0100 0000 + ffff bf85 fa3f 0f03 ffff ffff 7f83 fcff ffff ffff ffff 5fa5 ffff ffff ffff fffb + ffff ffff ffff fcf3 fffe faeb ac58 f0c0 d9a3 a206 0c18 3830 0402 0404 0404 0404 + 8381 8040 4000 4000 ffff ff6f 3f1f 0f07 fefe fefe fffe ffdf 8037 00e4 390f 8087 + 03a3 13f7 47a7 cf1f fef7 fffe fefc f8f8 94a4 2420 4440 4480 0000 0000 0000 0000 + 0101 0303 060c 0c08 9f86 0001 0303 060c fabf 7dc0 8000 0000 2fd3 fc07 0100 0000 + cfbf 7ff1 c080 0000 8080 8000 8080 8080 6020 6060 2060 6020 0404 040c 0404 0404 + 1000 0008 0002 0000 0101 0000 0000 0080 ffff 7f1f 0f03 0000 e0fd ffff fffe fe1e + 3fff ff57 4faf a6f4 f0e0 e182 8200 0000 8080 0000 0000 0000 0000 0000 0000 0000 + 1810 3020 60c0 80c0 0c18 1030 2040 40c0 0000 0000 0000 0000 0001 0307 0f0f 1f3f + 0000 0000 0000 0000 4040 4040 2020 2030 6030 6030 2030 2030 0804 0408 0404 0404 + 0000 0000 0000 0000 0028 0802 0100 0000 0000 0000 8061 171f 0000 000a 7fff fffe + b0b8 995b 8fa9 b4bc 0001 7ffe fea0 0000 0040 e080 0000 0000 0101 0301 0206 0404 + 8000 0100 0101 0301 8080 8080 0000 0000 0000 0001 0103 0707 7e7c f8f0 e0c0 c080 + 0000 0000 80c0 6070 1010 1008 0808 0808 2030 1020 3000 3010 0404 0406 0202 0403 + 0000 0001 0b3f 7fff 0003 1f7f ffff ffff 7fff ffff ffff ffff faf9 f7fd fcff ffff + b6da dc9a 5d4d ee6e 0000 0000 00fa ffff 0000 0000 0080 fcf8 0404 0000 0000 0000 + 0302 0301 0202 0202 0000 0000 0000 0000 0f1f 1e3c 7c78 f0e0 0000 0000 0000 0001 +] + +@pict_large [ + + 0000 0802 1001 0410 0095 0055 0024 0154 114a 2114 a209 5005 2552 09a5 540a a114 + 5548 2651 aa4a 25a8 5592 4955 aa44 2aa9 5555 554a aaaa 5555 556d abaa b5d6 555b + b65b 6aad b6d5 5b6c db6d b6d5 bb56 bbd5 6db6 db6d b6db 6ab7 b6db 6db6 db6a af74 + db6d b6db 6db6 dbad 6db6 db6d b6db 6cb5 bbd7 6e9f bf7e fcf8 ff7c f0e0 8080 0000 + 0000 0101 0101 0301 f0e0 e0e1 c2d2 c385 375a ef55 faaf 55fa 77da 6fb5 da6f b5da + 77da 6fb5 da6f b5da 77da 6eb5 db6d b6db bbd6 edb6 5bed b7ba deb5 dbb6 dd6d b7db + dfbe 7cf8 f0e1 e4c1 070a 1d36 5b6d b66d 77da b7dd 6bbd ebb6 77da b76d b66d b6db + 77da 6fb5 dab7 dd6b 77da 6fb5 da6f b56e 77da 6db6 db6d b6db 76da adf6 5bad f75a + 0002 1000 0421 0004 0190 0540 1500 5401 500a 4114 4210 8a21 a214 4229 9442 9520 + 924a a924 9255 49a5 9549 55a4 552a 4955 5555 2aaa 55aa 5555 6aad abad 6aab b556 + ab55 6e55 da6d 56ab 6eb5 aeb5 db6d b6ab da6d b6db 6d56 fb4d dbad d67b add6 7baa + f65b adea 5ae5 57be ab6f aa9f f6bf eaf9 e35e fff6 dfa8 57ba fadd f7be ef10 efb5 + 0383 ebbb f75f a75b 8a8f 8916 910a 5538 af55 f6ab 5dea 5f6a 6fb5 da6f b5da 6db7 + 6fb5 da6f b5d6 6db7 6db7 da6d b6db 6db6 57fa adb6 db6d b6db 6fdf bede 7cf8 f8f0 + 8203 0d0b 162d 365b db6d b66f dab7 da6f 5bed b65b ed76 adf6 6db7 dd6b bdeb b6db + bd6b b66d b66d db6d b56f dab5 dfb5 6db6 6db6 db6d b65b edb6 adf6 5bad f65b adf6 + 1000 0520 0210 0124 9441 1401 5401 4812 1442 1442 114a 208a 9522 9442 1449 9224 + 14aa 45a9 144a a42a aa55 4a2a aaaa aa55 aa55 ab55 aaab ad55 da55 566a ad56 6aad + da55 b7da 55af d56a dd6a 5bed 566b bdd6 b6db 6db6 db6d b6da ac73 af9b 7e6b bff4 + dbff 54fd d2cd 36aa a69b 6aad b6db aadb d55b ed56 db6d b556 55ba 57ea 5d6b b6db + b6d7 76ae de6e b65c 0e23 3c2b 2d36 2b35 5b2d b65b aacd 6bb5 da6d b7da adf7 2add + da6d b7da 6db7 aadd db6d b6db 6db6 db6d 6db7 d77f afdf 7fbf e0e8 e181 c285 9305 + adf6 5bad d268 934e b5dd 6bad bfe9 965b 5b44 ffbd 4751 ef5a 6db6 cbfd 774d 74db + b6db 6d36 d5fd b75f db6d b6db 6d56 e9bf 5bed b65b edb6 55aa 5bad f655 bbd6 5baa + 0012 4002 0821 0009 802a 0148 2500 5402 4429 4491 2492 4492 8924 9225 914a a412 + 49a5 2a52 29a5 9555 4a55 aa55 5555 5555 aa55 ab55 5a55 566a b556 5a6a abad b5aa + adab d5ad 556b 55ad 5bad 75ae 6bb5 5eab 6db5 5aeb 5bea b156 bae5 abd5 2e55 b5ae + db6d 55b6 db55 b6db 6d56 b5db 556e b5db ebbd 55aa 77a8 d450 556d b4c0 0000 0000 + ac0e 0c0c 0c0c 0c04 0e02 0201 0000 0000 d6ab f555 db69 5d69 b66b bd56 eb5d 6ab7 + b76a bdd7 6abd d76a b6db 6db6 da6d b6db ff7d 5fde 9e9e 9c0e 0e4a 141b 223d 2b5d + 33cd 36db b5de 6bb5 ad76 db6d b6da 6880 b7da 6fb5 da4b 0000 6db6 db6d b6db 6d16 + a1fe 55bb d66d b6db 7eab aa76 dbad f65b fffb afd5 6abd d66b fdef 7ddf 6da7 d96e + 2002 0821 0410 4208 2984 2214 4229 8452 2492 4992 4924 924a aa52 4a29 a555 9552 + a9a5 5555 2955 55aa 552a 5556 5a55 55aa 55ad 55d5 ad55 6aad 55b6 555a ab6d aab5 + b5aa 55aa 6bb5 aedb 75ae dbb5 6eb6 d96f e5aa 55ae f5d5 adb6 6ab5 add6 5a6b adb5 + aa6d b6ab da6d 4535 6dab dd6a adb5 5000 4050 b4db 6daa 2d02 0000 0000 c0a0 b8d4 + 0c0c 080c 0808 0808 0000 0000 0000 0000 2d29 1d15 1516 050a 5aef 55ba 6fd5 bad7 + dd6b bdd7 6abd d66b 6db4 5aec b5ac ec59 3c0c 7c5c 6cac f554 6a37 ad76 ad76 5868 + de68 a0c0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0b00 0000 0000 0000 + 6db6 5b15 0601 0000 d5be d56f b55b 6d16 bdd6 6bbd 6ab7 5aed b5df 69b6 db6d b6db + 0251 0410 4200 1401 0954 2289 2492 4914 2592 544a a52a 5295 4aaa aa95 55aa 5555 + a5aa aa55 5aab 556a 55aa b655 ab6d 55aa b6aa db55 6d56 b5ab d6ab 6d5a afd5 765b + b55d abf6 5a6f b5d6 b756 ee9d fd3a 75f6 55b5 d65a aaa9 6ca4 55aa a0c4 a000 8000 + 48a0 4000 0209 2650 0000 04b2 4abf dd03 0200 8050 aa54 eaf5 aada 552d 160a 0b05 + 0808 0808 8888 4848 0000 0000 0001 0102 1f12 3b55 b65b adf6 6db6 db6d b6db 55de + bdd6 6bb5 de6b adb6 b9d9 53ba b375 a5e6 b66c b6d6 6e56 fea7 50a0 6040 6020 a020 + 0000 0000 0000 0000 0000 0000 0000 0001 0000 0002 0d36 db6d 0000 2fd5 bbd5 7eab + 0000 fe55 6eb5 da6f 0502 a1dc b7da ad77 b6db 6d56 bbd5 6eb5 ad76 abdd 6ab7 da6d + 4802 1005 4015 0054 4295 4924 520a a94a 554a 2aa9 aaaa 2aaa 55aa aa55 abad aaaa + 55ab d55a 5556 b5d5 6d56 6bad b5aa 6db6 6db5 566b b5de 53dd 6aad db6d b6ab 7dab + bbab 76af ef5e bf7e f5e9 ecd4 d4ab a9a8 5050 a020 0800 00a0 0101 040a 132a 1656 + 0040 8504 1008 1408 0000 6804 0804 040a ba7e 3b3f 1f3b 3f3f 8542 4241 a1c0 60d0 + 88e8 8868 a8a0 d8a0 0506 0b15 2e2a 5bad 55ae 75ad d6bb 55dd 6ab7 da6d b6aa 6db7 + db6d b5db adeb 5dab 6b6d 4a5b 565b 556e 5bef b75b eb5b b7db 2020 40a0 2080 2020 + 0000 0000 0000 0001 0305 0c13 354a 9440 565b ad6a b680 0000 da6f b5da ab00 0000 + d57d aadf 6956 0b00 aadd b76a bdd7 6abb db6d b6db 6a5d eb5d b65b ed55 db6d b65b + 0228 0251 0422 1442 a412 aa24 924a a915 aaa5 9aa5 aaaa 2a55 b555 ab55 aaad aa55 + 565a 6b55 aa6d aa56 abd5 5b6d aab6 dbaa 6a57 6db5 dbad 76ab dd6a b75b b76e df5f + 7bfd faee b4f6 d9ac 2854 54aa aa28 8040 0000 0001 8001 0001 5eae 5f7b bf7d efff + 0a05 00c0 d0ff 76ff 5440 0103 1ffd efba 77fd bff7 7efb dfb7 e8e0 b0f0 f0d2 eac5 + 524a 452a abca ad56 d5bb d5ae 6ab5 afd5 6a57 baab da6d 56b5 da55 dd6a aeb5 da6d + dd6a b6db aab6 da6b 35db 566b 5daa 6d57 6eb6 de6c acec 58b8 20a0 3050 516d b6db + 0003 057a 4cb0 d050 4000 0002 0a17 5b5f 0015 aaaf f8a0 e080 0055 fadf 0700 0090 + 0000 a0d0 eafc 7f1b 5516 0b01 0000 4000 abf5 5b4d 72ab 5509 ed56 6bbd d556 6b5d + 114a 0154 0229 0452 4955 2495 524a aa25 552a aa55 aaa5 5555 56aa b555 aa56 5a6a + b5d6 555a abd5 add5 6db6 abda 576a b75a ddb6 6abd d56b b7af bdff f6dd fef5 f6ab + d569 adb2 aa65 aa4a b450 55a0 ad50 aeb2 0002 0000 00a0 08a5 dbff fdaa 0000 026d + b7f8 8000 022d d556 c000 0015 d65a 6aab 0000 00bf c9b5 a040 150a 0dd5 165a 2b2d + 95db 2aad b6ab 555a 6a5d d66b b55a add7 db6d aab7 5aeb 5a6d ab6d b65b ea5b add5 + ad75 ae6a b7da 556e 6a5d abf6 5aad d7ba d971 b1a1 e243 62c5 5576 ad56 fa4a f44a + 4081 8102 0503 0507 be77 ffde fffa bfff 820a 0808 140c 0505 4804 0201 0002 056a + 1f0f 8607 8707 0587 d0a0 d8e8 f4fa bafd 0d05 0000 0000 8000 aa17 3a4d 162a 0b15 + 0944 2215 4015 4a21 5492 4a2a a94a 2a49 aa95 aa52 55aa aa55 ab55 adb5 55aa ad56 + 5a6b 55ad 56eb 5aad aa6d b65b ea5d abb6 dfbf bd7f feee fdfd f5ad b5aa d5ac 55b4 + 55aa 2a55 55aa 55aa 55aa d556 55aa 55aa 55aa b6aa 55aa 56b5 55aa b6d5 55ab ad55 + 6aad d556 6a55 5b6a adb4 50a0 956a 55ad 0000 022a a9aa 54aa 34ab 555d 66b5 9aeb + ad6b ad55 b6aa b65a 6a5b ad6a b6d5 add6 b655 b6db aa6d aab6 bb55 db6d aab6 aadb + b556 6bb5 add6 ba55 55ee 556b b5d9 a9b1 83c5 8682 8685 8586 60a0 b8d6 aa8b 0180 + 0203 0328 d45b 6daa f7ff bdf7 3f8f 45f1 01c0 e0b0 fcff b7ff aa00 0000 05ff fff7 + 0f1e 377f fdef bffd f6df fffd dfff 76ff 8040 40a0 a8d0 d0e8 0a00 0100 0300 0000 + 4a12 4904 5209 5402 a52a 548a 524a aa12 2aaa aaaa a5aa 55aa b5aa aaad 55b6 55aa + b5d6 ab6d b5aa 5bd5 57ef 5d5f b7bf 7e7b daf6 faaa eab5 d6aa a9a5 d5a5 aa44 95aa + 5555 5555 aa95 55aa 5555 5555 aa55 55aa 55aa 5556 aa55 55aa 6aaa adaa ab55 55aa + aaad 55ab 6d55 55aa d55a 6b55 555a 6baa 6a8a 5536 5552 59a2 2dd5 55b6 5ad5 56aa + 6baa 55b6 d55b aad5 6ab5 aeaa 555b 8a45 d55b add5 6a5b adb5 556d 56b5 d65a 55ad + ae72 adab b5d6 5aab d3a9 51a1 7181 e151 8285 8682 8583 c582 c040 a0d0 685e abb5 + 5b2d 0b05 0201 4050 5c55 6bb5 ae6a b655 6e1f 45a1 b8d6 aab6 deff ffb6 7f0d 83a0 + f7ff bff7 fffd b77f ffdb 7fff f6bf ffed ea74 f4da f9f5 baf4 0000 0000 0000 8000 + 5402 5409 520a 4529 ca29 aa55 9552 4a2a aa55 aa55 55aa aaab b556 aa55 55aa d62a + 5aad d55b 67af addf ffef fefe b5fe fab5 b555 aad4 55a8 a255 2a55 4aa9 2aaa a554 + aa55 aa55 aa92 55aa aa55 aa55 aaaa 55aa b555 aa55 aaaa 55aa 565a aa55 aaaa 55aa + dbaa aa55 aaad 55aa 54b5 d554 aa52 aab2 a151 4181 8181 8182 6d55 566a 555a 55ab + 5b6d aaab b5aa 566a 4502 8141 0080 8080 55da 565a aa55 6d2a 6aad d5b6 d555 adb5 + b55b aad6 5a6b ad55 4361 82c2 a344 4642 c282 c2c2 e1e2 e1e2 daad d6b5 56db 6aad + d65a eb55 b65b d55a 5aad 564b ea35 d65b da6b ad6a b7aa db6d d054 6bb5 5bd5 5b6c + 0e01 2048 5368 adb6 ff77 0400 0075 02a8 f040 0000 027a 954a 0000 0000 80a0 7897 + 0452 1542 294a 114a aaa9 4a29 55a5 2a92 aa55 5555 5555 aa55 d52a 6d55 5556 aa55 + 5bbf af7d 7fef fdbf faea 6aea dad5 aaaa a5a9 8aa5 942a 492a 2a52 aa2a a595 54aa + aa95 55aa 5552 aaaa 554a 55aa 55aa a595 55aa 55aa 554a 5555 55aa 55aa 55aa 5555 + 55aa 6daa 55aa 5555 55aa 55aa 55aa 555a 0182 0202 0585 0a8a 55b6 aaaa 555b aaaa + 55ad b5d5 5555 aab5 0000 8000 0080 0080 2b15 160a 0b05 0a05 566a add5 565a aa6a + b5d6 5aaa b5d6 aab5 95a6 8aa5 4aa5 9625 e2e2 e262 f262 b263 d5b6 aadb aab5 d65a + adb5 d65a abb5 d5ad aa6d b5d6 556b ad55 aa56 b5db 555a 6aad abd5 6d56 b5ab da6b + 55b6 55da 566a ad6a 6bad b5d5 aab6 abb5 106e a956 b5d6 5a6a ea2a 5baa b5ad d6aa + 2412 4924 1249 2412 55aa 2495 aa49 a52a 4aa9 aa2a aa55 25aa ab5a aba7 b74f 5d9f + f7ff ddfe 76de 7dfa 5454 a9a9 a2a9 45a9 a5aa 5229 954a 2955 25aa 524a 5452 4a2a + 554a a9a5 95aa a554 55aa 552a 52aa 2aa4 54aa 4a55 aaa9 aa95 aaaa aa55 9555 aa55 + aaaa aa55 5555 aa55 aaaa aa55 5555 aa55 95d5 aa55 5555 aa55 556a ab55 5555 aa55 + 56aa 556a 5556 aa55 80c0 20d0 50a8 a856 0a05 0a05 0a05 0a0b ad55 d65a aa55 d65a + 56aa b5ad aa6b adaa aaab 25aa 2556 25aa b252 52a5 92d5 52a5 aaab d55b aab5 ad55 + b556 6a55 b6aa 5a6b b6aa b5ad b5d5 aa56 abb5 aa5b ad6a abd5 555a d65a 6baa 556d + adb5 d6aa 5baa 6daa ad55 daab 55b5 56da ab55 ad6a 555a d5ab 5a6b 55aa b6aa 556d + 4912 4412 4914 4215 548a 52a9 15a4 522a aa95 5255 5594 aa55 b75e bf7a 6ffd fddd + 6dfa fad5 f5b4 eaea 4495 8924 2a92 4925 9249 2aa9 a554 2552 a94a 5552 29a5 5592 + 4aaa 29a5 2a55 24aa aa95 5452 4a55 aa94 aa52 aa95 a955 95a5 49aa aa55 2955 4a55 + 2aaa aa55 552a a555 aaaa aa55 55aa 552a aaaa aa55 55aa 55aa aaaa aa55 55aa 55aa + aaaa aa55 55aa 55aa a9ad d555 55aa 55aa 144b 5555 55aa 55aa aa55 5555 56aa 55aa + b555 55aa adaa 55aa 25aa 55aa 56aa 55da 55a5 aaaa a5a2 55a5 6aad aaab 55b5 565a + aaad b555 566a abad b556 aa75 96ea 2b5a 5aab d55a add5 55b6 aa56 b5ab 5aaa 56b5 + b5d6 5555 b6d5 aa56 55aa 6dab ad55 b5d6 5ad5 565a 6a55 55aa aa55 aadb aa55 aab6 + 4015 0944 1224 0944 9249 2a92 49a5 14aa a52b ab4a 574b ae4f f77b daf3 f6a3 ede5 + 55e8 a554 d451 a84a 544a 2592 5548 a512 9453 4954 2594 524a 4a55 24aa 49a5 548a + 524a a94a 5425 94aa 52aa 5592 aa49 a555 aa55 49aa 5549 2a55 5452 2aaa 492a aa52 + aa95 aaa4 2aaa a554 aa55 a995 aaa5 2aa9 aa55 2a55 aa52 4a55 aa55 aa55 aa55 aa52 + aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 b555 aa55 aa55 aa55 + 5556 aa55 aa55 aa55 55aa ab55 aa55 aa5a 52a5 5552 a555 a5aa aa55 aab5 5555 55aa + b255 aaad 5555 55aa aaaa b556 5555 55aa aaaa b5aa 565a 6aaa d5aa 56aa d5aa adb5 + b5aa adb5 55d5 5556 55aa 55ad 5555 6aaa 6daa 55aa 565a aad5 55aa 55da aaab aa55 + 1221 0a44 1104 5104 2249 2a90 4a25 520a ad1f ad9f bb2f bd77 add5 c555 a985 24a5 + 5141 5220 4521 8442 5524 9249 5522 9449 2994 4a51 2a89 544a 52a9 4a24 aa25 a994 + 4955 92a9 4534 4aa4 4a29 a42a 5592 a994 a42a a5aa 5229 9552 9555 5295 5452 2aa5 + 522a aa49 aa95 402d a595 aa55 492a 04f0 5552 aa2a 5295 a00a 2aaa a995 5554 02d8 + aa95 5255 55aa 95a9 aa55 aa55 2aa5 5555 aa55 aa55 4a55 5455 aa55 aa55 aa55 aa55 + aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 a555 a54a aa4a aa4a 5556 55aa aaaa abaa + 55aa 56aa b5aa 55aa 55b6 d5aa 55aa 55aa 55aa 55aa 55b6 55aa 55aa 55aa 55ab 55aa + 55b5 55aa 556a 56aa 555a 55aa 55d5 aaaa 55aa 55ab 55aa aaaa 6aaa 5555 56aa b5aa + 2208 4510 0452 0128 a94a 2592 4825 4a21 5f7d 76de fabd ecba 244a 45a2 4924 8aa5 + 8144 0249 0284 010a 2592 492a 904a 2548 2154 2a85 a855 02b4 425a 8452 5512 a885 + 528a a94a 2492 5549 a552 2a92 a944 2a52 4aa9 5492 4aa9 4aa5 9452 a992 4556 a50a + 6ab7 aadd 6aaa 8000 af5a edb6 dbaa 1501 edb7 5aff 55aa 6a10 6eb5 db7e abd5 2d02 + 558a 65a4 d279 acd6 55aa 25aa a955 9552 55aa 25aa 552a 52aa 4aa9 5555 4aaa a955 + aa55 2a55 aaa4 552a aa55 aa55 aaaa 55aa a54a aa4a a58a 55aa 55aa aaaa 55aa 55aa + 55aa aaaa 55aa 55aa 55aa aaaa 55aa 55aa 55aa aaaa 55aa 55aa 55aa adaa 55aa 55aa + 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa 55aa + 0550 0520 0a40 1500 4a29 452b 8356 13a6 f9da f259 f2d5 f2a5 4885 5409 9248 1224 + 810a 010a 0108 0510 2548 2249 14a2 09a4 09a4 5209 a429 4422 5522 9449 2452 8954 + 2492 4a29 a492 2984 8954 a512 a994 4529 14aa 4552 2994 4a25 9b54 28b4 50d0 a040 + 0000 0010 0000 0000 0000 0000 4200 0000 0000 0041 0000 0000 0000 4002 0000 0000 + ba55 2f15 0b0a 0502 4a35 8a54 4aa5 d2a5 4a55 aa92 aa55 4955 aa49 55aa aa49 2a55 + aa55 52aa 9555 aa49 9554 aa55 524a aa55 55aa a955 aa95 5255 24aa 5555 aa49 aa55 + 95aa 5452 aa55 9552 55aa aaa5 9555 55aa 55aa aa55 552a 54a5 55aa aa55 54aa a555 + 55aa aa55 aaa4 5555 55aa aa55 a495 5555 55aa aa55 aa52 4a2a 54a9 ab52 aa46 aca8 + 5500 2a00 4a01 2802 1745 9746 2b47 0da7 e8a5 62c8 ca45 908a 9208 2490 0a20 5408 + 0409 0211 0412 000a 114a 214a 208a 5184 5402 5422 914a 218a 8254 8952 0950 2548 + 528a 2550 0aa5 10aa a452 09aa 4528 9249 9255 4a25 5595 4a2a c040 8000 0000 0001 + 0000 0001 154b 5a20 0000 0055 6d5a 2c00 0000 0120 a8de 6b00 0002 0000 0090 403a + 0221 0100 0000 0000 d269 5aa8 b65a 2b55 aa24 95aa a552 2a49 a995 524a 55a9 4a2a + 2a55 aa49 552a a495 4a55 a955 25aa a94a aa55 2955 4aa9 2aa5 9452 4a2a aa54 9255 + aaaa 95a9 a595 aa55 55a9 4a2a 5554 aa49 552a a9a5 5595 aa54 55aa 492a 5555 aa92 + 55a5 2aa9 552a a594 542a aa52 4aaa 2aa5 aaa9 a5aa 54a5 9455 9850 30a0 61c1 c285 + 4802 2802 2108 4208 169b 571d 572b ae2b 918a 4014 4210 8805 5004 5088 2090 4820 + 0015 000a 0114 0208 2842 11a4 0944 2194 2194 2248 0550 0aa1 1244 9249 1288 5204 + 05a8 4429 04a9 4492 2492 4924 9224 9224 9456 2894 54a8 50a8 4102 0000 0000 0000 + 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0c00 0000 0000 0000 + 0004 8040 4020 0000 2d15 160b 150a 0505 554a a855 4aa5 a954 52aa 924a 5524 5295 + 52aa 9552 4aa9 5549 aa49 2aa5 544a 2955 5452 9554 a555 4925 aa92 4aaa 5229 4a2a + a94a a995 544a a955 2aaa 522a a495 5552 a555 aa92 aa52 2a94 5455 4aa9 5492 aa95 + aa55 a42a a594 aa52 aa55 92aa 49aa 9552 5356 974c 5cb0 3061 820a 1509 252a 5522 + 2104 2108 2200 2500 366e 2b6e 6a6e 6ab6 a011 0882 2881 1082 4810 a008 a010 8050 + 0211 0805 1002 0802 4210 4a01 5402 a804 1481 5402 5108 a510 5108 a510 4510 4a20 + 0852 09a4 1144 9249 9249 2288 2548 2249 5050 4184 4000 2400 2400 1100 4400 1082 + a500 1044 a84a 1240 5200 0980 2682 0982 4009 2004 a194 552a 0000 2008 2200 49a0 + 0000 0000 4000 2004 0502 0201 0101 0000 a5a9 aa64 525a a5b4 4925 9452 9549 2492 + 2455 9249 5524 9552 924a 5549 24aa 2495 aa52 492a a495 a42a a552 2994 a552 9549 + 24aa 2592 5549 2a52 944a 524a 542a 9249 a594 52aa 924a a955 52a9 954a a452 4a2a + 4a55 2492 aa55 9249 a84b a957 865c 1870 c284 8805 1029 49a2 5592 4a29 a554 12aa + 2400 2401 2401 1105 daee b56a eeb5 6ab6 1184 0124 0208 2281 0050 00a8 00a0 1040 + 1004 0210 0500 1200 a210 8a41 1441 1481 8550 0a40 2a00 5500 4a01 aa01 aa00 5402 + 2248 1244 1188 4492 12a4 11a4 09a2 1481 02a0 0049 0050 8420 0024 0002 2004 8011 + 0210 8004 2001 4400 2004 8010 4200 0820 0188 2100 4400 9100 2a49 0411 4004 0120 + 4009 8054 0154 0104 0000 0040 0800 4420 525a 542a 2914 158a 5592 49a4 12a9 0aa0 + 4954 2592 a924 9249 5249 2a92 4924 aa25 924a 5294 4a25 a825 a554 92aa 4924 9552 + 29a5 9452 49a4 15a4 5524 92aa 49a5 14aa 2492 aa49 2554 9249 a594 524a 29a5 944a + 55aa 914b 5224 9448 62c1 0a84 122a 4924 510a a1a5 5284 49a5 4925 5425 9255 4825 + 2105 1101 0521 0000 6dd6 75b6 d576 0000 0802 0805 1005 0000 2088 4020 1040 0000 + 0401 0802 0800 0000 2409 4014 8025 0000 5500 2580 2a00 0000 500a 4015 4092 0000 + 208a 2015 802a 0000 5482 2904 a902 0000 4a10 4010 4000 0000 0000 1200 0000 0000 + 0820 0104 2000 0000 8200 0801 2000 0000 0440 1002 0048 0000 8400 2200 4400 0000 + 2082 0800 4108 0000 8800 2400 1201 0000 0402 900a 500a 0000 558a 4095 4992 0000 + 2492 4924 5209 0000 904a 2492 4924 0000 92a4 4992 2492 0000 2885 5229 8452 0000 + 924a 2944 9249 0000 a254 12a9 442a 0000 a495 5229 8455 0000 219a 442a a412 0000 + 1081 4182 0500 0000 aa25 512a 44aa 0000 0254 0992 4984 0000 9452 4925 5289 0000 + +] + +|c000 @FRAME BRK +|d000 @ERROR BRK + +|FF10 ;dev/screen Screen +|FF20 ;dev/sprite Sprite + +|FFF0 [ 0ffc 0f0b 0f03 ] ( palette ) +|FFFA .RESET .FRAME .ERROR