Ensoniq Mirage Disk Image Layout

Although the Ensoniq Mirage disk format was documented to some degree by Gary Giebler during Ensoniq’s heyday, there are plenty of details missing. Here are some additional details based on reverse engineering:

$00010600 [START OF SETTINGS CONFIGURATION BLOCK]

GENERAL SETTINGS:

$00010601 = PARAMETER 21 | MASTER TUNE | range – 0-99, 50 ($32) nominal — A440
$00010602 = PARAMETER 22 | PITCH BEND RANGE | range 0-12, default of 2 (
$00010603 = PARAMETER 23 | KEYBOARD VELOCITY SENSITIVITY | default of 30 ($1E)
$00010604 = PARAMETER 24 | KEYBOARD BALANCE | default of 32 ($40, oddly…) [COUNTS BY TWOS FOR SOME REASON!]
$00010605 = PARAMETER 25 | UPPER/LOWER LINK (ON/OFF)

SAMPLING CONFIGURATION SETTINGS:

$00010606 = PARAMETER 73 | SAMPLE TIME ADJUST | range 20-99; default 34 [$22]
$00010607 = PARAMETER 74 | INPUT FILTER FREQUENCY | range 00-99; default 80 [HEX IS DOUBLE THE DECIMAL VALUE!, SP 80 = $A0!]
$00010608 = PARAMETER 75 | LINE/MIC LEVEL INPUT | (on/off)
$00010609 = PARAMETER 76 | SAMPLING THRESHOLD | range 00-63; default 48 [$30]
$0001060A = PARAMETER 77 | USER MULTISAMPLING | (on/off)

MIDI SETTINGS:

$0001060F = PARAMETER 81 | MIDI OMNI (ON/OFF)
$00010610 = PARAMETER 82 | MIDI CHANNEL (1-16) [hex is $00~$0F, offset by 1]
$00010611 = PARAMETER 83 | MIDI THRU (ON/OFF)
$00010612 = PARAMETER 84 | MIDI Function Enable (0-3)
$00010613 = PARAMETER 85 | MIDI External Clock (ON/OFF)
$00010614 = PARAMETER 86 | External Clock Jack (ON/OFF)
$00010615 = PARAMETER 87 | Internal Clock Rate (default 96) [COUNTS BY TWOS FOR SOME REASON!]

GIEBLER DOCUMENTATION

Ensoniq Mirage Disk Format

The Mirage has a format similar to the SQ-80 keyboard. However, the disk only contains data on one side of the disk with 80 tracks numbered 0 – 79. Like the SQ-80, each track has five 1024 byte sectors numbered consecutively from zero to four followed by one sector of 512 bytes with a sector ID of five. The following examples should clarify this.

   TK SC  SIZE
    0 0-4 1024  data is first stored on Track 0, Sectors 0-4
    0  5   512  data is next stored on Track 0, Sector 5
    1 0-4 1024  data is next stored on Track 1, Sectors 0-4
    1  5   512  data is next stored on Track 1, Sector 5
                this process continues until...
   79  5   512  the last track - Track 79, Sector 5

The diskette may contain the Operating System, six sounds configured as 3 lower-half keyboard sounds and 3 upper-half keyboard sounds and either eight short sequences or three long sequences. The first 11K of the Operating System is stored on both small and large sectors from Track 0, Sector 0, to Track 1, Sector 5. The remaining 5k of the Operating System is stored only on small sectors (Sector 5) from Track 2 to Track 10. The configuration parameters are stored on Track 11, Sector 5. The directory and the sequences are only stored on the small sectors (Sector 5) and the sound files are only stored on the large sectors (Sectors 0-4).

  TK  SC    
   2   0   Sound # 1, Lower Half, Parameters ( 1 Sector )
   2   1   Sound # 1, Lower Half, Data       (64 Sectors)
  15   0   Sound # 1, Upper Half, Parameters ( 1 Sector )
  15   1   Sound # 1, Upper Half, Data       (64 Sectors)
  28   0   Sound # 2, Lower Half, Parameters ( 1 Sector )
  28   1   Sound # 2, Lower Half, Data       (64 Sectors)
  41   0   Sound # 2, Upper Half, Parameters ( 1 Sector )
  41   1   Sound # 2, Upper Half, Data       (64 Sectors)
  54   0   Sound # 3, Lower Half, Parameters ( 1 Sector )
  54   1   Sound # 3, Lower Half, Data       (64 Sectors)
  67   0   Sound # 3, Upper Half, Parameters ( 1 Sector )
  67   1   Sound # 3, Upper Half, Data       (64 Sectors)
  20   5   Short Sequence # 1 (4 Sectors)
  35   5   Short Sequence # 2 (4 Sectors)
  55   5   Short Sequence # 3 (4 Sectors)
  24   5   Short Sequence # 4 (4 Sectors)
  28   5   Short Sequence # 5 (4 Sectors)
  39   5   Short Sequence # 6 (4 Sectors)
  43   5   Short Sequence # 7 (4 Sectors)
  59   5   Short Sequence # 8 (4 Sectors)
  12   5   Long Sequence # 1 (16 Sectors)
  35   5   Long Sequence # 2 (16 Sectors)
  55   5   Long Sequence # 3 (16 Sectors)

Mirage Directory Sectors

The directory information for the Mirage is contained in three bytes which are stored in three sectors of the diskette. Each sector contains 512 copies of the directory byte for that sector. This was done because there wasn’t any buffer space to read a whole directory sector. Therefore, the Mirage would read (or write) the sector and would use the last byte of the sector as the valid value for the directory byte. Track 32, Sector 5 contains the Sound Directory Byte. Track 33, Sector 5 contains the Short Sequence Directory Byte and Track 34, Sector 5 contains the Long Sequence Directory Byte. The directory bytes are defined as follows:

SOUND DIRECTORY BYTE      SHORT SEQUENCE       LONG SEQUENCE
                          DIRECTORY BYTE       DIRECTORY BYTE

Bit 0  Not Used           Bit 0  Seq. 1        Bit 0  Seq. 1
Bit 1  Sound 1 Lower      Bit 1  Seq. 2        Bit 1  Seq. 2
Bit 2  Sound 1 Upper      Bit 2  Seq. 3        Bit 2  Seq. 3
Bit 3  Sound 2 Lower      Bit 3  Seq. 4        Bit 3  Not Used
Bit 4  Sound 2 Upper      Bit 4  Seq. 5        Bit 4  Not Used
Bit 5  Sound 3 Lower      Bit 5  Seq. 6        Bit 5  Not Used
Bit 6  Sound 3 Upper      Bit 6  Seq. 7        Bit 6  Not Used
Bit 7  Not Used           Bit 7  Seq. 8        Bit 7  Not Used

If the Sound or Sequence exists, the appropriate bit is set to one (1). If not, the bit is cleared (0).

Bookmark the permalink.