Difference between revisions of "User:Buddha^/GSoC2007-ProjectDiary"

Jump to navigation Jump to search
Added info on done work on 2007-07-28 and 2007-07-29.
(Added info on done work on 2007-07-27.)
(Added info on done work on 2007-07-28 and 2007-07-29.)
Line 835: Line 835:
audio streams out of them. Took influence from the AIFF-loading routine
audio streams out of them. Took influence from the AIFF-loading routine
from ScummVM's source code.
from ScummVM's source code.
== 2007-07-28 (Saturday) - Decoding Apple IIGS sample header, Part 1 ==
Modified a byte in an Apple IIGS AGI sample resource's header (At
header offset 2) and tried the sample out by running the game
using KEGS32 and MESS. So it turned out that that header byte
handles playing pitch. And it's definitely exponential
with 2**(1/12) as the base. The value seems to wrap around after 0x7F.
== 2007-07-29 (Sunday) - Decoding Apple IIGS sample header, Part 2 ==
Inspected how the byte in Apple IIGS AGI sample resource's header
offset 4 affects the playing of the sample. It is the volume control,
probably logarithmic, but not 100% sure about that yet.
Fiddled a bit with some other header offsets and got something
interesting and/or weird to happen but don't yet know what they
really did :-).
The Apple IIGS AGI sample resource's header is 54 bytes long and
by the header comparisons I've done the following header offsets
are the most varying ones (Some other bytes also vary, but only
between two values in the data I've compared):
* Header offset 2
** The playing pitch
* Header offset 4
** Volume control
* Header offsets 8 and 9
** Sample size in bytes (Little endian 16-bit word)
* Header offset 44
** Unknown function, uses values x*9 for x in {0, 1, 2, 3, 4, 5, 6}
* Header offset 45
** Unknown function, uses values 0, 2, 6
* Header offset 50
** Unknown function, uses values x*9 for x in {1, 2, 3, 4, 5, 6}
* Header offset 51
** Unknown function, uses values 0, 1, 2, 7
417

edits

Navigation menu