
	Instrument format of
	ōO(Hiroya Hatsushiba)'s sound driver for Playstation


This can apply the following title.
* Star Ocean 2
* Valkyrie Profile



Note:
* This document is wirtten with TAB = 8space.
* About this document, music format after expansion from the slz archive is described.
* About the address, it is an absolute value.
* About the word(2byte) data, it is a little endian (LSB first).
* This document written by Japanese, therefore this document is poor English.




(1) Header information

========================================
Address		Type		Contents
+-------+-------+-------+-------+-------
0x0000`0x0003	DWORD		File size
0x0004`0x0005	WORD		End of instruction information's address.
0x0006`0x0007			unknown
0x0008`0x0009			unknown
0x000A`0x000B			unknown
+-------+-------+-------+-------+-------
0x000C`	char[?]		Instruction information		c See (2)
+-------+-------+-------+-------+-------
0x????		DWORD		0xFFFFFFFF: End of Instruction information
+-------+-------+-------+-------+-------
0x????		char[0x10][?]	PSX AD-PCM body
========================================



(2) Instruction information

========================================
Address		Type		Contents
+-------+-------+-------+-------+-------
0x0000`0x0001	WORD		Program Number + Bank Number * 128
0x0002`0x0003	WORD		ADSR1;
0x0004`0x0005	WORD		ADSR2;
0x0006		BYTE		unknown
0x0007		BYTE		Qty of Instruction Rgn
+-------+-------+-------+-------+-------
0x0008`	char[0x14][?]	Instruction Rgn			c See (3)
========================================



(3) Instruction Rgn

========================================
Address		Type		Contents
+-------+-------+-------+-------+-------
0x0000		BYTE		Range of Note-number (Low)
0x0001		BYTE		Range of Note-number (High)
0x0002		BYTE		Range of velocity (Low)
0x0003		BYTE		Range of velocity (High)
0x0004`0x0007	DWORD		Offset address of AD-PCM start point
0x0008`0x000B	DWORD		Offset address of AD-PCM loop point
0x000C		BYTE		attenuation
0x000D		BYTE		pitch Corse tune (1 = 100[cent])
0x000E		BYTE		pitch Fine tune
0x000F		BYTE		unknown
0x0010`0x0013	DWORD		unknown
========================================

