Alien Breed ROL Format
| Format type | Music |
|---|---|
| Notation type | MIDI |
| Instruments | Roland |
| Max channel count | Unknown |
| Max track count | 1-7 |
| Max pattern count | 0 |
| Max order count | 0 |
| Tags? | None |
| Games |
All five .ROL files start with MThd, and their track chunks are MTrk. Their contents are Standard MIDI Files despite the game-specific extension. The Roland role is inferred from matching NEW_ROL.BIN/SFX_ROL.BIN names and the sound modes described in READ.ME.
File format
| Offset | Length | Content |
|---|---|---|
| 0x00 | 4 | MThd |
| 0x04 | 4 | Big-endian header length, 6 |
| 0x08 | 2 | Big-endian format number |
| 0x0A | 2 | Big-endian track count |
| 0x0C | 2 | Big-endian division, 192 ticks per quarter note |
| 0x0E onward | Variable | MTrk, big-endian track length, event bytes |
Four files are format 0 with one track. TITLE.ROL is format 1 with seven tracks. All track counts and lengths account for the complete files.
The MIDI Association's Standard MIDI Files specification is the applicable standard. Decode variable-length delta times and event payloads, and honor running status, tempo meta-events, and end-of-track markers. Header and track boundaries were checked here; a full event-by-event validation was not performed.
Notes
A copy with a .mid extension can be given to a MIDI-capable reader without changing its bytes. Preserve the originals and every track. The game's instrument/program mapping and playback-driver behavior have not been verified; a General MIDI synthesizer may sound different.
These files are not AdLib Visual Composer ROL files. Selecting a Visual Composer decoder from the extension alone would be incorrect.
Files
Paths are relative to game/.
| File | Stored bytes |
|---|---|
| ADLIB/ALARMED.ROL | 457 |
| ADLIB/INGAME.ROL | 209 |
| ADLIB/INTEX.ROL | 1,119 |
| ADLIB/MONSTER.ROL | 326 |
| ADLIB/TITLE.ROL | 13,238 |
Source code
From re-alienbreed, the open-source browser port and asset viewer:
Credits
The Alien Breed-specific format research and parsers were prepared by VorticonCmdr. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)