Planet X3 utilise un segment spécifique pour la gestion sonore (via le speaker) et musicale.
Offset | Taille | Infos | Description |
---|---|---|---|
0x0000 | word | Number of active Channel(s) | |
0x0002 | word | Temporary variables for PC Speaker State | |
0x0004 | word | PC Speaker Enable | |
0x0006 | word | Audio System enable flag | |
0x0008 | word | pointer to CS:DriverInit | |
0x000A | word | pointer to CS:DriverShutdown | |
0x000C | word | pointer to CS:DriverUpdate | |
0x000E | word | pointer to CS:DriverAdlibWrite | |
0x0010 | word | Pointer to CS:DriverOPL2LPT Port address | |
0x0012 | word | extra variables, shared between channels | |
0x0016 | word | voice song pointer ? | |
0x001A | word | ||
: | : | ||
0x001F | byte | ||
: | : | ||
0x0022 | 16 bytes | Voice 0 | Sound Effect |
0x0032 | 16 bytes | Voice 1 | music |
0x0042 | 16 bytes | Voice 2 | music |
0x0052 | 16 bytes | Voice 3 | music |
0x0062 | 16 bytes | Voice 4 | music |
0x0072 | 16 bytes | Voice 5 | music adLib |
0x0082 | 16 bytes | Voice 6 | music adLib |
0x00CA | word | Music data max size: 0x8000 | |
: | |||
0x8001 | byte | SFX data max size: 0x4000 | |
0x8002 | byte | ||
: | : |
offset | size | Description |
---|---|---|
0 | byte | wait |
+1 | byte | volume |
+2 | word | ret |
+4 | word | ptr |
+6 | word | loop |
+8 | word | pitch 1 |
+A | word | pitch 2 |
+C | byte | previous volume |
+D | byte | priority |
+E | word | Previous Reference |
start offset in ram
Offset | size | Description |
---|---|---|
0 | byte | Music targeted device (0: speaker, 1: tandy, 2: adLib) |
1 | byte | number [N] of voice/stream 4 for speaker & Tandy, 6 for adlib |
2 | word | Pointer to first Stream (relative to begining of the song data) |
4 | word | Pointer to second Stream (relative to begining of the song data) |
6..n | word | Pointer to ..[N] Stream (relative to begining of the song data) |
xx | - | stream data |