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 56001 documents that we've accumulated so far can be found here:
https://www.nextcomputers.org/NeXTfiles/Docs/Audio/DSP56001/Documents and pictures related to the new expansion module will be available here:
https://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/Thanks everyone,
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".
Info found in an article by Julius O. Smith from Next and Stanford U.
Thinking about it, the 576 Kbyte expansion board provides a full 64Kbyte (16 address lines) by 24-bit external memory expansion to each of the x,y, and p adress spaces thus:
64 Kbytes (16 address lines) * 3 (24-bit data bus) * 3 (separate address spaces) = 576 Kbytes total expansion memory.
or
192Kbytes x 3 address spaces = 576 Kbytes total mem.
More information on the N7013 DSP expansion memory.
From: avery@neuroinformatik.ruhr-uni-bochum.de (Avery Wang)
Date: Mon, 13 Jan 92 00:41:06 MET
Subject: DSP memory--paging???
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.
Thanks, -Avery
--------- Avery Wang
RUB-Institut fuer Neuroinformatik
ND 03, Postfach 10 21 48
W-4630 Bochum 1
Germany
awang@isl.stanford.edu or
avery@neuroinformatik.ruhr-uni-bochum.de
------------------------------------------------------------------------------
DSP Memory Map for NeXT with 32K-Word Expansion Module
------------------------------------------------------
On-Chip Block 1 (16K-Words) Block 2 (16K-Words)
p:$0000-$01FF
p: $0200-$3FFF $4000-$7FFF "Image A"
p: $8000-$BFFF "Image B"
p: $C000-$FFFF "Image C"
x:$0000-$00FF
x:$0100-$01FF (A-law,mu-Law ROM)
x: $0100-$3FFF $4000-$7FFF "Image A"
x: $8000-$BFFF "Image B"
x: $C000-$FFBF "Image C" ($FFC0-$FFFF is mapped to peripheral space)
y:$0000-$00FF
y:$0100-$01FF (Sine table ROM)
y: $0100-$3FFF $4000-$7FFF "Image A"
y: $8000-$BFFF "Image B"
y: $C000-$FFFF "Image C"
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.
Good info. I also found a passing comment to two programs that calculate the DSP RAM size:
- dspmem.c by David A. Jaffe
- DSPMemSize by Izumi Ohzawa
However, I have not been able to find the source code for these yet. They will be very helpful after we prototype the new hardware and are ready to test it.
I will be very gratelful if anyoine can find these.
-- josé k.
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.

(
http://www.nextcomputers.org/NeXTfiles/Images/Rare_NeXT_Hardware/DSP_Expansion_RAM/P1010047.jpg)

(
http://www.nextcomputers.org/NeXTfiles/Images/Rare_NeXT_Hardware/DSP_Expansion_RAM/P1010046.jpg)

(
http://www.nextcomputers.org/NeXTfiles/Images/Rare_NeXT_Hardware/DSP_Expansion_RAM/P1010045.jpg)
(Click to enlarge)
The source code for the DSPMemSize program can be found here:
http://www.nextcomputers.org/NeXTfiles/Software/NEXTSTEP/Apps/Audio/DSPMemSize/And the DSP memory photos can be found here:
http://www.nextcomputers.org/NeXTfiles/Images/Rare_NeXT_Hardware/DSP_Expansion_RAM/
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:
http://www.nextcomputers.org/NeXTfiles/Software/NEXTSTEP/Apps/Audio/SenseDSPMem/senseDSPMemory.tar.gz
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.
Oh dear.
I am being informed by my sources that this is probably not a two layer PCB.
Grr! :x
I need access to one of those DSP sticks so I can figure out how exactly it was built.
Yup, that is not a doublesided board but a multi-layered one judging by the photos.
Does anyone have a stick? I would honestly pay shipping both ways just so I could see where all the traces go.
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.
Quote from: "pentium"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).
I would like to get one of this boards, if you guys are going to replicate them
let me know
Thnks
Quote from: "NeXTnewbe"I would like to get one of this boards, if you guys are going to replicate them
let me know
Thnks
I exchanged e-mails with Tom Holton of SFSU a long time ago and he said that he would look to see if he still had any of the original documentation for the memory module that they produced, but he didn't sound optimistic that he still had the information. He did say that he still had his Slab though. :) I sent him a follow up e-mail a few months later but didn't receive a response. So the project is stalled at this point. If anyone has the expertise to help with this project feel free to send me a PM or e-mail to admin at nextcomputers <dot> org.
Thanks,
I think that we need to do a list of the tasks and research required, and then we can choose accordingly our skills
my electronics are a bit rusted , as I have a degree in Computer science, but haven't applied eceltronics in a very long time (as I work in Telecommunications and Network Security)
please let me know what you think?
a crazy idea why not take an X ray on one of the DSP expansions to see the middle layers?
:oops: :oops: :oops:
Hi everyone
I got a really fantastic news! I had contact Tim Holton the original designer of the NeXT DSP module few weeks ago, and today he has send me the diagrams a some other information to recreate the module
the only requirement is to keep his intellectual copyright of this work, he also told me that hi has send a copy of thesam information to other memeber of the forum
how can I upload the information
and who is interested in help me and recreate the module, lest organize a team, who's with me?
Yupieeeee :)
Wait, so you might have complete schematics?
Fantastic! :D
I'm totally in. I know people here who would gladly love a DSP module in their slab or cube.
Quote from: "pentium"Wait, so you might have complete schematics?
Fantastic! :D
I'm totally in. I know people here who would gladly love a DSP module in their slab or cube.
here is a part of his email t
"Here is a pdf file of some of the info for the 576KB DSP memory module my student Joel Miller and I made for the NeXT computer many years ago. I have a very thick file on this, from which I'm sending you what I feel are the really relevant pieces: the schematic, which gives the pin-outs, and the mechanical fab drawing that gives the dimensions of the board. With this information plus a data sheet for the memory, a competent designer should be able to redesign the part with modern components. A redesign will be necessary because the particular Micron memory SRAM part we used is long gone. Although you might be able to find some of these parts on the used market, I would strongly advise against it based on my negative experiences with them. Most of these parts don't work. You're better off redesigning the module using more modern memory chips. I've enclosed copies of the foils of the layers just for your amusement.
You are welcome to share this as you see fit, though from a purely legal standpoint we do retain the copyright on this work."
so how can we modify this, and all we need to do is keek him informed and make sure he and Joel are mentioned always as the original designers of the DSP
so how can we organised this?
I e-mailed Tom about this project on January 29th, 2008 . He sent me a belated response on September 14, 2009 with a promise to scan and send documents relevant to the NeXT DSP memory module. I received a PDF document yesterday with most of those details. Tom Holton and his student Joel Miller rightfully retain the copyright to all documents related to the original design. The PDF file he sent has some nostalgic info and contains recommended reading:
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/SFSU_NeXT_DSP_Expansion_Memory.pdfWe thank Tom so much for taking the time to record this for the NeXT community!
NeXTnewbe, would you like to lead this project? Please, please, please! :) The documents we have so far are located here:
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/
I was the guy who made him remember your email Nitro, he mention that you have contacted him few years ago, but he was so busy that he totally forgot it.
I got some other technical documents with the old Micron memory and the hex inverter specification for the original Tim's module, and in fact this DSP expansion module is totally different, to the one we all know (at least in pictures).
Nitro, please we need to add a disclaimer, and giving all credit to the original module to Tim and Joel for the module, this should be a "Must", to make sure we are on le legal side all the time.
I will like to help with the project, but I need to know who is willing to help, and understand our skills.
I don't have too much time to spend on this, but definitively I want this module in my cube.
The original Tim's DSP memory uses the following modules
6x Micron MT5C1008 at 35 ns
1 x 74ALS04B Hex inverter
and some ceramic capacitors
so we need someone to help us to find the most modern memory modules compatible with the original modules. then the question to the forum member is who among us have the skills/experience to help us.
this is the first and most hard part, once we have the design we wee to produce a part to test and the cost is something we will need to agree how to split the cost for the fist module and the subsequent modules
Nitro, how can I upload information to the Filearchive? I will put more bits that I got regarding the module
Thanks
Quote from: "NeXTnewbe"I got some other technical documents with the old Micron memory and the hex inverter specification for the original Tim's module, and in fact this DSP expansion module is totally different, to the one we all know (at least in pictures).
Electrically, they seem quite similar - U7 is a hex inverter, the RAMs used are identical. I'll have to check which module actually is used in my Dimension Cube.
Quoteso we need someone to help us to find the most modern memory modules compatible with the original modules. then the question to the forum member is who among us have the skills/experience to help us.
The Micron part is a pretty standard asynchronous 128kx8 SRAM with 35ns access time. I'm not sure if the DSP really requires 35ns parts, but nowadays, async SRAMs with 10ns are available, so speed is not a problem. Using SMD parts, a e board might even be a bit smaller.
Farnell has the following IC's:
CYPRESS SEMICONDUCTOR CY7C109D-10VXI (128kx8, 10ns)
INTEGRATED SILICON SOLUTION (ISSI) IS61C1024AL-12JLI (128kx8, 10ns)
There are larger memory capacities available, but I'm not sure how much external RAM can be attached to the DSP56001.
Quotethis is the first and most hard part, once we have the design we wee to produce a part to test and the cost is something we will need to agree how to split the cost for the fist module and the subsequent modules
The layout is rather simple - the original design uses a 4-layer-board, which would have to be manufactured (i.e., I can't do a prototype in-house here). Not sure about the current prices for 4-layer PCB manufacturing, 2-layer boards were about 50 Eur/board (160x100 mm^2).
-- Michael
Hm, according to the DSP56001 data sheet, only 16 address lines are available. So, only half of each 128kx8 chip is used (the A16 line is tied to GND in the schematic). What a waste of resources! :D
EDIT: actually, three of the 128kx8 RAMs (data RAM) are used to 100%, A16 selects between X and Y memory accesses. Only the program RAM is 50% unused.
However, the following question is still valid :-):
Did anyone consider building some kind of bank-switching logic for the DSP?
I'll dig a bit deeper into the data sheets, last time I worked with the 56001 is nearly 20 years ago...
-- Michael
I actually got some plans to use the DSP on my cube, and the DSP memory seems perfect fit,
I know, I know I can do much with modern HW but the fact to see my beloved cube doing something else is just exciting
I'm still willing to to do the testing and I can go as far as assembly and design of the new SIMM however I have no means to produce the PCBs.
two of the designs for the new SIMM that I thought up were piggy backing two PCBs (similar to what SGI Origin 2000 ram looks like) and the other was making the board in a weird L-shape.
I was checking some static RAM the CYC109BN, CYC1009BN and the IS62WV1288DALL/DBLL and the IS65WV1288DALL/DBLL are the exact type of memory as modemr component, the diference is the speed.
but for the IS6xWV1288DALL available speeds in 35ns too
for the Hex inverter as simple and still in the market, my thoughts on this two chips, that can be use to replicate the same original design without any change
can anyone confirm this, please?, if so, it would far easy
so far I recreating the schematic in cad, but I don't have the skills to do the PBC circuit diagram at scale (who can help ?)
Quote from: "NeXTnewbe"I was checking some static RAM the CYC109BN, CYC1009BN and the IS62WV1288DALL/DBLL and the IS65WV1288DALL/DBLL are the exact type of memory as modemr component, the diference is the speed.
but for the IS6xWV1288DALL available speeds in 35ns too
for the Hex inverter as simple and still in the market, my thoughts on this two chips, that can be use to replicate the same original design without any change
can anyone confirm this, please?, if so, it would far easy
This should work, just make sure the parts you use are 5V-compliant (modern parts often run on 3.3V signal levels).
Quoteso far I recreating the schematic in cad, but I don't have the skills to do the PBC circuit diagram at scale (who can help ?)
Which CAD system are you using? Eagle offers a limited free version (up to 100x80 mm^2 PCB area, 2 layers) of their PCB CAD system for Linux, Windows and OS X. While the original design uses four layers, a first prototype on two layers might be possible.
wooo! exciting! First the relatively easy overclock mod and now the schematics to the DSP cache card. Now we just need the docs to the SCSI Controller :)
ARGhhh!!
yes all new components IS6xWV1288DALL are limited to 4V or less, the original is 5V, so a resistor is required on the Vcc, not sure about the I/O and Address inputs,
I'm not the best one here, someone with a bit more experience in electronics can help
Quote from: "NeXTnewbe"ARGhhh!!
yes all new components IS6xWV1288DALL are limited to 4V or less, the original is 5V, so a resistor is required on the Vcc, not sure about the I/O and Address inputs,
I'm not the best one here, someone with a bit more experience in electronics can help
The output voltage on the data lines also has to be 5V-compliant, so you would need a (rather fast) level shifter. But see the parts in my message above, these should work.
-- Michael
Cuby
sorry, but I have no clue about "level shifter" as my electronic are so rusted that I only can do the pure basics
Let me ask you something, let me finished the schematics based on the original, and if you want I can send it to you for your modification, if you are happy to help us
regarding the PCB, I have no skills for this, I would prefer to know if someone can volunteer to help on produce them, based on the schematics and the original dimensions (if two layers are good, why not), it could be even cheap to produce some to all interested in this little project
what do you think?
EDIT: I google the level shifter, I undesrtand the the basic concept, but not sure how to implement this?
Quote from: "NeXTnewbe"I was the guy who made him remember your email Nitro, he mention that you have contacted him few years ago, but he was so busy that he totally forgot it.
When I saw your post I assumed that's what happened. Thanks for sending him a reminder.
Quote from: "NeXTnewbe"Nitro, please we need to add a disclaimer, and giving all credit to the original module to Tim and Joel for the module, this should be a "Must", to make sure we are on le legal side all the time.
I placed a copyright notice in the
project folder. (http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/) Tom's PDF file also contains his copyright notice in at least three places.
Quote from: "NeXTnewbe"Nitro, how can I upload information to the Filearchive? I will put more bits that I got regarding the module
Feel free to send documents and files to the admin e-mail account here and I'll move them to the
project folder. (http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/) I can also set up a temporary FTP account if you have files that are too large to e-mail.
Thank you to everyone involved in this project. 8)
:idea:
mm, well I just had a contact with Austin Semiconductors and I asked
"Hi I would like to know if your company still producing the static SRAM MT5C1008 128k x 8 Sram at 5V as new part and new condition"
they answer was
"Good afternoon. The MT5C1008 parts are standard, active productcurrently still in production. If you would like to obtain a quoteplease contact our authorized representative in the UK"
So seems that it would be possible to get the same type of memory used originally
I will like to order a sample to test a memory circuit made on a protoboard, but i will need to take the connections out form the board in a safe way to test the original design with those comoponents,
I wonder if it would be possible to get something similar to this connector
but with 64 pin for the same type of socket use on the MB
can be use to test the DSP memory?
you mean some sort of SIMM adapter?
Why not just make a little PCB that breaks the slot out into 50-pin connectors or something?
Quote from: "pentium"you mean some sort of SIMM adapter?
Why not just make a little PCB that breaks the slot out into 50-pin connectors or something?
simple, I don't have the time and the risk of building a PBC and have a shor circuit is too high
:cry:
Quote from: "NeXTnewbe"Quote from: "pentium"you mean some sort of SIMM adapter?
Why not just make a little PCB that breaks the slot out into 50-pin connectors or something?
simple, I don't have the time and the risk of building a PBC and have a shor circuit is too high
:cry:
Pentium brings up a good point.
Quote from: "NeXTnewbe"simple, I don't have the time
What? If you don't have the time then how do you expect to follow through on this?.
Quote from: "NeXTnewbe"and the risk of building a PBC and have a shor circuit is too high
I'm guessing a prototype will be necessary for testing. How do you hope to test this without actually plugging it in?
Quote
Pentium brings up a good point.
I have this whole SIMM-out-of-the-cube adapter planned (SIMM adapter converts into ribbon cables which run through an open slat in the back and to another board which converts it bask into a SIMM slot) but I jast have no way to draw it out as my proper CAD/PCB drafting system is down and I'm not approving any sort of MS paint drawing.
Why not just find a mono slab or something, take the top off and use that? You get direct assess to the slot.
Quote from: "pentium"Quote
Pentium brings up a good point.
Why not just find a mono slab or something, take the top off and use that? You get direct assess to the slot.
is hard to find in UK an mono slab, so your idea of having a SIMM out, is the think i want to test the memory in a protoboard, to test the components and the memory design
this is more cheap that burn a SIMM memory pbc for every design, Pentium are you able to build one or two
I'm going to ask for some sample memory modules, if we get this running and if the original design works with some new components, I may buy some and then if we can get a SIMM pbc we can just ship it to those interested in get a DSP memroy module
what do you think?
If I could get access to some blank SIMMS that only have the pads at the bottom I'm quite sure I could make up a few of these '"outside the computer" slots/boards you want. Unfortunatly I don't know where to make blank SIMMs.
Quote from: "pentium"If I could get access to some blank SIMMS that only have the pads at the bottom I'm quite sure I could make up a few of these '"outside the computer" slots/boards you want. Unfortunatly I don't know where to make blank SIMMs.
:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Quote from: "pentium"If I could get access to some blank SIMMS that only have the pads at the bottom I'm quite sure I could make up a few of these '"outside the computer" slots/boards you want. Unfortunatly I don't know where to make blank SIMMs.
You could try to find some old Mac IIfx SIMMs - these also have 64 pins and fit into the DSP RAM slot (tried that yesterday) - and desolder the DRAM chips. However, with 35ns access time, manual wiring of the SRAMs might cause lots of trouble due to differing signal run time, signal crosstalk etc. But it might be worth a try.
-- Michael
Even if I could find some IIfx SIMMS I wouldn't dare ruin them.
Hold on for a second. *runs off*
Say, the SIMMS on this AST daughter card uses 64 pin SIMMS.
If anyone wants I guess I could at least quickly draw up some dimensions for the stick.
Quote from: "pentium"Even if I could find some IIfx SIMMS I wouldn't dare ruin them.
Hold on for a second. *runs off*
Say, the SIMMS on this AST daughter card uses 64 pin SIMMS.
If anyone wants I guess I could at least quickly draw up some dimensions for the stick.
Here's some dimensional information for 64 pin SIMMs:
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/64_PIN_SIMM_632128w-z.pdfhttp://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/AK63264AW.pdfI'm not sure this applies but here's the JEDEC standard:
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/JEDEC_64_Pin_SIMM.pdfI have a 1mb 64 pin SIMM that I picked up cheap online that was made for an Apple LaserWriter. When plugged into a Turbo Color Slab the Slab wouldn't boot, but the SIMM fit. It could be used for a prototype if needed.
Edit:
I'm going to get some local bids on having this module designed, given the information that was sent to me and other irons in the fire. We'll see what the cost will be for some prototype boards. If it's feasible from a cost standpoint I'll pull the trigger and have some PC boards made. If that happens and the module actually works, all of the manufacturing info will be made available in the file archives here so that you can have your own boards made locally if you desire.
That's fantastic Nitro! :D
Leave it to you to use your connections when ours fail.
I'm still trying to get a old MAC sim, so far I have check all the newer components, and the Austin Semiconductors are I think the best sutiable for the jobs as it seems that the design will not require any change
any news guys (Pentium, Nitro)
I'm waiting on other people, so I don't have anything to report at this time.
Is this project dead?
I'm no longer able to produce the necessary PCBs that we can make the modules from unfortunately. I ahve done the best I could but all the necessary information is still available for someone else to carry the project on.
What about submitting the design to batchpcb.com (this is a spin-off of SparkFun) so if someone wants one they can easily get a PCB? Is a Gerber file available? Are there any blind or buried vias? I have a Cube and could use this module!
I looking into this as well and making the PCBs will be a huge challenge as I believe they have multiple layers of traces. Our best bet would be to find an similar apple/mac simm that fits the pins, the remove the apple/mac chips from the simm and wire the proper chips to the pins (kind of like a breadboard).
Quote from: "sdinet"I looking into this as well and making the PCBs will be a huge challenge as I believe they have multiple layers of traces. Our best bet would be to find an similar apple/mac simm that fits the pins, the remove the apple/mac chips from the simm and wire the proper chips to the pins (kind of like a breadboard).
BatchPCB will make boards with up to four layers (two external and two internal). The prices for four-layer boards are higher, but still reasonable.
Basically, you send them a Gerber file (basically a file describing how the board should be made) and they'll produce the boards.
I've looked into PCB prototyping, and most other places charge a lot, especially for multilayer boards. Hopefully this would work...I'd love one of these modules!
Using "something like a breadboard" could cause timing issues. I don't know enough, but at high speeds, crosstalk and timing become a problem.
From what I have looked up, the SIMMS use three layers. Back, middle, and front.
We can manufacture two layer SIMMS that are a lot easier to manufacture (and considering we have all the necessary documentation on the original SIMMS, we know what each trace and component does). The problem however is that dropping to two layers requires the trace layout to be redone from scratch as well as the SIMM might become larger. We can built it outwards ot the sides without much trouble but we can't build up ot else we won't be able to fit them in our systems.
Quote from: "pentium"From what I have looked up, the SIMMS use three layers. Back, middle, and front.
A quick overview of the PDF indicates that there are four layers: two outer layers, a power plane, and a ground plane. This is a quite common practice in board design.
Quote from: "pentium"We can manufacture two layer SIMMS that are a lot easier to manufacture (and considering we have all the necessary documentation on the original SIMMS, we know what each trace and component does). The problem however is that dropping to two layers requires the trace layout to be redone from scratch as well as the SIMM might become larger. We can built it outwards ot the sides without much trouble but we can't build up ot else we won't be able to fit them in our systems.
Another thing to worry about is timing issues. Any time the position of traces is changed, timing might be messed up and it may just stop working properly. Here (
http://www.folklore.org/StoryView.py?project=Macintosh&story=PC_Board_Esthetics.txt) is an example of this (and note that SRAM is usually accessed faster than 150ns or slower DRAM).
How do you intend to manufacture the boards? I figured that using a service, such as BatchPCB, would be most feasible -- although not exactly inexpensive: they charge $10 + $8 per square inch for 4 layer designs or $2.50 for 2 layer designs. There are other services, but so far I couldn't find one as inexpensive for small production runs (1 or 2 boards).
The actual work would be to transfer the design from the PDF to software such as Eagle or other PCB-design software and get the dimensions right. Afterwards, a Gerber file can be exported; this file format is what BatchPCB and others accept. Assembling isn't a big deal for anyone with a decent soldering station, though I'm quite sure there will be a market for pre-assembled SIMMs.
I would like to have one of this boards too, but I remeber that the professro who give us the information, advice on use the memory replacements as the originally used are not in production anymore and if found they can present problems (cant remeber why), he advice to redisign the board to fit more modern SIMMs
but I would like to help anyway :)
Quote from: "NeXTnewbe"I would like to have one of this boards too, but I remeber that the professro who give us the information, advice on use the memory replacements as the originally used are not in production anymore and if found they can present problems (cant remeber why), he advice to redisign the board to fit more modern SIMMs
My understanding was that the company that made the ICs doesn't make them anymore, and used old-stock may be defective. Fortunately, a company was found that makes functionally-identical parts.
In my opinion, re-engineering should be avoided if at all possible.
I didn't know that, Thanks
well I'm in :)
I did some more research and it seems that the board thickness may be an issue. A 4-layer board from most fab houses would be about 1.2mm thicker than the original. A 2-layer design would probably be feasible, and flatpack SMT ICs may make it easier.
EDIT:
Does anyone have potentially useful information? I think pentium said something about this... any such information may be useful.
:roll:
There is like, five pages of content and links. Go back and read them and you will find all you need.
Quote from: "pentium":roll:
There is like, five pages of content and links. Go back and read them and you will find all you need.
Ohh I've read all that. I mean, any additional information that isn't here. :)
I'm sure I can do without it, though.
This is all we got.
Hi
any news or updates about this topic
If someone is willing to donate a DSP simm, I can work with grant stokely (make of the altair and kenbak reproduction kits) to build a lot of these simms. It may cost a bit, so we would all need to split the costs.
Too bad I sold the only DSP simm I had 6 months ago =(
This may be a dumb question but what would this device do for us? Sounds like it offers more memory to DSP functions but is the DSP that heavily used where we would see speed improvements someplace?
Just trying to understand what an upgrade like this would do for us commoners. 8)
tj
Quote from: "sdinet"If someone is willing to donate a DSP simm, I can work with grant stokely (make of the altair and kenbak reproduction kits) to build a lot of these simms. It may cost a bit, so we would all need to split the costs.
Too bad I sold the only DSP simm I had 6 months ago =(
We have all the reference material we need to reproduse the SIMM here in the thread. That is about sa good as we are going to get when it comes to getting hold of a real SIMM.
We really don't know what it will do. Even I think it's really just a fun and novelty item.
Quote from: "NeXTsociety"This may be a dumb question but what would this device do for us?
That's really the most important question. My recollection is that only the CCRMA MusicKit and some other custom stuff (perhaps IRCAM) will use the added memory. I may be wrong but that's the story I know.
I'm bumping this thread thinking I may be able to help. In a lot of NeXT hardware and software I recently acquired was a DSP expansion kit that contained the module itself; it appears to have never been used.
You able to get an xray of the SIMM? Not much can be done for reverse engineering at this point without figuring out what that middle layer is doing.
Well okay, we CAN do extra homework and figure out where everything went but the xrays would make it much easier.
Hmmm... my immediate answer is no. But, maybe I can figure something out.
To update: I do not have the resources to get the module x-rayed. The next best thing I can think of is to use a multimeter to trace continuity, then document. This is time consuming, of course, but it's the best I can do at this point. Seeing as how this thread was started 8 years ago, I'm wondering if interest has diminished or if it was simply unable to progress any further. One question: if the community has the schematics for the 576k module, why not reproduce it?
Hello NeXT community. bobo68 and I have put together a spreadsheet in an attempt to reverse engineer the NeXT 96k DSP SIMM. bobo68 has been immensely helpful in organizing the spreadsheet and documenting information. I just manned the multi-meter.
The spreadsheet is here:
https://docs.google.com/spreadsheets/d/1IEQZNNyqNDBm2rji7DHeYrpfK_TktUw3WzUsdI8wsJM/edit?usp=sharingWe're hoping some of you can make sense of the information we've gathered. We have a few unanswered questions, and I personally lack the knowledge to answer them. We also hope this information is helpful in visualizing the internal board layers.
Here is a brief summary of our findings:
Regarding the 74F158 multiplexer, it seems not all inputs/outputs are used.
SIMM pin 42 (DSP Data Select) does not appear to connect to any component on the module. Why?
SIMM pin 64 does not appear to be used.
There seems to be common GND and Vcc planes. All GND pins connect. All Vcc pins connect.
Address pins of all SRAMs connect in parallel to each other.
If any of you have time to review our spreadsheet, please let me know if we are missing something.
I don't know if this is useful, but Previous supports 24 and 96k DSP memory. You could add some debugging output to see what is going on when NeXTstep uses the DSP.
You can find the code here (
https://sourceforge.net/p/previous/code/HEAD/tree/branches/branch_softfloat/src/dsp/dsp_cpu.c).
Looking at the source code of dsp_cpu.c: there is a DSP memory map assumed (for Atari's Falcon). I'm not sure if this is valid for NeXT's 96K expansion. Have to check the mapping/wiring we found.
The large DSP expansion module from the San Francisco State University would definitely provide a different memory layout having just 3 64K chunks of non mirrored / non overlayed program, data x and data y memory.
The memory map at the top of dsp_cpu.c was modified to reflect NeXT's layout for a 24k module. But as noted in the file it is mostly a guess. Anyway it seems to work without problems with all DSP software I tested so far (including NeXT diagnostics). Memory layout for 96k is similar: below 0x8000 overlapping 32k dsp-words. above 0x8000 separate 16k data spaces (mirrored once) overlapping with 32k program space.
As you noted the large memory module will most likely fill all space with non-mirrored and non-overlapping memory. That might in fact break some software, if it relies on overlapping.
Please have a look at the address mapping SlateBlue and me found at
https://docs.google.com/spreadsheets/d/1IEQZNNyqNDBm2rji7DHeYrpfK_TktUw3WzUsdI8wsJM/edit?usp=sharing, tab "Address mapping". I cannot bring your comments on the 96K module in line with what we found.
Main findings for me:
SRAMs together provide one 24-bit DSP word (3x 8 bit).
Program memory select (_DSPPS) and data memory select (_DSPDS) are not used by the module. i.e. there seems to be no distinction between program and data memory which means they would overlap.
The multiplexer is only used to generate the A14 address line of the SRAMs like this:
Inputs: DSPA14 is I0b, DSPXY is I1b
DSPA15 selects between both
Output _Zb (output is inverted) goes to A14 of SRAMs
That of course leads to a rather strange mapping of logical to physical memory you can see in tab "Address mapping" of our spreadsheet. I still have some doubts this is true but that is what we found so far.
Quote from: "andreas_g"Anyway it seems to work without problems with all DSP software I tested so far (including NeXT diagnostics)
Which software can be used for testing apart from diagnostics?
Quote from: "bobo68"Main findings for me:
SRAMs together provide one 24-bit DSP word (3x 8 bit).
Program memory select (_DSPPS) and data memory select (_DSPDS) are not used by the module. i.e. there seems to be no distinction between program and data memory which means they would overlap.
The multiplexer is only used to generate the A14 address line of the SRAMs like this:
Inputs: DSPA14 is I0b, DSPXY is I1b
DSPA15 selects between both
Output _Zb (output is inverted) goes to A14 of SRAMs
I'm afraid I don't understand this. But does that mean it is probably as simple as just mapping 8k DSP-words overlapping and repeating throughout the entire address space (of course except internal ROM, I/O, etc)? That would match my mapping below 0x8000. Then mapping above this value is probably wrong and this memory range was not used by the software I tested.
Quote from: "bobo68"Which software can be used for testing apart from diagnostics?
For example Mandelbrot and ScorePlayer demos (NeXTstep 1.x and 2.x) are heavily using DSP. But in this case it might be more useful to write a custom program (unfortunately I can't do that). One could then write for example to X data memory at 0xX800 and see if the data can be read at Y data memory 0xX800 and P memory at 0xX800 and at X data memory 0x(X+2)800 (repeat with X = 0 through X = F).
I'll try to come up with a mapping description similar to the one in dsp_cpu.c.
Can you answer these questions?
How much internal memory does the DSP56001 have and how is it mapped into the address space? Is this the same address space that also covers the external expansion memory?
How does the DSP56001 know the external memory configuration? Is it configured by some bootstrap code? Or maybe it is not configured and the DSP programs have to find out / know?
Stupid question, as I am not knowing what a multiplexer does, but isn't this (quote from the spread sheet) "So either SIMM connector's DSPA14 or DSPXY signal is routed to A14 of the SRAM chips depending on DSPA15" almost exactly doing what is shown in my drawing in dsp_cpu.c:
Below 0x8000 (DSPA15 is 0): Route DSPA14 to A14.
Above 0x7FFF (DSPA15 is 1): Route DSPXY to A14 and thus split physical DSP memory into two separate pieces of same size depending on selected data memory space (X or Y).
Then in my drawing only P above 0x7FFF is wrong, because only X and Y matters and P does either go to X or Y block depending on DSPXY.
Update: If DSPDS would be wired in a way, that DSPA14 is always routed to A14, if P memory is selected, it would match my drawing 100%, wouldn't it?
The memory map is configured as follows :
0x0000 to 0x7fff:
Program space P and data spaces X and Y are contiguous
8k dsp Word blocks. They overlap in physical memory.
0x8000 to 0xffff:
X and Y data spaces are physically separate 4k dsp Word
blocks. Program space P is a contiguous 8k dsp Word block
and phyically overlaps X and Y data space.
Y: memory is mapped at address $8000 in P memory
X: memory is mapped at address $9000 in P memory
X: Y: P:
$ffff |--------------+--------------+--------------|
| Int. I/O | Ext. I/O | |
$ffc0 |--------------+--------------+ |
| | | |
| Mirror(8) | Mirror(8) | Mirror(4) |
| | | |
$A000 | | |--------------|
| | | |
| | | |
| | | 8k |
$9000 |--------------+--------------| External |
| 4k | 4k | RAM |
| External | External | |
| RAM | RAM | |
$8000 |--------------+--------------+--------------|
| | | |
| Mirror(4) | Mirror(4) | Mirror(4) |
| | | |
$2000 |--------------+--------------+--------------|
| 8k | 8k | 8k |
| External | External | External |
| RAM | RAM | RAM |
$0200 |--------------+--------------+--------------|
| Log table or | Sin table or | |
| external mem | external mem | Internal |
$0100 |--------------+--------------+ program |
| Internal X | Internal Y | memory |
| memory | memory | |
$0000 |--------------+--------------+--------------|
Quote from: "bobo68"How much internal memory does the DSP56001 have and how is it mapped into the address space? Is this the same address space that also covers the external expansion memory?
My drawing answers this question. It has 256 DSP-words internal X memory, 256 DSP-words internal Y memory and 512 DSP-words internal P-memory. Furthermore it has internal constant ROMs, 256 DSP-words each, in X and Y memory space. I/O registers are mapped at the top of X and Y memory spaces. The internal memory and I/O memory partially cover (overlap with) external memory.
Quote from: "bobo68"How does the DSP56001 know the external memory configuration? Is it configured by some bootstrap code? Or maybe it is not configured and the DSP programs have to find out / know?
The DSP itself does not know how much external memory it has. Software has to find it out. NeXT does this by writing to some location and then check if/where the data can be read (e.g. write to 0x0800 and finding data at 0x2800 means 24kB memory installed).
We are thinking in the same direction, but...
The multiplexer inverts its selected input, which means the physical blocks are mapped the other way round.
DSPXY is always set to 1 if program memory is accessed (at least I read this).
Address bits 0 - 13 are routed straight through to the SRAMs, i.e. the interesting stuff is happening at 16K blocks. So my picture, which tries to show which physical memory is mapped to which logical memory, looks like this:
Given:
SRAMs
Physical Base Address 16K block name
$4000 S2
$0000 S1
This would be the mapping (not showing the overlay with internal memory):
DSP56001
Logical Base Address X Y P
$C000 S1 S2 S1
$8000 S1 S2 S1
$4000 S1 S1 S1
$0000 S2 S2 S2
Does this make sense?
Quote from: "bobo68"Does this make sense?
My above drawing shows the map for 8k dsp-words while yours is for 32k dsp-words. I think it mostly matches (although i don't invert the input, which should not matter if it is same for reading and writing; X block being S2 seems to be correct in my code). There is only one difference: In my table P memory is treated the same no matter if addressed from below or above 0x8000. Are you sure DSPDS signal is unused? My table translated to 32k and your format looks like this (inversion difference ignored):
SRAMs
Physiacal Base Address 16k block name
$4000 S2
$0000 S1
DSP56001
Logical Base Address X Y P
$C000 S1 S2 S1
$8000 S1 S2 S2
$4000 S1 S1 S1
$0000 S2 S2 S2
And for 8k dsp-words:
SRAMs
Physiacal Base Address 4k block name
$1000 S2
$0000 S1
DSP56001
Logical Base Address X Y P
$F000 S1 S2 S1
$E000 S1 S2 S2
$D000 S1 S2 S1
$C000 S1 S2 S2
$B000 S1 S2 S1
$A000 S1 S2 S2
$9000 S1 S2 S1
$8000 S1 S2 S2
$7000 S1 S1 S1
$6000 S2 S2 S2
$5000 S1 S1 S1
$4000 S2 S2 S2
$3000 S1 S1 S1
$2000 S2 S2 S2
$1000 S1 S1 S1
$0000 S2 S2 S2
I guess we're not certain DSPDS isn't used, but I find no continuity from SIMM pin 42 to the multiplexer, nor to the SRAMs. All questions seem to lead back to this, so I can try checking again.
Quote from: "andreas_g"My above drawing shows the map for 8k dsp-words while yours is for 32k dsp-words.
...
And for 8k dsp-words:
I'm struggling with the way you use "32K" respectively "8K" DSP words.
My table's granularity is 16K (0x4000 = 16384), not 32K.
Your table's granularity is 4K (0x1000 = 4096), not 8K.
Can you clarify?
Quote from: "SlateBlue"I guess we're not certain DSPDS isn't used, but I find no continuity from SIMM pin 42 to the multiplexer, nor to the SRAMs. All questions seem to lead back to this, so I can try checking again.
The problem is: where should it go to? The two inputs of one "channel" of the multiplexer are used. Cascading them does not make sense. And the SRAM only have one Enable input which is also used (connected to _DSPRMEN, SIMM pin 60).
Quote from: "bobo68"Cascading them does not make sense.
Have to take that back. One could route the output of the A14/DSPXY multiplexing through another multiplexing and let _DSPDS decide what the final result is (either the output of the first stage or something else, e.g. A14 again.)
Quote from: "bobo68"I'm struggling with the way you use "32K" respectively "8K" DSP words.
My table's granularity is 16K (0x4000 = 16384), not 32K.
Your table's granularity is 4K (0x1000 = 4096), not 8K.
Can you clarify?
My table in dsp_cpu.c shows the layout of the standard 24 kB (8k dsp-words) module while your table shows the layout of the 96 kB (32k dsp-words) expansion module. Because A14 is derived from different sources 8k is logically split into two 4k blocks and 32k is split into two 16k blocks.
Quote from: "bobo68"One could route the output of the A14/DSPXY multiplexing through another multiplexing and let _DSPDS decide what the final result is (either the output of the first stage or something else, e.g. A14 again.)
That is exactly what i am suspecting (in pseudo-code, inversion ignored):
if (DSPA15) {
if (DSPDS) {
A14 = DSPA14;
} else {
A14 = DSPXY;
}
} else {
A14 = DSPA14;
}
or with same result:
if (DSPDS) {
A14 = DSPA14;
} else {
if (DSPA15) {
A14 = DSPA14;
} else {
A14 = DSPXY
}
}
I can't confirm it, because i have no way to test (know-how missing and no NeXT hardware here).
SlateBlue checked all outputs of the multiplexer (_Zx) and apart from _Zb (which yields the selection via DSPA15) all other outputs seemed to be open / floating / going nowhere. I guess we can give that another try.
I put some comments on a photo of the F158 multiplexer's vicinity that SlateBlue send me.
You can see that _DSPDS is quite far away. If I were the designer of this board I would use _DPSPS which is nearer to the decision logic.
You can also see that there is a lot of stuff going on beneath the F158 multiplexer. But important connections are not made: _DSPPS goes to a dead end. Same for the _Za output.
Some kind of cascading was obviously planned - maybe for other types of memory chips. S goes via a 10 Ohm resistor to I0a (strange). And _Za would go via a resistor to an input on the North side of the multiplexer.
Another sweep with the multi-meter yields no new information. Pins 3, 10, 11, 13, & 14 of the multiplexer have continuity to GND. Pins 4, 9, & 12 of the multiplexer are open. Pin 42 of the SIMM appears to be unused. I have no valid guesses here; this is the information I have found.
Hello Does any of this help
http://www.nextcomputers.org/NeXTfiles/Docs/Audio/DSP56001/ the
Next_56k_ArrayProcessing.zip file in the directory is NeXT DSP source
Example:
NeXT DSP PROGRAMMING SPECIFICATION
The NeXT Digital Signal Processing (DSP) hardware facilities include:
1) The Motorola DSP56001 (the "dsp") running at 10 MIPS
2) 8K (or 32K) 24-bit words of no-wait-state RAM, private to the dsp
3) Memory-mapped and DMA host interface, DMA speed up to 5MBytes/sec
Refer to the NeXT Computer Hardware Specification for further details
on the dsp hardware operation and host interface.
The dsp software consists of the following components:
Macro package in dsp assembly language
Host C library
Host Objective C library
Applications examples
System interface utilities
These categories are summarized below.
DSP MACRO LIBRARY
Section DSPDOC/maclib contains a list of the routines in the dsp
assembly-language macro library. These routines allow the user to
quickly write custom dsp software on top of standard io and
computational functions.
HOST C LIBRARY
Section DSPDOC/clib contains a list of the routines in the host C
library. (Since there is currently no C compiler for the dsp,
references to C software always refer to software running on the
host.) Many of these functions were created from corresponding dsp
macros using the program dspwrap. The general operation of such
functions is to download a dsp program to the dsp, along with the
user's supplied arguments, and initiate execution on the dsp.
HOST OBJECTIVE C LIBRARY
Section DSPDOC/objclib contains a list of the objects in the Objective
C object library. The dsp objects facilitate user interface design
and provide more intelligent software interfaces to the functions in
the host C library.
EXAMPLE APPLICATIONS
Some applications are included to illustrate use of these tools:
Music - Generate music algorithmically for dsp orchestra
MidiPiano - Play piano samples from main memory in real time
Spectrogram - Display spectrogram of sound input in real time
SYSTEM INTERFACE
äFollowing the example applications, the details of the interface
between the host processor (Motorola 68030) and the dsp (Motorola
DSP56001) are described. In particular, the dspwrap program is
described which makes a host C function from a dsp assembly-language
macro.
Some information about 8k dsp-words memory (24kB) is here:
http://www.nextcomputers.org/NeXTfiles/Docs/Audio/SoundMusicDSP.pdfQuoteOff-chip DSP memory on the NeXT machine exists in two address ranges, each of which spans all 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 word 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 is 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.
I don't know if this translates to 96kB, but i think i got my information from there.
Quote from: "Rob Blessin Black Hole"
Example:
NeXT DSP PROGRAMMING SPECIFICATION
The NeXT Digital Signal Processing (DSP) hardware facilities include:
1) The Motorola DSP56001 (the "dsp") running at 10 MIPS
2) 8K (or 32K) 24-bit words of no-wait-state RAM, private to the dsp
3) Memory-mapped and DMA host interface, DMA speed up to 5MBytes/sec
Refer to the NeXT Computer Hardware Specification for further details
on the dsp hardware operation and host interface.
The the "NeXT Computer Hardware Specification" should be helpful. Where can it be found?
Quote from: "bobo68"Quote from: "Rob Blessin Black Hole"
Example:
NeXT DSP PROGRAMMING SPECIFICATION
The NeXT Digital Signal Processing (DSP) hardware facilities include:
1) The Motorola DSP56001 (the "dsp") running at 10 MIPS
2) 8K (or 32K) 24-bit words of no-wait-state RAM, private to the dsp
3) Memory-mapped and DMA host interface, DMA speed up to 5MBytes/sec
Refer to the NeXT Computer Hardware Specification for further details
on the dsp hardware operation and host interface.
The the "NeXT Computer Hardware Specification" should be helpful. Where can it be found?
The Sound Music and Signal Processing on a NeXT computer Concepts and Reference manuals may help , let me see if I can find anything that helps. I also have reached out to Stanford CCRMA as the may insite also going back to earlier responses in this thread
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/SFSU_NeXT_DSP_Expansion_Memory.pdf also reached out to Cordova Circuits as there name was on the fax and they are still around.
Quote from: "bobo68"The the "NeXT Computer Hardware Specification" should be helpful. Where can it be found?
I know that lots of interesting data sheets exist, but they are confidential. Maybe it is time to ask Apple if they can be released to the public. I see no reason why that would harm anyone.
http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/Turbo_slab/CSlab33_Schematics.tar.gz page 9 dsp
I found this :
Subject: L10. How to expand DSP memory?
The Speech Recognition Lab at San Francisco State University has developed a DSP memory expansion board for the NeXT computer that provides the maximum memory supported by the DSP56001 processor. We are now offering this board to those whose are interested in high-performance custom DSP development.
The board is a 576KB DSP expansion memory board organized as three non-overlapping 192KB banks: X-data, Y-data and Program. The board uses relatively fast (lower than 35ns) SRAM. This board compares with NeXT's DSP memory expansion board, which offers only 96KB in an imaged memory configuration.
The board is a high-quality, 4-layer board, open-circuit tested prior to assembly. It fits into the DSP memory daughterboard slot on all NeXT machines.
The price will be $600. Please let us know if you are interested. Delivery will be in about 3-4 weeks.
Contact Tom Holton (th@ernie.sfsu.edu). E-mail is prefered. The address is:
Tom Holton
Division of Engineering
San Francisco State University
1600 Holloway Avenue
San Francisco, CA 94132
415 338 1529 (phone)
415 338 0525 (fax)
Note: Because we've organized our memory as three separate (non-overlapping) banks (X, Y and P) of 192KB apiece, none of the DSP memory image functionality provided by NeXT with its existing 8K base configuration, or its 96KB DSP expansion module is supported. While we cannot guarantee that every existing DSP application ever written will be plug-and-play compatable with our DSP expansion memory, we are not aware of any existing applications that use the image functionality. The MusicKit, and demo programs that use the DSP, such as Mandlebrot and ScorePlayer, work fine with our memory module.
I just received this and detailed the fax
Hi.
This email was forwarded to me.
It has been a very long time since this board was built and we probably purged anything pertaining to this part number.
I have printed what you sent with your email but it's confusing what the actual part number is. Can you please confirm the part number and which company it was actually ordered under?
This way I can have manufacturing see if they have old film, etc.
Thank you.
Lisa Clark
Office Manager
Customer Support
Accounts Receivable
Cordova Printed Circuits, Inc.
1648 Watson Court
Milpitas, CA 95035
(408)942-1100 x101
(408)946-3252 Fax
Hello Lisa: Thank you in advance for your time, the part number appears to be for manufacturing a 128K * 4 Memory Expansion Module 576Kb DSP expansion module
Apologies as it is an old doc but provides some good clues! 64pin with 6 Micron MT5C1008-35, Hex Invertors and Capacitors mounted on 4 layer board so it works in an old expansion DSP Expansion slot in a NeXT computer .
It would have been commissioned for San Francisco State University 8/20/92 or 2/5/93 .... to Rev's A 8/20/92 and B 2/5/93 probably with in 90 days
Here is what an original NeXT DSP expansion chip looks like :
http://www.nextcomputers.org/NeXTfiles/Images/Rare_NeXT_Hardware/DSP_Expansion_RAM/P1010045.jpg ,
it has a part number but I'm not sure where the NeXT one in the link were manufactured; maybe by Cordova as well?
The one in the Document is different:
The Document I referenced in the previous email was for SFSU. It was drawn up by Silicon Valley Consultants , Leopard Design 415/338-1997 and a 3rd party manufacturer and as Cordova Circuits , is actually on the fax , I'm hoping you all may still have it on film .
pages 1,2,3 are the schematics with part numbers for the physical chips
pages 4,5,6,7,8 show the layers and latout of the 4 layered pcb board for the ram DSP expansion
$
9,10,11,12 look to have been faxed to or from phone 408 946 3252 Cordova Circuits as an approved production run in reverse order ,
These might be drawings from Cordova > Assembly Drawing NeXT Display Memory Expansion drawn by initials SVC
apologies on this I'm going from an old archive document and trying to figure it out....
12 = page 2 original fax
11 = page 3 original fax
10= page 4 original fax
9 = page 5 original fax
NeXT was Steve Jobs interim company between his stints at Apple , they only made about 20000 NeXT computers and I'm the last guy on the planet still maintaining them full time it is fun.
We have devoted group of NeXT computer owners and forum members that want to reproduce these chips to fill the empty expansion slots on the motherboards!
So hopefully Cordova Circuits can help us out !
We have many of the original NeXT engineers helping as well
I found an FAQ and will try to contact Professor Holton as well , he is still there so hopefully I'll find additional info as well!
Best Regards Rob Blessin
PS Here is an FAQ I found:
Subject: L10. How to expand DSP memory?
The Speech Recognition Lab at San Francisco State University has developed a DSP memory expansion board for the NeXT computer that provides the maximum memory supported by the DSP56001 processor. We are now offering this board to those whose are interested in high-performance custom DSP development.
The board is a 576KB DSP expansion memory board organized as three non-overlapping 192KB banks: X-data, Y-data and Program. The board uses relatively fast (lower than 35ns) SRAM. This board compares with NeXT's DSP memory expansion board, which offers only 96KB in an imaged memory configuration.
The board is a high-quality, 4-layer board, open-circuit tested prior to assembly. It fits into the DSP memory daughterboard slot on all NeXT machines.
Contact Tom Holton (th@ernie.sfsu.edu). E-mail is prefered. The address is: Tom Holton Division of Engineering San Francisco State University 1600 Holloway Avenue San Francisco, CA 94132 415 338 1529 (phone) 415 338 0525 (fax)
Note: Because we've organized our memory as three separate (non-overlapping) banks (X, Y and P) of 192KB apiece, none of the DSP memory image functionality provided by NeXT with its existing 8K base configuration, or its 96KB DSP expansion module is supported. While we cannot guarantee that every existing DSP application ever written will be plug-and-play compatable with our DSP expansion memory, we are not aware of any existing applications that use the image functionality. The MusicKit, and demo programs that use the DSP, such as Mandlebrot and ScorePlayer, work fine with our memory module.
Interesting! Where is the fax/doc you are referring to?
Quote
The Document I referenced in the previous email was for SFSU. It was drawn up by Silicon Valley Consultants , Leopard Design 415/338-1997 and a 3rd party manufacturer and as Cordova Circuits , is actually on the fax , I'm hoping you all may still have it on film .
pages 1,2,3 are the schematics with part numbers for the physical chips
pages 4,5,6,7,8 show the layers and latout of the 4 layered pcb board for the ram DSP expansion
$
9,10,11,12 look to have been faxed to or from phone 408 946 3252 Cordova Circuits as an approved production run in reverse order
Quote from: bobo68Interesting! Where is the fax/doc you are referring to?
Quote
The Document I referenced in the previous email was for SFSU. It was drawn up by Silicon Valley Consultants , Leopard Design 415/338-1997 and a 3rd party manufacturer and as Cordova Circuits , is actually on the fax , I'm hoping you all may still have it on film .
pages 1,2,3 are the schematics with part numbers for the physical chips
pages 4,5,6,7,8 show the layers and latout of the 4 layered pcb board for the ram DSP expansion
$
9,10,11,12 look to have been faxed to or from phone 408 946 3252 Cordova
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/SFSU_NeXT_DSP_Expansion_Memory.pdf
Latest reply from Cordova : Hi, Rob Blessin Black Hole, Inc.
That made me laugh!
I am trying my best to find this job but I am finding nothing. I was going to look at each job we had hoping to find something but our system only goes back to 2000.
I will try one more thing when I get a chance today.
Without gerber files we cannot build this board but we could reverse engineer if we had an actual board. We do not have any.
I will keep trying...
Thanks. ......
Does anyone 1n the Forum have a DSP Expas1on Module from SFSU ?
This is interesting , I'm wondering if we would be able to program one of these to emulate a dsp expansion module any thoughts?
https://www.bigmessowires.com/mac-rom-inator-ii/ after reading more on this so I'm guessing it may be possible to create custom NeXT rom chips that would support more ram memory
Based on this awesome The pre-programmed ROM image also makes the Mac 32-bit clean, enabling it to use more than 8MB of RAM natively without the need for special system enablers or extensions. Some older Macintosh models like the IIx, IIcx, and SE/30 have stock ROMs that are "dirty", meaning they can't support 32-bit addressing without ROM patches. Using the Mac ROM-inator II and the pre-programmed ROM image, the Mac SE/30 can support up to 128MB of RAM!
Quote from: "Rob Blessin Black Hole"This is interesting , I'm wondering if we would be able to program one of these to emulate a dsp expansion module any thoughts? https://www.bigmessowires.com/mac-rom-inator-ii/
Don't know if it makes sense to go that route. The DSP module is just a RAM module and that's all that's needed. The ROM-inator is a Flash module meant to replace a Mac II ROM module in order to be able to replace ROM contents relatively easy. It's a different application.
Quote from: "bobo68"Quote from: "Rob Blessin Black Hole"This is interesting , I'm wondering if we would be able to program one of these to emulate a dsp expansion module any thoughts? https://www.bigmessowires.com/mac-rom-inator-ii/
Don't know if it makes sense to go that route. The DSP module is just a RAM module and that's all that's needed. The ROM-inator is a Flash module meant to replace a Mac II ROM module in order to be able to replace ROM contents relatively easy. It's a different application.
They are both 64 pin simms and I'm wondering it is flash memory already in production highly customisable and modifyable , I have an Apple rom here and it fits in the DSp expansion slot . The other thing that is neat is this "The pre-programmed ROM image also makes the Mac 32-bit clean, enabling it to use more than 8MB of RAM natively without the need for special system enablers or extensions. Some older Macintosh models like the IIx, IIcx, and SE/30 have stock ROMs that are "dirty", meaning they can't support 32-bit addressing without ROM patches. Using the Mac ROM-inator II and the pre-programmed ROM image, the Mac SE/30 can support up to 128MB of RAM! "
So in theory we should be able to program a rom possibly that accepts higher simm chips :) I have a rom burner so if it is modifying the code in the rom.bin to burn the enhanced rom just need to know what to modifiy? Also I have often wondered if older NeXT hardware can be modified to work with adb components by modifying the rom.
This one looks promising for modifying our current NeXT roms
https://www.bigmessowires.com/mac-rom-inator/perhaps testing with a daydream box , I have one to see if higher value simms will boot a NeXT into Daydream , we now have dark matter and previous so maybe it is possible to test it
in theory on Previous as well ? The other question would be does an Apple 512k rom work for memory expansion on a NeXT the one I have does not?
Yep, I know the value of something like this for a Mac as a *ROM replacement*. :-) I have a few classic Macs here. The ROM-inator is highly customizable in the sense that you can upload different ROMs into the Flash memory. It is not highly customizable in the sense of emulating different SIMM pin functions, RAMs, etc.
The DSP memory expansion has nothing to do with this. It gives the DSP more (empty) *RAM*.
That said, the *ROM* of the NeXT computers could probably be replaced by some kind of Flash ROM-inator.
Hello NeXT Community: So I no have the NeXT DSP memory expansion module and would like to proceed with using it to make modern clones of the chip. Any thoughts? I know Cordova electronics said if they have the chip the would theoretically be able to make duplicates. I bought the chip for $225 and will basically donate it to the NeXT forum community so we can all figure this one out sound good , as it'll be fun to populate those open slots in everyone's NeXT .... Best Regards Rob Blessin
Hi Rob, did they give you a cost estimate?
Quote from: "Rob Blessin Black Hole"So I no have the NeXT DSP memory expansion module and would like to proceed with using it to make modern clones of the chip. Any thoughts?
Very cool, Rob. Is it a NeXT 96K module or something else (like the one from the SF State Uni)?
Hello NeXT Community: Apologies for not posting , my dad's is been in the ICU for 3 weeks , today he has finally moved to a regular bed long story.
I thought you all may have an opinion on what I have stumbled upon. I found I had some old Apple 512K 64 pin rom's from 1988, thought huh , NeXT DSP is 64 pin , the idea of the Apple was to address 32 bit upgrade from earlier 24 . I said what is the worst that can happen lol , well no fireworks check out video she boots. Now I'm trying figure out if it is actually doing something
https://youtu.be/rgmYGCdPCO4 , so now to look for bench marks or something , any help appreciated ,
I bought 2 more from eBay ,they are from 89 , may be I'm onto something as I seem recall wayback hearing about this I swear stuff warps in here all the time .
Now I am in a unique position to test it with my original NeXT dsp expansion chip as well and with no chip in the expansion slot .
May be our answer was hiding in plain site this whole time .
If they are dormant and in place can they simply be reprogrammed?
Brian, helped me out on this one as apparently it is the same packaging but electrically not compatible with NeXT . SO a NO GO?
I thought may be because of the time 1988 and many Apple engineers working at NeXT were from Apple , may be they had a plan to do this , It was interesting how closely everything NeXT paralleled Apple in terms of specs , the main difference being DSP and yet NeXT used a DSP expansion port that was 64 pin which matches the Apple 512K Rom. The Apple Rom has VLSI Chips on it which in turn can be used for DSP ? Here?
http://read.pudn.com/downloads138/ebook/594519/biomedical%20digital%20signal%20processing/chapter14.pdf Best Regards Rob Blessin
Quote from: "Rob Blessin Black Hole"Hello NeXT Community: Apologies for not posting , my dad's is been in the ICU for 3 weeks , today he has finally moved to a regular bed long story.
Ouch. All the best...
QuoteI thought you all may have an opinion on what I have stumbled upon. I found I had some old Apple 512K 64 pin rom's from 1988, thought huh , NeXT DSP is 64 pin , the idea of the Apple was to address 32 bit upgrade from earlier 24. I said what is the worst that can happen lol , well no fireworks check out video she boots.
The ROM SIMM itself won't work for the simple reason it's a ROM, not a RAM. Another difference is the bus width, the 68k needs 32 bit, the DSP56k has a 24 bit address bus.
However, the situation is worse and you probably got lucky that the "magic smoke" didn't leak out, since the pinouts of the modules are different The JEDEC pinout for ROMs and RAMs is very similar (see
The Mac ROM SIMM pinout can be found here:
https://wiki.68kmla.org/ROM_SIMM_Pinout. Steve Chamberlin has created a reprogrammable Flash ROM version
https://www.bigmessowires.com/mac-rom-inator-ii/.The NeXT DSP RAM extension connector is detailed here
http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/Turbo_cube/Cube33-09.pdf.As you can see, the pinouts have almost nothing in common, so you probably got quite lucky that everything survived...
Best,
Michael
Best,
Michael[/quote] Thanks I removed it from the NeXT DSP slot . Best Regards Rob Blessin
Quote from: "bobo68"Quote from: "Rob Blessin Black Hole"So I no have the NeXT DSP memory expansion module and would like to proceed with using it to make modern clones of the chip. Any thoughts?
Very cool, Rob. Is it a NeXT 96K module or something else (like the one from the SF State Uni)?
It's the same 96k module you and I were working with. I had to part with my NeXT collection for a few reasons... :(
Quote from: "SlateBlue"Quote from: "bobo68"Quote from: "Rob Blessin Black Hole"So I no have the NeXT DSP memory expansion module and would like to proceed with using it to make modern clones of the chip. Any thoughts?
Very cool, Rob. Is it a NeXT 96K module or something else (like the one from the SF State Uni)?
It's the same 96k module you and I were working with. I had to part with my NeXT collection for a few reasons... :(
What a pity. I hope things are changing for the better for you.
The ROM SIMM itself won't work for the simple reason it's a ROM, not a RAM. Another difference is the bus width, the 68k needs 32 bit, the DSP56k has a 24 bit address bus.
https://wiki.68kmla.org/ROM_SIMM_Pinout. Steve Chamberlin has created a reprogrammable Flash ROM version
https://www.bigmessowires.com/mac-rom-inator-ii/.The NeXT DSP RAM extension connector is detailed here
http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/Turbo_cube/Cube33-09.pdf.Light bulb?
Now call me crazy but how programmable is the "rominator" so obviously we need 24 bit addressing not 32 what I'm getting at is it has a flash program would it be as simple as flashing
or rom burning it with the right code.
I've asked Steve:
If we can make modifications easily as it looks like he has a programmable chip solution and if rom to ram is emulation possible.
Steve has the 64Pin PCB template and a manufacturer in place to make 64 pin simms hopefully,
My thought all we need is to matchSteve's 64 pin PCB board by mounting compatible programmable DSP chips
and then program them with DSP ram burner code may be it is built in to NeXTSTEP? ,
his rominator has a lightening connection so in theory we can burn the dsp code needed for NeXTSTEP to handshake with our modules to the compatible DSP chips and
So we draw up the routing on the 64 pin PCB to address 24 not 32 bit addressing using the schematics from NeXT and give this to the manufacturer and
We just use the specs from the SFSU 512K expansion module as it is done already ? Best Regards Rob Blessin
http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/SFSU_NeXT_DSP_Expansion_Memory.pdf What happens if we use this to read a DSP CHIP?
https://www.bigmessowires.com/shop/product/rom-simm-programmer/
Hello NeXT Community:
I found this Kingston 64 pin ram stick , it is unusual as not a lot of 64 pin stuff apparently some 1989 Macs maybe used 64 pin ? My guess is this simm is Ram not ROM and probably cost $500 .
Question it was in with a bunch of NeXT stuff and
I pictured it NeXT to a NeXT DSP Chip obviously I don't want to smoke a board or the chip or both but would this possibly be compatible with the NeXT DSP expansion slot . I'm not trying to be stupid here but curious .

and
Steve Chamberlain and BMOW pointed me to a company that potantially will produce 64 pin simms , in small quantities, source the components and laser etch the custom pcb boards but the catch is I need a nice schematic for the DSP . Would anyone be able to clean up the DSP schematic in the archive or draw up what we need to make chip. I think now the technology has caught up to where we have a chance to make these for a reasonable price
https://www.elecrow.com/pcb-assembly.html Any thoughts? Best Regards Rob
Quote from: "Rob Blessin Black Hole"Hello NeXT Community:
I found this Kingston 64 pin ram stick , it is unusual as not a lot of 64 pin stuff apparently some 1989 Macs maybe used 64 pin ? My guess is this simm is Ram not ROM and probably cost $500
That's a DRAM SIMM for a Mac IIfx - completely different, sorry...
QuoteSteve Chamberlain and BMOW pointed me to a company that potantially will produce 64 pin simms , in small quantities, source the components and laser etch the custom pcb boards but the catch is I need a nice schematic for the DSP . Would anyone be able to clean up the DSP schematic in the archive or draw up what we need to make chip. I think now the technology has caught up to where we have a chance to make these for a reasonable price https://www.elecrow.com/pcb-assembly.html Any thoughts? Best Regards Rob
The DSP SIMM ist's complicated - I can try to convince one of my students to design one (would do it myself, but I don't have that much free time at the moment). The SFSU board uses a four-layer design, that will make the PCB a bit more expensive. Perhaps we can get a two-layer board to work.
The RAMs themselves are simply 32 k x 8 or 128 k x 8 SRAMs (giving 96 or 384 kB extra memory, since the 56k memory bus is 24 bits wide - or twice the amount if separate RAMs for program and data space are used, as in the SFSU board). The only additional part on the SFSU DSP memory expansion board is a simple inverter.
A quick check of the inventory at mouser shows suitable SRAM chips (IDT 71024S20YGI8 20ns) available for less than 3€ in single quantities, the inverter (74ALS04) costs about 0.60€.
-- Michael
Here's a picture of a DSP56k memory expansion for some ancient Motorola eval board - I have a number of old DSP56k board in my lab here and even a 56k in-circuit emulator (which requires a PC with an ISA slot, however...).

-- Michael
Hello NeXT Community:
http://www.nextcomputers.org/NeXTfiles/Audio/DSP/DSPbug/ would be very useful for designing the chip and looking at the current one Debug 56 app bundled under NeXTSTEP 2.1 , amazes me when I find cool old apps that have been there all along! Best regards Rob
Hi
Is there any picture fo the SFSU DSP memory expansion ? I'm looking for it
Thanks
OK, now that I've seen one of these in person, it's not so complicated. I have some parts on order and a basic footprint done:
I'm on the fence about which module to clone. I think the SFU one is the better choice, but we will need to modify it because those SRAM chips are $50 a piece if you can find them. So here's the most important question at the moment. How do I test the one I have?
Hello Brian:
http://www.nextcomputers.org/NeXTfiles/Software/NEXTSTEP/Apps/Audio/ DSP apps ! I have a Digital Ears as well want to work a trade , you can hook up your NeXT to your stereo ....
Quote from: "barcher174"OK, now that I've seen one of these in person, it's not so complicated. I have some parts on order and a basic footprint done:
I'm on the fence about which module to clone. I think the SFU one is the better choice, but we will need to modify it because those SRAM chips are $50 a piece if you can find them. So here's the most important question at the moment. How do I test the one I have?
Great, I was asking for the dimensions as I had started to do this in Altium I got all parts now
How's it going on recreating the memory upgrade?
I'll purchase one to support the effort.
I've had this on the back burner. Below is the schematic for the NeXT original DSP as I toned it out. No guarantees on correctness. If anyone sees anything obvious let me know.
I had completed the pcb and the routing but it has not yet been sent to manufacturing, as I'm been really busy in my day-to-day job
I will see if I can take over this again
I put about 5 modules, and if I complete this, I ill let you know so that I can send few for testing if anyone is interested
I ill let you know so that I can send few for testing if anyone is interested
[/quote] I'm in it would be amazing.
Very exciting news. I'd definitely be interested in testing one out.
I've been playing around myself, but I honestly would consider myself a novice, so I'm not sure I'd trust my work.
Routing (
https://imgur.com/LWWGVu2)
Render (
https://imgur.com/mQKXNpJ)
So I just sent an email to these guys , hoping they are still around DSP NeXT Guru's I stumbled across this evening
http://www.rcn.de/dsp/index.html the fact they have 3 different working DSP Expansion cards for NeXTstep on Intel makes me think that they would be able to create or may have/had a dsp expansion chip solution for NeXT hardware. How have I never even seen this stuff lol I was looking for a license for their cool NeXT app production partner and wow .Stay tuned!
Quote from: Rob Blessin Black Hole on October 27, 2020, 12:52:46 AMSo I just sent an email to these guys , hoping they are still around DSP NeXT Guru's I stumbled across this evening http://www.rcn.de/dsp/index.html the fact they have 3 different working DSP Expansion cards for NeXTstep on Intel makes me think that they would be able to create or may have/had a dsp expansion chip solution for NeXT hardware. How have I never even seen this stuff lol I was looking for a license for their cool NeXT app production partner and wow .Stay tuned!
I have my design ready for manufacturing, but been so busy at work at the moment, if I got some time soon, I will get 5 pcbs
sorry takeing so much,
EDIT: As I received no reply nor indication of progress on this, I began my own recreation of the DSP module, based on the schematics posted in the /files section of the website.
Attached is a picture of the Block Diagram recreation of the schematic, which in turn creates the basic layout and airwire connections for routing.
It's surprisingly complicated to route good traces with so many connected lines in such a small space. This is the fourth time I've ripped up all the traces and started afresh. I have a good feeling about this one, though, especially since I'm copying the original method of using the two inner layers as VCC and GND, which is a great deal more clever than it first seems.
Ignore the incorrect SIMM64 pads; they're a placeholder and will be updated later.
Have made significant design changes, owing to a burst of inspiration at 1:45AM today. Spent several hours redesigning the board for the more elegant and efficient implementation, only to turn a few pages in the design doc and realize that I had more or less recreated the trace layout that was, unbeknownst to me, also indicated in the design doc.
FML.
And done.
Intermediary layers not shown for clarity, which is why not all pads appear to have connections. They are there; however, for size consideration (I want to be able to drop this into a NeXTStation easily), I ran many of the more problematic signals through the GND layer.
There being no action on this for over a year, I have picked it up.
I noticed a couple of really bizarre design decisions by the University team in their larger memory board. While it is logically correct, it is a quite sub-par design that can be greatly simplified. My modification has eliminated the 74LS part. The truth table they came to for selecting RAM segments is entirely correct, but they did not reduce it to its simplest form.
My revised board will be the largest possible, but will also be backwards compatible with the NeXT own-brand board, since that did not alias memory through the DSP address space.
I have parts on hand to assemble 25 boards. If there is interest beyond that, I can order parts to assemble more, but due to current component prices a second batch is likely to be 50-75% more expensive than the initial batch. I expect the first ones to be around $110 once tested and approved.
I have all components on hand, and will order PCBs as soon as I tie down the exact external dimensions of the SIMM.
Ok, progress made. First, all parts for 100 96K DSP boards have been ordered from reliable sources.
Second, screenshots of the new board I can't show you as I can't insert images yet. I guess I am too new - I can only upload images to an external site and link them here. (Or maybe the forum code is antique, just to keep it real!)
Just close your eyes and imagine a 4 layer board of 1.2mm thickness. The Top and Bottom layers contain lovely traces. The inner layers are an unbroken VCC and GND fill.
I have decided to make both the 96K (32Kx24) NeXT board and the 768K (256Kx24) "University" board. The second board will be along in a week or two.
Ahah, feature enabled!
Sooo, I have ordered five of the red prototype PCBs for verification and functional testing. All parts are now on hand. If everything goes well and it passes function and EMI checks, I'll order a batch of 100.
All of the prototype units except one have places to go and be thoroughly tested. So there is space for one last beta tester, who gets a free red board in exchange for doing some nice real world testing. Any volunteers?
Production units will be black. Because, why not? :D
Final specs:
Capacity:32Kx24 bit SRAM
Full cycle time: <20nS
(12nS SRAM and 7nS decoder)
Voltage: 5V
Format: 64-pin SIMM, 4 layers, 1.2mm, ENIG, impedance controlled
Stack-up:
Top: signal
Inner1: GND plane
Inner2: 5V plane
Bottom: signal
I'll be hand assembling these, so I'll use leaded solder paste. Do NOT LICK!
BOM:
U1-3: IS61C256AH-12JL
U4: MC74ACT158DR2
R1,3: 10 ohm 0603
R2,4: 0 ohm 0603
C1-4 .1uF 0603
'Tamfana' is the project's name. My current project names theme is 'strong female historical figures' and I'm getting a real kick out of reading their stories.
https://en-academic.com/dic.nsf/enwiki/6164389Next I'll work on the SFSU 256Kx24 board. That project will be 'Atalanta'....
I'm happy to answer any questions.
A couple of people have asked me why the SIMM is so tall.
It is designed to fit in a slab. I placed the ICs upright so when tested in a slab I can attach all my oscilloscope and logic analyzer probes comfortably. There's no way to do that testing inside a cube, so I didn't have to consider the cube's height limitations for the prototype board.
Once the design is validated and I can see the circuit is working as designed, I can rotate the components to make the board very low profile for the production version. It will be smaller, but will be hard to test. That won't matter as the testing will have already been done on this prototype board.
I hope that clears things up :D
You may be able to test in the Cube by removing the drive harness above the power supply :) I do this when testing motherboards and other components :) Really excellent work!
I use a 128 channel Agilent logic analyzer and the cables are CHUNKY. The DSP RAM schematic is identical across machines so if it works in an '040 slab it will work in everything.
This DOES make me want to design some expanded backplanes, though!
Soooon!
Hi,
How can I order one? This is very exciting. 8)
I have SynthBuilder installed and running, and the public IRCAM tools, etc., for running necessary tools for testing whether the board is installed & working, etc., on my Colorstation.
Sorry if I should go through all ten pages of the thread to find ordering info ;D
If the design passes testing first time, I'll have pieces ready in a month or less. They'll be available from Rob Blessin at Black Hole and from me directly.
The boards have shipped and will be here a week Monday. ;D
Right now I am trying to source a couple of bits. If you can help, please ping me!
First, I'm looking for a couple of AM53CF94. The 'F' is important. These were made by LSI, AMD, and others. I'd prefer the PLCC-84 package, but the QFP package can work too. These might enable a minimally invasive way of adding fast SCSI-2 to older machines with SCSI-1 and -2. Depending on the machine, this represents a doubling or quadrupling of SCSI throughput.
Second, I'm looking for the pinout of the backplane power connector.
That's it for now.
You're just a pool of info tonight!
Hi MrPix!
sorry for derailing the thread ::) do you think it would be possible to build something like this?
an FPGA based NeXTstation Turbo Color with Nitro (built around a real 68040):
https://twitter.com/mibosshard/status/1532708126146846727
If you already have the code for the FPGA, building such a thing is exactly what I'm here for.
If you don't, I'm happy to collaborate with anyone to make it happen. However, VHDL/Verilog is not my domain and I'm very much a schematic to PCB guy.
But yes. I briefly touched the Spectrum Next project, and other similar recreations, and it is right up my street :D
This is funny, I was actually going to write a reply on this subject. Rather than spending effort building RAM boards that can't really be used by the OS, build a ARM+FPGA board.
We have Emu68 which emulates a 68040 in the 800+ MIPS range. Given that we're using 25Mips machines, that's fast enough for me.
Then attach an FPGA to that to emulate SCSI, Floppy, 56001, etc.
What I'd like to see (and I've written about this before) is the following:
ARM cpu (maybe wait for Rpi5 for a faster CPU?) chip or compute module
board attached to an FPGA.
The ARM cpu has 4+ cores. one can handle emu68. A second can handle i860 emulation if we want a dimension.
The FPGA would be there to:
- Emulate 56001
- Emulate SCSI
- interface to
- Floppy
- Printer port
- Serial
- KB/Mouse IO.
I'm willing to put in effort on the code, as well as VHDL side. I can't design hardware at all.
QuoteThe FPGA would be there to:
- Emulate 56001
Why not use yet another ARM core to emulate the 56001?
If we built an FPGA to emulate the NeXT chipset, we could also use a real 68k CPU (as mentioned in the previous post about the MiniMig Amiga – but the existing MiniMig only has a 68000).
I would expect that the MC68040_V_ should be able to directly interface to 3.3V FPGA signals.
If you think you could deal with the configurable logic side of things, I would 100% fund and develop the hardware side.
It's that simple.
Quote from: cuby on June 22, 2022, 01:38:07 AMI would expect that the MC68040_V_ should be able to directly interface to 3.3V FPGA signals.
My instinct here is to simply surround the 680X0 with 74LVCH16245s as level shifters, so it could work with any FPGA from 2.5 to 5V. This would allow the use of much cheaper and larger 2.5V or 3.3V DRAMs.
I think this notional project has coalesced enough that it needs its own thread now ;)
Revised PCBs have arrived and are sat on the bench awaiting assembly.
What ended up happening here?
Hello Bushnvr: "Dave" Mr. Pix had a second heart attack and is undergoing surgery this coming week. I covered one of his projects but let's hope he recovers and returns to good health. I'm not sure if he actually sent in the order to manufacture the first round so lets call it status unknown .
Oh, my goodness, I'm so sorry to hear that. Yes, his health is obviously the top priority. Sending him my thoughts and best wishes.
Oh man, wishing Dave a speedy and full recovery. So sorry to hear!
@Rob Blessin Black Hole any update on Dave?
@MrPix ?
And on the topic of dsp cache, since I havent found any info online, what is the bandwidth of the 56001 talking to its cache and its cache to mainmemory?
Hi everyone!
NEWSFLASH: SUCCESS IN CLONING A NeXT 96KB DSP RAM
Spent some time today testing a prototype 32K (96Kb) DSP ram prototype that my friend Antoine, aka SiliconInsider (
https://twitter.com/Siliconinsid) made. Comparing with an original lent by Brian, they have the same behavior under Bug56 under NS2.2 (able to write and read back 32K different words in P, X or Y memory).
This is the first prototype, the final version should be generally available in a couple of month (probably on his ebay, but I don't know if posting ebays link is allowed).
If you have questions for him or something you think I should be testing, let me know.
Looks fantastic!
Superb! I'll definitely be on the list to purchase one of these once available! Great stuff.
I'll be buying too --- maybe UK folks can do a bulk order to cut on shipping. Also, how about that BR-2/3A lithium battery replacement PCB --- how can we get hands on that?
Quote from: stepleton on March 06, 2024, 01:12:21 PMAlso, how about that BR-2/3A lithium battery replacement PCB --- how can we get hands on that?
The adapter, which uses common CR2032 batteries instead of the BR-2/3A lithium battery, can be found on ebay. The seller is "aberco" (without quotes). It costs just under 4 euros + shipping (battery excluded).
Quote from: krazycat on March 06, 2024, 01:40:34 PMThe seller is "aberco" (without quotes).
The 'a' from 'aberco' is for Antoine, and this is his ebay store. You can also find him on Tindie, under the 'Siliconinsider' handle. He also have awesome 4Mb low profile SIMMs that are perfect to beef up NeXTcubes. The BR-2/2A lithium battery even have a NeXT logo engraving on them ( but there was a batch with where the logo was reversed, and I am making endless fun of him for that mistake -- even if that will probably end up being a collector :-) )
More on the subject, he told me that the 96k SIMM will be available for $29 including worldwide shipping.
There is a 576k model in the work but currently the prototype PCB had a manufacturing issue with a missing plane, but it should be fixed so I can test it soon. Get ready to write some awesome NeXT DSP code!
Quote from: fstark on March 06, 2024, 04:03:51 PMThe 'a' from 'aberco' is for Antoine, and this is his ebay store. You can also find him on Tindie, under the 'Siliconinsider' handle. He also have awesome 4Mb low profile SIMMs that are perfect to beef up NeXTcubes. The BR-2/2A lithium battery even have a NeXT logo engraving on them ( but there was a batch with where the logo was reversed, and I am making endless fun of him for that mistake -- even if that will probably end up being a collector :-) )
More on the subject, he told me that the 96k SIMM will be available for $29 including worldwide shipping.
There is a 576k model in the work but currently the prototype PCB had a manufacturing issue with a missing plane, but it should be fixed so I can test it soon. Get ready to write some awesome NeXT DSP code!
His bios batteries are very cool, I bought a few of them and want to see if he will set me up as a reseller :)
Quote from: fstark on March 06, 2024, 04:03:51 PMThere is a 576k model in the work but currently the prototype PCB had a manufacturing issue with a missing plane, but it should be fixed so I can test it soon. Get ready to write some awesome NeXT DSP code!
An MP3 decoder for the DSP would be a dream!
On the Atari Falcon there is only 96kb (3* 32kb) on the motherboard to play mp3's
Quote from: trixster on March 07, 2024, 02:29:02 AMAn MP3 decoder for the DSP would be a dream!
This is an awesome idea.
Quote from: sappas on March 07, 2024, 11:05:24 AMOn the Atari Falcon there is only 96kb (3* 32kb) on the motherboard to play mp3's
I've checked that as soon as I saw trixter post.
Have to fix my sound sync problem with NeXTflim first, but a mp3 on NeXT has now been added on my stack of projects :-) Not sure of the arch, thought, in particular how to both docode by block and stream play from the DSP...
Take a look for source code for falcon falcamp
http://deunstg.free.fr/sct1/falcamp/
Can't wait to get a DSP simm, the PCB's look awesome!
Ugh. I'm back. Sorry I vanished. I had a stroke and was out of the world for a while. I think I'm fully recoveredededed :P
Back to picking up the pieces and moving forward.
More soon.
Quote from: MrPix on April 11, 2024, 03:13:03 PMUgh. I'm back. Sorry I vanished. I had a stroke and was out of the world for a while. I think I'm fully recoveredededed :P
Back to picking up the pieces and moving forward.
More soon.
Welcome back, glad to hear that you're ok and doing better now.
Quote from: MrPix on April 11, 2024, 03:13:03 PMUgh. I'm back. Sorry I vanished. I had a stroke and was out of the world for a while. I think I'm fully recoveredededed :P
Back to picking up the pieces and moving forward.
More soon.
Wow so sorry to hear the rough patch. Hope you had a fully recovery and it's all good moving forward. Welcome back!
Happy to hear you've recovered MrPix!
On the saga of the 96k DSP, Antoine has finished the SIMMs and they are available in his tindie and ebay boutiques (ebay handle 'aberco'):
https://www.tindie.com/products/34277/(I hope it is ok to post links here, let me know if it isn't!)
Purchased 👍
I dislike purple color in a NeXT
Quote from: sappas on May 15, 2024, 01:49:35 AMI dislike purple color in a NeXT
I agree. I've always liked the gold solder mask of the NeXT branded ram as it has more of a vintage look.
Quote from: Nitro on May 15, 2024, 12:01:10 PMI agree. I've always liked the gold solder mask of the NeXT branded ram as it has more of a vintage look.
Yeah I paid a stupid amount of money to get a 16mb matching set.
Did you said that Next Computer have made is proper ram itself ?
Quote from: sappas on May 15, 2024, 10:23:27 PMDid you said that Next Computer have made is proper ram itself ?
Yes, I posted a picture here (
https://www.nextcomputers.org/forums/index.php?topic=5638).
Nice !
So excited!
Just got one of Antoine's 96K DSP Ram's. senseDSPMem shows 32K vs 8K without the new ram installed, so that looks promising. ( TurboColor slab 3.3 128Mbyte )
couple of software oddity things I've ran into so far:
ScorePlayer from MusicKit complains that it can't open the DSP, so am still trying to read docs about DSP monitor;s and such to unravel that one ( it works fine with the memory removed )
the dsptest app also included in MusicKit isn't happy with the new memory, there's an x option that says its for "expanded memory assumed ( NeXT 32K word SIMM )" no go even with that
but fun to try to untangle! Interested to hear from anyone else with one of these.
Quote from: mikei on March 11, 2025, 05:21:17 PMJust got one of Antoine's 96K DSP Ram's. senseDSPMem shows 32K vs 8K without the new ram installed, so that looks promising. ( TurboColor slab 3.3 128Mbyte )
couple of software oddity things I've ran into so far:
ScorePlayer from MusicKit complains that it can't open the DSP, so am still trying to read docs about DSP monitor;s and such to unravel that one ( it works fine with the memory removed )
the dsptest app also included in MusicKit isn't happy with the new memory, there's an x option that says its for "expanded memory assumed ( NeXT 32K word SIMM )" no go even with that
but fun to try to untangle! Interested to hear from anyone else with one of these.
oh man, this is fantastic. I really want to get one of these as well.