Eprom's, like all parallel memory, addresses it's memory in binary
format. Think of the address lines as being binary inputs....for every
address line you add, like binary, doubles the amount of locations
(numbers) it can access. Inside the memory, the address pins are
decoded to select different areas of the memory.
1 address lines = 1bit :: 2 values (memory locations)
2 address lines = 2bit :: 4 values (memory locations)
3 address lines = 3bit :: 8 values (memory locations)
4 address lines = 4bit :: 16 values (memory locations)
5 address lines = 5bit :: 32 values (memory locations)
6 address lines = 6bit :: 64 values (memory locations)
7 address lines = 7bit :: 128 values (memory locations)
8 address lines = 8bit :: 256 values (memory locations)
and so forth.....
So, imagine you have a 32k X 8-bit eprom, that would require 15
address-lines (32,768 memory locations)...that is what the size of
each eprom is in the 707/727. If you wanted to double your memory
(sample banks) would only require an addition address line (each
address line doubles memory that can be accessed)....seeing as address
lines are just binary inputs, you can see how it would be easy to add
a single switch to toggle on/off (+5v, 0v) that extra address line to
switch between your (now) 2 banks of memory.
That's what circuit bending is all about, they cross (short) address
lines which causes errors in the memory location access, which cause
the glitch sound....
So, the way the 707 samples are interleaved in memory are just
organized in a linear way (just like a mono recording), one sound
after another. But what has stopped all the eprom hackers from going
ahead with new samples for these machines (unlike drumulator or dmx
for example) is that the sounds (like BD1 & BD2) are intereleaved, and
they've been too lazy or unimaginative to proceed, saying "it's
impossible" and hopeless shite like that :) Intereleaved sounds, think
of 'em like this;
BD1 sample1 -> BD2 sample1 -> BD1 sample2 -> BD2 sample2 -> etc.
after all of the BD samples are over the next sample set follows
(interleaved)
SD1 sample1 -> SD2 sample1 -> SD1 sample2 -> SD2 sample2 -> etc.
Pretty simple heh :)
I taught myself some C++ basics through online tutorials, though
because i do audio DSP, i use the Synthedit SDK to develop stuff,
which is a great platform. Check out these sites;
http://www.cee.hw.ac.uk/~pjbk/pathways/cpp1/cpp1.html
http://www.cprogramming.com/
http://www.cplusplus.com/doc/tutorial/
That should get ya started
Seeya
Ryan
--- In
tr-707@yahoogroups.com
, "acousmatique" <acousmatique@...> wrote:
>
> --- In
tr-707@yahoogroups.com
, "plutoniq9" <Plutonique9@> wrote:
> >
> > According to the service manual, they are interleaved quite
> > simply.....sounds that are shared (ie. BD1 & BD2) have occupy the same
> > adreesses, except one has even adresses & one has odd....you'd have to
> > write a small application that would organize new samples in this
> > way....but it's a simple routine & probably within my C++ scope.
>
> Arg... This is where my understanding of digital drum machines has
fallen apart! I have
> read quite a few tutorials on EPROM addressing, and I still doubt if
I get it. Maybe I'm
> thick! Also I have no C or C++ experience. Any advice on how/where I
can learn about
> coding for low-level stuff like this
Or even what key words I might
want to search for
> Happy it's within *your* scope, anyway! >;]P
>
> CJ
>