+--------------------------------------------------------------------------+ ! ###### ###### ## ######## ###### ######## ! ! ## ## ## ## ## ## ## ## ## ## ## ! ! ## ## ## ## ## ## ## ## ! ! ## ###### ## ## ## ###### ######## ! ! ## #### ## ## ## ## ## ## ! ! ## ## ## ## ## ## ## ## ## ## ! ! ###### ###### ## ######## ###### ## ! +--------------------------------------------------------------------------+ ! The GS/DSP is a development of Siskiyou Systems Engineering. ! ! Preliminary Information Release -- 10/20/91 ! +--------------------------------------------------------------------------+ This is a quick overview and set of specifications. More complete and final information will become available as the project nears completion. ------------- Why the info? ------------- Normally all information on a project such as this would be kept very secret. But under the current circumstances, with the GS loosing popularity on what seems like a daily basis, this kind of secrecy might have ultimately served to hurt the product rather than help it. I would rather have people be aware that there ARE new pieces of innovative hardware (and software) in the works an not to give up all hope for the Apple //gs. Another reason for generating early awareness of this product is that the support of outside programmers and engineers will be essential to unlocking it's FULL potential. Because this is not a completed product, the specifications may change. The only difference here is that people will be aware of these changes where as normally secrecy would prevail. I just want to stress that even though the information in this file is the result of roughly a zillion hours of R&D, things may change before the card is ready for release. (only for the better though :) I hope that this degree of openness isn't misread by the Apple // community. While the GS/DSP isn't finished, I want to stress that it is a REAL product, and _WILL NOT_ end up as vaporware. I'm a veteran of the old days of the Apple ][ (pre +) when people shared information and knowledge freely (well.... in most cases). It would be nice if some of that openness would return. If you have any questions or comments, you can reach me at...... Net: (holding out for something with a live connect) This is very temporary and I can't check it often, but try... pets@abacus.com (this address isn't known by all name servers and I don't have the full path it takes at the moment) BBS: The Motherboard (415) 991-4832 (I'm user #5) 1200,2400,HST 8N1 (I check this one daily) Snail Mail: Pete Snowberg 1427 Park Ave. San Bruno, CA 94066 (I live here daily) PS: Anything sent to me with a SASE is *MUCH* more likely to be returned. --------------------- What is a DSP anyway? --------------------- The DSP, or Digital Signal Processor is a fairly new class of processors that are optimized for performing extremely complex high-speed numeric processing. The development of the DSP grew out of the need for enough processing power to perform complex actions such as adaptive filtering on analog signals which are extremely difficult and very expensive to implement in analog circuitry. Digital signal processors offer the advantages of low cost and extreme versatility. Characteristics of the desired filter can be changed simply by passing different parameters to the software, whereas an analog filter might have to be replaced completely, requiring a new circuit board. While DSPs are intended mainly for processing signals such as RADAR reflections, audio, and image data, they're really just very powerful processors with special complex math instructions. Because of this the can also be used as high power/low cost coprocessors for general computing. The Motorola DSP56001 which is titled a "general purpose DSP", was chosen for the GS/DSP for several reasons. The 56001 is powerful, fast, and has a VERY nice assembly language which is something uncommon to the majority of DSPs. It's also the DSP with the greatest base of free code and development tools available for it. The GS/DSP is the first in a unique new class of very high performance peripherals for the Apple // line. Because it achieves it's speed by offloading tasks from the main CPU, software must be modified, or it must use system tools which have been modified to take advantage of the available power. Any tool based application (any application using the Desktop) will benefit from the increased speed without modification because of it's use of accelerated tools. The GS/DSP is also capable of emulating other cards, which can boost system performance transparently, requiring NO modification to existing software. Our goal is to get developers to support the DSP in just about every new piece of software being written that can take advantage of this new tool. ---------------------------------------- Features of the Motorola DSP56001... (as taken from the DSP56001 spec. sheet) ---------------------------------------- Speed: 13.5 Million Instructions Per Second (MIPS) (peak) at a clock speed of 27 Mhz. (By contrast, a Macintosh IIfx is generally rated at 6 MIPS, while a stock GS is generally rated at .35 MIPS) **** NOTE **** THIS DOES NOT IN ANY WAY MEAN THAT YOUR GS WILL OPERATE FASTER THAN A MACINTOSH IIfx, however code segments running inside of the DSP subsystem will be capable of such speeds. Most DSP code will actually operate between 8 and 12 MIPS. It is important to note that access to the host (the //gs side of things) slows things down considerably because of the Apple ][ series' 1 Mhz bus bandwidth, but have no fear, it still screams along. Buses: The 56001 architecture is divided into three independent 16 bit address spaces, one for program storage and two separate data spaces. Data buses are all 24 bits wide. Parallelism: The data arithmetic logic units (ALU's), address ALU's, and program controller operate in parallel so that an instruction prefetch, a 24 x 24 bit multiplication, a 56 bit addition, two data moves, and two address pointer updates using one of three types of arithmetic (linear, modulo, or reverse carry) can be executed in a single instruction cycle. This parallelism allows a four coefficient Infinite Impulse Response (IIR) filter section to be executed in only four cycles -- the theoretical minimum for a single multiplier architecture. Precision: The 24 bit data paths allow for signal processing with 144dB of dynamic range; intermediate results held in the 56 bit accumulators can range over 336dB. Integration: In addition to the three independent execution units, the DSP56001 has six on-board memories (512 bytes by 24 bits of program RAM, 256 bytes each of 24 bit X and Y data RAM, 24 bit sine/cosine table, positive Mu-law and A-law expansion tables, and bootstrap ROM), three on-chip MCU style peripherals (serial communication interface, synchronous serial interface, and the host interface), a clock generator, and seven buses (four data and three address). Instruction set: The 62 instruction mnemonics are MCU-like, making programming the 56001 VERY easy. The orthogonal syntax supports control of the parallel execution units. The no-overhead DO instruction and the REP (repeat) instruction make writing straightline code a thing of the past. Chip fabrication: HCMOS for low power consumption. --------------------------- FEATURES of the GS/DSP card --------------------------- Although the GS/DSP was originally designed as a GS specific board, the GS/DSP has now been changed so that it can reside in any slot of an Apple ][, //e, or //gs. You can even run more than one in a system for parallel processing applications. The card contains... --> DSP56001 at 27 Mhz delivering 13.5 Million Instruction Per Second (MIPS) (peak) and 81 Million Operations Per Second (MOPS) (absolute peak). Actual mileage may very, although most code will operate at 8-12 MIPS. --> 256k of 1 wait state, 24 bit wide DRAM. --> 8k of 0 wait state static RAM mapped as 4k for program and 2k for each of the two data spaces as well as contiguously, the same static RAM configuration found in the NeXT line of workstations. --> 32K of battery backed static RAM (NVRAM) mapped to slot firmware address space for storage of drivers. This allows the GS/DSP to become a bootable device. Because this, the GS/DSP is able to patch tools, install CDA's, and allow more flexibility in booting (i.e.: allow additional warm up time for a slow hard drive, or be able to select the boot device simply by holding down a particular key at startup). --> DMA generator for very high speed data movement. DMA between DSP and GS memory happens at a rate of 1.023 meg/second. DMA from GS memory to GS memory happens at a rate of 511.5 KB/second. DMA may be performed at 2.6 Mhz, but only between fast RAM or ROM and the DSP. --> Built-in 8 bit A/D and D/A converters (with line level input and output) for digitizing, playback, live manipulation of sound. --> NeXT compatible DSP port for connection of just about ANY serial device such as digital microphones, CD players, DAT players, scanners, the GS/DSP Audio Interface Box, or the General Purpose Interface Box. The last two items are described below in the peripherals section. --> 17 piece set of Ginsu knives (not a solid feature, yet! :) --> Two High-speed Zbus connectors allows you to connect other cards directly to the GS/DSP for ultra high-speed data transfer. Daughterboards may be piggybacked on the GS/DSP, or cables may run from these ports to other cards. As an example, you could connect a graphics card to the Zbus and use the DSP for acceleration of QuickDraw. The DSP would intercept the tool calls, perform the calculations at blinding speed, and blit the data directly to a graphics card without bothering the GS. When combined with the NVRAM, the GS/DSP can also be used as a very low cost hard disk controller ;). Thanks to the Zbus support logic, peripherals such as 8 bit IDE DMA controllers (used for the InnerDrive) or DMA SCSI controllers can be implemented in just TWO chips. Low cost 16 bit IDE controllers (used for the Vulcan) aren't much more complex. The Zbus is capable of addressing up to seven peripherals. --> Complete developers package for both hardware and software that holds back no secrets (well, almost none). This will allow developers to utilize the DSP in their code and with additional Zbus peripherals with greatest possible ease. ------------------ GS/DSP Peripherals ------------------ These additional peripherals will add capabilities to the GS/DSP by attaching to either the Zbus or the NeXT compatible DSP port. These peripherals will not be released at the same time as the GS/DSP, but will follow sometime in late winter or early spring. --> Audio Interface Box that contains a pair of 16 bit, 44.1 khz, Sigma/Delta A/D converters and their D/A counterparts for CD quality stereo sound manipulation, sampling, and playback. Level controls, line level RCA jacks, and phono jacks will be included for both input and output. An additional low cost option for the Audio Interface, the Phone Line Interface, will be available that will allow people to WRITE 300, 1200, 2400, 9600 bps V.32, and even higher speed modems, FAX modems (transmit and receive), and voice mail machines in SOFTWARE on the DSP. This box will plug into the NeXT compatible DSP port and will also be usable on the NeXT. :) --> Low cost General Purpose Interface Box designed around using the GS/DSP for control applications. The specifications for this box will most likely change, but they will include something very similar to this: 32 channels of digital I/O, an 8 channel A/D (8 bit) with anti-aliasing filters and selectable voltage ranges, an 8 bit D/A with selectable voltages, all I/O buffered with socketed chips for easy replacement, LED monitors, programmable PWM capability, and possibly more. This interface can be used for the control and monitoring of almost anything you can think of. It's a perfect way to get an introduction to computer control, or to put the DSP to real use in the outside world. This box interfaces via the DSP port and may also be used on the NeXT. With the addition of a minimal amount of additional circuitry, the GS/DSP could be used as the controller for a full sized laser lightshow. --> Very low cost DMA 8 bit IDE hard disk controller for use with InnerDrives, OverDrives, or any disk with an IDE interface. Because this interface uses the Zbus, it requires only TWO off-the-shelf chips (one of which is a buffer) and a very small amount of circuit board, yet is a complete DMA controller. A small amount of additional firmware (stored in the NVRAM) is all that is required to make this a caching DMA controller. --> Very low cost DMA SCSI hard disk controller for use with any SCSI drive. Again, thanks to the Zbus, this controller uses only TWO off-the-shelf chips, yet it is also a DMA controller. A small amount of additional firmware (stored in the NVRAM) is all that is required to make this a caching DMA controller. .....more things to follow soon ---------------------------- DSP Software Applications... ---------------------------- On the software end of things, there will be a large amount of code included with the board (sample source and object code, utilities - such as a sound editor and real time sound effects processor, tools - such as InSANE, and applications - Fractals anyone?). One of the included tool patches, InSANE, will accelerate anything that uses the Integer Math Toolset, or the Standard Apple Numeric Environment (SANE), to levels far beyond anything that you could get with a conventional math co-processor such as a 68881 (the DSP is capable of accelerating much more than just the floating point computations that an FPU would). Here are just a couple of other POSSIBILITIES for adventurous programmers. Thanks to the speed of the DSP, this list only SCRATCHES the surface. Quite a bit of the code to accomplish the below tasks is already written and has been placed in the public domain. With a very small amount of adaptation, that code can be ported to and used on the GS/DSP. I'm only planning to tackle a couple of these projects myself (InSANE, some sound effects things, and a little fractal code) so I encourage anyone interested in writing DSP applications to write to New Concepts for additional information and a developers package (when it becomes available). - 3-D Rendering - Disk caching - DMA RAM disks - Tool acceleration - Modems (300-2400, V.32, FAX, ultra high-speed modems; >9600 bps before data compression) - Real time audio special effects (flanging, phasing, chorus, delay, echo, reverb, harmonizing, EQ, distortion, ring modulation, etc.) - Audio manipulation and editing - Voice synthesis - Voice recognition - Voice-mail systems - DTMF encoding / decoding (touch tone) - Test equipment (spectrum analyzers, tone/signal generators, etc.) - 16 bit oversampling Ensoniq (tm) emulation - Fractals - High volume MIDI sequencer / patch management - MIDI effects processor - High-speed data compression / decompression - High-speed data transfers for graphics acceleration, animation, etc. - 8088, 80286, 80386 emulation (note: 386 emulation would not be that fast) - Image processing and enhancement - Control of other equipment - Monitoring of both analog and digital signals (data acquisition) - Surround sound decoding - SAP (second audio program) stereo TV sound decoding - Digital filter research: Fast Fourier Transforms, Discrete-Time Fourier Transforms, Radix-2 Decimation-in-Time / Decimation-in-frequency FFT's, Cascadeable Adaptive Finite Impulse Response Filters, etc. - Sound and Music Synthesis - Proportional-integral-derivative controllers (for laser lightshows) - and the list goes on and on. ---------------------------------------------------------------------------- Product availability and information... The GS/DSP card is expected to be completed by the end of fall '91 and available for shipping by the end of the year. Every attempt is being made to make it available for a STREET PRICE of under $300. If you would like more info on the board, please WRITE to: NEW CONCEPTS ATTN: GS/DSP project 665 West Jackson Street Woodstock, IL 60098 Because this is PRE-RELEASE information, the request is made that people write in because the volume of phone calls concerning this product has been tremendous. New Concepts would have to hire a full time employee just for DSP calls to keep up. -Thank you ----------------------------------------------------------------------------- Apple, Apple ][, IIgs, Macintosh, IIfx, SANE, QuickDraw, and the Apple logo are registered trademarks of Apple Computer, Inc.; Motorola, and DSP56001 are registered trademarks of Motorola Semiconductor, Inc.; NeXT is a registered trademark of NeXT Computer, Inc.; Ginsu is a registered trademark of ???; 8086, 80286, and 80386 are registered trademarks of Intel; the english language is a registered trademark of Webster.