NeXT Computers Forum Index NeXT Computers
www.NeXTComputers.org
 
Log in to check your private messagesLog in to check your private messages

Log inLog in  RegisterRegister


Profile  Search  Memberlist  FAQ  Usergroups
NeXT DSP Memory Expansion Module
Goto page 1, 2, 3, 4, 5, 6, 7, 8  Next
 
Post new topic   Reply to topic    NeXT Computers Forum Index -> NeXT Work Logs
View previous topic :: View next topic  
Author Message
Nitro
Site Admin


Joined: 22 Oct 2005
Posts: 421
Location: Littleton, Colorado USA

PostPosted: Mon Jun 04, 2007 1:39 pm    Post subject: NeXT DSP Memory Expansion Module Reply with quote



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:

http://www.nextcomputers.org/NeXTfiles/Docs/Audio/DSP56001/

Documents and pictures related to the new expansion module will be available here:

http://www.nextcomputers.org/NeXTfiles/Projects/DSP_Expansion_Ram/


Thanks everyone,
_________________
Nitro
Back to top
View user's profile Send private message
korneluk



Joined: 28 Apr 2006
Posts: 131
Location: Florida, USA

PostPosted: Mon Jun 04, 2007 2:14 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
korneluk



Joined: 28 Apr 2006
Posts: 131
Location: Florida, USA

PostPosted: Mon Jun 04, 2007 2:43 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
korneluk



Joined: 28 Apr 2006
Posts: 131
Location: Florida, USA

PostPosted: Wed Jun 06, 2007 2:14 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Nitro
Site Admin


Joined: 22 Oct 2005
Posts: 421
Location: Littleton, Colorado USA

PostPosted: Mon Jun 18, 2007 3:01 pm    Post subject: Reply with quote

This post on comp.sys.next.hardware lists the part numbers of the Motorola static RAM used on the original NeXT DSP memory SIMM:

http://groups.google.com/group/comp.sys.next.hardware/browse_frm/thread/f71ebdb0171d1366/611f0070e671fbbf

Here’s a link to the previous attempt to clone the NeXT DSP module:

http://groups.google.com/group/comp.sys.next.hardware/browse_frm/thread/43e763d287e3e33e/9a9952f95f03c1ff
_________________
Nitro
Back to top
View user's profile Send private message
korneluk



Joined: 28 Apr 2006
Posts: 131
Location: Florida, USA

PostPosted: Mon Jun 18, 2007 4:25 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Nitro
Site Admin


Joined: 22 Oct 2005
Posts: 421
Location: Littleton, Colorado USA

PostPosted: Wed Jun 20, 2007 10:33 am    Post subject: Reply with quote

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.


(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/
_________________
Nitro
Back to top
View user's profile Send private message
Nitro
Site Admin


Joined: 22 Oct 2005
Posts: 421
Location: Littleton, Colorado USA

PostPosted: Mon Jun 25, 2007 8:40 am    Post subject: Reply with quote

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
_________________
Nitro
Back to top
View user's profile Send private message
pentium



Joined: 23 Jun 2006
Posts: 1142
Location: Kamloops, BC

PostPosted: Mon Jul 02, 2007 2:58 pm    Post subject: Reply with quote

The DSP module looks pretty simple to produce.
It only uses 2 different IC's, both Motorola.

With some quick searching (somebody confirm)

F158A
http://72.14.253.104/search?q=cache:OEbW4dtDWz8J:eshop.engineering.uiowa.edu/NI/pdfs/00/94/DS009484.pdf+%22F158A&hl=en&ct=clnk&cd=2&gl=ca

MCM6206CJ35
http://www.google.ca/search?hl=en&q=MCM6206CJ35&btnG=Search&meta=

I would check motorola but I'm in a hurry.
_________________

-NeXT 68040 Cube with NS 3.3 and 64Mb ram
Back to top
View user's profile Send private message Send e-mail MSN Messenger
pentium



Joined: 23 Jun 2006
Posts: 1142
Location: Kamloops, BC

PostPosted: Sun Apr 27, 2008 5:04 pm    Post subject: Reply with quote

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






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

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




EDIT: I just updated the two pictures above as there was a bug in the drawings. I also added in the perimeter of the SIMM so you can print and line the two images up a little easier.
_________________

-NeXT 68040 Cube with NS 3.3 and 64Mb ram
Back to top
View user's profile Send private message Send e-mail MSN Messenger
pentium



Joined: 23 Jun 2006
Posts: 1142
Location: Kamloops, BC

PostPosted: Mon Apr 28, 2008 9:29 am    Post subject: Reply with quote

Oh dear.
I am being informed by my sources that this is probably not a two layer PCB.
Grr! Mad
I need access to one of those DSP sticks so I can figure out how exactly it was built.
_________________

-NeXT 68040 Cube with NS 3.3 and 64Mb ram
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Thrax



Joined: 18 Apr 2007
Posts: 79

PostPosted: Mon Apr 28, 2008 11:17 am    Post subject: Reply with quote

Yup, that is not a doublesided board but a multi-layered one judging by the photos.
_________________
NeXTstation TurboColor
Back to top
View user's profile Send private message
pentium



Joined: 23 Jun 2006
Posts: 1142
Location: Kamloops, BC

PostPosted: Mon May 12, 2008 2:54 pm    Post subject: Reply with quote

Does anyone have a stick? I would honestly pay shipping both ways just so I could see where all the traces go.
_________________

-NeXT 68040 Cube with NS 3.3 and 64Mb ram
Back to top
View user's profile Send private message Send e-mail MSN Messenger
pentium



Joined: 23 Jun 2006
Posts: 1142
Location: Kamloops, BC

PostPosted: Sun Jan 04, 2009 11:06 pm    Post subject: Reply with quote

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

-NeXT 68040 Cube with NS 3.3 and 64Mb ram
Back to top
View user's profile Send private message Send e-mail MSN Messenger
cubist



Joined: 20 Sep 2007
Posts: 246
Location: Cambridge, MA

PostPosted: Mon Jan 05, 2009 1:08 am    Post subject: Get started... Reply with quote

pentium wrote:
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).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    NeXT Computers Forum Index -> NeXT Work Logs All times are GMT - 7 Hours
Goto page 1, 2, 3, 4, 5, 6, 7, 8  Next
Page 1 of 8

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2017 phpBB Group