2022-01-14 19:38:00 +00:00
|
|
|
( 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 )
|
2022-01-14 19:38:00 +00:00
|
|
|
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
|
2022-01-14 19:38:00 +00:00
|
|
|
@DEBUG-patterns
|
|
|
|
( pattern 00 )
|
|
|
|
54 02 00 ( C-3 I00 )
|
2022-01-21 19:20:41 +00:00
|
|
|
52 06 00
|
2022-01-14 19:38:00 +00:00
|
|
|
54 00 00
|
2022-01-21 11:16:06 +00:00
|
|
|
4f 00 00
|
2022-01-14 19:38:00 +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
|
2022-01-14 19:38:00 +00:00
|
|
|
( pattern 01 )
|
2022-01-21 19:20:41 +00:00
|
|
|
54 06 04
|
2022-01-20 22:35:35 +00:00
|
|
|
56 00 00
|
2022-01-14 19:38:00 +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
|
2022-01-14 19:38:00 +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
|
2022-01-14 19:38:00 +00:00
|
|
|
52 00 00
|
|
|
|
54 00 00
|
|
|
|
50 00 00
|
2022-01-21 19:13:46 +00:00
|
|
|
54 05 0f
|
2022-01-14 19:38:00 +00:00
|
|
|
ff 00 00
|
2022-01-19 22:56:23 +00:00
|
|
|
( pattern 02 )
|
2022-01-20 22:35:35 +00:00
|
|
|
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
|
2022-01-14 19:38:00 +00:00
|
|
|
@DEBUG-instruments
|
|
|
|
( instrument 00 )
|
|
|
|
0002 ( sample length )
|
2022-01-20 17:05:42 +00:00
|
|
|
88 ( volume )
|
2022-01-14 19:38:00 +00:00
|
|
|
80 ( flags - loop sample )
|
2022-01-21 11:16:06 +00:00
|
|
|
0100 ( ADSR )
|
2022-01-14 19:38:00 +00:00
|
|
|
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 )
|
2022-01-14 19:38:00 +00:00
|
|
|
( 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
|