When using this document, keep the following in mind:ntialGeneral Notice

1. This document is confidential. By accepting this document you acknowledge that you are boundby the terms set forth in the non-disclosure and confidentiality agreement signed separately and /inthe possession of SEGA. If you have not signed such a non-disclosure agreement, please contact
SEGA immediately and return this document to SEGA.

de2. This document may include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new versions of the
document. SEGA may make improvements and/or changes in the product(s) and/or the
program(s) described in this document at any time.

nfi

3. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document
without SEGA’S written permission. Request for copies of this document and for technicalinformation about SEGA products must be made to your authorized SEGA Technical Services
representative.

Co

4. No license is granted by implication or otherwise under any patents, copyrights, trademarks, orother intellectual property rights of SEGA Enterprises, Ltd., SEGA of America, Inc., or any third
party.
5. Software, circuitry, and other examples described herein are meant merely to indicate the characteristics and performance of SEGA’s products. SEGA assumes no responsibility for any intellectual
property claims or other problems that may result from applications based on the examples
describe herein.

GA

6. It is possible that this document may contain reference to, or information about, SEGA products(development hardware/software) or services that are not provided in countries other than Japan.
Such references/information must not be construed to mean that SEGA intends to provide such
SEGA products or services in countries other than Japan. Any reference of a SEGA licensed product/program in this document is not intended to state or simply that you can use only SEGA’slicensed products/programs. Any functionally equivalent hardware/software can be used instead.
7. SEGA will not be held responsible for any damage to the user that may result from accidents or any
other reasons during operation of the user’s equipment, or programs according to this document.

SE

NOTE: A reader's comment/correction form is provided with thisdocument. Please address comments to :(6/27/95- 002)

SEGA of America, Inc., Developer Technical Support (att. Evelyn Merritt)
150 Shoreline Drive, Redwood City, CA 94065
SEGA may use or distribute whatever information you supply in any way
it believes appropriate without incurring any obligation to you.

SE

GA

Co

nfi

de

nti
al

TM

SATURN
Sound Development
Manualver. 1.1
Doc. # ST-081-R5-062894© 1994-95 SEGA. All Rights Reserved.

nti
al

READER CORRECTION/COMMENT SHEETKeep us updated!
If you should come across any incorrect or outdated information while reading through the attacheddocument, or come up with any questions or comments, please let us know so that we can make therequired changes in subsequent revisions. Simply fill out all information below and return this form to
the Developer Technical Support Manager at the address below. Please make more copies of this form if
more space is needed. Thank you.
General Information:

Phone

Document number
Document namedeYour Name

Date

ST-081-R5-062894

SATURN Sound Development Manual, ver. 1.1

Corrections:
Correction

nfi

pg. #

GA

Co

Chpt.

SE

Questions/comments:

Fax:

Where to send your corrections:(415) 802-1440
Attn: Sr. Coordinator,
Technical Publications Group

Mail:

SEGA OF AMERICA
Attn: Sr. Coordinator,
Technical Publications Group
130 Shoreline Dr.
Redwood City, CA 94065

de

nti
al

SATURN
Sound Development
Manual, ver. 1.1

nfi

1.Overview ............................................................................................... 3
System Overview ................................................................................. 3
Development Overview ........................................................................ 5
General Sound Development Procedures ........................................... 5Tone Bank Data Composition (Tone Components) .............................. 7
FM (Frequency Modulation) ................................................................. 8
Usable MIDI Commands ...................................................................... 8
MIDI Channels and Voices ................................................................... 9Co

2.Sound Simulator .................................................................................... 10
Main Window........................................................................................ 10
The Sound Simulator ........................................................................... 10

GA

3.How to Use the Sound Simulator .......................................................... 12
Menu Bar .............................................................................................. 12
File Menu ............................................................................................. 12
Edit Menu ............................................................................................. 15
Map Menu ............................................................................................ 16
Window Menu ...................................................................................... 17
Option Menu......................................................................................... 17
4.Sound Driver System Interface ............................................................. 24
System Area Contents ......................................................................... 24
System Interface Area .......................................................................... 26
Sound Control Command .................................................................... 33
Host Interface ....................................................................................... 37
PCM Stream Play................................................................................. 39

SE

Appendix: MIDI Specifications.................................................................. 42
Transmitted Data .................................................................................. 42
Recognized Receive Data ................................................................... 43
System Messages ................................................................................ 44
MIDI Exclusive ..................................................................................... 44
Index .................................................................................................... 50

SATURN Sound Development Manual

1

SE

GA

Co

nfi

de

nti
al

(There is no page 2 in the original Japanese document.)2

1. Overview

ntialSystem Overview• Hardware Requirements
Model

Description

MacintoshSaturn Target Box
MIDI instrument

MIDI keyboard, etc.

Audio equipment

CD player, DAT, etc.

MIDI interface

Studio 5, etc.

• Software Requirements
Software

User

nfi

SystemWaveform
editorSEGA
Products

Tone editor
DSP linker

SEGA
SEGA

Composition tools

MIDI
sequencer

Products

Sound
development
support tool

MastersystemSEGA

Co

Tone development
tool

Macintosh II series or later with SCSI interface.
Operating system: KanjiTalk 7 or System 7 or later
RAM: 16 MB or more
HDD: 300 MB or larger and 1 GB or larger when
making HD recordings
Can operate with sound board above (without mainboard).
Instrument with MIDI output capability
Used for tone development, composition, and creating
sound effects* Device capable of digital output
Used for editing waveforms and HD recording
MIDI interface for Macintosh

deDeviceDevelopment hostmachineDescription

Used to edit waveforms and HD recordings
Can also be used with by waveform edit tools
available on the market (devices that support
AIFF formats such as Alchemy, SDII)
FM/PCM tone development
DSP program development
Digital Performer (Mark of the Unicorn)
Studio Vision (Opcode Systems)
Cubase Audio (Steinberg), etc.
Map Tool
Sound Simulator
Optimization Linker

The tools listed below are for writing and changing sound drivers and other programs, and are not required for the development of sound data (tunes and soundeffects).
User

Description

Text editor

SoftwareSEGA
Market item

Assembler
LinkerDebugger

SEGA
SEGA
SEGA

Used for programming, preparing programs, data,etc.
Can also be used by word processors and text
editors available on the market (those that
support TEXT format)
Macro assembler for 68000
Linker for 68000
Remote debugger for 68000

GA

SystemSE

Programdevelopment
tools

SATURN Sound Development Manual

3

nti
al

• Hardware Setting Diagramde

AUDIO OUTPUT SYSTEM(Amp, Speakers, etc.)

HOST
COMPUTER(Macintosh)

nfi

AUDIO OUT

SATURN TARGET BOX(Target Board for sounddevelopment)

RS-422Co

MacintoshQuadra 900

MIDI IN

AUDIO IN (Digital)

DIGITAL OUTPUT

MIDI OUT
MIDI INTERFACE

DAT

GA

MIDI IN

MIDI OUTSE

MIDI KEYBOARD

4

CD PLAYER

ntial

Development Overview
The Saturn sound system makes it possible to produce sounds without having aknowledge of assembly language or other computer programming, as the target
board itself is constructed as a MIDI polyphonic multiple sound source with a maximum of 32 sounds.

de

By creating tone bank data using a dedicated tone editor configured similarly tosynthesizer tone editors available on the market, sound development can be performed to compose desktop music (DTM) using a regular MIDI sequencer. It is also
possible to use a DSP linker to freely link reverb, delay, chorus and other effects (tothe extent that memory will allow) like those generated by digital multi-effectors on
the market. Using the mixer function of a tone editor, it is possible to set the volume
and type of the DSP effect together with the level or normal position of each tone in
the tone bank data. Development of voice sampling can also be performed efficiently
as data can be directly captured into the Macintosh from the digital input of thetarget board allowing waveform editing.

1. Tool Start Up

nfi

General Sound Development ProceduresFirst start up the sound simulator. It is convenient to start up the tone editor,
waveform editor, DSP linker, and sequencer at the same time, as required.
2. Mapping Sound Memory

Co

When performing sound development, first start up the sound simulator, setsound memory mapping, and then transfer the 68000 sound driver program tothe target board. It is convenient to create the sound area map first and makeadditions and changes whenever necessary.
3. Creating Tone Bank Data Production

GA

Tone bank data is created by the tone editor. Also, SEGA plans to supply a tone
library. Tone data banks use four types of data: mixer, voice, layer, and wave
form, to make a single tone (Refer to “Tone Bank Data Configuration” on Page 7of this manual). Voice is used for program changes using MIDI, so 1 bank canhold up to 128 voices. Therefore, using one tone bank data, up to a maximum of
128 different instrument types can be played.

SE

Tone bank data is transferred to the sound simulator target board. At this stage,
it can function as a multi-sound source for creating sound using MIDI input.
DVA (last in priority) is used as the key sound-generating method. Editing oftones, tone levels, and pan can be performed and multiple tone bank data can be
stored.

4. Editing Waveform

When editing a tone waveform (the basis of tone editing), start the waveform
editor to sample and edit the waveform.

SATURN Sound Development Manual55. DSP Effect Program Link

ntial

The DSP Linker is used to link DSP effect programs. After selecting the desired
effect from the DSP library, the wiring is set and the DSP program for that effectis transferred to the target board. Each parameter of the effect can be edited after
transfer. The number of voices that can be generated simultaneously for modulation effects is decreased from one to four voices since a slot is used as a modulator. See DSP Linker Manual for details.

deSince there are already reverb, echo, chorus and other module libraries, selectand link the desired effect from these. Multiple effects can be used simultaneously in the Saturn sound system, not to exceed 128 steps overall. For example,
suppose an echo was 20 steps, a chorus was 22 steps and an equalizer was 5
steps, then these three would total 47 steps.
Note: Steps are the number of commands in each effect.
6. Creating Sequence Data

nfi

Musical composition and arrangements are performed using the target board asa sound source. The target board has two MIDI IN systems, and since each has 16
channels, a maximum of 32 sequencer tracks can be accommodated. Since the
VOICE number in the tone bank data can be freely selected and the tone changedin each sequence track by MIDI program changes, different tones can be set for
all 32 tracks.
7. Converting Sequence Data

Co

Composed tunes are ultimately converted to a MIDI standard file by the sequencer software (Performer, Vision, Cubase, etc.), and are then converted by thesound simulator to Saturn format data for use by the target board.
There are two types of sequence data: tune data produced by the MIDI sequencer, and sequence data in the Saturn format in a form that can be compressed and loaded into the sound memory. Other than being compressed, this is
the same as deployed MIDI data.
Sound effects are composed basically the same way as musical pieces. In this develop
ment system, there are no differences in the production process and parameter settings
between musical compositions and sound effects.

GA

Note:

8. Simulation (Actual Equipment Simulation Function)

SE

Saturn format sequence data (Sequence Bank Data Yes) are transferred to thetarget board. The sound simulator simulates tunes and sound effects under
actual game conditions in order to check them (discussed later). As long as there
are no problems, the same sound that is generated by the target board with offthe-shelf software is reproduced. At this stage, the final evaluation of the links
and balance between the tunes and sound effects is performed (described hereafter). If there are areas that must be changed, each is redone using a tone editor,
waveform editor, DSP linker and sequencer software.

9. Loading into the Actual Game

6

nti
al

Tone Bank Data Composition (Tone Components)
Each tone bank data component (beginning with the smallest) is explained below.
Waveform Data

PCM data in AIFF format.
Layer Datade

Layer is the basic tone unit which adds LFO, EG, PITCH and FM settings and otherdata to the waveform data. Since volume can be controlled by the MIDI velocity
value, velocity switches, etc., can be realized by setting a velocity table for each layer.
(One layer = one waveform.) Up to 128 layers can be set in one voice.
Voice Data

Voice data are data combining multiple layers to which key splits, the volume foreach layer, the bend range, the porutamento and other data are added. It is also
called batch or performance by other synthesizer manufacturers. Up to 128 can be
set in one bank. Voice data change according to the MIDI program changes.

nfi

Voice data are settings of how many of which layers will be used and which layers
will be sounded according to changes in intervals and volume.
Mixer DataCo

In addition to the above data, the amount of return from DSP effects and pan (fixed
position) and other 16-channel mixing data can be set. Up to 128 can be set in one
bank.

GA

An arrangement of the above elements is one tone bank data. One tone bank data
has at least one voice and can have up to 128 voices, memory permitting. In thissound system, there can be multiple tone bank data in the same map, and each canbe sounded simultaneously as independent sound sources. Therefore, while a tune
or sound effect is being played in one bank, it can be replaced by another bank. This
makes it possible to build a flexible system that facilitates efficient development andmemory utilization.

LAYER DATAWAVEFORM DATALAYER DATAWAVEFORM DATAVOICE DATALAYER DATAWAVEFORM DATAVOICE DATALAYER DATAWAVEFORM DATALAYER DATAWAVEFORM DATALAYER DATAWAVEFORM DATASEVOICE DATA

Note:

Refer to Tone Editor Manual for more information.

SATURN Sound Development Manual

7

nti
al

FM (Frequency Modulation)
FM has become well known through Yamaha’s DX7 and other models, but the FM inthis system is not limited to a sine wave as the fundamental waveform. The various
AIFF format waveform data can be used as both carrier and modulator. Algorithms
for combining them can also be freely configured. It is also possible to change thedegree of modulation by means of the velocity.

Note:

de

The biggest problem with FM is that the carrier and the modulator use one slot each,thus reducing the number of sounds that can be played simultaneously. However,since various tones can be produced by FM if a base waveform (sine wave) is used
as one waveform data, it is highly useful when not wanting to increase the tone bankdata due to RAM restrictions.
The memory for sound is 1024 KB on the target board, but it is 512 KB in the actual hardware.
The area after subtracting sequence data, DSP programs, work RAM, etc., will be assigned totones. Even if the sampling rate is lowered, it is impractical to load several types of PCM
waveforms, comprising large amounts of data, into the memory at the same time.

Co

Note Off is replaced by Gate Time(Bank Select must exist at the top of each track)Must exist at the top of the track
Accommodates both 7 bit and 14 bit expressions
Accommodates only tempo
Exclusive or Start, Stop and Song Position are notaccommodated.

GA

Note on/off
Poly-Key Pressure
Control Change
Program Change
Channel Pressure
Pitch Wheel Change
Meta Event
System Message

nfi

Usable MIDI Commands
Of the events contained in a standard MIDI file, those converted by the converter(launched by the sound simulator) are listed below. As long as degradation storageof the PitchBend is not set by the environment, the following can be converted withno degradation.

If the following conditions are not satisfied, the converter outputs an error message
and stops the conversion operation.

SE• System messages must not be included in standard MIDI files. System messages
include Exclusive, Start, Stop, Song, Position Pointer, Song Select, etc.
• The number of events included in a standard MIDI file before conversion must be
less than 6143 events per track. However, since Note Off is absorbed by Gate
Time after conversion, the number of events becomes much smaller than this.
Similarly, meta events must be less than 256, and each meta event must not exceed
127 bytes in length.
• Always convert standard MIDI files to type #1.
• Only one loop start command (No. 31 of the control changes) can exist in eachtrack.

8ntial• Always set a bank change and program change at the top of each track (not required in blank tracks). Voice numbers and bank numbers that do not exist cannot
be specified by program change or bank select.

de

MIDI Channels and Voices
Since the Saturn sound system can handle MIDI data for up to 32 channels (tracks)
simultaneously, up to 32 instruments can be handled simultaneously when one
MIDI channel is used per instrument. In other words, all of the songs and soundeffects must be played (sounded) within this. There is no problem when a tune orsound effect is played independently. When any combination of a tune and a soundeffect is played simultaneously, each must be assigned to a different channel. In thissystem, 32 MIDI channels are dynamically assigned (DVA) and sounds are generated.

SE

GA

Co

nfi

Therefore, each sequence data must contain this information at the top of the track.
In order to play the correct tone, the bank (control change bank select) and voice(program change) must be specified for each track of sequence data.

SATURN Sound Development Manual92. Sound Simulator

nfi

de

nti
al

Main Window

Co

The Sound Simulator
Sound Simulator is a simulator that produces sound under the same conditions as
when sound data that is created by a sound tool is loaded into a game. Normally, theplay control cannot be tested until after the game program is created and the soundis added, but the Sound Simulator takes the place of the game program by simulating this control using Macintosh software. The Sound Simulator’s functions areclassified as follows:GA❏ Sound system startup❏ Tone data and song data transfer❏ Play control❏ DSP (effects program switching❏ Creation, compression, and linking of Saturn format data
❏ Creation of sound area maps
Sound System Start UpSE

As with the actual equipment, if the power to the sound board is turned off, thesound system will be erased. Therefore, when the power to the sound board isturned on, the sound system must be started up. Click on “System Startup” to perform the following processes that is performed by the sound simulator when a gameis loaded.
• Hardware initialization• System table and sound area map transfer• Sound program transfer• Sound driver startup

10Tone Data and Song Data Transfer

ntial

In preparation for play, a sound area map is used to transmit both tone and songdata to the sound memory. If it is within the range of the map information area size,
tone data and song data can be freely substituted, so several tone data and song data
areas can be used and other song data can be substituted while a song is playing.
Play (Sound Generation) Control

DSP (Effect) Program SwitchingdeControls the start, stop, pause, fade in, fade out, etc., for songs and sound effects. In
addition to using the mouse, play can be controlled in real time by adjusting theabove functions, and can be assigned to the Macintosh (1-8) to allow real-time play.
Effect sound evaluation and combined effect sound evaluation and level matching
can be performed while a song is playing.

nfi

When there are several DSP (effect) programs on a map, a DSP program can bechanged by clicking on “Effect Change” to switch to the desired DSP program. The
DSP program will not run by simple being transferred, “Effect Change” must still beclicked even if there is only one DSP program.
Creation, Compression, and Linking of SATURN Format Data

CoSong data created with the MIDI sequencer can be changed to SATURN format in acompressed state. Multiple songs can be put into one song data bank (sequencebank), and the “Make Sequence Bank” function can be used to link multiple compressed data. It is assumed that multiple song (effect sound) data is in a sequencebank, so even if only one song is in the bank, the “Make Sequence Bank” function
must be used.
Sound Area Map Creation

Sound is controlled by each individual game area. A memory map for each area iscreated in accordance with the tone and song data size, and the effects performed forthat area.

SEGA

The game program looks at this map and transfers tone and song data. The sounddriver also controls tone and play based on this map. Thus the sound area map is avery important memory map that is at the heart of sound development (control).
One sound area map is made for each game. When this data is loaded into a game,
it is passed to the game program and then is transferred to the sound system when
the system is started up.

SATURN Sound Development Manual113. How to Use the Sound Simulator

Menu Bar
There are five menus in the Sound Simulator menu bar:

Following is an explanation of each menuntialThis section explains how to use the functions for each Sound Simulator menu item.

Edit Map Window
O

Open...
Close
Save

S

Save as...
Collect List Open
Collect List Save
Collect List Save As...

Co

FunctionKey Open

nfi

File
New

de

File Menu
When the File menu is opened, a menu like the following is displayed.

FunctionKey Save

FunctionKey Save As...
System startup
Make Current
Download

Effect Change
Quit

Q

New

GA

The File menu is the menu that is used to open and save map files, etc. The functionof each item is given below.
Select to create a new map.
Open...

Select to open maps that have already been created.

SE

Close

Select to close a map that is being edited. The simulator does not quit.
Save

Select to save the map being edited.
Save as...

Select to save the map being edited under a different name.

12Collect List Open

de

nti
al

Opens the collect list file. Selecting Collect List Open opens the following dialog box.

nfi

The existing collect list files are displayed. A collect list is a compilation of multiple
file names, so it eliminates the need to select a file each time. It is used when converting standard MIDI files and when creating sequence banks. Files that are opened
here contain both of the above kinds of collect lists.
Collect List Save

Collect List SaveAs

Co

Saves the currently active collect list file.

Saves the currently active collect list file under a different name.
FunctionKey Open

Calls the saved function key setup settings.
FunctionKey Save

Saves all the set function key setup settings.

GA

FunctionKey SaveAs...

Saves the set function key setup settings under a different name.
System Startup

SE

When System Startup is selected data, such as when the sound driver is transferredto the target board and then the sound system on the target board is launched.

SATURN Sound Development Manual13Make CurrentntialWhen Make Current is selected, switch so that the map currently selected becomes
active. The sound driver then runs this map as the current map (currently validmap). At this time, if there is an autoloader designation in the map file information,
file data is automatically transferred.
Download

Transfers the currently selected file data to the target. Clicking on the file to be transferred causes the file to be displayed in black reverse type to show that it has been
selected. To select several files at the same time, hold down the Shift key while
clicking on the files to be selected. To deselect a selected file, click on the file again.
Effect Change

Quit

SE

GA

Co

nfi

Quits the Sound Simulator and closes the window.

deSwitches the DSP programs when there are multiple DSP programs in the current
map. Clicking on the DSP program to be switched causes it to be displayed in black
reverse type to show that it has been selected. Multiple files cannot be selected at thesame time.

14

Edit Map
Data Edit

ntial

Edit Menu
Opening the Edit menu displays a menu like the following.
Window

New Data
Map Name Change
X

Paste
InsertClear

nfi

New Map

C
V

de

Cut
Copy

Cut Map

Copy Map
Paste Map
Insert Map

Co

Clear Map

Data Edit

Selecting “Data Edit” opens the following dialog box.

GA

Start
Size
Load File
Auto Loader

10000

Type

Bank data

10000
mureseq

0263E

OK

SE

CancelFile size

Here, the map information data is changed. The start address, area size, data type,transfer file, and autoload specifications can be set. Specifying the transfer file causes
the specified file size to be displayed in bytes to be used as a guide for determining
and changing the area size.

SATURN Sound Development Manual

15

New Datantial

Selecting new adds new data to the current map. The data type can be the default“BANK data” or the data type selected last in the Data Edit dialog box. Size is 00000.
Map Name Change

Each area map for each area can be assigned a name of its own. The makes it easierto recognize names in locations with many areas.
Cut

When selected, a confirmation menu appears prompting whether to update theaddress after cutting, or do nothing. The cut data is stored and can be retrieved by
performing an insert operation.

de

Copy

When selected, the currently selected data is stored. It can be retrieved by performing an insert operation.
Paste

When selected, the currently stored data is pasted.

nfi

InsertWhen selected, the currently stored data is inserted. The insertion position is justbefore the currently selected data, which is displayed in reverse. When data has notbeen selected, the insertion is added at the very end.
Clear

Co

When selected, all of the currently selected data, except the data type, is cleared.
New Map, Cut Map, Copy Map, Paste Map, Insert Map and Clear Map

These functions perform the same editing described above, but for maps instead of
data.

SE

GA

Map Menu
Opening the Map menu displays a window like the following.

Here, the area map to be switched is selected. The area maps switched are those thatwill be edited, so this operation does not switch the current map. The difference
between the Map menu and the Window menu is that the latter is only displayed toreference other map windows and cannot be used to select a map. A maximum of
128 individual map data can be registered by the Sound Simulator.

16

nti
al

Window Menu
Opening the Window menu displays a window like the following.
Window
All Close
001 Opening
002 SCENE 1
003 SCENE 2

de

004 BOSS 1
005 SCENE 3

Use this menu to refer to other map information.

nfi

Option Menu
Opening the Option menu displays a menu like the following.
OptionCo

Standard MIDI File Convert
Converter Configuration
Make Sequence BankSound Simulator
Function Key Setup
Display Mode
Display Full Path
OptionGA

Standard MIDI File Convert

SE

Selecting “Standard MIDI File Convert” from the Option menu will open the following dialog box.

SATURN Sound Development Manual

17

nti
al

Displayed here is a list of the songs selected by Add called a Collect List. Nothing isdisplayed until additions and insertions are made using Add and Insert.
Opening the Collect List with “Collect List Open” allows the list to be read without
having to register an addition or insertion each time.
Add

nfi

de

Selecting “Add” opens the following dialog box.

Here, song names are added to the Collect List. Selecting the song name to be added
adds that song to the end of the list.
DeleteCo

Select a song name from the Collect List and click on “Delete” to remove that songname from the list.
InsertSE

GA

Selecting “Insert” opens the following dialog box.

Here, song names are inserted into the Collect List. Click on the place in the Collect
List where to insert the song name and then select the song name. The song name willthen be inserted directly above the song name in the Collect List that was selected.

18

Exec

nti
al

Specifying the song name (standard MIDI file) to be converted and clicking on“Exec” will start up the converter, and a SATURN compressed format file will be
output. The output file format and compression mode, etc., can be specified by
selecting “Converter Configuration” from the Option menu. The final output file
will be output with the specified file name plus the extension “.CNV.” Also, temporary files will be output with the specified file name plus the extension “.TMP.”
Converter Configuration

nfi

de

Selecting “Converter Configuration” from the Option menu displays the following
dialog box.

Co

The meaning of each check box is shown below.
Temporary File Output

Sets whether or not the temporary file before repeat detection is also output.

GA❍ Binary❍ ASCII
Allows user to select whether the final file will be output in ASCII format or binary
format. If it is output in ASCII format, MIDI note information and control change,
etc., can be easily checked.
META Event Comment Output

Sets event portions outside of the conversion target as comments whether or not to
output to an ASCII file. Only valid when ASCII format is specified.
Pitch Bend Event Compress

SE

Sets whether PitchBend is output in the original 14-bit accuracy, or if the accuracy is
reduced and compressed to 7 bits.

SATURN Sound Development Manual

19Make Sequence Bank

nti
al

Selecting “Make Sequence Bank” from the Option menu opens the following dialog box.
Sequence file collector

Addsong 1.CNVsong 2.CNV

Deletesong 3.CNVsong 4.CNV

Insertsong 5.CNV

desong 6.CNV

Cancelnfi

Exec

Displayed here is a list of compressed file names converted by Standard MIDI File
Converter called a Collect List. Nothing is displayed until additions and inserts are
made using Add and Insert.

Co“Collect List Open” allows the Collect List to be read without having to register an
addition or insertion each time.
Add

GA

Selecting “Add” opens the following dialog box.

SE

Here, compressed file names are added to the Collect List. Selecting a compressed filename to be added will add the compressed file name to the end of the list.
DeleteSelect a compressed file name from the Collect List and then click on “Delete” todelete it from the Collect List.

20

Insert

de

nti
al

Selecting insert opens the following dialog box.

nfiHere, the compressed file name is inserted in the Collect List. Click on the location in
the Collect List to insert the file and then select the compressed file name. The compressed file name will be added to the Collect List just above the name of the file thatwas selected.
ExecSound Simulator

Co

Links all the compressed files specified in the Collect List and outputs them as a onesequence databank. The names of the output files can be freely specified.

SE

GA

Selecting “Sound Simulator” displays the following window.

If the sequence bank has been transferred to the currently active map, the sequencebank can be selected from the pull-down menu in the file list box. Selecting thesequence bank displays a list of the sequence names in the bank like that shown
above. Here, select the sequence to play and use the buttons described below tocontrol the play.
SATURN Sound Development Manual21Changes the play tempo.
Specifies the value of the tempo to be changed. Plus values meanfaster, minus values mean slower.
-32786—>+32767 is X2 (1/2 when minus) at 4096.
Starts play.
Stops play.
Generates sound while the sequence fades in.
Generates sound while the sequence fades out.
Temporarily stops play.
Restarts play after pause.
Specifies sequence play priority. In the range 0—>127, 0 has thehighest priority.
Specifies the Fade Level of Fade In and Fade Out. In the range of0—>255, 255 changes the slowest.
Switches the DSP program.
This is the number of the DSP program bank that contains the
DSP program to be switched, and it can be specified from 0 to 15.
Quits Sound Simulator and closes the window.

ntialTempo Change:
Tempo:

Fade Level:
Effect Change:
Bank No.:
Cancel:nfi

deStart:
Stop:
Fade in:Fade out:
Pause:
Continue:
Priority:

Note: Please refer to the chapter on System Interface for a detailed description of each control command.
Function Key Setup

Co

Selecting Function Key Setup displays the following window. All functions of Sound
Simulator’s Start, Stop, Pause, Continue, Fade In, and Fade Out can be assigned using
keys 1~8.
Function key setup

PlayNo

1
2

0
0

3
4
5
6
7
8

0
0
0
0
0
0

Bank Sequence

(0-7)

00

Function

Priority

Fade Level

Non
Non

GA

Key

(0-15)

Non
Non
Non
Non
Non
Non

(0-127)(0-7)(0-255)

Set

Exit

Start
New

Use

SE

Here, the sequence data is controlled by a bank number (0-15) and sequence number(0-127) in the currently active map. Select by clicking the key to be specified andinput the data using the input boxes at the bottom. A maximum of 8 sequences can beplayed at one time, and a play (sound generation) control number is specified whenplay (sound generation) starts (Start/Fade In). After that, Stop, Pause, Continue, FadeIn, and Fade Out can only be controlled with a play control number. The banksequence is not needed (it is ignored).

22

New:

<—/—>:
Use:
Set:
Exit:

nti
al

Fade Level:dePriority:

Selects the play control number from 0-7.
Selects the sequence bank number from 0-15.
Selects the sequence data number from 0-127.
Selects the functions to be assigned to the key from the pull-down
menu.
Start, Stop, Pause, Continue, Fade In, Fade Out
Selects the sequence play priority from 0-127. 0 has the highest
priority.
Selects the Fade Level for Fade In and Fade Out from 0-255. 255
changes the slowest.
Up to 32 pages can be recorded for 1-8 key assignment. New
assignment pages can also be added.
Add the name of each page by inputting it in the input box
between the lower left < and >.
Used to selected the key assignment pages.
Select a page using <— —> and then confirm the active key
assignment using Use.
Assigns the data set using the bottom input box to a key during
selected.
Saves all of the setting values set in this window and then closes
the window.

nfiPlay No.:Bank:
Sequence:
Function:

Display ModeCo

Selecting “Display mode” opens the following dialog box.

GA

Specifies the font size of display characters. Choose a large font size when the screen issmall and the characters are hard to read.
Display FullPath

SE

Selecting “Display FullPath” opens the following dialog box.

When data or a folder has been moved by dragging or otherwise, it is possible thatspecified files will not be in their previously recorded (registered) folder position, andfile data cannot be read. After selecting the file name by clicking on it, select “Display
FullPath” to display the full path of the folder in which the file is registered.

SATURN Sound Development Manual23Sound Driver System Interface

nti
al

4.

This chapter explains how the game program controls the sound system, so those
not concerned with this area need not read this section.

deSystem Area Contents
The system area is a fixed area that operates the sound driver provided by the SEGA
sound memory, and cannot be used for any other purpose. This area’s mapping also
cannot be changed, and when developing sound there is no need to know the contents of this area. 44 KB in the 4 Mb of sound memory can be used from the first(starting) number (00000h) to (B000h), and the contents are as described below.
68K Vector Table

This is vector table for program interrupt processing by the sound CPU (68K). The
size is fixed at 400H from 0000h and cannot be changed.
System InterfaceArea

nfi

This is fixed area for interfacing among various systems, such as sound drivers, tone
development systems, the host system for game assembly, etc., and this system. It
extends from 0400H to 400H and cannot be changed.
68K ProgramArea

68K Work Area

Co

This is the program area for the sound CPU and is used to store and execute all
programs related to sound. The top address and size of this area are stored in thesystem information table of the system interface area.
This is the program work area for the sound CPU and is used as a work area by allsound-related programs. The top address and size of this area are stored in thesystem information table of the system interface area.

GA

Sound Area Map

SE

The sound area map is stored here. Up to 128 area maps can be held in one soundarea map (one area map can hold up to 32 map data). Using a sound simulator, one
sound area map can be made for one game. Since this area is only for storing theentire sound area map, the map data of the currently selected area references soundarea map CRNT work of the system interface area. The top address and size of thisarea are stored in the system information table in the system interface area.

24

System Area Memory Map

0400H

68K vector table (400H)

nti
al

0000H

0400H

System interface area (400H)

0800H

4KB

Reserved area
(800H)

0440H

System interface table

64B

System information table

64B

System interface work

128B

0480H

1000H

0500H

20KB

nfi

Sound driver(3000H)
Sequence defrost processing(2000H)de

68K program area

Sound area map
CRNT work

256B

0600H

6000H

Tool interface work
(128B)
256B

Co

0680H

68K work area

GA

Sound driver(1800H)
Sequence defrost processing(2800H)

Monitor area
(128B)

0700H

16KB

Host interface work

256B

07FFH

A000H

SE

Sound area map(1000H)

4KB

AFFFH

(Total 44KB)

SATURN Sound Development Manual

25

nti
al

System Interface Area
In the Saturn sound system, a system interface area provided in the fixed area of thesound memory is used to exchange information between sound drivers, tone development systems, the host system for game assembly and other systems. It comprises
an information table that stores system information and a work area for exchanging
information.
System Interface Table (400H–43FH: 64B)

Offset
+00
+04
+08

Size
4B
4B
4B

040C
0410
0411
0412
0416–043F

+0C
+10
+11
+12
–

4B
1B
1B
4B
42B

Area
System information table pointerHost interface work pointerSound area map CRNT work
pointer
Tool interface work pointerDSP Program load flag
Sound Driver load flag
System Interface Work pointer–Contents
Top address of system information table (0440h)
Top address of host interface work (0700h)
Top address of sound area map CRNT work
(0500h)Top address of sound tool interface work (0600h)
BOOT ROM program work
Sound Driver program work
System interface work area start address (0480h)
Reserved area

nfi

Address
0400
0404
0408

de

This is an information table for controlling the interface between each of the systems
during sound development or game assembly, and it is stored at a fixed address inthe sound memory. A work area for sound development and a system interface in
actual equipment is included.

The numerical values in parentheses show changes as a result of version upgrades.

Co

System Information Table (440H–47FH: 64B)

This is an information table in which system information of the sound system isstored at a fixed address in the sound memory.
OffsetSize

Information Data

0440

+00

4B

68K program start address

Top address of 68K program area

(1000h)

0444

+04

4B

68K program size

Size of 68K program area

(5000h)

0448

+08

4B

Sound area map start address

Top address of sound area map area (A000h)

044C

+0C

4B

Sound area map size

Size of sound area map area

(1000h)

0450

+10

4B

68K work start address

Top address of 68K work area

(6000h)

0454

+14

4B

68K work size

Size of 68K work area

(4000h)0458 - 047F

–

40B

–

Reserved area

GA

Address

Contents

SE

The numerical values in parentheses show changes as a result of version upgrades.

26

System Interface Work (480H-4FFH: 128B)

Size
1B

Information Data
PCM ch 1 stream play slot

+01

1B

PCM ch 2 stream play slot

+02

1B

PCM ch 3 stream play slot

+03

1B

PCM ch 4 stream play slot

+04

1B

PCM ch 5 stream play slot

+05

1B

PCM ch 6 stream play slot

+06

1B

PCM ch 7 stream play slot

+07

1B

PCM ch 8 stream play slot

--

120B

--

Contents
PCM stream play ch 1 slot
number
PCM stream play ch 2 slot
number
PCM stream play ch 3 slot
number
PCM stream play ch 4 slot
number
PCM stream play ch 5 slot
number
PCM stream play ch 6 slot
number
PCM stream play ch 7 slot
number
PCM stream play ch 8 slot
numberReserved Area

SE

GA

Co

nfi

de

pointer+xx
+00

nti
al

This work area is used for exchanging information between systems.

SATURN Sound Development Manual27

Sound Area Map CRNT Work (500H-5FFH: 256B)+ 00 (hex)

1B

Data
End mark
Data ID
ID number

Data end bit
Data type
Data number

Contents(bit 7)0/1(bits 4-6)
0-3
(bits 0-3)
0-15

+ 01

3B

Start address

Area start address(bits 0-19)00000-FFFFF

+ 04

1B

Load markTransfer end bit(bit 7)

0/1

+ 05

3B

Area size

Area size(bits 0-19)00000-FFFFF

:
:

de

Size

nfi

pointer + xxntial

The area map (up to 32 map data are called the active map) of the currently selectedarea is stored in this area. When a map change is received from the host system, thesound system transfers the area map of the active area to this area. One map datacomprises 8 bytes, and one area can hold up to 32 map data (8 x 32 = 256B). Since themap data is stored in random order and the number of map data can vary, data issearched by type and data number. Data is stored from the top; when there is no
more data, the data end bit of the map data is set.

1B

End mark
Data ID
ID number

Data end bit
Data type
Data number(bit 7)(bits 4-6)
(bits 0-3)

0/1
0-3
0-15

+ F9

3B

Start address

Area start address(bits 0-19)00000-FFFFF

+ FC

1B

Load mark

+ FD

3B

Area size

Co

+ F8

(bit 7)0/1

Area size(bits 0-19)00000-FFFFF

SE

GA

Transfer end bit

Note:

28

The “DSP Work RAM” can only be set in units of 8 KB (2000H). In addition, setboth the address and size to an even number. Odd numbers cannot be set.

Tool Interface Work (600H–6FFH: 256B)

Size

Data

Contents+ 00 (hex) 2B–

Reserved

+ 02

2B

–

Reserved+ 04

4B

Area Start Address

Start address of waveform editor RAM area

+ 08

4B

Area total size

Total size of waveform editor RAM area

+ 0C

2B

–

+ 0E

4B

Area Start Address

+ 12

4B

Area total size

+ 16

2B

–

de

pointer +
xx

nti
al

Work that stores RAM area information used by the waveform editor, tone editor
and DSP linker. The second-half 128 bytes are a monitor data area for monitoring theplay status.

+ 18

4B

TrgtMem_DSPprogAddress

DSP linker dedicated area

+ 1C

4B

TrgtMem_DSPprogSize

DSP linker dedicated area

+ 20

32B

TrgtMem_Filename

DSP linker dedicated area

+ 40

4B

TrgtMem_DSPRAMSize

DSP linker dedicated area

+ 44

2B

TrgtMem_RBL

DSP linker dedicated area

+46

4B

TrgtMem_ModElementAddress

DSP linker dedicated area

+4A

4B

TrgtMem_ModeElement Size

DSP linker dedicated area

+4E

1B

TrgtMem_NumberOfElements

DSP linker dedicated area

+ 4F - 7F

49B

–

4B

Total size of tone editor RAM area

nfi

Co

Voice 1 monitor

Reserved

Bits 24-31 (1st byte):
Bits 16-23 (2nd byte):
Bits 08-15 (3rd byte):
Bits 00-07 (4th byte):

Program (voice) number 0-127
MIDI note number 0-127
MIDI velocity 0-127
Reserved

Bits 24-31 (1st byte):
Bits 16-23 (2nd byte):
Bits 08-15 (3rd byte):
Bits 00-07 (4th byte):

Program (voice) number 0-127
MIDI note number 0-127
MIDI velocity 0-127
Reserved:::

Voice 32 monitor

SE

4B

Start address of tone editor RAM area

Reserved

GA+ 80 - 83

Reserved+ FC - FF

SATURN Sound Development Manual29Host Interface Work (700H–7FFH: 256B)

ntialThis is a work area for communicating between the host system and the soundsystem. Commands are received via this area from the host system, and it returns
status/timing flags, etc. Basic control is performed in the areas listed below. Since
specific commands are required depending on the project (game), unused area isallotted as required. Modes, status, etc., can similarly be added or changed as required.
pointer + xx
+ 00 (hex)

Size
16B

Interface Data
Command block 1

Contents
Command block 1 from host to sound(Host -------> Sound)

+ 10

16B

Command block 2

Command block 2 from host to sound(Host -------> Sound)

+ 20

16B

Command block 3

Command block 3 from host to sound

+ 30

16B

Command block 4

Command block 4 from host to sound

+ 40

16B

Command block 5

Command block 5 from host to sound(Host -------> Sound)

+ 50

16B

Command block 6

Command block 6 from host to sound(Host -------> Sound)

+ 60

16B

Command block 7

Command block 7 from host to sound(Host -------> Sound)

+ 70

16B

Command block 8

Command block 8 from host to sound(Host -------> Sound)

+ 80

2B

Song 1 mode/status

Play sequence 1 mode/status(Sound -------> Host)

+ 82

2B

Song 2 mode/status

Play sequence 2 mode/status(Sound -------> Host)

+ 84

2B

Song 3 mode/status

Play sequence 3 mode/status(Sound -------> Host)

+ 86

2B

Song 4 mode/status

Play sequence 4 mode/status(Sound -------> Host)

+ 88

2B

Song 5 mode/status

Play sequence 5 mode/status(Sound -------> Host)

+ 8A

2B

Song 6 mode/status

Play sequence 6 mode/status(Sound -------> Host)

+ 8C

2B

Song 7 mode/status

Play sequence 7 mode/status(Sound -------> Host)

+ 8E

2B

Song 8 mode/status

Play sequence 8 mode/status(Sound -------> Host)

Total Volume L

1B

Total Volume R

+92

1B

H-vol L

+93

1B

H-vol R

+94

1B

M-vol L

+95

1B

+96

1B

+97

1B

+98

1B

+99

1B

+9A

1B

+9B

1B

+9C

1B

+9D

1B

+9E

(Host -------> Sound)

de

nfi

Co

1B

+91

Total volume data L (0-255)(Sound -------> Host)

Total volume data R (0-255)(Sound -------> Host)

High-Pitch Range Volume data L (0-255)(Sound -------> Host)

High-Pitch Range Volume data R (0-255)(Sound -------> Host)

Medium-Pitch Range Volume data L (0-255)(Sound -------> Host)

M-vol R

Medium-Pitch Range Volume data R (0-255)(Sound -------> Host)

L-vol L

Low-Pitch Range Volume data L (0-255)(Sound -------> Host)

L-vol R

Low-Pitch Range Volume data R (0-255)(Sound -------> Host)

PCM ch 0 adrs

PCM ch 0 play address (00h-0Fh)(Sound -------> Host)

PCM ch 1 adrs

PCM ch 1 play address (00h-0Fh)(Sound -------> Host)

PCM ch 2 adrs

PCM ch 2 play address (00h-0Fh)(Sound -------> Host)

PCM ch 3 adrs

PCM ch 3 play address (00h-0Fh)(Sound -------> Host)

PCM ch 4 adrs

PCM ch 4 play address (00h-0Fh)(Sound -------> Host)

PCM ch 5 adrs

PCM ch 5 play address (00h-0Fh)(Sound -------> Host)

1B

PCM ch 6 adrs

PCM ch 6 play address (00h-0Fh)(Sound -------> Host)

+9F

1B

PCM ch 7 adrs

PCM ch 7 play address (00h-0Fh)(Sound -------> Host)+A0-FF

96B

Reserved

--

SE

GA

+ 90

(Host -------> Sound)30

Command Block

The sound memory access from the host can be 1 byte (byte), 2 bytes (word), and 4 bytes(long word), but because of the hardware, the processing time for byte access and word
access is the same. Also, one long word access is slightly faster than two word accesses.

Play Sequence Mode/Status

nfi

Note:

Command Code(Reserved)
Parameter 1 (P1)
Parameter 2 (P2)
Parameter 3 (P3)
Parameter 4 (P4)
Parameter 5 (P5)
Parameter 6 (P6)
Parameter 7 (P7)
Parameter 8 (P8)
Parameter 9 (P9)Parameter 10 (P10)
Parameter 11 (P11)
Parameter 12 (P12)
Parameter 13 (P13)
Parameter 14 (P14)

de

+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15

nti
al

For host to sound commands, 8 16-byte command blocks are provided. As a result, amaximum of 8 commands can be issued at the same time. Due to parameter word
access and other transmission efficiency reasons, the offset’s +1th is not currently
used. Each parameter is one byte.

Song play mode
Status[song play mode][status]

00:
01:
02:
03:
04:
05:
06:

00:
01-7F:
80-FF:

Co+0+1

normalerror codetiming flag

SE

GA

Stop
Play
Fade inFade out
Play pause
Fade in pause
Fade out pause

SATURN Sound Development Manual31

PCM Play Address

Use caution, since the sound CPU cannot operate while the host system is accessing thesound memory. Keep reading and writing of the sound memory by the host system to aminimum and do not allow continuous access over long periods.

SE

GA

Co

nfi

de

Note:

nti
al

This is the number of samples from the start of the area at the current playing data
position. When playing at 8 bits, it refers to the number of bytes, and when playing
at 16 bits, refers to the number of words. The number of samples is 16 bit data, but
only the first 4 bits are stored here. Therefore, the monitoring can only be done in 4K
sample units.

32

nti
al

Sound Control Commands
The table below describes the commands and parameters issued to the sound system from the host system. Parameter length can vary depending on the command.
Basic control is performed using these commands, but since specific commands
become necessary depending on the project (game), unused command codes areallotted as required. Commands and parameters can similarly be added or changed
as required.
Command Data
00 (hex)
Nothing

Sequence Start

01

P1
P2
P3
P4
P5
P6

Sequence Stop02

P1 0-7:

sound control number
sequence bank number
sequence song number
Fade level (setting not required)priority level0: Play disable
1: Play enablesound control number

Sequence Pause

03

P1 0-7:

sound control number

Sequence Continue04

P1 0-7:

sound control number

Fade In

05

P1
P2
P3
P4
P5
P6

Fade Out06

Tempo Change

07

Map Change

08

MIDI Direct Control

09

Volume analyze start0A

P1 00h or 10h: 00h-MIDI port#0 10h-MIDI port#1
P2 80h-EFh:
MIDI commandP3 00h-7Fh
MIDI data 1
P4 00h-7Fh:
MIDI data 2
nothing

Volume analyze stop

0B

nothing

CD–DA Level80

P1 00h-E0h

CD–DA Pan

81

0-7:
0-15:
0-127:
0-255:
0-127
bit7

sound control number
sequence bank number
sequence song number
Fade level (0 is fastest)
Priority level0: Play disable
1: Play enableP1 0-7:
sound control number
P2 -0-255: Maximum speed at Fade level 0.
P1 0-7:
sound control number
P2 --:
dummy
P3-P4 +32767-->-32768: The relative tempo value for the standard
tempo (0000h) is 2x when 1000h(4096) and 1/2 when minus.
P1 0-255: area number of sound area map that can be changed

CD-DA level left
00h(off),20h,40h,60h,80h,A0h,C0h,E0h(MAX)'s 8 steps
P2 00h-E0h:
CD-DA level right00h(off),20h,40h,60h,80h,A0h,C0h,E0h(MAX)'s 8 steps
P1 0-31:
CD-DA pan left; 32 steps
P2 0-31:
CD-DA pan right; 32 steps

SE

GA

Co

nfi

0-7:
0-15:
0-127:
0-255:
0-127:
bit7:

Parameter DatadeCommand Name
Reserved

SATURN Sound Development Manual33

Command Name

Command Data

Parameters82

P1 0-15:

16 steps, 0 is OFF

Effect Change

83

P1 0-15:

effect bank number

PCM start

85

P1 0-7:
P2 0-7:P3 bit7-5
bit4-0P4 bit6-3
bit2-0
P5-P6
P7 bit7-5
bit4-0P8 bit6-3
bit2-0chA channel number
chB channel number(only during stereo play)
0-7:
chA Level 8 steps
0-31:
chA Pan 32steps
0-15:
chA Effect select0-7:
chA Effect send level 8 steps
chA pitch word (16 bit)
0-7:
chB Level 8 steps(only during stereo play)
0-31:
chA Pan 32steps(only during stereo play)
0-15:
chB Effect select(only during stereo play)
0-7:
chB Effect send level; 8 steps (only during stereoplay)
chB pitch word (16 bit)(only during stereo play)
0000h-FFFFh:
PCM stream buffer start address(20-bit data's first 16 bits)
0000h-FFFFh:
PCM stream buffer size
(Number of words for 1ch)
Play stop channel number

P13-14
PCM stop86

P1 0-7:Mixer Change

87

Mixer Parameter
Change

88

P1
P2
P1
P3

Reserved

89-FF

SE

Note 3:34

nfi

To conduct separate analysis of frequency bands with volume analyze, a dedicated DSP
program is required. Therefore, the dedicated DSP program using the Effect Changecommand must be downloaded before issuing the command,. The DSP program is not
required for the main volume. Also, since data update during volume analysis is done at 16
msec intervals, set the volume data read to 16 msec or more.
When playing chA and chB at the same time at PCM start, the area specified by P11-P12 isdivided in two with processing for chA being performed in the first half from the start andprocessing for chB being performed in the second half. Make sure that the PCM stream
buffer starts at an even number and has an even number size. The PCM stream buffer start
address occupies the first 16 bits of 20-bit data (00000h-FFFFFh), and the last 4 bits arealways 0. The pitch words for P5 and 6, and P9 and 10 are specified as they are as SCSP
pitch register word octaves + F number. For details regarding pitch, refer to the SCSP
manual.
The sound CPU will not operate during PCM stream play data transmission (host to soundmemory). Thus if a song and an effect are being played at the same time, the operation
cannot be guaranteed when data is transferred continuously for a long time. Perform
transfers using DMA burst writes or intervals.

Co

Note 2:0-15:
Tone bank number
0-127: Mixer number
0-15:
Effect selectbit7-5 0-7:
Effect return Level ;8 steps
bit4-0 0-31:
Effect Pan; 32 steps
Nothing

GA

Note 1:deP9-P10
P11-P12nti
alTotal Volume

The meaning of each parameter is explained below.

ntialSound Generation Control Number

Up to eight sequences can be controlled at the same time when these sequences areplayed, and are specified by sound control numbers 0-7 when the sequences arestarted. Subsequent stop, pause, continue and other commands are executed according to these sound control numbers.
Sequence Bank Number

deWhen multiple sequence data banks where sequence data is stored are mapped in
the currently active map, this number specifies the number of the sequence databank in the active map. Since a maximum of 16 of the same banks can be held in one
map, this value will be any number from 0 to 15. If there is only one sequence databank, this number is always 0.
Effect Bank Number

Sequence Song Number

nfi

When multiple DSP program banks that store DSP microprograms are mapped in
the currently active map, this number specifies the number of each DSP programbank in the active map. Since up to 16 banks can be held in one map, the value is any
number from 0 to 15. When there is only one sequence data bank, this number isalways “0”.

Mixer Number

Co

Multiple sequence data can be stored in sequence data banks. Specifies the numberof the sequence data in the sequence data bank when there are multiple numbers ofsequence data stored. Up to 256 sequences can be stored, area size permitting.
Sets the mixer number to be switched when multiple mixers are kept in a tone bank.
Since a maximum of 128 mixer data can be kept in one tone bank, use settings 0-127.
Effect SelectGA

This is the effect input channel for when a signal is input to the DSP. Since 16 channels are used for DSP input, use settings 0-15.
Priority Level

SE

Specifies the priority level in 128 steps when sequences are played. The highest
priority is “0”, and the lowest is “7”. Sequences of the same priority level are all
played simultaneously, but sequences with lower priority are not played. A sequence waiting to be played starts to generate sound after the sound generation of
the sequence with a higher priority is complete. The waiting sequence now has
highest priority.

SATURN Sound Development Manual35

Play Disable and Enablenti
alSpecifies whether play will be stopped by sound priority control or whether playwill continue when a sequence that could not be played at first is changed to a status
where play is possible. Continuous play is done using play enable (bit 7=1).
Fade Level

During Fade In, the time from when playing begins until maximum volume is specified in 256 steps (0-255). At “0” (the highest speed), the maximum volume isreached at the same time playing begins. During Fade Out, the time from whenplaying stops until minimum volume is specified in 256 steps (0-255). At “0”, theminimum volume is reached when playing stops.

dechA/chB Channel Numbers

Since a load equivalent to the data transfer is imposed on PCM stream play by play rate,
there are some cases where all 8 sounds cannot play. A rule of thumb is given in the item
“Load During Data Transmission,” so please refer to this item.

Pan (32 Step) Details
00h
Max
Max

01h
--Max

02h
--Max

--->
--->
Max

SE

GA

Left
Right

Co

Note:

nfi

Since PCM stream play can play up to a maximum of 8 channels, channel numbers
0-7 should be used. During monoaural, make sure the chA and chB channel numbers are set to the same number. When different channel numbers are set, stereo playcan be processed. During stereo play, prepare two areas (A/B) in the PCM stream
buffer and divide the Pan into left and right. The Pan has 32 steps and any fixed
position (pan) for which the position can be set can also be changed in accordancewith time.

36

0Fh
Off
Max

10h
Max
Max

11h
Max
---

12h
Max
---

--->
Max
--->

1Fh
Max
Off

nti
al

Host Interface
Since the sound system runs in RAM, all data, including the sound system program,are lost when the power is turned off. Therefore, the sound system must be restarted
each time the power is turned on. When developing tones, the sound simulator, notthe host system, initializes the sound system. When installing games, however, thehost-side system must do all initialization. Also, the sound CPU is reset when thesystem power is turned on and cannot operate until the host system releases thisreset. Therefore, the sound system should be started as described below.
Starting the Sound System

nfi

de

1. Initialize the SCSP registers so that the SCSP can access.
2. The system area (from 0000h to B000h) is initialized with all zero clear.
3. Transfer the 128 byte information table part of the system interface cable to a
fixed area (400h-47Fh).
4. Transfer the sound program to the sound memory. Reference the system information table (page 26) for the transfer destination and size.
5. Transfer the sound area map to the sound memory. Reference the system information table (page 26) for the transfer destination and size.
6. Set the sound CPU reset vector for the sound CPU. Reference the system information table (page 26) for the address. SSP does not need to be set.
7. Cancel reset of the sound CPU.

Transfer File Name

Information Table:

SYSTBL.TSK (System interface table information table part
128 bytes)
SDDRV.TSK (Sound driver main part)
Determined separately for each game.
Determined separately for each game.
Determined separately for each game.
Determined separately for each game.

SE

GA

Sound Program:
Sound Area Map:
Tone Data Bank:
Sequence Data:
DSP Program:

Co

The above procedures will start the sound CPU and run the program from the reset
vector in the sound memory. The SCSP registers, canceling reset and other hardware
subjects are described in greater detail in the “SCSP User’s Manual”.

SATURN Sound Development Manual37

Preparing for Playntial

The sound controller is prepared by starting the sound system, and preparation forplay is performed next. Because transfer of tune data and sound effect data (referred
to in combination as sequence data) to the sound memory and playing of tunes andsound effects are all performed according to the sound area map, the initial area isfirst specified. Whenever there is a subsequent area change, the map change command must be implemented for the area to be changed.

de

1. Issue the Map Change command for the initial area.
2. Transfer the tone data to the sound memory. Reference sound area map (page 28)
CRNT work (page 28) for destination and size.
3. Transfer sequence data to the sound memory. Reference sound area map CRNT
work for destination and size.
4. Transfer the DSP program to the sound memory. Reference sound area map
CRNT work (page 28) for destination and size.
5. Perform sequence data control such as start and stop.
Hardware Interface

Software Interface

Co

nfi

Two communication methods are used for communications between the host systemand the sound system. One, which uses the sound memory, is command handshake
which utilizes the ability of the host system to access (R/W) the sound memory. The
other method communicates using interrupts, wherein the host is connected to thesound system by two signals and the sound system is connected to the host system
by one signal, for a total of three interrupt signals. In this version, which allows
selection of the optimum system depending on the game and system content or
system, sound memory is used.

GA

The host system and the sound system are connected via SCU, but because memory
access is one way (R/W) from the host, the communication protocol is implemented
by a handshake that uses the host interface work area. The host system confirms thatthe command data area of the host interface work area is 00H and writes the command and necessary parameters, and the sound system initializes the commanddata area at 00H when it receives the command. Since the sound system continually
updates the song mode/song status area regarding the play status, etc., of eachsequence, have the host system reference (read) this area.

SE

The CD-BIOS performs all control for the CD-DA and sends the sounds to the soundsystem. The sound system can change the volume and the left/right pan of thesound and apply effects. In order to apply effects to the CD-DA, a special DSP program is required. Normally, effects are altered through effect changes in the sequence data, but effect changes should be performed from the host if necessary.

38

PCM Stream Play
Overview of Play Methodntial1. Transmit the PCM data to the PCM play area (PCM stream buffer).
2. Issue [PCM start: 85h] using the host interface sound control command.
3. After that, write the PCM data to the PCM stream buffer play end position at
specified times.
4. When the play area ends, the sound chip repeats play from the start of the area.
5. Repeating this operation allows continuous play of PCM data.
6. When PCM play is finished, issue [PCM stop: 86h] using the host interface soundcontrol command.

chA buffer 1
chA buffer 1
chA buffer 1
Buffer Allocation Method

nfi

chA buffer 1

deExample of playing PCM in stereo 2ch using the PCM stream buffer:(The buffer is logically divided in two.

SE

GA

Co

Since sound memory allocation (sound area map) is created before the game iscreated, this sound area map will have a PCM stream play buffer if there is a situation to perform PCM stream play. Mapping cannot be specifically used for PCM
stream play, but can be used to allocate an extra area for tone and sequence data
storage. The size can be freely set. Select the optimum size for each situation asnecessary. Set address and size by searching the sound area map. Since the currently
active sound area map is stored in a target memory fixed address, searching is
simple.

SATURN Sound Development Manual39Buffer Rewrite Timing

16,666 msec ÷ 22.68 msec = 735 wordsntial

PCM play is fixed at 44.1 KHz by the hardware and therefore 1 word (16 bits, 2
bytes) is played every 22.68 µsec from play start. Therefore, since using V int, it is 16
msec,

de

which makes it acceptable to rewrite 735 words every 16 msec. If the PCM stream
buffer has a minimum of 2 areas, processing can logically be done. To leave an allowance for timing, the buffer can have several areas depending on the situation. If
an allowance is made initially for the time lag until play starts, reading can then be
performed at the correct time, which makes it easy to estimate how much reading
has been done currently by the timer, etc.

nfi

In addition, to obtain more accurate rewrite timing, the current memory address
during play is stored, and the timing to can be obtained from this information. In
this case, time calculation and play address estimation are not necessary, thus allowing programming. However, the accuracy of the data that can be referenced applies
only to the first 4 bits of a 16-bit sample, and therefore, monitoring accuracy is per
every 4-K sample.
Load During Transfer

During DMA burst write:

Co

When using DMA, do so in such as a way that the sound CPU can operate using the
burst write mode. When continuously transferring during DMA operation, thesound CPU cannot be run. The 735 words in the following equation is the numericalvalue during 44.1 KHz monaural play, and thus the load is half (368 words) when
the rate is 20 KHz.
1 word transfer = 4 clock (1 clock = 35 nsec)
When the allowance is 1 word transfer = 6 clock (= 154.35µsec) 154 µsec is required to transmit 735 words as the SH
transmission capability.

GA

However, if another play or DSP operation overlaps, a condition arises whereby
only about 20-30 percent of the sound memory can be accessed during a single
sound chip cycle (22 µsec). In that case, that part incurs an extra wait.
When that happens, a 16-word transfer takes 22 µsec, 735
words at 735/16 = 46, 22 µsec x 46 = 1,012 µsec, and approximately 1 µsec is required.

Time Lag Until Play StartSE

The sound driver draws commands from the host every 2 msec and therefore it cantake a maximum of 2 msec from the time the host issues a command until playstarts. This interval can be changed, but actually is thought to go as high as 4 msec.

40

Handling Play Frequencies Other Than 44.1 KHz

Precautions when Playing at Other than 44.1 KHz

ntial

The sound chip plays at 44.1 KHz at all times. When playing at other frequencies,
handle the pitch parameter should be used. For example, when playing at the halffrequency of 22 KHz, play with the pitch at 2x. If play is performed with the play
pitch at 1/2, the original pitch reappears. The pitch can be changed by ±8 octaves
and each octave can be divided into 1,024 steps. This range of accuracy can be used
at any frequency. Since simple proportional calculations are used, the calculations
can be done ahead of time if the frequency to be used is known. During play, this ispassed to the sound as the parameter called “pitch.”

SE

GA

Co

nfi

de

Changing the pitch changes the play speed (the speed of data read operation fromthe PCM stream buffer). The speed described in “Buffer Rewrite Timing” is 44.1
KHz, and at other speeds, time control commensurate to (accommodating) the pitch
must be performed. The pitch and read speed are inversely proportional, and thiscalculation is therefore also simple. When reading the same data, if the pitched ishalved, the read time is doubled. When the pitch is doubled, the read time is halved.

SATURN Sound Development Manual

41

nti
al

Appendix MIDI Specification
Transmitted Data
Channel Messages
Transmit nothing

SE

GA

Co

nfi

System Exclusive Messages
Refer to “MIDI EXCLUSIVE”.

deSystem Messages
Transmit nothing42

Channel Messages

ntialRecognized Receive Datasecond0kkk kkkk

third
0xxx xxxx

description
note offnote onstatus1001 nnnn
1001 nnnn

second0kkk kkkk
0kkk kkkk

third0000 0000
0vvv vvvv

description
note offnote onvvv vvvv = 1 - 127

control change
status1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn
1011 nnnn

second0000 0000
0000 0001
0000 0101
0000 0111
0000 1010
0001 0000
0001 0001
0010 0000
0100 0000
0100 0001

third
0vvv vvvv
0vvv vvvv
0vvv vvvv
0vvv vvvv
000v vvvv
0vvv vvvv
0vvv vvvv
0vvv vvvv
0vvv vvvv
0vvv vvvv

1011 nnnn

0100 0001

0vvv vvvv

denote off
status1000 nnnn

Co

nfi

descriptionbank change# LSB
modulation
portamento time
master volume
pan pot
mixer change
effect pan pot
bank change# MSB
damperportamento off
vvv vvvv = 0 - 63
portamento on
vvv vvvv = 64 - 127
effect change
all note off

0101 1011
0111 1011

0vvv vvvv
0000 0000

program change
status1100 nnnn

second0ppp pppp

third
—— ——

program change
status1110 nnnn

secondthird
0bbb bbbb 0bbb bbbb

description
voice change

description
bender change

SE

GA

1011 nnnn
1011 nnnn

SATURN Sound Development Manual43System Messages
Refer to MIDI EXCLUSIVE
IgnoreIgnoreIgnoreIgnoreRefer to MIDI EXCLUSIVE
IgnoreIgnoreIgnoreIgnoreIgnore
Used

nti
al

Exclusive message
quater flame (sic) Message
song position datasong selecttune request
End of exclusive
timing clock
start
continuestop
active sensing
system resetde1111 0000
1111 0001
1111 0010
1111 0011
1111 0110
1111 0111
1111 1000
1111 1010
1111 1011
1111 1100
1111 1110
1111 1111

MIDI Exclusive
Saturn System Exclusive

Note:

Co

nfi

1st Byte = 1111 0000 (F0H) : Exclusive Status
2nd Byte = 0100 0011 (43H) : YAMAHA ID
3rd Byte = 0111 1001 (79H) : DIV
Exclusive
4th Byte = 0iii iiii (iiH) : Device ID
Header
5th Byte = 0000 0001 (01H) : Saturn ID
6th Byte = 0fff ffff (ffH) : Command Code
7th Byte = 0ddd dddd (ddH) : data::
: :LastByte = 1111 0111 (F7H) : End of Exclusive

The device ID is for identification when multiple MIDI devices are connected to the Saturn
Development Board. Please set to “0” in normal cases.

Command Code List

Description
Receive
data Dump Request
Odata SetO
Acknowledge
O
Not Acknowledge
O
Reset
O
SCSCBIN data change O
data Dump

GA

Command
00H
01H
02H
03H
04H
05H
41H

SE

Note:
Receive : SATURN Target BOARD
Transmit : SATURN Target BOARD

44

Transmit

O
O

O

EXT.MIDI Instrument
EXT.MIDI Instrument

MIDI Exclusive Format
R: receive; T: transmit
R

nti
al

Command=00H : data Dump Request

Command=01H : data Set

R

de

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Headder0000 0000
data Dump Request
0000 mmmm
byte size(see Note 1-1)0000 mmmm
0000 kkkk
start address (see Note 1-2)0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0sss ssss
check sum(see Note 1-3)
F7H
E0X
Receives this message, and transmits Command = 41H message
or Command = 03H message.

SE

GA

Co

nfi

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Header
0000 0001
data Set
0000 mmmm
byte size(see Note 1-1)0000 mmmm
0000 kkkk
start address (see Note 1-2)0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 hhhh
write data
(see Note 1-4)0000 llll~
0000 hhhh
0000 llll
0sss ssss
check sum(see Note 1-3)
F7H
E0X
Receives this message, and transmits Command = 02H message
or Command = 03H message.

SATURN Sound Development Manual45

Command=02H : Acknowledge

R, T

Command=03H : Not Acknowledge

nti
al

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Header
0000 0010
Acknowledge
F7H
E0X
Transmits this message when processing completed.

R, T

Command=04H : Reset

de

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Header
0000 0011
Not Acknowledge
F7H
E0X
Transmits this message when processing error.

R

nfi

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Header
0000 0100
Reset
F7H
E0X
Transmits this message when SATURN reset.

Command=05H : Active SCSPBIN data change

R

SE

GA

Co

Byte
Description
F0H, 43H, 79H, iiH, 01H
Exclusive Headder0000 0101
SCSPBIN data change
0000 cccc
channel#(see Note 1-5)0000 0aaa
mode#(see Note 1-7)0000 dddd
Number(see Note 1-6)0000 dddd
00vv vvvv
select#(see Note 1-8)0000 hhhh
write data (see Note 1-4)0000 llll
0sss ssss
check sum(see Note 1-3)
F7H
E0X
Receive this message, and transmits Command = 02H message
or Command = 03H message.

46

Command=41H : data Dump

Tstart address

Dump data(see Note 1-2)

(see Note 1-4)

de~Description
Exclusive Header
data Dump
byte size (see Note 1-1)

nti
al

Byte
F0H, 43H, 79H, iiH, 01H
0100 0001
0000 mmmm
0000 mmmm
0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 kkkk
0000 hhhh
0000 llll

nfi

0000 hhhh
0000 llll
0sss ssss
check sum (see Note 1-3)
F7H
E0X
Receives this message, and transmits Command = 02H message
or Command = 03H message.

mmmm mmmm = byte size (01H ~ FFH)

Note 1-2:

kkkk…kkkk = SATURN memory Address (000000H~FFFFFFH)

Note 1-3:

sss ssss = check sum (00H ~ 7FH)
7th byte + 8th byte + … + check sum = 000 0000B

Note 1-4:

hhhh llll = byte data (00H ~ FFH)
write/Dump data

Note 1-5:

cccc = channel number (00H ~ 0FH)

GA

Co

Note 1-1:

dddd dddd = MIXER, VL, PEG, PLFO, VOICE or LAYER Number

SE

Note 1-6:

SATURN Sound Development Manual47

(see Note 2-1)

Note 1-8:

vv vvvv = select#(see Note 2-1)nti
alaaa = mode#
0: MIXER change
1: VL change
2: PEG change
3: PLFO change
4: VOICE change
5: LAYER change

SE

GA

Co

nfi

de

Note 1-7:48

mode#-select# table
mode# =
select#mode# =
select#mode# =
select#Co

mode# =
select#nfi

demode# =
select#0 (MIXER change)
00H EFSDL [EFREG0]
01H EFPAN [ // ]02H EFSDL [EFREG1]
03H EFPAN [ // ]- 1EH EFSDL [EFREG15]
1FH EFPAN [ // ]20H EFSDL [EXTS0]
21H EFPAN [EXTS1]
1 (VL change)
00H encoded-Rate0
01H Velocity-Point0
02H Velocity-Level0
03H encoded-Rate1
04H Velocity-Point1
05H Velocity-Level1
06H encoded-Rate2
07H Velocity-Point2
08H Velocity-Level2
09H encoded-Rate3
2 (PEG change)
00H DLY
01H OL
02H AR
03H AL
04H DR
05H DL
06H SR
07H SL08H RR
09H RL
3 (PLFO change)
00H DLY
01H FRQR
02H HT
03H FDCT
1EH reserved
1FH reservedGA

mode# =
select#4 (VOICE change)
00H Play Mode
01H Bend Range
02H Portamento time
03H Layer Number-1
04H Volume Bias
5 (LAYER change)
00H start MIDI note
01H end MIDI note
02H PEON
03H PLON
04H D2R
05H D1R
06H AR
07H KRS08H DL
09H RR
0AH Mod.Wheel
0BH TL
0CH MDL
0DH LFOF
0EH PLFOWS
0FH PLFOS
10H ALFOWS
11H ALFOS
12H ISEL
13H IMXL
14H DISDL
15H DIPAN
16H BASE note
17H Fine tune
18H GN & Layer#
19H GN & Layer#
1AH VL#
1BH PEG#1CH PLFO#
1DH reserved

ntialNote 2-1

SE

Specification submitted to the MIDI Association (February 28, 1994).

SATURN Sound Development Manual49