This is a community work log to design and build a memory expansion module for the Motorola 56001 DSP in original NeXT Black Hardware. It’s a collective effort by the NeXT community to reverse engineer the 96kb NeXT memory expansion SIMM (N7013) as well as the 576kb SIMM manufactured by San Francisco State University. Feel free to join in on the discussion and help us build a working memory module. We are in need of high resolution pictures of the original modules, so if you have one of them please take some pictures and e-mail them to: admin <at> nextcomputers <dot> org. We also need documentation and/or schematics of the original modules as well as any documents related to the Motorola 56001 DSP external memory requirements. Any and all help in this endeavor is greatly appreciated.

The N7013 DSP expansion memory has a special layout as described below:

"Off-chip DSP memory on the NeXT computer exists in two address ranges, each of which spans all of the 8K words of
external memory. In the first address range (8K to 16K), x, y, and p memories are overlaid; that is, an external memory
reference points to the same off-chip location regardless of the memory space specified. Note that in this address range,
there is no l memory space support. (The high and low words are mapped to the same word.) In the second address range
(40K to 48K), x and y are split into separate 4K partitions, and p overlays the entire 8K. This address region allows external
l memory use, and supports algorithms (such as the Motorola benchmarks involving complex data) which expect x and y
memories to be physically separate".

OK, nobody answered my question about the DSP memory map with the
32Kword expansion module but I worked it out using the Ariel DSP
debugger (I can post it if anyone is interested).

Unfortunately it looks as if the 32K expansion memory is used, but
the 8K on-board memory is superceded. This means that I get 32K
total DSP external memory, NOT 40K, as I had hoped... UNLESS there
is some way of paging an 8K memory subspace in and out by writing
to some IO register. Paging has to be implemented because I saw
ads for expandability up to 576K of memory, and the addressable
space on the DSP is 64K.

Does anyone know if the 8K on-board memory is accessible at all?
Or am I stuck with only a 24K improvement?

Why is there no documentation at all on the DSP? None came with
the package I got from my NeXT dealer.

First of all, note that all memory spaces that are under Block 1 reference the
same physical memory, and similarly for Block 2.
Note that Image A is partially blocked by the on-chip RAM in locations $00-$FF

for X- and Y-space, and $00-$1FF for P-space. Of course you know that the

data-ROMs in the X- and Y-space can be swapped in or out by software.
Image B is ideal for XY memory (e.g. complex data) references because the

physical memory doesn't overlap, and the map is uninterrupted for both spaces.
Image C crashes into peripheral space, on-chip for X-space, and external

peripheral space for Y-space, though it looks like it's OK to read/write to the
upper 64 bytes of the Y-space on the NeXT.

What are you going to do with all this memory? Lots of DMA! But don't get too
greedy because the maximum DMA transfer size is 8K bytes (1 vm page).

Unfortunately it looks like the expansion memory simply supercedes the on-board

8K memory, which then becomes totally useless. If someone knows of a magical

software switch that can page this 8K in and out (like the data-ROMs) please
tell me! It's a pity. I was looking forward to 40K of DSP RAM, not 32K.

A special thank you goes out to Izumi Ohzawa, author of the program “DSPMemSize”, for sending us high resolution photos of the original NeXT DSP memory expansion SIMM as well as the source code for the program. Your generosity is much appreciated. Also, special thanks to NeXTComputers.org forum member korneluk for taking the time to contact Izumi Ohzawa and requesting this information.

Korneluk contacted David Jaffe, who generously sent us the “senseDSPMem” program. Many thanks to David for supplying the program as well as korneluk for taking the time to contact him. The program should work well to test the first prototypes. It can be found in the archives here:

For those who are going to be making the actual boards I have done a little magic on those photos. I did my best to clean it up but there are several traces that are a total mystery because they run under the chips.

By the looks of it we might be dealing with only a two layer board.
Once my cube arrives I'll try see if I can get the dimensions the SIMM has to be in order for it to fit in the slot (though I assume this simm is no thicker than a regular 30 or 72 pin SIMM)

EDIT: Here are the traces on a transparent background. The back is finished but the front still needs those missing traces fixed and both need to be properly resized so that when we go make the sticks we make them the right size.

EDIT: I just updated the two pictures above as there was a bug in the drawings. I also added in the perimeter of the SIMM so you can print and line the two images up a little easier._________________
-NeXT 68040 Cube with NS 3.3 and 64Mb ram

Oh dear.
I am being informed by my sources that this is probably not a two layer PCB.
Grr!
I need access to one of those DSP sticks so I can figure out how exactly it was built._________________
-NeXT 68040 Cube with NS 3.3 and 64Mb ram

To aid in geting this completed I have asked for help at the Vintage Computer Forums.
For starters, I have found out that it would be fairly inexpensive to get a batch of boards made for the task. If I can get enough people who want one, I could order all the aprts and mail out kits._________________
-NeXT 68040 Cube with NS 3.3 and 64Mb ram

To aid in geting this completed I have asked for help at the Vintage Computer Forums.

Circuit is going to be dead simple. Straight memory wiring with some chip select from the multiplexer. But to get anything fabbed you're going to have to use the correct tools. So you might as well start getting familiar with Eagle or gEDA (latter if you want to do this on the cheap and want to do more than a 2-layer board).