T.R | Title | User | Personal Name | Date | Lines |
---|
339.1 | How'd Ya Do It? | ERLANG::FEHSKENS | | Wed Apr 30 1986 18:04 | 4 |
| How'd you get it to dump its memory?
len.
|
339.2 | I did it "My Way" | RSTS32::DBMILLER | Cecil B. D'Miller | Wed Apr 30 1986 18:25 | 18 |
|
Out the MIDI port. Used the Atari 130XE computer I got from
Hyrid Arts with their MIDImate controller. Got some I/O
routines to work that enabled me to perform transmits and
receives with a few USR calls from BASIC, and Voila!
Through the system exclusive function of MIDI, you can get the
machine to send you its data. It sends it it 15 pieces, with
each piece containing 256 bytes of data, for a total of a little
under 4Kb. No wonder the ROM pack gives you two extra banks of
memory - it's a 64 kilo-bit cartridge, which is 8Kb.
I went through a calculation of what I thought would be the
amount of memory needed to store what it does, and came up
with a little under 4Kb. Now it's just a matter of which bits
do what.
-Dave
|
339.3 | keep us posted | BIGALO::BOTTOM_DAVID | | Thu May 01 1986 09:59 | 4 |
| Dave, if you get this figured out please post back to this note.
I'd be interested in manipualting my 707 at some future date.
dave
|
339.4 | RTFM | DSSDEV::SAUTER | John Sauter | Thu May 01 1986 12:14 | 4 |
| I would expect the machine's documentation to explain what
the system exclusive messages mean. All the stuff I have
explains its messages in gory detail.
John Sauter
|
339.5 | Roland Usually Tells All\ | ERLANG::FEHSKENS | | Thu May 01 1986 14:08 | 12 |
| I'll check my 707 documentation. Roland usually provides
comprehensive MIDI documentation in the form of a photoreduced
computer-output listing, and this includes system exclusive stuff.
I've never looked at the one for the 707 in any detail. Dave,
if you've misplaced yours you can have a copy of mine. Send mail
to the usual suspects.
I'll let you know what I find tomorrow.
len.
|
339.6 | Not enough documentation | RSTS32::DBMILLER | Cecil B. D'Miller | Thu May 01 1986 14:12 | 20 |
| I did read the manual. That's how I got it to dump it's memory.
Unfortunately they don't give any more details than the fact that
there's 15 blocks of data.
If I get some time, I'll do a little more experimenting with it.
But the first thing I need to do is convert the BASIC program at
least partially into machine language. As it stands, it's just
as slow as the tape port, since I do integrity checking on all
the data it sends me - and loops in Atari BASIC, plus all the
string manipulation I'm doing takes a long time.
Once the data dump is faster, then I might feel like sitting down
and adding a beat to each pattern, and seeing where the bit shows
up, then assigning different patterns to different measures, etc.
I remember in College, staying up all night trying to decode the
map database for a DND game. I used to enjoy that stuff, and didn't
mind taking the time to try and do it. Ah, for the 'old' days.
-Dave
|
339.7 | Roland Drops the Ball This Time! | ERLANG::FEHSKENS | | Fri May 02 1986 14:17 | 10 |
| You're right, that's what I found too. Have you considered calling
Roland? I was sure the documentation would spell it out as, the
equivalent documentation for my Juno 106 and MKS-80 does. Does
this mean (once somebody figures out what the bits mean) that I
can load my TR-707 from my Amiga? And store all my drum parts on
disk instead of tape?
len.
|
339.8 | It's not necessary | RSTS32::DBMILLER | Cecil B. D'Miller | Fri May 02 1986 16:01 | 27 |
| You don't need to know what the bits mean to be able to save
the drum parts onto disk instead of tape. I just want to be
able to verify that the data I'm intended to save onto disk
is indeed correct. I could assume that it is, since I have
dumped out the patches for a Korg DW-6000, and verified them
using the bit-map sheet supplied by Korg. This tells me that
there's nothing major wrong with my I/O routines. There also
is a checksum for each block of data the machine sends, and
that verifies, along with the integrity checks I'm doing.
Once I speed up the BASIC program, and I haven't quite figured
out the best approach - I don't have an assembler, so programming
completely in 6502 processor is at best difficult. If there
was an integer version of Atari BASIC, like Apple has, then it
would probably speed things up immensely. Anyways, once I
speed up the program, it will be worth my while to save drum
parts to disk instead of tape. But there's an even better
reason for knowing what the memory layout is...
It seems that one of the worst things about trying to program a
drum machine is that the limited displays only show you one bar
at a time. Imagine seeing eight, sixteen, or even more bar
displayed on a screen at one time! Plus the 'real' ability to
perform editing on a song and see what you're doing. It would
sure beat scratching it out on a piece of paper!
It's a long term goal, but one I'd like to take a crack at.
|
339.9 | I Didn't Say Enough | ERLANG::FEHSKENS | | Fri May 02 1986 17:14 | 6 |
| Right, that's what I really want to do. Saving sequences to disk
is not as important as being able to sequence and edit throught
the Amiga.
len.
|
339.10 | RE: Calling Roland | RSTS32::DBMILLER | Cecil B. D'Miller | Fri May 02 1986 18:10 | 16 |
| Does anyone have a phone number, or address for Roland?
Are they reasonable people to talk to, ie, helpful, located
in a US office, and understand English? I've never had any
experience with companies like them before, so I have no
idea of what to expect should I try and call.
RE: Sequence and editing through a computer - I figure if
somebody does it, then it's a very sellable product in the
music/computer world. I've got a very simple screen laid
out that will accommodate all the small computers with a
40 column screen, and still display enough information to
tell you everything you need to know. I definitely need
to pick up a good language cartridge for that XE.
-Dave
|
339.11 | Roland doesn't answer | DSSDEV::SAUTER | John Sauter | Mon May 05 1986 08:36 | 6 |
| Roland has a U.S. address. I don't remember it, but it's near
Los Angeles--it's printed on all of their literature and advertising.
I wrote a letter to that address many months ago, but never got
a reply. I suspect nobody with any intelligence lives there--probably
all the brains are in Japan.
John Sauter
|
339.12 | good luck with roland | MTBLUE::BOTTOM_DAVID | | Mon May 05 1986 11:30 | 14 |
| Well here is Roland's phone number (213)685-5141.
RE:-1 No sh*t Roland does not answer, it took me nearly four months
to get the patch tape I ordered from them, they never answered any
of my letters inquiring about it. They did ship when I finally called
them up. From the conversation I had I think they may be a one person
operation......any way the receptionist (person on the phone) said
"I'll ship it today". Hmmm....
I was unable to get technical answers to another question I had
so it's your dime....
dave
|
339.13 | Thanks for the help, but... | RSTS32::DBMILLER | Cecil B. D'Miller | Tue May 06 1986 14:22 | 18 |
| Looks like I'm better off speeding up my I/O routine so
that I can figure it out for myself. It shouldn't be too
bad - Most everything will be a simple case of a bit being
on or off, there are some weird things that have a three-
state position, but I imagine those are just two-bits, with
the fourth option never used.
The hardest part will be to figure out how the four drum
tracks are stored in memory - There isn't enough room for
it to be a linked list for each track, and there is a TOTAL
limit of 998 measures, so I'm going to assume that tracks
are stored sequentially, with the next track starting after
the last bar of the previous track. Things like scale, last
step, flam, and shuffle will probably require a little more
work to be able to pin-point, but all those will be pattern
specific, so there will be a small area of bits to work with.
-Dave
|
339.14 | I may Be Able to ask a Roland Field Rep | ERLANG::FEHSKENS | | Tue May 06 1986 14:37 | 6 |
| My buddies at Wurlitzer tell me the Roland rep will be in town some
time in the next few weeks, and they've promised to "give me access
to him". I'll ask if he can help some way.
len.
|
339.15 | Check with the rep, please! But... | RSTS32::DBMILLER | Cecil B. D'Miller | Sat May 10 1986 15:10 | 24 |
| Well, I took a day to try and speed up the routines. Found the
major culprit to be the integrity check routine as I expected.
Once I converted it from Atari BASIC to 6502 machine code, it
took about 10 seconds to transfer memory from the drum machine
to the Atari's RAM. That's a lot faster than the two minutes
it was taking before! It still takes the Atari drive about
one minute to write the data to disk, but I can live with that.
Anyways, once I got that working, I started messing with the
patterns to determine where everything is. I think I have it
all mapped out now. There's some areas that appear to be unused
and have zeroes in them, and then there's two bytes that I can't
get changed, but have non-zero values. I can't figure out what
they're for. Everything else laid out a lot like I expected,
with a few variations here and there.
I would like to verify that I'm correct somehow, and haven't left
anything out, so if the Roland rep can help, I sure would appreciate
it.
I can post it here, if there's enough interest, or I can type it in
and just send a copy to whoever wants one.
-Dave
|
339.16 | Here it is | RSTS32::DBMILLER | Cecil B. D'Miller | Mon May 19 1986 16:18 | 202 |
| I decided it was all that big, and could be posted here. If anyone
doesn't want to read the note, you can "Next unseen" past it.
First, a brief review of the TR707/TR727 for those interested, but
who do not own either machine.
The Rhythm Composers have the following sounds:
(Abbreviations are given for the TR707, these names
will be used in the memory layout)
TR707 TR727
1) Bass Drum 1 (BD1) 1) Hi Bonga
2) Bass Drum 2 (BD2) 2) Lo Bonga
3) Snare Drum 1 (S1) 3) Mute Hi Conga
4) Snare Drum 2 (S2) 4) Open Hi Conga
5) Low Tom (LT) 5) Low Conga
6) Middle Tom (MT) 6) Hi Timbale
7) Hi Tom (HT) 7) Low Timbale
8) Rim Shot (RS) 8) Hi Agogo
9) Cow Bell (CB) 9) Low Agogo
10) Hand Clap (HC) 10) Cabasa
11) Tambourine (TB) 11) Maracas
12) Closed Hi-Hat (CH) 12) Short Whistle
13) Open Hi-Hat (OH) 13) Long Whistle
14) Crash Cymbal (CR) 14) Quijada
15) Ride Cymbal (RI) 15) Star Chime
Certain pairs of sounds are mutually exclusive, ie, they cannot both be played
at the same time. These are sounds 1 & 2, 3 & 4, 8 & 9, 10 & 11, and 12 & 13.
There are four pattern groups, A through D, with 16 patterns in each group.
Each pattern has sixteen steps and is usually equivalent to one measure.
Two different accent levels (One weaker [WA], the other stronger [SA]) can
be placed on any step in a pattern, and a shuffle beat may be set.
Flam can be added to any step of sounds 7, 8, 9, or 4. The machine can be
set to allow flam on sound 3 instead of 4, but this must be set every time
the machine is powered on, and changed back if the other voice is desired.
The amount of flam or shuffle is changable per pattern.
Each pattern also has four different time scales, and a last step to set
different time signatures. Patterns may be chained together to get more
complicated time signatures.
There are four separate tracks, which can contain up to a total of 998 measures.
With the above in mind, here is the memory layout for the TR707, with the
TR727 being just substitutions for the sound names:
DISCLAIMER: This memory layout is made from trial and error, and
comparing one configuration against another with known
differences. Although every attempt was made to be as
accurate as possible and to include all possible items
that could be changed, I may be incorrect or have left
something out. Please don't begrudge any mistakes.
\Bit| | | | | | | | |
\ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Comments
Byte\ | | | | | | | | |
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
1 | HC | RS | CH | HT | MT | LT |S1(e)| BD1 | Pattern A1, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2 | " | " | " | " | " | " | " | " | Pattern A1, step 2
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
3 | . | .
: | . | .
15 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
16 | " | " | " | " | " | " | " | " | Pattern A1, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
17 | " | " | " | " | " | " | " | " | Pattern A2, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
18 | . | .
: | . | .
255 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
256 | " | " | " | " | " | " | " | " | Pattern A16, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
257 | TB | CB | OH |HT(f)|MT(f)|LT(f)|S2(e)| BD2 | Pattern A1, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
258 | . | .
: | . | .
511 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
512 | " | " | " | " | " | " | " | " | Pattern A16, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
513 | HC | RS | CH | HT | MT | LT |S1(e)| BD1 | Pattern B1, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
514 | . | .
: | . | .
515 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2048 | TB | CB | OH |HT(f)|MT(f)|LT(f)|S2(e)| BD2 | Pattern D16, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2049 |RI(c)|CR(c)|SA(c)|WA(c)|RI(a)|CR(a)|SA(a)|WA(a)| Pattern {AC}1, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2050 | . | .
: | . | .
2303 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2304 | " | " | " | " | " | " | " | " | Pattern {AC}16, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2305 |RI(d)|CR(d)|SA(d)|WA(d)|RI(b)|CR(b)|SA(b)|WA(b)| Pattern {BD}1, step 1
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2306 | . | .
: | . | .
2561 | . | .
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
2560 | " | " | " | " | " | " | " | " | Pattern {BD}16, step 16
------+-----+-----+-----+-----+-----+-----+-----+-----|-------------------------
------+-----------+-----------+-----------------------|-------------------------
2561 | Unused??? | Ptn Group | Pattern number | Absolute measure 1
------+-----------+-----------+-----------------------|-------------------------
2562 | " | " | " | Absolute measure 2
------+-----------+-----------+-----------------------|-------------------------
2563 | . | .
: | . | .
3557 | . | .
------+-----------+-----------+-----------------------|-------------------------
3558 | " | " | " | Absolute measure 998
------+-----------+-----------+-----------------------|-------------------------
3559 | MSB | Last Measure, TRK I
------+-----------------------------------------------|-------------------------
3560 | LSB | Last Measure, TRK I
------+-----------------------------------------------|-------------------------
3561 | MSB | Last Measure, TRKs I-II
------+-----------------------------------------------|-------------------------
3562 | LSB | Last Measure, TRKs I-II
------+-----------------------------------------------|-------------------------
3563 | MSB | Last Measure, TRKs I-III
------+-----------------------------------------------|-------------------------
3564 | LSB | Last Measure, TRKs I-III
------+-----------------------------------------------|-------------------------
3565 | MSB | Last Measure, TRKs I-IV
------+-----------------------------------------------|-------------------------
3566 | LSB | Last Measure, TRKs I-IV
------+-----------------------------------------------|-------------------------
3567 | . |
: | . | Unused??????????????
3574 | . |
------+-----------------------------------------------|-------------------------
3575 | 112 | Unknown Meaning
------+-----------------------------------------------|-------------------------
3576 | 122 | Unknown Meaning
------+-----------------------------------------------|-------------------------
3577 | . |
: | . | Unused??????????????
3648 | . |
------+-----------------------+-----------------------|-------------------------
------+-----+-----+-----------+-----------------------|-------------------------
3649 | |Chain| Scale | Last Step | Pattern A1
------+-----+-----+-----------+-----------------------|-------------------------
3650 | " | " | " | Pattern A2
------+-----+-----+-----------+-----------------------|-------------------------
3651 | . | .
: | . | .
3711 | . | .
------+-----+-----+-----------+-----------------------|-------------------------
3712 | " | " | " | Pattern A16
------+-----------+-----------+-----------------------|-------------------------
3713 | Shuffle | Flam | Pattern A1
------+-----------------------+-----------------------|-------------------------
3714 | " | " | Pattern A2
------+-----------------------+-----------------------|-------------------------
3715 | . | .
: | . | .
3775 | . | .
------+-----------------------+-----------------------|-------------------------
3776 | " | " | Pattern A16
------+-----------------------+-----------------------|-------------------------
3777 | . |
: | . | Unused??????????????
3840 | . |
--------------------------------------------------------------------------------
Notes: (a) Low four bits of this byte are for pattern group A
(b) Low four bits of this byte are for pattern group B
(c) Hi four bits of this byte are for pattern group C
(d) Hi four bits of this byte are for pattern group D
(e) If both bits are set for sound #4 (Snare or Conga)
then the currently select flam voice is used.
(f) These bits mean nothing by themselves. If the other
bit for this voice is also set then the voice is flammed.
Scale:
0 -> 1 step = 16th note
1 -> 1 step = 32nd note
2 -> 1 step = triplet 8th note
3 -> 1 step = triplet 16th note
Shuffle/Flam:
0 = Off
8 = Short shuffle/flam
9 = Medium shuffle/flam
10 = Large shuffle/flam
11 = Largest shuffle/flam
|