The Ensoniq EPS/EPS16+/ASR-10 Bank Format

Similar documents
The Extended MBR (version 1.05) (dated: 01 Nov 2018) by Benjamin David Lunt Copyright (c) Forever Young Software

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System

IF96017 MODBUS COMMUNICATION PROTOCOL

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Picture Translation A Challenge

Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

COMMUNICATION MODBUS PROTOCOL

bytes per disk block (a block is usually called sector in the disk drive literature), sectors in each track, read/write heads, and cylinders (tracks).

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

Understanding FAT12. Introduction to Computer Forensics. Kessler/Schirling

Computer Organization & Systems Exam I Example Questions

Modbus/TCP is supported on some controllers. See QCI-AN028 Modbus TCP.

SRF02 Ultrasonic range finder Technical Specification

Technical Information. Command overview of Vision Systems

COMMUNICATION MODBUS PROTOCOL

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

CODA Online Data Formats

Control Codes. Viewing control state (Get control command) Controlling (Set control command) Command. No. Command type Command Value range

COMMUNICATION MODBUS PROTOCOL

LORD MANUAL. Wireless Sensor Networks LXRS Data Communications Protocol

CSCI 2212: Intermediate Programming / C Chapter 15

CTT MODBUS-RTU COMMUNICATION PROTOCOL TEMPERATURE MONITOR DEVICE

CLOCKAUDIO. MR88 Automatic Microphone Mixer RS232 Programming Version 4.2

8051 Interfacing: Address Map Generation

Russound Dual Tuners (ST2, ST2-XM, ST2-XM2, and ST2S)

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Pointer Accesses to Memory and Bitwise Manipulation

Section 3. XGA Function

Protocol of data exchange with modem via USB interface Version

VS-LC101/ VS-LC102 RS-232 command set

Beginning C Programming for Engineers

DRPC100-OLED UART PROTOCOL SPECIFICATION

CS 241 Data Organization Binary

FNL Modbus TCP Interface

COMMUNICATION MODBUS PROTOCOL

Fohhn-Net Technical Manual

Solutions - Homework 2 (Due date: October 4 5:30 pm) Presentation and clarity are very important! Show your procedure!

USB-SD MP3 Module Manual

JEDEC SOLID STATE TECHNOLOGY ASSOCIATION

SLCD Technical Note TN-100. Programming the SLCD bitmap / macro flash memory in an embedded system

Planar Simplicity Series

,879 B FAT #1 FAT #2 root directory data. Figure 1: Disk layout for a 1.44 Mb DOS diskette. B is the boot sector.

Fingerprint_Protocol_All_English

Technical Specification. Third Party Control Protocol. AV Revolution

SC2004MBS 20x4 Characters MODBUS RTU Slave LCD

bincopy Documentation

Virtual Memory 1. Virtual Memory

Pointer Accesses to Memory and Bitwise Manipulation

ENCM 369 Winter 2016 Lab 11 for the Week of April 4

Virtual Memory 1. Virtual Memory

Logosol Joystick Node LS-731

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

1. Implemented CM11 protocol

Panasonic HD Writer AE File Formats. Herbert Oppmann

Advanced Operating Systems

Application Note BDLxxxx RS232 SERIAL INTERFACE COMMUNICATION PROTOCOL (SICP V1.82)

Venstar Thermostat Adapter

Learning the Binary System

CONTO IMP PROTOCOL COMMUNICATION CONTENTS 1.0 INTRODUCTION

TPMC816. Two Independent Channels Extended CAN Bus PMC Module. Version 2.2. User Manual. Issue August 2014

SAINT2. System Analysis Interface Tool 2. Emulation User Guide. Version 2.5. May 27, Copyright Delphi Automotive Systems Corporation 2009, 2010

ECE 598 Advanced Operating Systems Lecture 17

Virtual Machine Tutorial

RS232 User Guide. Planar Simplicity Series 4K Displays SL4364K SL5564K SL6564K SL7564K SL8664K. Simplicity Series 4K Displays User Guide A

ECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)

Aeroflex Colorado Springs Application Note

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission

Version Action Author Date

User Module. Modbus TCP2RTU. Application note

Segmentation with Paging. Review. Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Segmentation with Page (MULTICS)

COMMUNICATION MODBUS PROTOCOL MF96001 / 021 NEMO 96HD

ECE 206, Fall 2001: Lab 3

Buffer-Overflow Attacks on the Stack

Survey. Motivation 29.5 / 40 class is required

Dante Gonzales and Ian Doten

11/10/2016. Review the Problem to Be Solved. ECE 120: Introduction to Computing. What Shall We Keep in the Registers? Where Are the Pieces in Memory?

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

ECE251: Tuesday September 18

E2 Modbus RTU Register Map Revision History Version Comments Author Date 1.02 Previous version PAE 11/06/ Revised to new format PAE 09/03/09

Developer Notes INSTEON Thermostat v012. Developer Notes. INSTEON Thermostat. Revision History

94 CPU (CM8051) Incompatible Instruction ERRATA AND DATASHEET CLARIFICATION V1.0. Leader of Microcontroller Technology A Fabless Semiconductor Company

AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision )

20 Channel MP3 Sound Board. User s Manual. Model: FN-BC20

Buffer-Overflow Attacks on the Stack

Final Exam. 11 May 2018, 120 minutes, 26 questions, 100 points

Chapter 17. Disk Storage, Basic File Structures, and Hashing. Records. Blocking

The RS-485 user manual for B800 series communication

CPSC 213. Introduction to Computer Systems. Numbers and Memory. Unit 1a

Futaba MDM166A display

Device: MOD This document Version: 1.0. Matches module version: v1. Date: 24 February Description: MP3 Audio Module

ARM ASSEMBLY PROGRAMMING

Final Exam. 12 December 2018, 120 minutes, 26 questions, 100 points

Quick Talking to ControlLogix (PCCC-style)

ArduCAM-M-2MP Camera Shield

JPEG2000 HDTV RECORDER

Reference Waveform File Format

16.317: Microprocessor Systems Design I Fall 2013 Exam 3 Solution

RS-232 Control of the Advantage EQ281/8, EQ282/8 and Advantage SMS200

Up to three (3) RIO-RS232 modules may be attached to one RIO-PBA Profibus adapter.

Transcription:

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 1/6 The Ensoniq EPS/EPS16+/ASR-10 Bank Format documented by Thoralt Franz The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 1/6

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 2/6 The Ensoniq Bank Format This document describes the structure of sound banks for the Ensoniq EPS, EPS16+ and ASR-10. All this information was found by reverse engineering the bank format with the above samplers. The description may be not exact at some points or may even contain errors. If you find any issues, please inform the author thoralt thoralt.de. An Ensoniq Bank contains the following information: instruments to load song to load volume table panning table track output table effect control table performance presets effect data All this data is stored binary coded inside the bank file. Bank Bank header Volume table Track output table Panning table Fx control table Performance presets Preset 1 Preset 2 Preset 3 Preset 4 Preset 5 Preset 6 Preset 7 Preset 8 Effect data Files section Track 1 Track 2 Track 3 Track 4 Track 5 Track 6 Track 7 Track 8 Song The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 2/6

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 3/6 Bank Layout The bank consist of a number of consecutive sections, each containing specific data. Bank Header 9 File Info Blocks Table: Volume/Track Output info Table: Panning/Fx Control info 8 Performance Presets Effect code Unless otherwise stated, all the following data types are referenced to as Intel ordering (lowest byte first), although coming from a Motorola based machine. The Bank Header The bank header is located at offset 0x0000 and has a size of 24 bytes. 0x0000 DWORD bank size: shift right by 4 to get the actual size in bytes (should be 1536 bytes in all cases) 0x0004 DWORD machine ID: 0xC0FF4089 EPS 0x000020A8 EPS16+ 0x0000C034 ASR-10 0x0008 12 WORD bank name: one character in each low byte 0x0020 WORD track mask: low byte: if a bit (0...7) is set, the corresponding track (1...8) has valid data high byte: currently unknown (0xFF on EPS/EPS16+, 0xFE on ASR-10) The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 3/6

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 4/6 File Info Blocks (FIBs) The FIBs are located at offset 0x0022. They are numbered from 0...8 containing information about the 8 loaded instrument files (FIB 0...7 for track 1...8) and the loaded song (FIB 8). There are two types of FIBs: One for the EPS/EPS16+ and one for the ASR-10. The only difference is that the file paths for EPS/EPS16+ may only be 5 levels deep, for ASR-10 the path limit is 11 levels. Each FIB is 16 bytes (EPS/EPS16+) or 28 bytes (ASR-10) long, so the length of all FIBs is 144 bytes (EPS/EPS16+) or 252 bytes (ASR-10). Additionally, the original EPS doesn t use the high bytes of the file pointers for disk name storage; on EPS all files of a bank must be on the same disk, so disk name storage is not necessary. 0x0000 WORD instrument copy: low byte: if bit 7 is set, then this is a copy; bits 0...3 contain the copy source high byte: unknown (values 0xFF on EPS/EPS16+ or 0xFE on ASR-10) 0x0002 WORD 1 st file pointer: low byte: device (0x00=floppy, 0x01...0x08=SCSI0...SCSI7) high byte: first character of source disk name (unused on original EPS) 0x0004 6 WORDs 2 nd 7 th file pointer: low byte: 1 st 6 th directory index* (see below) high byte: 2 nd 7 th character of source disk name (unused on original EPS) ASR-10 only 0x0010 6 WORDs 8 th 13 th file pointer: low byte: 7 st 12 th directory index* (see below) high byte: unknown (probably unused, but not filled with zeroes) *Directory index: The position of a file is stored as a chain of directory positions. If the first entry for example is 0x05, then the file with number 0x05 in the root directory has to be loaded. If this happens to be a directory itself, this subdirectory will be opened and the directory index of the following file pointer will be evaluated. This continues until either a non-directory file was found or the end of the list (7 th pointer on EPS/EPS16+ or 14 th pointer on ASR-10) is reached. In this case, the loading of that particular file fails and the sampler continues with the next FIB. The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 4/6

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 5/6 Volume and Track Output Table The Volume/Track Output Table is located at offset 0x00B2 (EPS/EPS16+) or 0x011E (ASR-10) and has a size of 16 bytes (EPS/EPS16+) or 32 bytes (ASR-10). On the ASR-10, the second half of the table seems to be unused, so only the first half is described here. 0x0000 8 WORDs volume and track output information: low byte: volume (0x00=0, 0x7F=99) high byte: track output (0x00=WS, 0x01=BUS1, 0x02=BUS2, 0x03=BUS3, 0x04=AUX1, 0x05=ROTATE) Panning and Effect Control Table The Panning/Fx Control Table is located at offset 0x00C2 (EPS/EPS16+) or 0x013E (ASR-10) and has a size of 16 bytes (EPS/EPS16+) or 32 byte (ASR-10). On the ASR-10, the second half of the table seems to be unused, so only the first half is described here. 0x0000 8 WORDs panning and fx control information: low byte: panning (0x80=WS, 0x82=-98, 0x7F=+99) high byte: fx control (0x00=fx control off, 0x01=fx control on) The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 5/6

The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 6/6 Performance Presets *incomplete* The performance presets are located at offset 0x00D2 (EPS/EPS16+) or 0x015E (ASR-10) and have a size of 8*134=1072 bytes. 0x0000 WORD???: 0x0000 WORD???: 0x0018 WORD track 1 volume and track output information: low byte: volume (0x00=0, 0x7F=99) high byte: track output (0x00=WS, 0x01=BUS1, 0x02=BUS2, 0x03=BUS3, 0x04=AUX1, 0x05=ROTATE) Effect Code *incomplete* TODO: performance preset description some words about the fx section source code snippets, C structures Thoralt Franz, 12/28/2006 12:13 AM The Ensoniq EPS/EPS16+/ASR-10 Bank Format, document version 0.7 6/6