417
edits
(Added comment about getting enveloping to work better.) |
(Added some comments on stuff done on 2007-08-19.) |
||
Line 1,179: | Line 1,179: | ||
values, not 16-bit big endian as I had assumed before, the enveloping started | values, not 16-bit big endian as I had assumed before, the enveloping started | ||
to sound more authentic like. | to sound more authentic like. | ||
== 2007-08-19 (Sunday) - Some more Apple IIGS MIDI hacking == | |||
Seems like King's Quest II's starting song (Greensleeves, sound resource 0) | |||
isn't parsed right. Here's its start: | |||
<pre> | |||
00000000 02 -- 02 00 means that it's an Apple IIGS midi sequence | |||
00000001 00 00 c0 16 -- Then some program changes (command 0xC?) | |||
00000005 00 c8 20 00 -- ... | |||
00000009 c2 14 00 c3 -- ... | |||
0000000d 22 00 c4 22 -- ... | |||
00000011 00 c5 22 00 -- ... | |||
00000015 c6 2a 00 c7 -- ... | |||
00000019 26 00 c1 14 -- ... | |||
0000001d 01 b0 07 69 -- Delta-time 01: controller 7, chan 0, val 0x69 | |||
00000021 00 b8 07 76 -- Delta-time 00: controller 7, chan 8, val 0x76 | |||
00000025 00 b2 07 6d -- Delta-time 00: controller 7, chan 2, val 0x6d | |||
00000029 00 b3 07 7c -- Delta-time 00: controller 7, chan 3, val 0x7c | |||
0000002d 00 b4 07 7c -- Delta-time 00: controller 7, chan 4, val 0x7c | |||
00000031 00 b5 07 7c -- Delta-time 00: controller 7, chan 5, val 0x7c | |||
00000035 00 b6 07 76 -- Delta-time 00: controller 7, chan 6, val 0x76 | |||
00000039 00 b7 07 76 -- Delta-time 00: controller 7, chan 7, val 0x76 | |||
0000003d 00 b1 07 6a -- Delta-time 00: controller 7, chan 1, val 0x6a | |||
00000041 85 90 40 26 -- BUT HERE IT BREAKS DOWN at 0x41 with byte 0x85 | |||
00000045 00 93 4c 26 -- Here are really note on commands (Parsed as controller commands)! | |||
</pre> | |||
So at 0x41 with byte 0x85 it's taken as a first byte of a variable | |||
length quantity (Delta-time here) that's more than one byte long because | |||
the value is over 0x80! After that the data is parsed as controller | |||
commands which it really isn't, it's note on and note off commands. | |||
Why is this this way? What to do? Some bandaid fixing maybe?-) | |||
We'll see... |
edits