First post, by Snover
- Rank
- l33t++
Operating Manual and Schematics have been ordered, should ship out Monday or Tuesday and be here by the end of next week.
Yes, it’s my fault.
Operating Manual and Schematics have been ordered, should ship out Monday or Tuesday and be here by the end of next week.
Yes, it’s my fault.
...and...? What are your intentions? Send it to Vlad?
wrote:...and...? What are your intentions? Send it to Vlad?
Scan it, I assume, *then* send it to me. 😜
Snover: I don't think it should be posted anywhere, but should circulate internally, or else Mark Glinsky will hate you forever, and ever, and ever.
redrum ... redrum ... redrum
V.
Received these today. It's kind of annoying I can't find a decent program to stitch the images together with without leaving a watermark, but oh well.
And anyway, Operating Manual == User Manual. (Told ya so, 😉)
Yes, it’s my fault.
Do full page scans (assuming they're 8.5" x 11"), convert to PDF?
Or are the schematics larger?
Is there anything in the schematics manual about the PCM numbers and their corresponding sample descriptions?
The schematics are 11"x17". That's why I need to stitch them together.
Canadacow, you make me laugh. But anyway, it does look like there's some info here that'll do you good. I'll OCR it (we'll see how good ScanSoft really is, this shit is tough to read).
Yes, it’s my fault.
Snover... any reason in particular why I "make you laugh"?
No no, just because you're like "PCM PARTIALS! PCM PARTIALS! PCM PAARRRTTTIIAALLSSSSSSS!!!" and it's kinda amusing.
Notes: Copied verbatim, all errors are actually in the documentation and not me copying it
Note2: ScanSoft sucks, had to do this all manually, blah
Anyway, here's page 1 of 3 (note: OEM/DOS codepage):
MT-32 MIDI IMPLEMENTATION Version 1.00 Jul. 9 1987
--- MT-32 MIDI IMPLEMENTATION ---
Version 1.00
Jul. 9 1987
1. TRANSMITTED DATA
-- ----------------
þ Bypassed message
In Overflow Assign mode, the following MIDI In messages are
sent to MIDI Out as
ù Channel Voice messages except Note On
ù System Exclusive message whose manufacturer ID# is 41H
ù Odd Note On(s) left unassigned any voice because
all assignable voices are engaged.
þ Created message
System exclsive
Status
------
F0H :System Exclusive
F7H :EOX(End of System Exclusive)
See "3.EXCLUSIVE COMMUNICATIONS" for details.
2. RECOGNIZED DATA
-- ---------------
þ Note event
Note off
Status Second Third
------ ------ -----
8nH kkH vvH
9nH kkH 00H
kkH : Note number 0CH - 6CH ( 12 - 108 )
vvH : ignored
Note on
Status Second Third
------ ------ -----
9nH kkH vvH
kkH : Note number 0CH - 6CH ( 12 - 108 )
vvH : Velocity 1H - 7FH ( 1 - 127)
þ Control change
Continuous controller (14 bits)
Status Second Third
------ ------ -----
BnH mmH vvH
Modulation mmH = 01H vvH = 0H - 7FH ( 0 - 127)
Volume mmH = 07H vvH = 0H - 7FH ( 0 - 127)
Panpot mmH = 0AH vvH = 0H - 7FH ( 0 - 127)
Expression mmH = 0BH vvH = 0H - 7FH ( 0 - 127)
Continuous controller (7 bits)
Status Second Third
------ ------ -----
BnH mmH vvH
Hold 1 mmH = 40H vvH = 0H - 3FH ( 0 - 63) OFF
40H - 7FH ( 64 - 127) ON
Resets all controllers
mmH = 79h vvH = 0
þ Program change
Status Second
------ ------
CnH ppH
ppH : Program number 0H - 7FH (0 - 127)
Program Change changes Patch.
þ Pitch bender
Status Second Third
------ ------ -----
EnH llH mmH // could be 11H
llH : 0H - 7FH (0 - 127) // could be 11H
maH : 0H - 7FH (0 - 127)
þ Channel mode message
Status Second Third
------ ------ -----
BnH mmH 00H
mmH : All Notes Off 7BH (123)
Omni Off 7CH (124)
// photocopier cut this off
þ Active sensing
Status
------
FEH
þ System exclusive
Status
------
F0H :System Exclusive
F7H :EOX(End of System Exclusive)
3. EXCLUSIVE COMMUNICATIONS
-- ------------------------
Model-ID# of MT-32 is 16H.
MT-32 can receive/send some of the EXCLUSIVE MESSAGEs in
the D-50(Roland synthesizer) format.
Model-ID# of D-50 is 14H.
Device-ID# is the basic channels of the each part of Units of
the MT-32
Units can be changed in "UNIT# SETUP MODE".
Device ID numbers, 0-31, are displayed on the LCD as 1-32,
respectively.
þ One way communication
Request RQ1 11H
When the RQ1 received contains a start address listed in
Parameter base address, and address size is 1 or more,
MT-32 sends the corresponding data.
In Overflow Assign mode, MT-32 does not recognize RQ1,
but passes the message to MIDI OUT.
MT-32 won't transmit RQ1 in the default mode.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H(14H) Model - ID ( MT-32(D-50) )
11H Command - ID ( RQ1 ) ù3-1
aaH Address MSB
aaH Address ù3-2
aaH Address LSB
ssH Size MSB
ssH Size
ssH Size LSB
sum Checksum
F7H EOX ( End of Exclusive )
Data set DT1 12H
When the DT1 contains a start address as defined in RQ1 above,
MT-32 stores the data into that memory location.
MT-32 sends this message upon receiving RQ1 in the default mode.
Additional functions in Overflow Assign mode:
MT-32 retransmits DT1 while it processes the DT1 data
as necessary.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H(14H) Model - ID ( MT-32(D-50) )
12H Command - ID ( DT1 ) ù3-1
aaH Address MSB
aaH Address ù3-2
aaH Address LSB
ddH Data ù3-3
:
sum Checksum
F7H EOX ( End of Exclusive )
þ Handshaking communication
Want to send data WSD 40H
Upon receiving WSD, MT-32 sends ACE and waits for DATA SET message.
However, if any part is reproducing sound, MT-32 sends RJC.
In Overflow Assign mode, MT-32 relays this message to downstream.
In the default mode, MT-32 won't send this message.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
// photocopier cut this off
Request data RQD 41H
When the RQD contains a start address as defined in RQ1 above,
MT-32 stores the data into that memory location. However, if
any part is reproducing sound, MT-32 sends RJC.
In Overflow Assign mode, MT-32 relays this message to downstream
without recognizing it.
In the default mode, MT-32 won't send this message.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
aaH Address MSB
aaH Address ù3-2
aaH Address LSB
ssH Size MSB
ssH Size
ssH Size LSB
sum Checksum
F7H EOX ( End of Exclusive )
Data set DAT 42H
When the DAT contains a start address as defined in RQ1 above,
MT-32 stores the data into that memory location.However, if
any part is reproducing sound, MT-32 sends RJC.
In the default mode, MT-32 sends this data upon receipt of RQD.
In Overflow Assign mode, MT-32 relays this message to downstream
without recognizing it.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
aaH Address MSB
aaH Address ù3-2
aaH Address LSB
ddH Data ù3-3
:
sum Checksum
F7H EOX ( End of Exclusive )
Acknowledge ACE 43H
When MT-32 receives this message after sending DAT, it sends the
next data.
When MT-32 receives this message after sending EOD, it ends the
current handshaking.
MT-32 sends ACE when it receives WSD, RQD or DAT in the default
mode with no part reproducing sound and with data checksum proves
correct.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
43H Command - ID ( ACE )
F7H EOX ( End of Exclusive )
End of data EOD 45H
Upon receiving this message, it sends ACE and ends the current
handshaking.
After finishing the data set(DAT) transmission in the default
mode, MT-32 sends this message.
In Overflow Assign mode, MT-32 relays this message to downstream
without recognizing the contents.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
45H Command - ID ( EOD )
F7H EOX ( End of Exclusive )
Communication error ERR 4EH
If checksum doesn't agree ( failure in data reception), MT-32
sends this message.
When MT-32 receives this message in the default mode, it sends
the latest message again.
In Overflow Assign mode, MT-32 relays this message to downstream
without recognizing it.
// photocopier cut this off
Rejection RJC 4FH
If MT-32 receives WSD while it is reproducing sound, it sends RJC.
When MT-32 receives this message, it ends the current handshaking.
In Overflow Assign mode, MT-32 relays this message to downstream
without recognizing it.
Byte Description
------ --------------------------
F0H Exclusive status
41H Roland - ID
DEV Device - ID
16H Model - ID ( MT-32 )
4FH Command - ID ( RJC )
F7H EOX ( End of Exclusive )
Notes :
ù3-1 Both model-IDs are supported. Addresses & parameters are described
in section 4 for model-ID 16H(MT-32) and in section 5 for model-ID
14H(D-50,PG-1000).
ù3-2 Address & Size should be the address where data exist.
ù3-3 If the data is Partial Reserve Parameter, received data must
comprise all the parameters for being recognized.
Yes, it’s my fault.
page 2 of 3
4. Address mapping of parameters
-- -----------------------------
Addresses are shown in Hexa-decimal, while numbers are given
in 7 bits.
Address | MSB | | LSB
==========+===========+===========+===========
binary | 0aaa aaaa | 0bbb bbbb | 0ccc cccc
7 bit Hex | AA | BB | CC
The actual address of a parameter in a block is the sum of the
start addresses of each block and one or more offset address.
That is, prameters marked by ù4-1 have two offset addresses :
one in the table under NOTE ù4-1 and the other in Common parameter
table or in Partial parameter table.
þ Parameter base address
Temporary area ( Accessible on each basic channel )
+---------------------------------------------------------------+
| Start | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00 00 | Patch Temp Area (part) |
| 01 00 00 | Setup Temp Area (rhythm part) |
| 02 00 00 | Timbre Temp Area(part) ù4-1 |
+---------------------------------------------------------------+
Whole part ( Accessible on UNIT# )
+---------------------------------------------------------------+
| Start | |
| address | Description |
|-----------+---------------------------------------------------|
| 03 00 00 | Patch Temp Area ( part 1 ) |
| 03 00 10 | Patch Temp Area ( part 2 ) |
| : | |
| 03 00 60 | Patch Temp Area ( part 7 ) |
| 03 00 70 | Patch Temp Area ( part 8 ) |
| 03 01 00 | Patch Temp Area ( rhytm part ) |
| 03 01 10 | Setup Temp Area (rhythm part) |
|-----------+---------------------------------------------------|
| 04 00 00 | Timbre Temp Area( part 1 ) ù4-1 |
| 04 01 75 | Timbre Temp Area( part 2 ) ù4-1 |
| : | |
| 04 0b 44 | Timbre Temp Area( part 7 ) ù4-1 |
| 04 0d 3a | Timbre Temp Area( part 8 ) ù4-1 |
|-----------+---------------------------------------------------|
| 05 00 00 | Patch Memory #1 |
| 05 00 08 | Patch Memory #2 |
| : | |
| 05 07 70 | Patch Memory #127 |
| 05 07 78 | Patch Memory #128 |
|-----------+---------------------------------------------------|
| 08 00 00 | Timbre Memory #1 ù4-1 |
| 08 02 00 | Timbre Memory #2 ù4-1 |
| : | |
| 08 7C 00 | Timbre Memory #63 ù4-1 |
| 08 7E 00 | Timbre Memory #64 ù4-1 |
|-----------+---------------------------------------------------|
| 10 00 00 | System area |
|-----------+---------------------------------------------------|
| 20 00 00 | Display ù4-2 |
|-----------+---------------------------------------------------|
| 7F xx xx | All parameter reset ù4-3 |
+---------------------------------------------------------------+
Notes :
ù4-1
Structure of "Timbre Temp/Memory" area is as follows.
+---------------------------------------------------------------+
| Sub start | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00 00 | Common parameter |
| 00 00 0E | Partial parameter (for Partial# 1) |
| 00 00 48 | Partial parameter (for Partial# 2) |
| 00 01 02 | Partial parameter (for Partial# 3) |
| 00 01 3C | Partial parameter (for Partial# 4) |
+---------------------------------------------------------------+
ù4-2 The data sent to this address are recognized as the string
of letters in ASCII CODE, and displayed on MT-32 LCD. '
// photocopier cut this off?
þ Common parameter ù4-4
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00H | 0aaa aaaa | TONE NAME 1 32 - 127 |
| : | | (ASCII) |
| 09H | 0aaa aaaa | TONE NAME 10 |
|-----------+-------------+-------------------------------------|
| 0AH | 0000 aaaa | Structure of Partial# 1 & 2 0 - 12 |
| | | (1 - 13)|
| 0BH | 0000 aaaa | Structure of Partial# 3 & 4 0 - 12 |
| | | (1 - 13)|
|-----------+-------------+-------------------------------------|
| 0CH | 0000 aaaa | PARTIAL NOTE 0 - 15 |
| | | (0000 - 1111) |
|-----------+-------------+-------------------------------------|
| 0DH | 0000 000a | ENV MODE 0 - 1 |
| | | (Normal,No sustain)|
|-----------+-------------+-------------------------------------|
| Total size | 00 00 0EH |
+---------------------------------------------------------------+
þ Partial parameter ù4-4
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0aaa aaaa | WG PITCH COARSE 0 - 96 |
| | | (C1,C2, - C9) |
| 00 01H | 0aaa aaaa | WG PITCH FINE 0 - 100 |
| | | (-50 - +50) |
| 00 02H | 0000 aaaa | WG PITCH KEYFOLLOW 0 - 16 |
| | | (-1,-1/2,-1/4,0,|
| | | 1/8,1/4,3/8,1/2,|
| | | 5/8,3/4,7/8,1, |
| | | 5/4,3/2,2,s1,s2)|
| 00 03H | 0000 000a | WG PITCH BENDER SW 0 - 1 |
| | | (OFF, ON) |
| 00 04H | 0000 000a | WG WAVEFORM 0 - 1 |
| | | (SQU, SAW) |
| 00 05H | 0aaa aaaa | WG PCM WAVE # 0 - 127 |
| | | (1 - 128) |
| 00 06H | 0aaa aaaa | WG PULSE WIDTH 0 - 100 |
| 00 07H | 0000 aaaa | WG PW VELO SENS 0 - 14 |
| | | (-7 - +7) |
|-----------+-------------+-------------------------------------|
| 00 08H | 0000 aaaa | P-ENV DEPTH 0 - 10 |
| 00 09H | 0aaa aaaa | P-ENV VELO SENS 0 - 100 |
| 00 0AH | 0000 0aaa | P-ENV TIME KEYF 0 - 100 |
| 00 0BH | 0aaa aaaa | P-ENV TIME 1 0 - 100 |
| 00 0CH | 0aaa aaaa | P-ENV TIME 2 0 - 100 |
| 00 0DH | 0aaa aaaa | P-ENV TIME 3 0 - 100 |
| 00 0EH | 0aaa aaaa | P-ENV TIME 4 0 - 100 |
| 00 0FH | 0aaa aaaa | P-ENV LEVEL 0 0 - 100 |
| | | (-50 - +50) |
| 00 10H | 0aaa aaaa | P-ENV LEVEL 1 0 - 100 |
| | | (-50 - +50) |
| 00 11H | 0aaa aaaa | P-ENV LEVEL 2 0 - 100 |
| | | (-50 - +50) |
| 00 12H | 0aaa aaaa | P-ENV SUSTAIN LEVEL 0 - 100 |
| | | (-50 - +50) |
| 00 13H | 0aaa aaaa | END LEVEL 0 - 100 |
| | | (-50 - +50) |
|-----------+-------------+-------------------------------------|
| 00 14H | 0aaa aaaa | P-LFO RATE 0 - 100 |
| 00 15H | 0aaa aaaa | P-LFO DEPTH 0 - 100 |
| 00 16H | 0aaa aaaa | P-LFO MOD SENS 0 - 100 |
|-----------+-------------+-------------------------------------|
| 00 17H | 0aaa aaaa | TVF CUTOFF FREQ 0 - 100 |
| 00 18H | 000a aaaa | TVF RESONANCE 0 - 30 |
| 00 19H | 0000 aaaa | TVF KEYFOLLOW 0 - 14 |
| | | (-1,-1/2,-1/4,0,|
| | | 1/8,1/4,3/8,1/2,|
| | | 5/8,3/4,7/8,1, |
| | | 5/4,3/2,2) |
| 00 1AH | 0aaa aaaa | TVF BIAS POINT/DIR 0 - 127 |
| | | (<1A - <7C >1A - >7C)|
| 00 1BH | 0000 aaaa | TVF BIAS LEVEL 0 - 14 |
| | | (-7 - +7) |
|-----------+-------------+-------------------------------------|
| 00 1CH | 0aaa aaaa | TVF ENV DEPTH 0 - 100 |
| 00 1DH | 0aaa aaaa | TVF ENV VELO SENS 0 - 100 |
| 00 1EH | 0000 0aaa | TVF ENV DEPTH KEYF 0 - 4 |
| 00 1FH | 0000 0aaa | TVF ENV TIME KEYF 0 - 4 |
| 00 20H | 0aaa aaaa | TVF ENV TIME 1 0 - 100 |
| 00 21H | 0aaa aaaa | TVF ENV TIME 2 0 - 100 |
| 00 22H | 0aaa aaaa | TVF ENV TIME 3 0 - 100 |
| 00 23H | 0aaa aaaa | TVF ENV TIME 4 0 - 100 |
| 00 24H | 0aaa aaaa | TVF ENV TIME 5 0 - 100 |
| 00 25H | 0aaa aaaa | TVF ENV LEVEL 1 0 - 100 |
| 00 26H | 0aaa aaaa | TVF ENV LEVEL 2 0 - 100 |
| 00 27H | 0aaa aaaa | TVF ENV LEVEL 3 0 - 100 |
| 00 28H | 0aaa aaaa | TVF ENV SUSTAIN LEVEL 0 - 100 |
|-----------+-------------+-------------------------------------|
| 00 29H | 0aaa aaaa | TVA LEVEL 0 - 100 |
| 00 2AH | 0aaa aaaa | TVA VELO SENS 0 - 100 |
| 00 2BH | 0aaa aaaa | TVA BIAS POINT 1 0 - 127 |
| | | (<1A - <7C >1A - >7C)|
| 00 2CH | 0000 aaaa | TVA BIAS LEVEL 1 0 - 12 |
| | | (-12 - 0) |
| 00 2DH | 0aaa aaaa | TVA BIAS POINT 2 0 - 127 |
| | | (<1A - <7C >1A - >7C)|
| 00 2EH | 0000 aaaa | TVA BIAS LEVEL 2 0 - 12 |
| | | (-12 - 0) |
|-----------+-------------+-------------------------------------|
| 00 2FH | 0000 0aaa | TVA ENV TIME KEYF 0 - 4 |
| 00 30H | 0000 0aaa | TVA ENV TIME V_FOLLOW 0 - 4 |
| 00 31H | 0aaa aaaa | TVA ENV TIME 1 0 - 100 |
| 00 32H | 0aaa aaaa | TVA ENV TIME 2 0 - 100 |
| 00 33H | 0aaa aaaa | TVA ENV TIME 3 0 - 100 |
| 00 34H | 0aaa aaaa | TVA ENV TIME 4 0 - 100 |
| 00 35H | 0aaa aaaa | TVA ENV TIME 5 0 - 100 |
| 00 36H | 0aaa aaaa | TVA ENV LEVEL 1 0 - 100 |
| 00 37H | 0aaa aaaa | TVA ENV LEVEL 2 0 - 100 |
| 00 38H | 0aaa aaaa | TVA ENV LEVEL 3 0 - 100 |
| 00 39H | 0aaa aaaa | TVA ENV SUSTAIN LEVEL 0 - 100 |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 3AH |
+---------------------------------------------------------------+
þ System area
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0aaa aaaa | MASTER TUNE 0 - 127 |
| | | (432.1Hz - 457.6Hz)|
|-----------+-------------+-------------------------------------|
| 00 01H | 0000 00aa | REVERB MODE 0 - 3 |
| | | (Room, Hall, Plate,|
| | | Tap delay) |
| 00 02H | 0000 0aaa | REVERB TIME 0 - 7 |
| | | (1 - 8) |
| 00 03H | 0000 0aaa | REVERB LEVEL 0 - 7 |
|-----------+-------------+-------------------------------------|
| 00 04H | 00aa aaaa | PARTIAL RESERVE (Part 1) 0 - 32 |
| 00 05H | 00aa aaaa | PARTIAL RESERVE (Part 2) 0 - 32 |
| 00 06H | 00aa aaaa | PARTIAL RESERVE (Part 3) 0 - 32 |
| 00 07H | 00aa aaaa | PARTIAL RESERVE (Part 4) 0 - 32 |
| 00 08H | 00aa aaaa | PARTIAL RESERVE (Part 5) 0 - 32 |
| 00 09H | 00aa aaaa | PARTIAL RESERVE (Part 6) 0 - 32 |
| 00 0AH | 00aa aaaa | PARTIAL RESERVE (Part 7) 0 - 32 |
| 00 0BH | 00aa aaaa | PARTIAL RESERVE (Part 8) 0 - 32 |
| 00 0CH | 00aa aaaa | PARTIAL RESERVE (Part R) 0 - 32 |
|-----------+-------------+-------------------------------------|
| 00 0DH | 000a aaaa | MIDI CHANNEL(Part 1) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 0EH | 000a aaaa | MIDI CHANNEL(Part 2) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 0FH | 000a aaaa | MIDI CHANNEL(Part 3) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 10H | 000a aaaa | MIDI CHANNEL(Part 4) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 11H | 000a aaaa | MIDI CHANNEL(Part 5) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 12H | 000a aaaa | MIDI CHANNEL(Part 6) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 13H | 000a aaaa | MIDI CHANNEL(Part 7) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 14H | 000a aaaa | MIDI CHANNEL(Part 8) 0 - 16 |
| | | (1 - 16,OFF)|
| 00 15H | 000a aaaa | MIDI CHANNEL(Part R) 0 - 16 |
| | | (1 - 16,OFF)|
|-----------+-------------+-------------------------------------|
| 00 16H | 0aaa aaaa | MASTER VOLUME 0 - 100 |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 17H |
+---------------------------------------------------------------+
þ Rhythm part setup
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0aaa aaaa | TIMBRE 0 - 94 |
| | | (M1-M64,R1-R30,OFF)|
| 00 01H | 0aaa aaaa | OUTPUT LEVEL 0 - 100 |
| 00 02H | 0000 aaaa | PANPOT 0 - 14 |
| | | (R - L) |
| 00 03H | 0000 000a | REVERB SWITCH 0 - 1 |
| | | (OFF, ON) |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 04H |
+---------------------------------------------------------------+
þ Patch temp
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0000 00aa | TIMBRE GROUP 0 - 3 |
| | | (GROUP A,GROUP B, |
| | | MEMORY,RHYTHM) |
| 00 01H | 00aa aaaa | TIMBRE NUMBER 0 - 63 |
| | | (1 - 64) |
| 00 02H | 00aa aaaa | KEY SHIFT 0 - 48 |
| | | (-24 - +24) |
| 00 03H | 0aaa aaaa | FINE TUNE 0 - 100 |
| | | (-50 - +50) |
| 00 04H | 000a aaaa | BENDER RANGE 0 - 24 |
| 00 05H | 0000 00aa | ASSIGN MODE 0 - 3 |
| | | (POLY 1,POLY 2, |
| | | POLY 3,POLY 4) |
| 00 06H | 0000 000a | REVERB SWITCH 0 - 1 |
| | | (OFF, ON) |
| 00 07H | 0xxx xxxx | dummy |
| 00 08H | 0aaa aaaa | OUTPUT LEVEL 0 - 100 |
| 00 09H | 0000 aaaa | PANPOT 0 - 14 |
| | | (R - L) |
| 00 0AH | 0xxx xxxx | dummy |
| : | | |
| 00 0FH | 0xxx xxxx | |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 10H |
+---------------------------------------------------------------+
þ Patch memory
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0000 00aa | TIMBRE GROUP 0 - 3 |
| | | (GROUP A,GROUP B, |
| | | MEMORY,RHYTHM) |
| 00 01H | 00aa aaaa | TIMBRE NUMBER 0 - 63 |
| 00 02H | 00aa aaaa | KEY SHIFT 0 - 48 |
| | | (-24 - +24) |
| 00 03H | 0aaa aaaa | FINE TUNE 0 - 100 |
| | | (-50 - +50) |
| 00 04H | 000a aaaa | BENDER RANGE 0 - 24 |
| 00 05H | 0000 00aa | ASSIGN MODE 0 - 3 |
| | | (POLY 1,POLY 2, |
| | | POLY 3,POLY 4) |
| 00 06H | 0000 000a | REVERB SWITCH 0 - 1 |
| | | (OFF, ON) |
| 00 07H | 0xxx xxxx | dummy |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 08H |
+---------------------------------------------------------------+
þ DISPLAY
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00H | 0aaa aaaa | DISPLAYED LETTER 32 - 127 |
| : | | (ASCII) |
| 13H | 0aaa aaaa | DISPLAYED LETTER |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 14H |
+---------------------------------------------------------------+
Note :
ù4-4
This parameter can be modified from D-50(PG-1000) and results
in accessing the address "02-00-80(Timbre Temp Area(part))"
of MT-32
Yes, it’s my fault.
page 3 of 3
5. ADDRESS MAPPING OF PARAMETERS (compatible with D-50(PG1000))
-- ------------------------------------------------------------
þ Parameter base address
+---------------------------------------------------------------+
| Start | |
| address | Description |
|-----------+---------------------------------------------------|
| 00-00-00 | Partial 3 ( 0 - 53 ) |
| 00-00-40 | Partial 4 ( 64 - 117 ) |
| 00-01-0A | Upper Common ( 138 - 175 ) |
| 00-01-40 | Partial 1 ( 192 - 245 ) |
| 00-02-00 | Partial 2 ( 256 - 309 ) |
| 00-02-4A | Lower Common ( 330 - 367 ) |
+---------------------------------------------------------------+
þ Partial parameters
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0aaa aaaa | WG PITCH COARSE 0 - 96 |
| | | (C1,C2, - C9) |
| 00 01H | 0aaa aaaa | WG PITCH FINE 0 - 100 |
| | | (-50 - +50) |
| 00 02H | 0000 aaaa | WG PITCH KEYFOLLOW 0 - 16 |
| | | (-1,-1/2,-1/4,0,|
| | | 1/8,1/4,3/8,1/2,|
| | | 5/8,3/4,7/8,1, |
| | | 5/4,3/2,2,s1,s2)|
| 00 03H | 0xxx xxxx | dummy |
| 00 04H | 0xxx xxxx | dummy |
| 00 05H | 0000 000a | WG PITCH BENDER SW 0 - 1 |
| | | (OFF, ON) |
| 00 06H | 0000 000a | WG WAVEFORM 0 - 1 |
| | | (SQU, SAW) |
| 00 07H | 0aaa aaaa | WG PCM WAVE # 0 - 127 |
| | | (1 - 128) |
| 00 08H | 0aaa aaaa | WG PULSE WIDTH 0 - 100 |
| 00 09H | 0000 aaaa | WG PW VELO SENS 0 - 14 |
| | | (-7 - +7) |
// photocopier cut this off
| 00 0DH | 0aaa aaaa | TVF CUTOFF FREQ 0 - 100 |
| 00 0EH | 000a aaaa | TVF RESONANCE 0 - 30 |
| 00 0FH | 0000 aaaa | TVF KEYFOLLOW 0 - 14 |
| | | (-1,-1/2,-1/4,0,|
| | | 1/8,1/4,3/8,1/2,|
| | | 5/8,3/4,7/8,1, |
| | | 5/4,3/2,2) |
| 00 10H | 0aaa aaaa | TVF BIAS POINT/DIR 0 - 127 |
| | | (<1A - <7C >1A - >7C)|
| 00 11H | 0000 aaaa | TVF BIAS LEVEL 0 - 14 |
| | | (-7 - +7) |
|-----------+-------------+-------------------------------------|
| 00 12H | 0aaa aaaa | TVF ENV DEPTH 0 - 100 |
| 00 13H | 0aaa aaaa | TVF ENV VELO SENS 0 - 100 |
| 00 14H | 0000 0aaa | TVF ENV DEPTH KEYF 0 - 4 |
| 00 15H | 0000 0aaa | TVF ENV TIME KEYF 0 - 4 |
| 00 16H | 0aaa aaaa | TVF ENV TIME 1 0 - 100 |
| 00 17H | 0aaa aaaa | TVF ENV TIME 2 0 - 100 |
| 00 18H | 0aaa aaaa | TVF ENV TIME 3 0 - 100 |
| 00 19H | 0aaa aaaa | TVF ENV TIME 4 0 - 100 |
| 00 1AH | 0aaa aaaa | TVF ENV TIME 5 0 - 100 |
| 00 1BH | 0aaa aaaa | TVF ENV LEVEL 1 0 - 100 |
| 00 1CH | 0aaa aaaa | TVF ENV LEVEL 2 0 - 100 |
| 00 1DH | 0aaa aaaa | TVF ENV LEVEL 3 0 - 100 |
| 00 1EH | 0aaa aaaa | TVF ENV SUSTAIN LEVEL 0 - 100 |
| 00 1FH | 0xxx xxxx | dummy |
| : | | |
| 00 22H | 0xxx xxxx | dummy |
|-----------+-------------+-------------------------------------|
| 00 23H | 0aaa aaaa | TVA LEVEL 0 - 100 |
| 00 24H | 0aaa aaaa | TVA VELO SENS 0 - 100 |
| 00 25H | 0aaa aaaa | TVA BIAS POINT 1 0 - 127 |
| | | (<1A - <7C >1A - >7C)|
| 00 26H | 0000 aaaa | TVA BIAS LEVEL 1 0 - 12 |
| | | (-12 - 0) |
|-----------+-------------+-------------------------------------|
| 00 27H | 0aaa aaaa | TVA ENV TIME 1 0 - 100 |
| 00 28H | 0aaa aaaa | TVA ENV TIME 2 0 - 100 |
| 00 29H | 0aaa aaaa | TVA ENV TIME 3 0 - 100 |
| 00 2AH | 0aaa aaaa | TVA ENV TIME 4 0 - 100 |
| 00 2BH | 0aaa aaaa | TVA ENV TIME 5 0 - 100 |
| 00 2CH | 0aaa aaaa | TVA ENV LEVEL 1 0 - 100 |
| 00 2DH | 0aaa aaaa | TVA ENV LEVEL 2 0 - 100 |
| 00 2EH | 0aaa aaaa | TVA ENV LEVEL 3 0 - 100 |
| 00 2FH | 0aaa aaaa | TVA ENV SUSTAIN LEVEL 0 - 100 |
| 00 30H | 0xxx xxxx | dummy |
| 00 31H | 0000 0aaa | TVA ENV TIME V_FOLLOW 0 - 4 |
| 00 32H | 0000 0aaa | TVA ENV TIME KEYF 0 - 4 |
| 00 33H | 0xxx xxxx | dummy |
| 00 34H | 0xxx xxxx | dummy |
| 00 35H | 0xxx xxxx | dummy |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 36H |
+---------------------------------------------------------------+
þ Lower common parameter
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0000 aaaa | Structure of Partial# 1 & 2 0 - 12 |
| | | (1 - 13)|
| 00 01H | 0aaa aaaa | P-ENV VELO SENS(Partial#1) 0 - 100|
| 00 02H | 0000 0aaa | P-ENV TIME KEYF(Partial#1) 0 - 4 |
| 00 03H | 0aaa aaaa | P-ENV TIME 1(Partial#1) 0 - 100|
| 00 04H | 0aaa aaaa | P-ENV TIME 2(Partial#1) 0 - 100|
| 00 05H | 0aaa aaaa | P-ENV TIME 3(Partial#1) 0 - 100|
| 00 06H | 0aaa aaaa | P-ENV TIME 4(Partial#1) 0 - 100|
| 00 07H | 0aaa aaaa | P-ENV LEVEL 0(Partial#1) 0 - 100|
| | | (-50 - +50)|
| 00 08H | 0aaa aaaa | P-ENV LEVEL 0(Partial#1) 0 - 100|
| | | (-50 - +50)|
| 00 09H | 0aaa aaaa | P-ENV LEVEL 0(Partial#1) 0 - 100|
| | | (-50 - +50)|
| 00 0AH | 0aaa aaaa | P-ENV SUS LEVEL(Partial#1) 0 - 100|
| | | (-50 - +50)|
| 00 0BH | 0aaa aaaa | END LEVEL(Partial#1) 0 - 100|
| | | (-50 - +50)|
|-----------+-------------+-------------------------------------|
| 00 0CH | 0xxx xxxx | dummy |
| 00 0DH | 0aaa aaaa | P-LFO MOD SENS(Partial#1) 0 - 100|
| 00 0EH | 0aaa aaaa | P-LFO MOD SENS(Partial#2) 0 - 100|
| 00 0FH | 0xxx xxxx | dummy |
| 00 10H | 0aaa aaaa | P-LFO RATE(Partial#1) 0 - 100|
| 00 11H | 0aaa aaaa | P-LFO DEPTH(Partial#1) 0 - 100|
| 00 12H | 0xxx xxxx | dummy |
| 00 13H | 0xxx xxxx | dummy |
| 00 14H | 0aaa aaaa | P-LFO RATE(Partial#2) 0 - 100|
| 00 15H | 0aaa aaaa | P-LFO DEPTH(Partial#2) 0 - 100|
| 00 16H | 0xxx xxxx | dummy |
| : | | |
| 00 23H | 0xxx xxxx | dummy |
| 00 24H | 0000 00aa | PARTIAL MUTE(Partial# 1&2) 0 - 3 |
| | | (00 - 11)|
| 00 25H | 0xxx xxxx | dummy |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 26H |
+---------------------------------------------------------------+
þ Upper common parameter
+---------------------------------------------------------------+
| Offset | |
| address | Description |
|-----------+---------------------------------------------------|
| 00 00H | 0000 aaaa | Structure of Partial# 1 & 2 0 - 12 | // typo in docs?
| | | (1 - 13)|
| 00 01H | 0aaa aaaa | P-ENV VELO SENS(Partial#3) 0 - 100|
| 00 02H | 0000 0aaa | P-ENV TIME KEYF(Partial#3) 0 - 4 |
| 00 03H | 0aaa aaaa | P-ENV TIME 1(Partial#3) 0 - 100|
| 00 04H | 0aaa aaaa | P-ENV TIME 2(Partial#3) 0 - 100|
| 00 05H | 0aaa aaaa | P-ENV TIME 3(Partial#3) 0 - 100|
| 00 06H | 0aaa aaaa | P-ENV TIME 4(Partial#3) 0 - 100|
| 00 07H | 0aaa aaaa | P-ENV LEVEL 0(Partial#3) 0 - 100|
| | | (-50 - +50)|
| 00 08H | 0aaa aaaa | P-ENV LEVEL 0(Partial#3) 0 - 100|
| | | (-50 - +50)|
| 00 09H | 0aaa aaaa | P-ENV LEVEL 0(Partial#3) 0 - 100|
| | | (-50 - +50)|
| 00 0AH | 0aaa aaaa | P-ENV SUS LEVEL(Partial#3) 0 - 100|
| | | (-50 - +50)|
| 00 0BH | 0aaa aaaa | END LEVEL(Partial#3) 0 - 100|
| | | (-50 - +50)|
|-----------+-------------+-------------------------------------|
| 00 0CH | 0xxx xxxx | dummy |
| 00 0DH | 0aaa aaaa | P-LFO MOD SENS(Partial#3) 0 - 100|
| 00 0EH | 0aaa aaaa | P-LFO MOD SENS(Partial#4) 0 - 100|
| 00 0FH | 0xxx xxxx | dummy |
| 00 10H | 0aaa aaaa | P-LFO RATE(Partial#3) 0 - 100|
| 00 11H | 0aaa aaaa | P-LFO DEPTH(Partial#3) 0 - 100|
| 00 12H | 0xxx xxxx | dummy |
| 00 13H | 0xxx xxxx | dummy |
| 00 14H | 0aaa aaaa | P-LFO RATE(Partial#4) 0 - 100|
| 00 15H | 0aaa aaaa | P-LFO DEPTH(Partial#4) 0 - 100|
| 00 16H | 0xxx xxxx | dummy |
| : | | |
| 00 23H | 0xxx xxxx | dummy |
| 00 24H | 0000 00aa | PARTIAL MUTE(Partial# 3&4) 0 - 3 |
| | | (00 - 11)|
| 00 25H | 0xxx xxxx | dummy |
|-----------+-------------+-------------------------------------|
| Total size | 00 00 26H |
+---------------------------------------------------------------+
MIDI Implementation Chart
[ Multi Timbre Soud Module ] Date : Jun.19 1987
Model MT-32 MIDI Implementation Chart Version : 1.00
+----------------------------------------------------------------------+
: : Transmitted : Recognized : Remarks :
: Function ... : : : :
:-------------------+----------------+----------------+----------------:
:Basic Default : : 1 - 16 : Memorized :
:Channel Changed : : 1 - 16 : :
:-------------------+----------------+----------------+----------------:
: Default : : Mode 3 : :
:Mode Messages : : : :
: Altered : ************** : : :
:-------------------+----------------+----------------+----------------:
:Note : * 0 - 127 : 0 - 127 : :
:Number : True voice: ************** : 12 - 108 : :
:-------------------+----------------+----------------+----------------:
:Velocity Note ON : * : o vx 1 - 127 : :
: Note OFF : * : x : :
:-------------------+----------------+----------------+----------------:
:After Key's : * : x : :
:Touch Ch's : * : x : :
:-------------------+----------------+----------------+----------------:
:Pitch Bender : * : o 0 - 24 semi : :
:-------------------+----------------+----------------+----------------:
: 1: * : o : Modulation :
: 7: * : o : Port Volume :
:Control 10: * : o : Panpot :
: 11: * : o : Expression :
:Change 12: : : :
: :: * : x : :
: 63: : : :
: 64: * : o : Hold1 :
: 65: : : :
: :: * : x : :
: 120: : : :
: 121: * : o : Reset all con- :
: : : : trollers :
:-------------------+----------------+----------------+----------------:
:Prog : * : o 0 - 127 : :
:Change : True # : : 0 - 127 : :
:-------------------+----------------+----------------+----------------:
:System Exclusive : o * : o : :
:-------------------+----------------+----------------+----------------:
:System : Song Pos : x : x : :
: : Song Sel : x : x : :
:Common : Tune : x : x : :
:-------------------+----------------+----------------+----------------:
:System :Clock : x : x : :
:Real Time :Commands: x : x : :
:-------------------+----------------+----------------+----------------:
:Aux :Local ON/OFF : x : x : :
: :All Notes OFF: x : o (123-127) : :
:Mes- :Active Sense : x : o : :
:sages:Reset : x : x : :
:-------------------+----------------+----------------+----------------:
:Notes : * in OVERFLOW MODE, received message goes thru :
: : MIDI OUT :
// photocopier cut this off
+----------------------------------------------------------------------+ // assumed
Now get to it, bitchizzzz! ;)
Yes, it’s my fault.
Snover... I hope this isn't too disappointing, but this is information already available. If you look at my source code on my webpage, you'll find that this SysEx address map was one of the first few things that I implemented in my emulator. This information is pretty easy to come by. (See: http://www.queststudios.com/roland/docs/mt32-2.txt ) What I need to know, however, is the interpretation of a lot the parameters listed.
Take for example, the envelopes. The time for each section can be 0-100? But 0-100 what? Milliseconds, microseconds? Is it some function of LFO? I was hoping such pertinent information would be contained in the schematics manual.
As for my PCM fascination... it simply bothers me because its one of the most easily researched problems (one has to simply record all unmodified 54 partials in order) that I could solve that would see a very large improvement in sound quality.
That's all the data that was included. Hardware schematics and other stuff are online at the site now, apparently voiding warranties is the only way we're going to be able to figure out that information.
I was pretty much positive that all the information I received was Quest Studios from the moment I opened the envelope to discover the USER MANUAL.
My thought about the 0-100 arbitrary shit is that it is n clock cycles, though I'm not sure about the actual hardware timing stuff.
Tell you what though, my write-up is better than the one you linked to, since I actually paid attention to how the document was laid out. 😜
Yes, it’s my fault.
DooohH!! Major typo, I hope you noticed that I changed " Snover... I hope this is disappointing" to "Snover... I hope this isn't too disappointing" I wasn't trying to sound rude. Oops. Please accept my apolgy.
wrote:My thought about the 0-100 arbitrary shit is that it is n clock cycles, though I'm not sure about the actual hardware timing stuff.
That's a good guess, but I have just as much reason to believe that is some sort of note based measure (i.e. sixteenth notes or what-not), or timer based (based on some sort of lapsed microsecond timer), or sample based (based on how many individual samples have passed). Now I hope you're getting a feeling for what I'm up against. On this coefficient alone, I have four different (maybe more) possibilities... and which one do I implement? Which one do I document?
wrote:DooohH!! Major typo, I hope you noticed that I changed " Snover... I hope this is disappointing" to "Snover... I hope this isn't too disappointing" I wasn't trying to sound rude. Oops. Please accept my apolgy.
I gathered that's what you meant. (I've only met one or two people that are actually this callous, and you didn't seem to fix the stereotype. 😀)
That's a good guess, but I have just as much reason to believe that is some sort of note based measure (i.e. sixteenth notes or what-not), or timer based (based on some sort of lapsed microsecond timer), or sample based (based on how many individual samples have passed). Now I hope you're getting a feeling for what I'm up against. On this coefficient alone, I have four different (maybe more) possibilities... and which one do I implement? Which one do I document?
Which one sounds the best? 😁
Seriously though, you might consider looking at the MPU-401 specs for vibrato and such if you haven't already. Much more documented, and I imagine that the GM/GS are very much similar, if not identical, to the MT-32 ones.
In any case, we'll have to wait for Vlad to take a look at the schematics I posted and do some RE on the actual hardware to unlock some of the secrets anyway.
OH, ALSO, the documentation that is at Quest is significantly different from the one that I typed. (Memory addresses are different, which is rather worrysome. The Quest version is missing lots of information, too, so you might want to go through mine.)
Yes, it’s my fault.
Updated the file on the site. Just the file, though, because I'm lazy.
Yes, it’s my fault.
Originally posted by Snover I gathered that's what you meant. (I've only met one or two people that are actually this callous, and you didn't seem to fix the stereotype.
*cough*
*cough*
*cough*
...must...suppress...sarcastic...remark...