This repository has been archived on 2022-04-18. You can view files and clone it, but cannot push or open issues or pull requests.
kalama-sin/player.tal

160 lines
23 KiB
Tal
Raw Normal View History

( a blank file )
%DEBUG { ;print-hex/byte JSR2 #0a18 DEO }
%DEBUG2 { ;print-hex JSR2 #0a18 DEO }
%RTN { JMP2r }
%10/ { #04 SFT }
( devices )
|00 @System &vector $2 &wst $1 &rst $1 &eaddr $2 &ecode $1 &pad $1 &r $2 &g $2 &b $2 &debug $1 &halt $1
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|30 @Audio0 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|40 @Audio1 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|50 @Audio2 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|60 @Audio3 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|80 @Controller &vector $2 &button $1 &key $1 &func $1
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|b0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
( variables )
|0000
@kalama
&module $2 ( pointer to start of module file )
&loopflags $1 ( if different channels are set to loop )
&instruments $2 ( address that instruments start at )
&tick $1
&line $1
&speed $1
&songloop $1 ( if song loops or not )
&songpos $2 ( position in song table )
( program )
|0100 ( -> )
#0fe5 .System/r DEO2
#0fc5 .System/g DEO2
#0f25 .System/b DEO2
;module ;k-init-module JSR2
;on-frame/run .Screen/vector DEO2
BRK
@on-frame ( -> )
&run
;k-tick/run JSR2
BRK
@print-hex ( value* -- )
SWP ,&byte JSR
&byte ( byte -- )
STHk #04 SFT ,&parse JSR #18 DEO
STHr #0f AND ,&parse JSR #18 DEO
RTN
&parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 ADD RTN
&above #57 ADD RTN
RTN
@print-dec ( value* -- )
#2710 DIV2k DUP #30 ADD #18 DEO MUL2 SUB2
#03e8 DIV2k DUP #30 ADD #18 DEO MUL2 SUB2
#0064 DIV2k DUP #30 ADD #18 DEO MUL2 SUB2
#000a DIV2k DUP #30 ADD #18 DEO MUL2 SUB2
#30 ADD #18 DEO POP
RTN
@print-str ( string* -- )
#0001 SUB2
&while
INC2 LDAk DUP #18 DEO ,&while JCN
POP2
RTN
~engine.tal
@module
2022-01-19 22:56:23 +00:00
8f 03 02 ( file header - speed f, loop on, 3 patterns, 2 instruments )
000c ( size )
2022-01-19 22:56:23 +00:00
00 02 ff ff
ff 02 ff ff ( song table, 2 rows )
01 02 ff ff
@DEBUG-patterns
( pattern 00 )
54 02 00 ( C-3 I00 )
2022-01-21 19:20:41 +00:00
52 06 00
54 00 00
2022-01-21 11:16:06 +00:00
4f 00 00
4b 00 00
4f 00 00
48 00 00
2022-01-21 19:20:41 +00:00
ff 06 0f
2022-01-21 11:16:06 +00:00
54 00 00
52 00 00
54 00 00
4f 00 00
4b 00 00
4f 00 00
48 00 00
ff 00 00
( pattern 01 )
2022-01-21 19:20:41 +00:00
54 06 04
56 00 00
57 00 00
56 00 00
57 00 00
54 00 00
2022-01-21 19:13:46 +00:00
56 00 00
54 00 00
56 00 00
2022-01-21 19:20:41 +00:00
52 06 00
2022-01-21 19:13:46 +00:00
54 00 00
52 00 00
54 00 00
50 00 00
2022-01-21 19:13:46 +00:00
54 05 0f
ff 00 00
2022-01-19 22:56:23 +00:00
( pattern 02 )
3c 02 01
2022-01-19 22:56:23 +00:00
00 00 00
2022-01-21 19:40:35 +00:00
3f 08 01
2022-01-19 22:56:23 +00:00
00 00 00
2022-01-21 11:16:06 +00:00
3c 00 00
2022-01-19 22:56:23 +00:00
00 00 00
2022-01-21 19:40:35 +00:00
3f 08 00
2022-01-19 22:56:23 +00:00
00 00 00
2022-01-21 11:16:06 +00:00
3c 00 00
2022-01-19 22:56:23 +00:00
00 00 00
2022-01-21 19:40:35 +00:00
3f 08 01
00 08 00
2022-01-19 22:56:23 +00:00
3c 00 00
00 00 00
3c 00 00
00 00 00
@DEBUG-instruments
( instrument 00 )
0002 ( sample length )
88 ( volume )
80 ( flags - loop sample )
2022-01-21 11:16:06 +00:00
0100 ( ADSR )
ff 00 ( square wave sample data )
( instrument 01 )
2000 ( sample length )
ff ( volume )
00 ( flags - no loop )
2022-01-21 11:16:06 +00:00
0100 ( ADSR )
( kck1.pcm sample )
2022-01-14 18:13:20 +00:00
8181 8182 8382 8182 8181 8081 8181 807f 7f80 8082 8280 7d7c 8081 7f80 8286 888c 8e8d 887e 756e 6a69 6864 5a55 5046 3934 3a42 3d3a 4a6d 8173 5341 4247 443e 3b41 4542 3d42 4e52 4a46 5d81 917a 5442 494f 4a43 454a 4a45 4749 4b48 494a 4c4c 4f51 525a 6c84 9491 847e 89a4 c2d8 dbc9 a889 7b7a 776d 6468 7b92 a9c3 dce7 e5e1 e4e6 e5e1 e1e2 e1dd dede dddc dadc dad8 d7d8 d7d5 d5d5 d5d3 d2d2 d2d1 d0d0 d0ce cdcd cdcb cacb cac9 c9c8 c8c7 c6c5 c5c5 c5c4 c4c2 c2c1 c1c1 bfc0 bfbf bfbd bdbd bcbb bcbb bab9 b9b9 b9b6 b4b4 b4ae a196 9498 9386 7c7e 8891 928c 7f6a 5033 201a 212d 3534 2b24 1f1e 1f20 2122 2223 2424 2526 2828 2929 2a2b 2b2c 2d2e 2e2e 2f30 3031 3232 3334 3335 3535 3737 3838 393a 3a3b 3c3b 3b3d 3d3e 3d40 403f 4041 4142 4343 4445 4446 4546 4747 4748 4948 494b 4b4b 4b4b 4c4c 4d4d 4e4f 4f4f 5050 5051 5252 5352 5254 5354 5455 5556 5657 5657 595b 5b5e 6877 827e 7272 89a8 bfc6 c4be bdc1 cddc e8ec ebe5 e2e1 e5ed efed e8e8 e9ea e6e5 e6e5 e4e2 e2e1 e0df dfdf dddd dddc dbda d9d8 d8d7 d6d6 d5d4 d4d4 d2d2 d1d1 d0cf cfce cdcd cccc cacb cac9 c9c8 c7c7 c7c6 c5c5 c4c3 c3c2 c2c1 c1c0 c0bf bfbf bdbc bebc bbbb bbba bab9 bab9 b9b7 b7b7 b6b5 b6b5 b4b3 b3b3 b2b1 b2b2 afac abab a08c 776b 6c74 808d 938f 857a 7571 6c63 5c5a 5957 5654 5150 504f 4c4c 4c4a 4644 4545 4242 4345 4440 3d38 332c 2928 2522 2020 2223 2324 2626 2728 292a 292a 2b2d 2c2d 2e2f 2f30 3030 3133 3334 3434 3536 3637 3838 3839 3a3a 3b3c 3c3e 3d3e 3f3f 4040 4041 4242 4343 4444 4545 4647 4647 4748 4849 494a 4b4c 4b4c 4d4d 4c4d 4e4e 4f4e 4f50 5051 5052 5152 5353 5455 5556 595f 656a 6d72 7980 878d 95a0 a9af b4b8 bec9 d5dd e0de dee3 e9eb ebe9 e9ea e8e6 e6e5 e5e3 e3e2 e1e1 e0e0 dede dddc dcda dad9 d8d7 d7d6 d6d4 d4d3 d3d2 d2d1 d0d0 d0ce cecd cdcc cccb cbca cac9 c8c7 c6c7 c5c5 c5c4 c4c4 c3c2 c1c0 c0bf bfbe bfbd bebd bcbb bbbb bbba b9b9 b8b8 b8b7 b6b5 b5b6 b4b4 b3b3 b3b2 b3b1 b1b1 b0af b0af aeae aeae aead acad acab aaab aaa9 a9a7 a7a4 a19d 9c9a 9996 938e 8885 8380 7d7b 7977 7672 706f 6f6e 6c6b 6967 6461 5f5d 5d5a 5754 514f 504f 4c49 4848 4542 3f3f 3f3f 3d3c 3b39 3836 3332 3232 3330 302f 2f2e 2d2b 2928 2522 2120 2121 2122 2324 2425 2626 2728 2929 2a2b 2c2c 2d2e 2e2e 2f30 3031 3133 3334 3435 3637 3737 3739 3939 3b3a 3b3c 3d3d 3e3e 3f40 4040 4041 4242 4344 4445 4545 4646 4748 4848 4849 4a49 4a4a 4c4c 4c4d 4e4e 4f4f 4f50 5050 5151 5153 5453 5355 5556 575a 5d60 6568 6d6f 6f70 6f70 7070 7071 7272 7474 7677 797b 7d7e 8081 8284 8587 888b 8c8c 8d8c 8c8d 8e90 9396 999b 9c9d 9e9e 9ea0 9fa0 a0a0 a2a4 a6a9 abab abac acad adae b0b1 b4b6 b8b9 b9bb bcbc bcbd bdbe c0c0 bfc0 bfbf bfbf c2c2 c2c4 c4c6 c8ca cccd cfd0 d0d0 d1d0 d2d3 d4d5 d7d6 d7d7 d8d8 d8d8 d7d6 d6d5 d4d3 d2d2 d1d0 cfcf cfcf cdcd cccc cbca cac9 c8c9 c7c7 c7c6 c5c5 c4c4 c3c3 c2c1 c1c0 bfbf bfbe bebd bdbd bcbb bbbb bab9 b9b9 b8b7 b7b7 b6b6 b4b3 b1b0 afae acab a9a8 a8a6 a5a4 a2a0 9e9e 9c9a 9998 9694 9392 908f 8c8a 8685 8381 7e7e 7b79 7876 7575 7675 7575 7575 7473 7371 7170 7171 7072 7272 7271 6f6c 6b69 6a6b 6b6a 6a6a 6969 6868 6566 6563 6361 605f 5f5e 5c5b 5c5c 5d5e 5d5c 5c5b 5a59 5756 5554 5354 5253 5153 5251 5150 4e4e 4d4c 4b4b 4a4a 4949 4948 4847 4746 4545 4545 4345 4444 4545 4544 4645 4546 4645 4444 4241 4140 3f3f 3d3c 3c3b 3b3a 3938 3838 3937 3838 3939 3839 3a3b 3b3c 3c3c 3d3e 3e3f 3f3f 4140 4243 4443 4344 4546 4647 4747 494a 4b4c 4d4f 504f 4f52 5354 5557 585b 5b5e 5f61 6364 6667 696b 6d6e 7073 7478 797b 7c7f 8284 8688 8a8b 8c8e 8f90 8f8f 8e90 9295 999c 9d9e a1a4 a7aa aeb1 b4b7 b9bb bdbf c1c3 c5c5 c6c7 c7c7 c7c7 c9c9 caca caca caca c9ca c9c9 c9c9 c9ca c9ca caca cbc9 cbca cbca caca c9c9 c8c6 c6c5 c5c4 c2c1 bfbe bdbc bab8 b6b4 b2b1 afae acac acaa a9a8 a6a4 a4a3 a2a1 9f9d 9d9a 9998 9797 9796 9492 9392 9090 8f8e 8e8e 8c8c 8b8b 8a88 8787 8684 8482 8282 8080 7f80 7e7f 7e7d 7d7a 7978 7978 7776 7676 7474 7373 7271 7071 7070 6f6f 6f6e 6e6d 6d6b 6b6a 696a 6868 6867 6767 6767 6767 6666 6665 6465 6564 6466 6565 6463 6362 6262 6262 6161 6161 6161 6061 6061 6060 5f5e 5d5c 5b5a 5a59 5757 5656 5555 5655 5454 5354 5454 5455 5553 5150 4f4e 4d4b 4a49 4949 4846 4646 4542 4242 4243 4444 4445 4545 4747 4748 4948 494a 4b4b 4c4b 4c4d 4d4d 4e4e 4f4f 5050 5151 5252 5253 5354 5454