NeXT Computers

NeXT Computer, Inc. => NeXTdimension Board => Topic started by: ardi on June 13, 2014, 09:57:36 am

Title: The 30K Gouraud triangles per second
Post by: ardi on June 13, 2014, 09:57:36 am
I didn't see any demo showing Gouraud shaded triangles... so... was the "30000 Gouraud shaded triangles/sec" a real thing, or was it just marketing hype about the performance you can expect from the i860?

If it was for real... what was the API you used for sending the triangles data to the NeXTdimension board? You couldn't code for the i860 directly, so there must be an API for those triangles somewhere (if it was a real thing).
Title: The 30K Gouraud triangles per second
Post by: gtnicol on June 13, 2014, 05:12:37 pm
Display postscript. The i860 ran a postscript interpreter.
Title: The 30K Gouraud triangles per second
Post by: ardi on June 14, 2014, 09:20:56 am
Quote from: "gtnicol"Display postscript. The i860 ran a postscript interpreter.

Do you mean the NeXTdimension marketing brochures were talking about PostScript triangles when they said "30K Gouraud-shaded triangles/sec" ? I find this a bit strange, because back in those days, when anybody said "Gouraud triangles", it was implied 3D triangles (and most of the times Z-buffered). Note that the i860 was capable of being used as a 3D accelerator (provided it had the proper firmware/software, of course).
Title: The 30K Gouraud triangles per second
Post by: mikeboss on June 14, 2014, 02:31:54 pm
according to wikipedia: "Display Postscript never actually ran on the board so the Intel i860 never did much more than move blocks of color data around".

http://en.wikipedia.org/wiki/NeXTdimension

I don't know if this is true or not...

information available here also might be of interest:
http://support.apple.com/kb/TA45926?viewlocale=en_US
Title: The 30K Gouraud triangles per second
Post by: gtnicol on June 14, 2014, 03:32:30 pm
I think those articles are accurate. I thought I had seen an ND kernel with postscript support, but I'm probably wrong.
Title: The 30K Gouraud triangles per second
Post by: ardi on June 14, 2014, 04:17:35 pm
So... nobody ever saw a demo with Gouraud shaded triangles running on the NeXTdimension? Was it just a marketing myth?
Title: The 30K Gouraud triangles per second
Post by: mikeboss on June 14, 2014, 04:35:35 pm
another extract from a wikipedia article: "However, the PostScript part of the project was never finished so it ended up just moving color pixels around".

http://en.wikipedia.org/wiki/Intel_i860

according to a post at comp.sys.next from 1990 the "30000 Gouraud shaded triangles/sec" could simply be what the i860 was capable of... the i860 had a built in graphics accelerator that could do Gouraud shading, texturing, and z-buffering.

http://macgui.com/usenet/?group=96&id=6819#msg

here, about a completely different animal (with an i860 on it) and the "30.000 gouraud-shaded polygones/s" are also mentioned:
http://www.geekdot.com/the-spea-cards.html
Title: The 30K Gouraud triangles per second
Post by: cubist on June 20, 2014, 02:46:11 am
3DKit/RenderMan were the interfaces for the 3D world.  Rumor is that free (as in beer) non-commercial licenses will be available from Pixar.
Title: Display PostScript, Quick RenderMan, and the NeXTdimension
Post by: M Paquette on July 23, 2014, 06:08:41 pm
Display PostScript and the NeXTdimension board

   The Display PostScript system can be (very broadly) broken into two pieces, the PostScript interpreter and the device.  The interpreter processes the language, and passes marking, imaging, and (in the NeXT version) compositing directions to the device layer.

   The device layer takes the high level marking, imaging, and compositing operations and (eventually) converts these to bitmap level operations.  The Display PostScript system spends the majority of it's time down here.

   In the case of the NeXTdimension board, the device layer is implemented on the NeXTdimension board.  Marking, imaging, and compositing operations are asynchronously transmitted to the NeXTdimension for processing while additional PostScript is interpreted on the 68K processor.  A good degree of parallelism is achieved in normal operation.  The NXPing() AppKit call is interpreted by the Display PostScript system as a request to synchronize the NeXTdimension, PostScript interpreter, and app, and will not return until PostScript rendering is complete on the NeXTdimension.

Quick Renderman and the NeXTdimension board

   Renderman uses a similar architecture.  The 3DKit and RI C binding reside on the m68k (otherwise you couldn't link with them).  Depending on the setup of the Renderman context, a RIB stream can be spooled to Photorealistic Renderman running on the host CPU (the m68K for black hardware), or to a Quick Renderman implementation loaded on demand into the Window Server.  The Quick Renderman implementation in the Window Server may then, if the target window is on a NeXTdimension, forward the rendering operations to a Quick Renderman context running on the NeXTdimension board.

   The NeXTdimension board performs all rendering operations for windows displayed by the board.  Everything from high level geometry tesselation on down to marking the pixels is done on the NeXTdimension.
Title: The 30K Gouraud triangles per second
Post by: Rob Blessin Black Hole on July 25, 2014, 02:50:26 am
Hello Mike: Good to see you back ! Best regards Rob Blessin
Title: The 30K Gouraud triangles per second
Post by: M Paquette on July 25, 2014, 06:41:29 am
Quote from: "mikeboss"another extract from a wikipedia article: "However, the PostScript part of the project was never finished so it ended up just moving color pixels around".

http://en.wikipedia.org/wiki/Intel_i860


Ah, yeah.  About THIS:
QuoteIt was used, for instance, in the NeXTdimension, where it ran a cut-down version of the Mach kernel running a complete PostScript stack. However, the PostScript part of the project was never finished so it ended up just moving color pixels around. In this role the i860 design worked considerably better, as the core program could be loaded into the cache and made entirely "predictable", allowing the compilers to get the ordering right.


As usual, Wikipedia tossed up more unsubstantiated rubbish.  I'm not allowed to edit this in Wikipedia, as I am one of the people who wrote the software involved.  Conflict of interest and all that.  Instead we get commentary on my code from someone I've never heard of.  

Actual real facts:  The NeXTdimension ran a custom kernel which was designed to do soft realtime management of multiple threads within a single address space, provide demand paged virtual memory, and provide a source-compatible Mach API subset and full Mach messaging interface, along with a minimal UNIX system call API, just enough to implement the RenderMan back end and the PostScript device layer.  The kernel was called "Graphics aCcelerator Kernel, or "GaCK".  Yes, this was a jape at the funny capitalization of the company name.  It was not Mach, or BSD, or Minix, or Linux.  I got a lot of good advice on how to pull this off from Avi.

The '040 kernel driver mostly bridged Mach messages between the i860 kernel and the '040 realm.  This was handy.

The PostScript back end implemented the device layer of DPS, which included the standard PostScript 'scantrap' rasterizing, along with NeXT's implementation of the window backing, and alpha channel based compositing.

No, the core program would not fit in cache.  Interesting profile traces would fit, though, including all the compositing loops.   Dual instruction mode i860 code was crafted to tightly pipeline compositing operations, as well as the more critical parts of the RenderMan code.  (Yes, we has a full profiling suite.  And gdb source-level debugging from the '040 side, of the running i860, written atop that Mach-compatible messaging API.)

The amount of C source code and assembler compiled and run on the i860 came to 340,683 lines, not including header files.  The implementation contained everything that we had wanted as far as PostScript and RenderMan support were concerned.
Title: The 30K Gouraud triangles per second
Post by: M Paquette on July 25, 2014, 06:43:36 am
Quote from: "Rob Blessin Black Hole"Hello Mike: Good to see you back ! Best regards Rob Blessin


Hi, Rob!  I'm Baaaaaaack!   And nobody's left alive to chastise me about those pesky NDAs...
Title: The 30K Gouraud triangles per second
Post by: mikeboss on July 25, 2014, 08:24:26 am
wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael
Title: The 30K Gouraud triangles per second
Post by: M Paquette on July 25, 2014, 01:42:45 pm
Quote from: "mikeboss"wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael


Some parts are not NeXT/Apple's to give out.  Display PostScript, for example, is largely the same PostScript that Adobe still puts in printers and some of their software, with some additional extensions by NeXT for compositing, window, and event management.  The kernel and UNIX level 1 code are very similar to the initial Darwin source release.  VERY similar...   The old gcc builds are available, or course.  The AppKit code is still in active development, so I don't think they will hand that out.

Ernie Prabhakar is the product manager for related software these days.

This is pretty off-topic for this thread, though.
Title: The 30K Gouraud triangles per second
Post by: Rob Blessin Black Hole on July 26, 2014, 05:32:35 am
Hello Mike:

Ernie actually gave me the go ahead to support NeXT hardware indefinitely with software awhile back . We tried a formal letter though my contacts at Apple legal to see if the higher ups would release the source and unfortunately no response though we thought we had a good shot at it, thank you for helping clarify why as I didn't realise Adobe still had the display postscript !

I have many questions for you that would help us maintain the aging fleet of NeXT hardware... I currently have about 500 of them , yes 500 and it is cool as we have a lot of active and enthusiastic new and old members! We are replacing a lot of leaky capacitors as they are starting to leak after 20 years and often if that doesn't resolve the problem for example on dimension boards , we are left with little documentation on how to proceed with further troubleshooting .  
I have a section here http://www.blackholeinc.com/docs/ that I'm transitioning to the archives as well ; enjoying the system admin privileges as well here!

Lane Molpus has also recently surfaced which is awesome as he designed the jpeg daughter card for the dimension and I put him in touch with Randy Rencsok who has all 3 , I think the may be trying to revive them! (Sound fun?)

We also have gaps in original schematics for the hardware
http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/
I don't know if you would be able to help or know where we may obtain access to schematics for the 68040 25Mhz Cube motherboards and sound boxes (it would be awesome!).
 
I think you will find the work done to reverse engineer and repair the optical
drives on the forum cool as well as work on the emulator for original NeXT hardware.  I know those guys would really enjoy and appreciate your advice /assistance.

This is off topic as well but we are trying to figure out  is the  earlier 68040 25Mhz roms can be modified to include ADB support , we are running into a bottleneck as non adb sound boards are becoming harder to find but I have a cache of hundreds of new NeXT ADB sound boards . The thought is either / or modify the adb boards to become non adb compatible or upgrade the roms the become adb compatible .... I have plenty of both ADB and non adb keyboards/ mice  but also a limited supply of V74 ADB compatible Turbo motherboards and a boatload of earlier rom motherboards.... any help much appreciated.
We have a custom Y monitor  cable that works with flatpanels and the soundboard from either the 4000A monitor or non adb / adb soundboxes as a the ooriginal monitors are becoming harder to find.


Also if you need anything I'm not sure if you have any old NeXT hardware let me know and I'll take goods care of you! Great to have you back!

Apologies for gacking it all out there but we are stoked to see you back!


Best regards Rob Blessin




Quote from: "M Paquette"
Quote from: "mikeboss"wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael


Some parts are not NeXT/Apple's to give out.  Display PostScript, for example, is largely the same PostScript that Adobe still puts in printers and some of their software, with some additional extensions by NeXT for compositing, window, and event management.  The kernel and UNIX level 1 code are very similar to the initial Darwin source release.  VERY similar...   The old gcc builds are available, or course.  The AppKit code is still in active development, so I don't think they will hand that out.

Ernie Prabhakar is the product manager for related software these days.

This is pretty off-topic for this thread, though.
8)
Title: The 30K Gouraud triangles per second
Post by: gtnicol on July 26, 2014, 12:46:49 pm
It's not just the ROM, it's the ASIC(s) on the ROM board that differ, and there are at least 2 we'd have to change.
Title: The 30K Gouraud triangles per second
Post by: tomaz on August 01, 2014, 06:02:31 pm
Quote from: "M Paquette"As usual, Wikipedia tossed up more unsubstantiated rubbish.  I'm not allowed to edit this in Wikipedia, as I am one of the people who wrote the software involved.  Conflict of interest and all that.  Instead we get commentary on my code from someone I've never heard of.

Actual real facts:
Mike, thank you for a fascinating description. Awesome of you to be on the board. And thank you for playing an important role in creating the computer we all love! I look forward to reading many more posts from you, especially as you obviously have tons of information which (most if not all of) the rest of us have no way of obtaining and will find fascinating. I hope you will continue to post and satisfy our intellectual curiosity and help preserve the unique information you possess for posterity.

In addition to the questions Michael and Rob have already asked, one more comes to my mind for now: there are a couple of VLSI ASICs on NeXT motherboards, whose designs I would guess are no longer of commercial value to Apple. Do you have any idea if (and if so, how, where, from whom) the schematics, or at least behavioural spec. could be obtained?

I'm sorry to hear about the appalling treatment you got from Wikipedia. I used to edit it from time to time. From a certain point onwards, it seemed to become unbelievably bureaucratic. I'd edit a page about a subject I knew something about, and I'd get attacked by a flock of turkeys who obviously didn't have the first clue about the basics, my edits would get reverted, they'd quote all manner of bureaucratic rules to defend putting wrong things onto the page. When I argued my corner, at one point I got threatened with having my account suspended. I generally won the arguments in the end, but it was just not worth the effort, the aggro or my time. It's not like there is anything in it for me. So I stopped contributing. I don't know if some policy changed at some point, or if it was always like that and I just hadn't noticed before.
Title: The 30K Gouraud triangles per second
Post by: M Paquette on August 01, 2014, 07:54:56 pm
Quote from: "tomaz"In addition to the questions Michael and Rob have already asked, one more comes to my mind for now: there are a couple of VLSI ASICs on NeXT motherboards, whose designs I would guess are no longer of commercial value to Apple. Do you have any idea if (and if so, how, where, from whom) the schematics, or at least behavioural spec. could be obtained?


Yow.  Some 50,000 hand-crafted gates laid down before Synopsis and Verilog were available.  They went through a lot of spins before NeXT had a set that (mostly) worked.  They were at least as problematic as the MO drive, and were the reason the machine was so late to ship compared to early expectations.

The 33 MHz '040 systems got a shiny new VLSI chip that WAS designed with actual automation and simulation tools, and the development was much less painful.

I have no idea where or in what form the specs for those chips might be today.
Title: The 30K Gouraud triangles per second
Post by: t-rexky on August 07, 2014, 03:28:12 pm
Quote from: "M Paquette"Some parts are not NeXT/Apple's to give out.  Display PostScript, for example, is largely the same PostScript that Adobe still puts in printers and some of their software, with some additional extensions by NeXT for compositing, window, and event management.  The kernel and UNIX level 1 code are very similar to the initial Darwin source release.  VERY similar...   The old gcc builds are available, or course.  The AppKit code is still in active development, so I don't think they will hand that out.

Ernie Prabhakar is the product manager for related software these days.

This is pretty off-topic for this thread, though.


Good day Sir,

I don't mean to hijack this very interesting thread.  However, for what it is worth, here is the link to the letter that I prepared to Apple on behalf of the community.  Rob Blessin used his contacts to forward it to the correct senior person at Apple.  Unfortunately we have never heard anything back.  I also tried several times to contact some of the senior people at Apple directly with no luck.

https://www.dropbox.com/s/869wnp6vx0l1p2a/NeXT%20Source%20Code%20Lettter%20to%20Apple.pdf

It would be very nice if we at least knew what the show-stopper is with the limited source code release.  Is it lack of resources to be "wasted" on this task at Apple, or is it something more fundamental like the Unix source licensing legalities.  Perhaps you would be able to find out?

I think a number of people here would be happy to sign non-disclosures or any other documents if that could help.

Thank you,
Peter.