Even greater news everyone!
Well, maybe not exactly everyone, but to the two people who care about this kind of stuff...
The other day I felt nostalgic and wondered over to the great archive.org site, originally to look for Commodore 64 material. Then, I thought, what the hell! and typed 'cray' into the search box. Lo and behold, a lot of hits! There are manuals, a CD image with some marketing or teaching material on it, but among them, two interesting CD images:
Both are UNICOS install images. I'll have to see if they are complete and what version (and for what machine) they are, but I wanted to share the news: it appears that there is now a publicly available OS image (maybe even two) for my simulator.
Great news everyone!
After a lot of work, I finally can release the next major version of the Cray PVP simulator: You can head over to GitHub for the latest version.
So what's new? A ton of things, most of which you can't directly play with. There's support now for the XMP, YMP-el, J90 and SV1 family of machines. Yes, this means that I have IOS simulation for the super-minis! If you are interested in the back-story of that endeavor, you can read all about it at the 'return of the Cray files'. Unfortunately, while I can share the simulation sources for that work, I can't share the OS images. You can nevertheless play around with it on the on-line simulator.
As far as COS and XMP simulation is concerned, a ton of bugs have been fixed both in the simulator infrastructure and in the simulation itself as well. The vector- and floating-point operations should be much more precise now. There are some rather substantial speed gains as well for the mainframe process simulator.
Great, but what is this all about?
These pages contain my project notes on how to build a Cray supercomputer at home. Computer history is a fascination of me so this project allows me to geek out to the max. I'm writing my story up in hopes that others (well, you, dear reader) will find it interesting. It is somewhat of a living document, a journal of sorts. Though the story starts several years ago - and that part I recount from memory - I intend to add new pages to the files as I progress. When I tell this story I leave out some of the dead-ends and my wanderings in the digital desert, so the story-line feels more linear than it actually was. I don't think you want to hear about all the dozens of failed attempts at solving something. I'll only leave some of the most spectacular failures in for entertainment value.
Special thanks to Andy Gelme, Scott G. Taylor, Brian Taylor and Chris Fenton without whom I would not have been able to get this project off the ground!
The picture above shows Cray X-MP serial number 302 being assembled after delivery. I got this picture from Andy who was the source of the OS backup disk that I've used for this project. The following picture shows how it arrived to the lab: through a hole in the wall.

The gory details
With that introduction, let's look at the various stops along this journey:
- Prelude
- A New Hope
- The Hunt for the Red Bootcode
- The Return of the Cray
- The Matrix
- Needle in the Hay-stack
- A Brave New World
- Multiple Platforms
- Jobs
- Parallels
- Turbo
- A Brave New COS World
After this first series, I've started a second phase of the project, this time to re-create a Cray J90, something I do have software for. The chronicles of that section of the trip are here:
The road from here
Now that the Cray simulator is finally working, what else can be done? The most interesting thing would be to extend the simulator to other machine types. Namely:
- The Cray 2/3/4: These machines are very different in architecture. I have some OS images for a Cray 2, but I would need firmware for the front-end processors, that I lack. I also have almost no documentation on these front-end processors. I don't know their instruction set, how they dealt with memory, what was the interaction between them and the back-end processors and I/O? How did they boot? There probably was some internal Cray documentation on all these topics, but I don't have them.
- The big brothers of the EL-line: the XMP, YMP and C90 systems. These I believe I have sufficient documentation for, but I lack any and all SW. An OS image for these beasts would be very useful, but so far I have not been able turn up any.
- The last of the dinosaurs: the T90. This was a rather drastic departure from the previous lines in terms of architecture judging from the little documentation I have. However, for this machine, this is where the trouble starts: not only I have no operating system image, I don't have detailed enough documentation either. Marketing material does not make a simulator...
- The end of the line. There was actually one iteration of the low-end line, after the SV1 (which I do support). It was the SV2, a.k.a. X-1. Just as with the T90 though, it's a significant departure from the previous designs in terms of architecture and just as with those, I lack both documentation and software to make any significant headway in supporting it.
One could also look back and try to revive the COS operating system on the X-MP. For that though, I need more than just the kernel, I have. I need a full OS. I need SW to run on it. I need source code, I need compilers, I need tools. Things that I don't have. Things without which the OS kernel alone is little more than a test case for the machine and without which the simulator itself is rather pointless.
Finally one could endeavor on re-creating the actual HW in an FPGA of sorts. This is actually an effort that Chris and I started with and even made some progress on. It's incomplete at this point, stuck in an endless loop of long (indeed days long) simulation/crashing/head-scratching/fixing loop, also known as verification. We might pick this effort up at a later point, but help on this front would be highly appreciated.
If you have or know of anybody who has experience, old backup tapes, disks, anything that can be used for any of these machines, please contact me!
Leave a comment
Comments are reviewed before they are published, so yours will not show up right away.
You can use
**strong**and*italic*text,`code`, and lists (lines starting with-or1.). Everything else, HTML included, is shown as it was typed.