• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Apple Quickdraw 3D Accelerator card

Phipli

Well-known member
No, wait...
1712502369108.png
1712502402531.png

So we have a 40MHz 68040, with a PDS and a DSP. That must be a Quadra 800 running at 40MHz with a DSP (most likely) on the PDS card. Or something altogether more strange.

This article is fascinating.
 

stynx

Well-known member
The mention of "Gotham" in 1993 for the 3D-subsystem is very interesting and new to me since i thought that "White Magic" was the older name for the project. I still suspect that Gotham was originally planned as a 40MHz PPC-PDS add-on, maybe with a direct path to the VRAM on a PPC-PDS-graphics card.
The 1992 3D implementation was separated into 2 chips per render-pipeline: The Z-chip and the RGB-chip. Other patents mention a comand-decoder chip as well. The 1995 "Gotham" has a PCI-interface and the rasterizer chip. I am still interested to know what the PCI-bridge/interface chip actually does. Is it only a simple PCI-bridge or is there something more inside?

I think that Gotham was nearly final in 1994, including the texture unit. Internal testing with the early tape-out chips would have started in 1994. In late 1994 to early 1995, the "White Magic" developer card would have been ready. The white magic cards would have been sent to developers between February 95 and June 95.

Gotham will perform DMA writes to VRAM of approximately 50 megabytes / second,
DMA reads of system DRAM of approximately 10 to 20 megabytes / second,
and DMA writes of system DRAM of 4 megabytes / second.
This would explain the fact that the speed does not scale very well beyond the simultaneous usage of 3 cards.
54MB/s writes + 10-20MB/s reads on the PCI bus. => 64-74MB/s bandwidth per card. If the VRAM writes could be separated from the PCI-bus, the performance-potential would be much better.
Its not fair, I'd love to see a presentation by the original engineers about all this stuff. They spent so long developing it and so little made it to market. I wonder if it was another victim of Copland? Or is it too much to blame this on Copland
Not Copland but Steve Jobs. The Apple HW 3D team was well on track for the next iteration of gotham with much higher performance and more features. It looks to me that the Gotham we got was just an in-between cost reduced quick-to-maket solution to keep the project group running. How far the actual 10x faster Gotham had been developed is not known. There are rendered images from that in the last proceedings docs with realtime full scene antialiasing. I would be really interested to know how far the Apple HW 3D team had been able to go.
Jobs killed off a lot of non-essential projects when he came back to apple to reduce capital-outflow. The most expensive resource that is easy to reduce is personal. He simply fired everyone who was not directly involved in the "core" mac-architecture.
 

Phipli

Well-known member
Not Copland but Steve Jobs.
Yeah, I realise that, but I was thinking was the reason they didn't release anything earlier, despite putting compatibility into many macs from 1993 onwards.
The mention of "Gotham" in 1993 for the 3D-subsystem is very interesting
The Gotham ERS is even dated 1992!
I still suspect that Gotham was originally planned as a 40MHz PPC-PDS add-on, maybe with a direct path to the VRAM on a PPC-PDS-graphics card.
The article I attached talks about a 40MHz 040 with a DSP and hardware rasterizer in a PDS slot. It can't be the 840av I thought it was, so it must be a 40MHz Q650 or Q800 based machine. I'm guessing it has the Q840's DSP on the same card as the Rasterizer... They were using the DSP for... Accelerating "transformation, clipping and shading". Do I remember the PPC has some DSP hardware built in, or was that marketing nonsense excusing the loss of the DSP between the 840 and the 8100?
I am still interested to know what the PCI-bridge/interface chip actually does. Is it only a simple PCI-bridge or is there something more inside?
The best thing to do would be investigate the PCI implementation on the 7200 and 7500. It is very likely to be related, although they baked it in with other functions. Note that the 7200 is the only PCI Mac with Apple designed hardware quickdraw acceleration... Worth noting. Frustratingly it isn't compatible with Virtual Memory, so that might have put them off.
This would explain the fact that the speed does not scale very well beyond the simultaneous usage of 3 cards.
54MB/s writes + 10-20MB/s reads on the PCI bus. => 64-74MB/s bandwidth per card. If the VRAM writes could be separated from the PCI-bus, the performance-potential would be much better.
They mention using another connection directly between the cards and VRAM to speed up transfers. Obviously we never got that.

How does the DAV port work?
 

Snial

Well-known member
Do I remember the PPC has some DSP hardware built in, or was that marketing nonsense excusing the loss of the DSP between the 840 and the 8100?
I think they meant that even the PPC 601's Instruction set could execute DSP math faster than the 840's DSP chip could, but basically that meant it had a fast Multiply and Accumulate instruction; load/store multiple and load/store with address update, perhaps with different strides (but I'm not sure about that bit). Also, the FPU could sustain 1 multiply (and accumulate?) instruction per cycle, which was much better than the '040.
 

stynx

Well-known member
So we have a 40MHz 68040, with a PDS and a DSP. That must be a Quadra 800 running at 40MHz with a DSP (most likely) on the PDS card. Or something altogether more strange.

This article is fascinating.
The article I attached talks about a 40MHz 040 with a DSP and hardware rasterizer in a PDS slot. It can't be the 840av I thought it was, so it must be a 40MHz Q650 or Q800 based machine. I'm guessing it has the Q840's DSP on the same card as the Rasterizer... They were using the DSP for... Accelerating "transformation, clipping and shading". Do I remember the PPC has some DSP hardware built in, or was that marketing nonsense excusing the loss of the DSP between the 840 and the 8100?
I think you mis-interpret what is written there. There is no mention of the speed of the 68040. It is only said that the 3D-hardware can run at 40MHz and was under clocked to 1MHz for benchmarking. The final results are multiplied by 40 to extrapolate the possible performance of a full-speed capable system. There is the possibility of using a DSP mentioned, not that they used a DSP.

The scanline rasterizer performs Gouraud shading, hidden surface removal via a 32 bit Z-buffer, shadow volumes and alpha blending (with 10 bits of accuracy). The rasterizer is implemented as two 0.8pm ICS (Pigure 10, at the end of the paper), designed with silicon compilation tools; the chips operate at 40MHz. The first chip intersects polygons transferred from the active polygon list with the current scardine, generating a series of horizontal spans. The second chip rasterizes the resulting spans, doing hidden surface removal, shadow plane tests and alpha blending. Multiple chip sets can be connected m parallel with virtually no glue logic, providing very high performance with low chip count

The 68040 test-bench computer could habe been a Quadra 700 with 25MHz for all we know. The faster prototype 68040 machines would be any newer machine, maybe the Q800. The 1992 proceedings (Scaleable..pdf) are from July 1992. You can be sure that the testing took more than 6 months. It is more than likely that the development on this iteration started in late 1990 or early 1991. Work on the earliest 3D-hardware most likely began in 1988 or 1987, one year after the Macintosh II was released. This is very very early for such a project. This is all guesswork, of course.

It takes a 100MHz 601 CPU to make the Gotham card usable and at least a 133MHz 604 CPU to get good performance from it. The NuBus Power Macs might still have been too slow for Gotham to be usable. Based on Benchmarks, the 601 was about 2 times faster than a 68040 at the same clock in floating point operations. If we take a 25MHz 040 as a basis for the tests mentioned in the Scaleable...pdf, and that at least 10x the floating point performance was needed for the CPU to be fast enough for Gotham, we would need a 125Mhz PPC601 CPU. The PowerMac 8100/100 would have been the first Mac to come close to the needed FPU performance for Gotham to work in full speed.
This is most likely the reason that Gotham was not released earlier.

Time Lines for Next-gen Mac:
Summer 1989: Official start of jaguar project
Winter 1989/1990: The Kirkwood ski trip and the birth of the Cognac project
March 1990: Release of the Mac llfx and Macintosh 8•24 GC accelerated graphics card
june 1990: Birth of the RLC project
March 1991: The Banff ski trip and the transition of the RLC project to 8811 0-based system
June 1991 to September 1991 : PDM is born from 88110-based Mac
July 1991: The PowerPC Alliance is announced
May 1992: Somerset opens September 1992: First silicon of 601
October 1992: Pacific sales meeting in Hawaii
March 1993: Cold Fusion project started
June 1993: Carl Sagan project started July 1993: STP project started
Late Summer 1993: Decision to provide AV functionality in PowerPC systems at introduction made
January 24, 1994: Original planned date for PDM shipment and announcement of LAW and Cold Fusion
March 14, 1994: Introduction of the Power Macintosh line and its first three members: the 6100/60, the 7100/66, and the 8100/80
 

stynx

Well-known member
Here are the files i have collected over some time:
 

Attachments

  • QD3D - texture caching - US5987567.pdf
    1.4 MB · Views: 0
  • QD3D - Hardware accelerated rendering of antialiasing.pdf
    110.4 KB · Views: 2
  • QD3D - hardware_accelerated_csg.pdf
    300 KB · Views: 1
  • QD3D - hw_vlsi_apple_3d_88.pdf
    5.7 MB · Views: 1
  • QD3D - US5307449.pdf
    3.6 MB · Views: 0
  • QD3D - US5345541.pdf
    3.8 MB · Views: 0
  • QD3D - US5517603.pdf
    3.6 MB · Views: 0
  • QD3D - US5583974.pdf
    2.2 MB · Views: 0
  • QD3D - US5592601.pdf
    1.5 MB · Views: 0
  • QD3D - US5606650.pdf
    1.5 MB · Views: 0
  • QD3D - US5701405.pdf
    1.4 MB · Views: 0
  • QD3D - US5706415.pdf
    3.7 MB · Views: 0
  • QD3D - US5920687.pdf
    1.4 MB · Views: 0
  • QD3D - WO1995029464A1.pdf
    1.3 MB · Views: 0
  • QD3D_acc_patent.pdf
    3.7 MB · Views: 0
  • qd3d.pdf
    76.8 KB · Views: 2
  • US5561752.pdf
    3.5 MB · Views: 0
  • US5777621.pdf
    4.6 MB · Views: 0
  • US5808627.pdf
    1.3 MB · Views: 0
  • US5986667.pdf
    3.6 MB · Views: 0
  • The_PowerPC_Macintosh_Book_1994.pdf
    47.6 MB · Views: 1

stynx

Well-known member
I missed this and assumed the 40MHz of the chips was tied to the bus speed, given it was PDS.
The strangely fitting clock of 40MHz suggest that, yes.
NUBUS 10/20 MHz
68040 PDS: 20-40 MHz
PPC PDS: 30-44 MHz
PCI: 33 MHz
 

stynx

Well-known member
The date also matches. They had Quadra 800s at the time, and they were tested (but not released) at 40MHz.
We cannot rule out, that they tested much more than is presented in that proceedings document from SIGGRAPH. There is just so much unknown in terms of timeline when it comes to the QD3D accelerator "Gotham".

I have 5 Gotham cards, but no White magic "seed card". I would be very interested to test that card against the final "Gotham" card. I suspect that the difference in texture capabilities (3 textures vs. 12 textures) is just software related. And further more i suspect that the card could actually use other texture sizes as well (64x64 for example). The texture index is (most likely) only 4bit (based on the patents and SIGGRAPH docs) and can therefore only address 16 textures.

I am thinking of letting one card decapped to get shots of the silicon of both chips (PCI-interface & rasterizer) on the Gotham card.
 

Phipli

Well-known member
We cannot rule out, that they tested much more than is presented in that proceedings document from SIGGRAPH. There is just so much unknown in terms of timeline when it comes to the QD3D accelerator "Gotham".

I have 5 Gotham cards, but no White magic "seed card". I would be very interested to test that card against the final "Gotham" card. I suspect that the difference in texture capabilities (3 textures vs. 12 textures) is just software related. And further more i suspect that the card could actually use other texture sizes as well (64x64 for example). The texture index is (most likely) only 4bit (based on the patents and SIGGRAPH docs) and can therefore only address 16 textures.

I am thinking of letting one card decapped to get shots of the silicon of both chips (PCI-interface & rasterizer) on the Gotham card.
Have you tried contacting the Computer History Museum to see if they have the ERS for the chip?
 
Top