Starting manifest
3 files changed, 637 insertions(+), 252 deletions(-) A src/assets.tal A src/manifest.tal M src/orca.tal
A src/assets.tal => src/assets.tal +251 -0
@@ 0,0 1,251 @@ @notes ( lc ) 00 00 00 00 00 00 00 00 00 00 0a 0c 01 03 05 06 08 0a 0c 0d 0f 11 12 14 16 18 19 1b 1d 1e 20 22 24 25 27 29 ( uc ) 00 00 00 00 00 00 00 00 00 00 09 0b 00 02 04 05 07 09 0b 0c 0e 10 11 13 15 17 18 1a 1c 1d 1f 21 23 24 26 28 @values ( char to b36 ) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 00 00 00 00 00 00 00 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 00 00 00 00 00 00 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 00 00 00 00 00 @b36clc ( b36 to char-lc ) 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a @cell-styles 03 ( 0 normal ) 03 ( 1 locked ) 01 ( 2 port-unlocked ) 04 ( 3 operator ) 02 ( 4 port-locked ) 08 ( 5 port-output ) 09 ( 6 selected ) 0c ( 7 io ) @cursor-icn 80c0 e0f0 f8e0 1000 0000 0000 0000 0000 @unknown-icn aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 @meter-icn 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00ff 0000 0000 0000 0000 0000 0000 00ff 00ff 0000 0000 0000 0000 0000 00ff 00ff 00ff 0000 0000 0000 0000 00ff 00ff 00ff 00ff 0000 0000 0000 00ff 00ff 00ff 00ff 00ff 0000 0000 00ff 00ff 00ff 00ff 00ff 00ff 0000 00ff 00ff 00ff 00ff 00ff 00ff 00ff 0000 007c fefe feee c682 c6ee fefe fefe 7c00 @font ( orca.816 ) 0000 0000 0000 0000 0000 0000 0000 0000 0010 1010 1010 1010 1010 1010 0010 0000 0028 2800 0000 0000 0000 0000 0000 0000 0024 247e 2424 2424 2424 247e 2424 0000 0010 3854 5050 5038 1414 1454 3810 0000 0022 5222 0404 0808 1010 2024 4a44 0000 0010 2828 2828 1030 504a 4a44 443a 0000 0000 1020 0000 0000 0000 0000 0000 0000 0008 1010 1010 1010 1010 1010 1008 0000 0010 0808 0808 0808 0808 0808 0810 0000 0000 0010 5454 5438 5454 5410 0000 0000 0000 0000 0010 107c 1010 0000 0000 0000 0000 0000 0000 0000 0000 0000 1010 0000 0000 0000 0000 007c 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0002 0202 0404 0808 1010 2020 4040 0000 0018 2442 4242 4242 4242 4242 2418 0000 0030 5010 1010 1010 1010 1010 1010 0000 0018 2442 4202 0408 1020 2040 407e 0000 0018 2442 4202 0418 0402 4242 2418 0000 0006 0a0a 1212 2222 427e 0202 0202 0000 007e 4040 4038 0402 0202 4242 2418 0000 0018 2442 4240 4058 6442 4242 2418 0000 003e 4242 0204 0404 0808 0810 1010 0000 0018 2442 4242 2418 2442 4242 2418 0000 0018 2442 4242 261a 0202 0202 0202 0000 0000 0000 0000 1000 0010 0000 0000 0000 0000 0000 0000 1000 0010 1010 2000 0000 0000 0204 0810 2040 2010 0804 0200 0000 0000 0000 0000 7c00 007c 0000 0000 0000 0000 4020 1008 0402 0408 1020 4000 0000 0018 2442 4202 0204 0408 1010 0010 0000 0018 2442 4a56 5252 5252 524c 201c 0000 0018 2442 4242 427e 4242 4242 4242 0000 0078 4442 4242 4478 4442 4242 4478 0000 0018 2442 4240 4040 4040 4242 2418 0000 0078 4442 4242 4242 4242 4242 4478 0000 007e 4040 4040 4078 4040 4040 407e 0000 007e 4040 4040 4078 4040 4040 4040 0000 0018 2442 4040 404e 4242 4242 2418 0000 0042 4242 4242 427e 4242 4242 4242 0000 007c 1010 1010 1010 1010 1010 107c 0000 001e 0202 0202 0202 0202 0242 2418 0000 0042 4244 4448 4870 4848 4444 4242 0000 0040 4040 4040 4040 4040 4040 407e 0000 0074 4a4a 4a4a 4a4a 4a4a 4a4a 4a4a 0000 0062 5252 5252 5252 4a4a 4a4a 4a46 0000 0018 2442 4242 4242 4242 4242 2418 0000 0078 4442 4242 4478 4040 4040 4040 0000 0018 2442 4242 4242 4242 425a 241a 0000 0078 4442 4242 4478 4442 4242 4242 0000 0018 2442 4240 2018 0402 4242 2418 0000 007c 1010 1010 1010 1010 1010 1010 0000 0042 4242 4242 4242 4242 4242 241a 0000 0042 4242 4242 4242 2424 2424 2418 0000 004a 4a4a 4a4a 4a4a 4a4a 4a4a 4a76 0000 0042 4242 2424 2418 2424 2442 4242 0000 0042 4242 4242 261a 0202 4242 2418 0000 007e 0204 0408 0810 1020 2040 407e 0000 0018 1010 1010 1010 1010 1010 1018 0000 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 0018 0808 0808 0808 0808 0808 0818 0000 0010 2844 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 007e 0000 0010 1008 0000 0000 0000 0000 0000 0000 0000 0000 0000 003c 4202 3e42 463a 0000 0000 0040 4040 4078 4442 4242 4478 0000 0000 0000 0000 003c 4240 4040 423c 0000 0000 0002 0202 021e 2242 4242 261a 0000 0000 0000 0000 003c 4242 7c40 423c 0000 0000 0c12 1010 1038 1010 1010 1020 0000 0000 0000 0000 003e 4242 3c40 3c42 3c00 0000 0040 4040 4058 6442 4242 4242 0000 0000 0000 0010 0010 3010 1010 1038 0000 0000 0000 0008 0008 0808 0808 0848 3000 0000 0040 4040 4042 4244 7844 4242 0000 0000 0010 1010 1010 1010 1010 100c 0000 0000 0000 0000 0074 4a4a 4a4a 4a4a 0000 0000 0000 0000 0058 6442 4242 4242 0000 0000 0000 0000 0018 2442 4242 2418 0000 0000 0000 0000 007c 4242 427c 4040 4000 0000 0000 0000 003e 4242 463a 0202 0200 0000 0000 0000 005c 6240 4040 4040 0000 0000 0000 0000 003c 4240 3c02 423c 0000 0000 0010 1010 1038 1010 1010 120c 0000 0000 0000 0000 0042 4242 4242 463a 0000 0000 0000 0000 0042 4224 2424 2418 0000 0000 0000 0000 004a 4a4a 4a4a 4a74 0000 0000 0000 0000 0042 4224 1824 4242 0000 0000 0000 0000 0042 4246 3a02 0242 3c00 0000 0000 0000 007e 0204 1820 407e 0000 0008 1010 1010 1010 2010 1010 1008 0000 0010 1010 1010 1010 1010 1010 1010 1000 0010 0808 0808 0808 0408 0808 0810 0000 007e 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 183c 3c18 0000 0000 0000 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 &selector 0000 0010 1010 1010 ee10 1010 1010 0000 0000 006c 1010 1010 1010 1010 106c 0000 &beat 0010 1028 2844 4482 8244 4428 2810 1000 &make 00fe 8282 8282 8282 8282 8282 848a f400 &load 00fe d6aa d6aa d6aa d6aa d6aa d4aa f400 &save 0010 1092 9254 5428 d628 5454 9292 1000 &help 0000 0000 0000 0000 8244 3800 0000 0000 0000 0000 0000 3844 9228 1000 0000 0000 @sin-pcm 8083 8689 8c8f 9295 989b 9ea1 a4a7 aaad b0b3 b6b9 bbbe c1c3 c6c9 cbce d0d2 d5d7 d9db dee0 e2e4 e6e7 e9eb ecee f0f1 f2f4 f5f6 f7f8 f9fa fbfb fcfd fdfe fefe fefe fffe fefe fefe fdfd fcfb fbfa f9f8 f7f6 f5f4 f2f1 f0ee eceb e9e7 e6e4 e2e0 dedb d9d7 d5d2 d0ce cbc9 c6c3 c1be bbb9 b6b3 b0ad aaa7 a4a1 9e9b 9895 928f 8c89 8683 807d 7a77 7471 6e6b 6865 625f 5c59 5653 504d 4a47 4542 3f3d 3a37 3532 302e 2b29 2725 2220 1e1c 1a19 1715 1412 100f 0e0c 0b0a 0908 0706 0505 0403 0302 0202 0202 0102 0202 0202 0303 0405 0506 0708 090a 0b0c 0e0f 1012 1415 1719 1a1c 1e20 2225 2729 2b2e 3032 3537 3a3d 3f42 4547 4a4d 5053 5659 5c5f 6265 686b 6e71 7477 7a7d @tri-pcm 8082 8486 888a 8c8e 9092 9496 989a 9c9e a0a2 a4a6 a8aa acae b0b2 b4b6 b8ba bcbe c0c2 c4c6 c8ca ccce d0d2 d4d6 d8da dcde e0e2 e4e6 e8ea ecee f0f2 f4f6 f8fa fcfe fffd fbf9 f7f5 f3f1 efed ebe9 e7e5 e3e1 dfdd dbd9 d7d5 d3d1 cfcd cbc9 c7c5 c3c1 bfbd bbb9 b7b5 b3b1 afad aba9 a7a5 a3a1 9f9d 9b99 9795 9391 8f8d 8b89 8785 8381 7f7d 7b79 7775 7371 6f6d 6b69 6765 6361 5f5d 5b59 5755 5351 4f4d 4b49 4745 4341 3f3d 3b39 3735 3331 2f2d 2b29 2725 2321 1f1d 1b19 1715 1311 0f0d 0b09 0705 0301 0103 0507 090b 0d0f 1113 1517 191b 1d1f 2123 2527 292b 2d2f 3133 3537 393b 3d3f 4143 4547 494b 4d4f 5153 5557 595b 5d5f 6163 6567 696b 6d6f 7173 7577 797b 7d7f @saw-pcm 8282 8183 8384 8685 8888 8889 8a8b 8c8c 8e8e 8f90 9092 9193 9494 9596 9699 9899 9b9a 9c9c 9c9d 9ea0 a1a0 a2a2 a3a5 a4a6 a7a7 a9a8 a9aa aaac adad aeae b0b0 b1b3 b2b4 b5b5 b6b7 b9b8 b9bb babc bdbc bdbe bfc1 bfc1 c3c1 c4c5 c5c6 c6c7 c9c7 cbca cbcc cdcd cfcf d2d0 d2d2 d2d5 d4d5 d6d7 d8d8 d9dc d9df dadf dce1 dde5 dce6 dceb cb1f 1b1e 1c21 1c21 1f23 2025 2127 2329 2529 2829 2a2b 2b2e 2d2f 302f 3231 3234 3334 3536 3836 3939 3a3b 3b3d 3e3d 3f40 4042 4242 4444 4646 4748 474a 4a4b 4d4c 4e4e 4f50 5052 5252 5554 5557 5759 5959 5b5b 5c5d 5d5f 5e60 6160 6264 6365 6566 6867 6969 6a6c 6c6d 6d6e 706f 7071 7174 7475 7576 7777 797a 7a7c 7b7c 7e7d 7f7f @sqr-pcm 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 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 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @data &cells $4000 &locks $4000 &types $4000
A src/manifest.tal => src/manifest.tal +385 -0
@@ 0,0 1,385 @@ @manifest &name "Orca $1 &date "2022-07-02 $1 &menu 04 "File $1 01 'n :file-new "New $1 01 'r :file-rename "Rename $1 01 'o :file-open "Open $1 01 's :file-save "Save $1 03 "Edit $1 01 'c :edit-copy "Copy $1 01 'C :edit-copy-string "CopyText $1 01 'v :edit-paste "Paste $1 ( 01 'x :edit-cut "Cut $1 ) 09 "Move $1 10 00 :move-up "Up $1 20 00 :move-down "Down $1 40 00 :move-left "Left $1 80 00 :move-right "Right $1 14 00 :move-dech "Decr.H $1 24 00 :move-inch "Incr.H $1 44 00 :move-decw "Decr.W $1 84 00 :move-incw "Incr.W $1 00 1b :move-reset "Reset $1 06 "Options $1 00 0d :option-insert "Insert $1 00 08 :option-erase "Erase $1 00 '. :option-incr "ValIncr $1 00 ', :option-decr "ValDecr $1 04 '< :option-roll "RollLeft $1 04 '> :option-rolr "RollRight $1 $1 @menu-init ( -- ) #ff ;draw-menu/sel STA #ff ;draw-sub/sel STA ( clear cursor ) .cursor/x LDZ2 .Screen/x DEO2 .cursor/y LDZ2 .Screen/y DEO2 #40 .Screen/sprite DEO #0401 ;draw-menu/theme STA2 #0804 ;draw-sub/theme STA2 ;draw-menu JSR2 JMP2r @trap-menu ( -> ) ;on-mouse-menu .Mouse/vector DEO2 ;on-control-menu .Controller/vector DEO2 ,menu-init JSR BRK @on-mouse-menu ( -> ) ( clear last cursor ) .cursor/x LDZ2 .Screen/x DEO2 .cursor/y LDZ2 .Screen/y DEO2 #40 .Screen/sprite DEO ( record mouse positions ) .Mouse/x DEI2 DUP2 .cursor/x STZ2 .Screen/x DEO2 .Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2 ( draw new cursor ) ;hand-icn .Screen/addr DEO2 #42 .Mouse/state DEI #00 NEQ ADD .Screen/sprite DEO ( when touch cat ) .Mouse/state DEI #00 EQU ,&no-touch-cat JCN .Mouse/y DEI2 #0014 GTH2 ,&no-touch-cat JCN .Mouse/x DEI2 ;menu-picking JSR2 ;menu-select JSR2 ( release ) #00 .Mouse/state DEO BRK &no-touch-cat ( when sub active ) ;draw-menu/sel LDA #ff EQU ,&no-sub JCN ( when sel changed ) .Mouse/y DEI2 #0004 SUB2 #04 SFT2 NIP #01 SUB DUP ;draw-sub/sel LDA EQU ,&no-change JCN DUP ;draw-sub/sel STA ;draw-menu/sel LDA #ff ;draw-sub JSR2 &no-change POP ( when touch sub ) .Mouse/state DEI #00 EQU ,&no-touch-sub JCN ;draw-sub/sel LDA ;menu-select-sub JSR2 ( release ) #00 .Mouse/state DEO &no-touch-sub BRK &no-sub ( don't leave if menu is active ) ;draw-menu/sel LDA #ff EQU .Mouse/y DEI2 #0013 GTH2 AND ;on-menu-leave JCN2 BRK @on-menu-leave ( -> ) ;menu-close JSR2 BRK @menu-picking ( x* -- cat ) #0010 SUB2 #0028 DIV2 NIP JMP2r @menu-close ( -- ) ;untrap JSR2 ;draw-menu/sel LDA DUP #ff EQU ,&no-clear JCN DUP #00 ;draw-sub JSR2 #ff ;draw-menu/sel STA ;draw-menu JSR2 ;redraw-all JSR2 &no-clear POP JMP2r @menu-select ( cat -- ) ( exists ) DUP ;get-cat JSR2 ORA ,&exists JCN POP JMP2r &exists ( clear ) ;draw-menu/sel LDA ( unchanged ) EQUk ,menu-deselect JCN ( unselected ) DUP #ff EQU ,&no-clear JCN DUP #00 ;draw-sub JSR2 &no-clear POP ( draw ) ;redraw-all JSR2 #ff ;draw-sub/sel STA DUP ;draw-menu/sel STA #ff ;draw-sub JSR2 ;draw-menu JSR2 JMP2r @menu-deselect ( cat cat -- ) POP2 ;menu-close JSR2 JMP2r @menu-select-sub ( sub -- ) ;get-sub JSR2 ;menu-close JSR2 DUP2 #0000 EQU2 ,&skip JCN DUP2 JSR2 &skip POP2 JMP2r @on-control-menu ( -> ) ( TODO ) BRK @get-cat ( cat -- cat* ) STH #00 ,&id STR ;manifest/menu &cat [ LIT &id 00 ] STHkr EQU ,&end JCN ;skip-sub JSR2 ,&id LDR INC ,&id STR LDAk ,&cat JCN POP2 #0000 &end POPr JMP2r @get-sub ( sub -- sub* ) STH ;draw-menu/sel LDA ;get-cat JSR2 LDAk STH INC2 ;skip-str JSR2 STHr #00 &subcat DUP STHkr EQU ,&end JCN SWP2 #0004 ADD2 ;skip-str JSR2 SWP2 INC GTHk ,&subcat JCN POP2 POP2 ( TODO: merge tails ) POPr #0000 JMP2r &end POP2 INC2 INC2 LDA2 POPr JMP2r @get-anchor ( cat -- x* ) LIT2r 0000 ,&target STR #00 ,&id STR ;manifest/menu &cat [ LIT &id 00 ] [ LIT &target $1 ] EQU ,&end JCN INC2k ;slen JSR2 INC2 STH2 ADD2r ;skip-sub JSR2 ,&id LDR INC ,&id STR LDAk ,&cat JCN POP2 &end STH2r INC2 INC2 #30 SFT2 JMP2r @find-modkey ( mod key -- fn* ) ,&mk STR2 ;manifest/menu &cat LDAk STH INC2 ,skip-str JSR STHr #00 &subcat OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ,&continue JCN POP2 INC2 INC2 LDA2 JMP2r &continue SWP2 #0004 ADD2 ,skip-str JSR SWP2 INC GTHk ,&subcat JCN POP2 LDAk ,&cat JCN POP2 #0000 JMP2r @skip-sub ( sub* -- sub* ) LDAk STH INC2 ;skip-str JSR2 STHr #00 &subcat SWP2 #0004 ADD2 ,skip-str JSR SWP2 INC GTHk ,&subcat JCN POP2 JMP2r @skip-str ( str* -- str* ) &skip INC2 LDAk ,&skip JCN INC2 JMP2r @draw-menu ( -- ) #0010 .Screen/x DEO2 #0004 .Screen/y DEO2 #15 .Screen/auto DEO #00 ,&id STR ;manifest/menu &cat [ LIT2 &theme $2 ] [ LIT &sel $1 ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA INC2k ;draw-str JSR2 POP2 #00 .Screen/sprite DEO ;skip-sub JSR2 ,&id LDR INC ,&id STR LDAk ,&cat JCN POP2 #00 .Screen/auto DEO JMP2r @draw-sub ( cat mask -- ) ,&mask STR POP ;draw-menu/sel LDA ;get-cat JSR2 DUP2 #0000 EQU2 ,&skip JCN ;draw-menu/sel LDA ;get-anchor JSR2 ,&anchor STR2 #15 .Screen/auto DEO LDAk STH INC2 ;skip-str JSR2 STHr #00 &subcat STHk [ LIT2 &theme $2 ] STHr [ LIT &sel $1 ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA [ LIT2 &anchor $2 ] .Screen/x DEO2 #00 OVR INC #40 SFT2 #0004 ADD2 .Screen/y DEO2 SWP2 ;draw-label JSR2 SWP2 INC GTHk ,&subcat JCN POP2 POP2 #00 .Screen/auto DEO &skip POP2 JMP2r @draw-label ( label* -- next-label* ) LDA2k SWP2 #0004 ADD2 STH2k ;draw-str JSR2 ( fill ) #0c STH2r ;slen JSR2 NIP SUB #00 &loop #20 ;draw-chr JSR2 INC GTHk ,&loop JCN POP2 .Screen/x DEI2 #0008 SUB2 .Screen/x DEO2 SWP2 ;draw-key JSR2 ;draw-mod JSR2 JMP2r @draw-mod ( mod -- ) ( mod ) STH #0800 &loop STHkr OVR SFT #01 AND #00 EQU ,&no-button JCN #00 OVR #40 SFT2 ;buttons-icns ADD2 ;draw-chr/raw JSR2 .Screen/x DEI2 #0010 SUB2 .Screen/x DEO2 &no-button INC GTHk ,&loop JCN POP2 POPr JMP2r @draw-key ( mod key -- ) ( key ) DUP #00 EQU ,&skip-key JCN DUP #08 NEQ ,&no-del JCN ;&del ,&inv JMP &no-del DUP #09 NEQ ,&no-tab JCN ;&tab ,&inv JMP &no-tab DUP #0d NEQ ,&no-ent JCN ;&ent ,&inv JMP &no-ent DUP #20 NEQ ,&no-spc JCN ;&spc ,&inv JMP &no-spc DUP #1b NEQ ,&no-esc JCN ;&esc ,&inv JMP &no-esc DUP ;draw-chr JSR2 .Screen/x DEI2 #0010 SUB2 .Screen/x DEO2 &skip-key POP JMP2r &inv .Screen/x DEI2 #0010 SUB2 .Screen/x DEO2 ROT POP ;draw-str JSR2 POP2 JMP2r &del "del $1 &tab "tab $1 &ent "ent $1 &spc "spc $1 &esc "esc $1 @draw-str ( str* -- str* ) &while LDAk ,draw-chr JSR INC2 LDAk ,&while JCN INC2 JMP2r @draw-chr ( char -- ) #20 SUB #00 SWP #40 SFT2 ;font ADD2 &raw .Screen/addr DEO2 [ LIT &color 01 ] .Screen/sprite DEO JMP2r @buttons-icns 0000 0000 387c fefe fe7c 3800 0000 0000 0000 0000 3844 8282 8244 3800 0000 0000 0000 0000 1038 7cfe 7c38 1000 0000 0000 0000 0000 1028 4482 4428 1000 0000 0000 0000 0000 1038 7cfe 1010 1000 0000 0000 0000 0000 1010 10fe 7c38 1000 0000 0000 0000 0000 1030 70fe 7030 1000 0000 0000 0000 0000 1018 1cfe 1c18 1000 0000 0000
M src/orca.tal => src/orca.tal +1 -252
@@ 1707,255 1707,4 @@ JMP2r @untitled-txt "untitled.orca $1 @notes ( lc ) 00 00 00 00 00 00 00 00 00 00 0a 0c 01 03 05 06 08 0a 0c 0d 0f 11 12 14 16 18 19 1b 1d 1e 20 22 24 25 27 29 ( uc ) 00 00 00 00 00 00 00 00 00 00 09 0b 00 02 04 05 07 09 0b 0c 0e 10 11 13 15 17 18 1a 1c 1d 1f 21 23 24 26 28 @values ( char to b36 ) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 00 00 00 00 00 00 00 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 00 00 00 00 00 00 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 00 00 00 00 00 @b36clc ( b36 to char-lc ) 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a @cell-styles 03 ( 0 normal ) 03 ( 1 locked ) 01 ( 2 port-unlocked ) 04 ( 3 operator ) 02 ( 4 port-locked ) 08 ( 5 port-output ) 09 ( 6 selected ) 0c ( 7 io ) @cursor-icn 80c0 e0f0 f8e0 1000 0000 0000 0000 0000 @unknown-icn aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 @meter-icn 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00ff 0000 0000 0000 0000 0000 0000 00ff 00ff 0000 0000 0000 0000 0000 00ff 00ff 00ff 0000 0000 0000 0000 00ff 00ff 00ff 00ff 0000 0000 0000 00ff 00ff 00ff 00ff 00ff 0000 0000 00ff 00ff 00ff 00ff 00ff 00ff 0000 00ff 00ff 00ff 00ff 00ff 00ff 00ff 0000 007c fefe feee c682 c6ee fefe fefe 7c00 @font ( orca.816 ) 0000 0000 0000 0000 0000 0000 0000 0000 0010 1010 1010 1010 1010 1010 0010 0000 0028 2800 0000 0000 0000 0000 0000 0000 0024 247e 2424 2424 2424 247e 2424 0000 0010 3854 5050 5038 1414 1454 3810 0000 0022 5222 0404 0808 1010 2024 4a44 0000 0010 2828 2828 1030 504a 4a44 443a 0000 0000 1020 0000 0000 0000 0000 0000 0000 0008 1010 1010 1010 1010 1010 1008 0000 0010 0808 0808 0808 0808 0808 0810 0000 0000 0010 5454 5438 5454 5410 0000 0000 0000 0000 0010 107c 1010 0000 0000 0000 0000 0000 0000 0000 0000 0000 1010 0000 0000 0000 0000 007c 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0002 0202 0404 0808 1010 2020 4040 0000 0018 2442 4242 4242 4242 4242 2418 0000 0030 5010 1010 1010 1010 1010 1010 0000 0018 2442 4202 0408 1020 2040 407e 0000 0018 2442 4202 0418 0402 4242 2418 0000 0006 0a0a 1212 2222 427e 0202 0202 0000 007e 4040 4038 0402 0202 4242 2418 0000 0018 2442 4240 4058 6442 4242 2418 0000 003e 4242 0204 0404 0808 0810 1010 0000 0018 2442 4242 2418 2442 4242 2418 0000 0018 2442 4242 261a 0202 0202 0202 0000 0000 0000 0000 1000 0010 0000 0000 0000 0000 0000 0000 1000 0010 1010 2000 0000 0000 0204 0810 2040 2010 0804 0200 0000 0000 0000 0000 7c00 007c 0000 0000 0000 0000 4020 1008 0402 0408 1020 4000 0000 0018 2442 4202 0204 0408 1010 0010 0000 0018 2442 4a56 5252 5252 524c 201c 0000 0018 2442 4242 427e 4242 4242 4242 0000 0078 4442 4242 4478 4442 4242 4478 0000 0018 2442 4240 4040 4040 4242 2418 0000 0078 4442 4242 4242 4242 4242 4478 0000 007e 4040 4040 4078 4040 4040 407e 0000 007e 4040 4040 4078 4040 4040 4040 0000 0018 2442 4040 404e 4242 4242 2418 0000 0042 4242 4242 427e 4242 4242 4242 0000 007c 1010 1010 1010 1010 1010 107c 0000 001e 0202 0202 0202 0202 0242 2418 0000 0042 4244 4448 4870 4848 4444 4242 0000 0040 4040 4040 4040 4040 4040 407e 0000 0074 4a4a 4a4a 4a4a 4a4a 4a4a 4a4a 0000 0062 5252 5252 5252 4a4a 4a4a 4a46 0000 0018 2442 4242 4242 4242 4242 2418 0000 0078 4442 4242 4478 4040 4040 4040 0000 0018 2442 4242 4242 4242 425a 241a 0000 0078 4442 4242 4478 4442 4242 4242 0000 0018 2442 4240 2018 0402 4242 2418 0000 007c 1010 1010 1010 1010 1010 1010 0000 0042 4242 4242 4242 4242 4242 241a 0000 0042 4242 4242 4242 2424 2424 2418 0000 004a 4a4a 4a4a 4a4a 4a4a 4a4a 4a76 0000 0042 4242 2424 2418 2424 2442 4242 0000 0042 4242 4242 261a 0202 4242 2418 0000 007e 0204 0408 0810 1020 2040 407e 0000 0018 1010 1010 1010 1010 1010 1018 0000 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 0018 0808 0808 0808 0808 0808 0818 0000 0010 2844 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 007e 0000 0010 1008 0000 0000 0000 0000 0000 0000 0000 0000 0000 003c 4202 3e42 463a 0000 0000 0040 4040 4078 4442 4242 4478 0000 0000 0000 0000 003c 4240 4040 423c 0000 0000 0002 0202 021e 2242 4242 261a 0000 0000 0000 0000 003c 4242 7c40 423c 0000 0000 0c12 1010 1038 1010 1010 1020 0000 0000 0000 0000 003e 4242 3c40 3c42 3c00 0000 0040 4040 4058 6442 4242 4242 0000 0000 0000 0010 0010 3010 1010 1038 0000 0000 0000 0008 0008 0808 0808 0848 3000 0000 0040 4040 4042 4244 7844 4242 0000 0000 0010 1010 1010 1010 1010 100c 0000 0000 0000 0000 0074 4a4a 4a4a 4a4a 0000 0000 0000 0000 0058 6442 4242 4242 0000 0000 0000 0000 0018 2442 4242 2418 0000 0000 0000 0000 007c 4242 427c 4040 4000 0000 0000 0000 003e 4242 463a 0202 0200 0000 0000 0000 005c 6240 4040 4040 0000 0000 0000 0000 003c 4240 3c02 423c 0000 0000 0010 1010 1038 1010 1010 120c 0000 0000 0000 0000 0042 4242 4242 463a 0000 0000 0000 0000 0042 4224 2424 2418 0000 0000 0000 0000 004a 4a4a 4a4a 4a74 0000 0000 0000 0000 0042 4224 1824 4242 0000 0000 0000 0000 0042 4246 3a02 0242 3c00 0000 0000 0000 007e 0204 1820 407e 0000 0008 1010 1010 1010 2010 1010 1008 0000 0010 1010 1010 1010 1010 1010 1010 1000 0010 0808 0808 0808 0408 0808 0810 0000 007e 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 183c 3c18 0000 0000 0000 aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55 &selector 0000 0010 1010 1010 ee10 1010 1010 0000 0000 006c 1010 1010 1010 1010 106c 0000 &beat 0010 1028 2844 4482 8244 4428 2810 1000 &make 00fe 8282 8282 8282 8282 8282 848a f400 &load 00fe d6aa d6aa d6aa d6aa d6aa d4aa f400 &save 0010 1092 9254 5428 d628 5454 9292 1000 &help 0000 0000 0000 0000 8244 3800 0000 0000 0000 0000 0000 3844 9228 1000 0000 0000 @sin-pcm 8083 8689 8c8f 9295 989b 9ea1 a4a7 aaad b0b3 b6b9 bbbe c1c3 c6c9 cbce d0d2 d5d7 d9db dee0 e2e4 e6e7 e9eb ecee f0f1 f2f4 f5f6 f7f8 f9fa fbfb fcfd fdfe fefe fefe fffe fefe fefe fdfd fcfb fbfa f9f8 f7f6 f5f4 f2f1 f0ee eceb e9e7 e6e4 e2e0 dedb d9d7 d5d2 d0ce cbc9 c6c3 c1be bbb9 b6b3 b0ad aaa7 a4a1 9e9b 9895 928f 8c89 8683 807d 7a77 7471 6e6b 6865 625f 5c59 5653 504d 4a47 4542 3f3d 3a37 3532 302e 2b29 2725 2220 1e1c 1a19 1715 1412 100f 0e0c 0b0a 0908 0706 0505 0403 0302 0202 0202 0102 0202 0202 0303 0405 0506 0708 090a 0b0c 0e0f 1012 1415 1719 1a1c 1e20 2225 2729 2b2e 3032 3537 3a3d 3f42 4547 4a4d 5053 5659 5c5f 6265 686b 6e71 7477 7a7d @tri-pcm 8082 8486 888a 8c8e 9092 9496 989a 9c9e a0a2 a4a6 a8aa acae b0b2 b4b6 b8ba bcbe c0c2 c4c6 c8ca ccce d0d2 d4d6 d8da dcde e0e2 e4e6 e8ea ecee f0f2 f4f6 f8fa fcfe fffd fbf9 f7f5 f3f1 efed ebe9 e7e5 e3e1 dfdd dbd9 d7d5 d3d1 cfcd cbc9 c7c5 c3c1 bfbd bbb9 b7b5 b3b1 afad aba9 a7a5 a3a1 9f9d 9b99 9795 9391 8f8d 8b89 8785 8381 7f7d 7b79 7775 7371 6f6d 6b69 6765 6361 5f5d 5b59 5755 5351 4f4d 4b49 4745 4341 3f3d 3b39 3735 3331 2f2d 2b29 2725 2321 1f1d 1b19 1715 1311 0f0d 0b09 0705 0301 0103 0507 090b 0d0f 1113 1517 191b 1d1f 2123 2527 292b 2d2f 3133 3537 393b 3d3f 4143 4547 494b 4d4f 5153 5557 595b 5d5f 6163 6567 696b 6d6f 7173 7577 797b 7d7f @saw-pcm 8282 8183 8384 8685 8888 8889 8a8b 8c8c 8e8e 8f90 9092 9193 9494 9596 9699 9899 9b9a 9c9c 9c9d 9ea0 a1a0 a2a2 a3a5 a4a6 a7a7 a9a8 a9aa aaac adad aeae b0b0 b1b3 b2b4 b5b5 b6b7 b9b8 b9bb babc bdbc bdbe bfc1 bfc1 c3c1 c4c5 c5c6 c6c7 c9c7 cbca cbcc cdcd cfcf d2d0 d2d2 d2d5 d4d5 d6d7 d8d8 d9dc d9df dadf dce1 dde5 dce6 dceb cb1f 1b1e 1c21 1c21 1f23 2025 2127 2329 2529 2829 2a2b 2b2e 2d2f 302f 3231 3234 3334 3536 3836 3939 3a3b 3b3d 3e3d 3f40 4042 4242 4444 4646 4748 474a 4a4b 4d4c 4e4e 4f50 5052 5252 5554 5557 5759 5959 5b5b 5c5d 5d5f 5e60 6160 6264 6365 6566 6867 6969 6a6c 6c6d 6d6e 706f 7071 7174 7475 7576 7777 797a 7a7c 7b7c 7e7d 7f7f @sqr-pcm 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 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 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @data &cells $4000 &locks $4000 &types $4000 ~src/assets.tal