Difference between revisions of "ADL (Westwood)"

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
m (Hacking/Technical)
(Games)
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Infobox Format
 
{{Infobox Format
| Title      = Westwood Studios AdLib
+
| Title      = Westwood Studios AdLib
| Format      = ADL
+
| Format      = ADL
| Developer  = [[Westwood Studios|Westwood Studios]]
+
| Developer  = [[Westwood Studios]]
| Header      = Custom
+
| Header      = Custom
| Content    = Unknown
+
| Content    = Unknown
| Instruments = Unknown
+
| Instruments = Internal
| OutputDA    = No
+
| OutputDA    = No
| OutputMIDI  = ?
+
| OutputMIDI  = No
| OutputFM    = Yes
+
| OutputFM    = Yes
| OutputPSG  = ?
+
| OutputPSG  = No
| Released    = 199?-??-??
+
| Released    = 1990-??-??
| FirstGame  =  
+
| FirstGame  = [[Eye of the Beholder (DOS)]]
| Extension01 = *.adl
+
| Extension01 = *.adl
 
}}
 
}}
  
 
Westwood Studios created this format for storing music that is sent to sound cards equipped with an [[OPL2]] chip (like [[AdLib]] and [[Sound Blaster]]). It was used in several of their game in the early 1990s.
 
Westwood Studios created this format for storing music that is sent to sound cards equipped with an [[OPL2]] chip (like [[AdLib]] and [[Sound Blaster]]). It was used in several of their game in the early 1990s.
  
 +
The music was originally made as [[ROL]] files in [[AdLib Visual Composer]], and was then converted to the ADL format. Unlike Visual Composer, ADL stores audio and instrument definitions in the same file, whereas Visual Composer uses the [[BNK]] format.
 +
 +
'''Notice:''' To play ADL files in [[AdPlug]] correctly, you'll need to uncheck option ''Auto-detect Song End'' in the plugin configuration. Then, when song is opened, use file information dialog (''Alt+3 in Winamp'') to seek between different subsongs. The same goes for [[XMPlay]], except you need to right click on song at playlist and choose ''Plugin file info''.
  
 
==Players==
 
==Players==
Line 24: Line 27:
 
* [[RdosPlay]] - DOS
 
* [[RdosPlay]] - DOS
  
 +
==Converters==
 +
<div style="float:right;">([[:Category: ADL Converters|Category]])</div>
 +
 +
===ADL to ?===
 +
* [[AdPlug]] - foobar2000, Winamp - [[WAV]]
 +
 +
===? to ADL===
  
 
==Games==
 
==Games==
 
<div style="float:right;">([[:Category:Games That Use ADL|Category]])</div>
 
<div style="float:right;">([[:Category:Games That Use ADL|Category]])</div>
  
{{Table Header
+
{| class="wikitable" |
| Color    = FFF0FF
+
! Released
| Caption01 = Released
+
! Title
| Caption02 = Title
+
! Sample
| Caption03 = Sample
+
|-
}}
+
| 1990-??-??
 +
| [[Eye of the Beholder (DOS)]]
 +
| {{Song-Box|101 - Eye of the Beholder - DOS - Westwood Associates Logo.ogg}}
 +
|-
 
| 1991-12-??
 
| 1991-12-??
 
| [[Eye of the Beholder II: The Legend of Darkmoon (DOS)]]
 
| [[Eye of the Beholder II: The Legend of Darkmoon (DOS)]]
|  
+
| {{Song-Box|01 - Eye of the Beholder II - DOS - Introduction.ogg}}
 
|-
 
|-
 
| 1992-05-??
 
| 1992-05-??
Line 44: Line 57:
 
| 1992-12-??
 
| 1992-12-??
 
| [[Dune II: The Building of a Dynasty (DOS)]]
 
| [[Dune II: The Building of a Dynasty (DOS)]]
| {{Song-Box|01 - Dune 2 - DOS - Introduction.ogg}}
+
| {{Song-Box|302 - Dune II - DOS - Introduction.ogg}}
 +
|-
 +
| 1993-??-??
 +
| [[Lands of Lore: The Throne of Chaos (DOS)]]
 +
|
 +
|-
 +
| 1993-??-??
 +
| [[The Legend of Kyrandia: Book Two - Hand of Fate (DOS)]]
 +
|
 +
|}
 +
 
 +
==Technical==
 +
Each ADL file contains these blocks:
 +
* Song indexes for the following pointer array
 +
* Pointer array for sound/music tracks
 +
* Pointer array for adlib instruments
 +
* Tracks data
 +
* Instruments data
 +
 
 +
Each pointer in array is relative to the size of primary indexes block.
 +
 
 +
The format structure has differences between games. ''First'' version of the format was introduced in '''Eye of the Beholder'''. ''The second'' version is used in the games '''Eye of the Beholder II''', '''The Legend of Kyrandia''' and '''Dune II''', where it has undergone minor changes such as the size of the pointer array for tracks which is 300 bytes instead of 500. ''The third'' version was introduced in the '''Lands of Lore''' and '''The Legend of Kyrandia 2''' - there are major changes, first indexes block now uses 16-bit values instead of 8-bit.
 +
 
 +
Here is full table of format structure changes:
 +
 
 +
{| class="wikitable" |
 +
! Game
 +
! Primary Indexes
 +
! Track Pointers
 +
! Instrument Pointers
 +
! First Track Offset
 +
! First Track Absolute Offset
 +
|-
 +
! EOB
 +
| 120 (8-bit)
 +
| 150 (16-bit)
 +
| 150 (16-bit)
 +
| 0x258
 +
| 0x2D0
 +
|-
 +
! EOB 2
 +
| 120 (8-bit)
 +
| 250 (16-bit)
 +
| 250 (16-bit)
 +
| 0x3E8
 +
| 0x460
 +
|-
 +
! Kyrandia 1
 +
| 120 (8-bit)
 +
| 250 (16-bit)
 +
| 250 (16-bit)
 +
| 0x3E8
 +
| 0x460
 +
|-
 +
! Dune II
 +
| 120 (8-bit)
 +
| 250 (16-bit)
 +
| 250 (16-bit)
 +
| 0x3E8
 +
| 0x460
 +
|-
 +
! Lands of Lore
 +
| 250 (16-bit)
 +
| 500 (16-bit)
 +
| 500 (16-bit)
 +
| 0x7D0
 +
| 0x9C4
 +
|-
 +
! Kyrandia 2
 +
| 250 (16-bit)
 +
| 500 (16-bit)
 +
| 500 (16-bit)
 +
| 0x7D0
 +
| 0x9C4
 
|}
 
|}
  
==Hacking/Technical==
+
Also there is [[SND (Westwood)]] format which has very similar structure.
In some Westwood games like Eye of the Beholder II, the music can be hacked into playing at different parts of the game by editing the offsets. For example, in Intro.adl, byte 000C 0C is the introduction music. However, you can set the previous values (0000 - 000B) to FF to turn off the sound effects in the introduction.
+
 
 +
In some Westwood games like Eye of the Beholder II, the music can be hacked into playing at different parts of the game by editing the offsets. For example, in Intro.adl, byte 000C 0C is the introduction music. However, you can set the previous bytes (0000 - 000B) to FF to turn off the sound effects in the introduction. Alternatively, you can set all the previous bytes to 0C so with each sound effect that plays in the intro, the introduction music will replay.
  
 
In Eye of the Beholder II, the music and sound bytes begin at 0078 in the .ADL files. The amount of sound ID's can be determined by looking at how many bytes there are until many bytes are 00. For example, in Intro.adl, the music and sound bytes start from 0078 and go up to 00B9 until the addresses are 00.
 
In Eye of the Beholder II, the music and sound bytes begin at 0078 in the .ADL files. The amount of sound ID's can be determined by looking at how many bytes there are until many bytes are 00. For example, in Intro.adl, the music and sound bytes start from 0078 and go up to 00B9 until the addresses are 00.
Line 57: Line 144:
  
 
==Links==
 
==Links==
 +
* [http://www.shikadi.net/moddingwiki/ADL_Format shikadi.net/moddingwiki/ADL_Format] - Modding Wiki.
 +
* [http://eob.wikispaces.com/eob.adl eob.wikispaces.com/eob.adl] - Some technical information.

Revision as of 03:00, 22 September 2021

Westwood Studios AdLib
File:ADL.png
Developer: Westwood Studios
Header: Custom
Content: Unknown
Instruments: Internal
Target Output
Output - Digital Audio - No.png Output - MIDI - No.png Output - FM Synthesis.png Output - PSG - No.png
Released: 1990-??-??
First Game: Eye of the Beholder (DOS)
Extensions
  • *.adl

Westwood Studios created this format for storing music that is sent to sound cards equipped with an OPL2 chip (like AdLib and Sound Blaster). It was used in several of their game in the early 1990s.

The music was originally made as ROL files in AdLib Visual Composer, and was then converted to the ADL format. Unlike Visual Composer, ADL stores audio and instrument definitions in the same file, whereas Visual Composer uses the BNK format.

Notice: To play ADL files in AdPlug correctly, you'll need to uncheck option Auto-detect Song End in the plugin configuration. Then, when song is opened, use file information dialog (Alt+3 in Winamp) to seek between different subsongs. The same goes for XMPlay, except you need to right click on song at playlist and choose Plugin file info.

Players

(Category)

Converters

(Category)

ADL to ?

? to ADL

Games

(Category)
Released Title Sample
1990-??-?? Eye of the Beholder (DOS)
1991-12-?? Eye of the Beholder II: The Legend of Darkmoon (DOS)
1992-05-?? The Legend of Kyrandia: Book One (DOS)
1992-12-?? Dune II: The Building of a Dynasty (DOS)
1993-??-?? Lands of Lore: The Throne of Chaos (DOS)
1993-??-?? The Legend of Kyrandia: Book Two - Hand of Fate (DOS)

Technical

Each ADL file contains these blocks:

  • Song indexes for the following pointer array
  • Pointer array for sound/music tracks
  • Pointer array for adlib instruments
  • Tracks data
  • Instruments data

Each pointer in array is relative to the size of primary indexes block.

The format structure has differences between games. First version of the format was introduced in Eye of the Beholder. The second version is used in the games Eye of the Beholder II, The Legend of Kyrandia and Dune II, where it has undergone minor changes such as the size of the pointer array for tracks which is 300 bytes instead of 500. The third version was introduced in the Lands of Lore and The Legend of Kyrandia 2 - there are major changes, first indexes block now uses 16-bit values instead of 8-bit.

Here is full table of format structure changes:

Game Primary Indexes Track Pointers Instrument Pointers First Track Offset First Track Absolute Offset
EOB 120 (8-bit) 150 (16-bit) 150 (16-bit) 0x258 0x2D0
EOB 2 120 (8-bit) 250 (16-bit) 250 (16-bit) 0x3E8 0x460
Kyrandia 1 120 (8-bit) 250 (16-bit) 250 (16-bit) 0x3E8 0x460
Dune II 120 (8-bit) 250 (16-bit) 250 (16-bit) 0x3E8 0x460
Lands of Lore 250 (16-bit) 500 (16-bit) 500 (16-bit) 0x7D0 0x9C4
Kyrandia 2 250 (16-bit) 500 (16-bit) 500 (16-bit) 0x7D0 0x9C4

Also there is SND (Westwood) format which has very similar structure.

In some Westwood games like Eye of the Beholder II, the music can be hacked into playing at different parts of the game by editing the offsets. For example, in Intro.adl, byte 000C 0C is the introduction music. However, you can set the previous bytes (0000 - 000B) to FF to turn off the sound effects in the introduction. Alternatively, you can set all the previous bytes to 0C so with each sound effect that plays in the intro, the introduction music will replay.

In Eye of the Beholder II, the music and sound bytes begin at 0078 in the .ADL files. The amount of sound ID's can be determined by looking at how many bytes there are until many bytes are 00. For example, in Intro.adl, the music and sound bytes start from 0078 and go up to 00B9 until the addresses are 00.

00B9 (185) - 0078 (120) + 1 = 66. 66/2 = 33, so there would be 33 sound ID's in Intro.adl.

In Intro.adl, the bytes 026C to 02C5 contain the instrument data.

Links