ATW800/2

Current Mega-ST version

Welcome to the ATW800/2 page – read that as you like:  “ATW800 two” or “ATW800 half”, depending on your expectation.😉
Whatever way, it’s the Atari Transputer Card as it was meant to be.

This is a pre-announcement – July/August 2024

Normally I do not talk about things which are still in the works.
This is an exception to the rule to inform “the scene” and especially other creators of hardware to prevent unnecessary diversification and fragmentation of an already small market.

I personally hate to buy a piece of hardware just to learn some time later, there’s another one available I wasn’t able to compare to the one I just bought.
So this is a ‘shoulder look’ for you to get an idea what’s coming.

To be dead sure: It already works. It will be released. It’s just not 100% done yet.

And for those, who haven’t watched it… here’s the hastly made YT video 😅

…and another one showing the card running on the VME bus of an ATARI TT

Background

Before we go into features & technical details (skip to those if you’re impatient) I’d like to talk a bit about motivation and goals of this project.

You might have read about my STG[A]TW card for the ATARI Mega-ST expansion bus. That contained an ET4000 graphics card borrowed from IBM PC ISA-land and an Inmos C011 Link-Adapter to connect to a Transputer CPU.
This showed the direction but was a bit cumbersome. Also, ET4000 cards are getting hard to find, expensive (>100€) and not all of them actually do work in your ATARI – and most important, my intention was to create something affordable – remember: Power without the price ✊

The idea is/was to provide a plug-and-play version of a expansion which brings your ATARI as close as possible to what the ATARI Transputer Workstation (ATW800) provided.
That is: Transputers of course as well as expanded graphics capabilities.

Here are my 6 goals I want(ed) to achieve:

  1. Be reasonably ‘historically correct’
  2. Create a design avoiding obsolete parts where possible
  3. Stay in a affordable price range
  4. Simple installation
  5. Integrate/play nice with other peripherals
  6. Offer flexibility

Goal #1 is a philosophical topic one can discuss for his/her whole retro-nerd life. It’s the same as with e.g. cars. Is it OK to put an US V8 into a Ferrari? Electrifying a 1970 Porsche 911? LED headlights in a vintage car? Trailer Queen or patina? The list and discussion will go to the end of humankind.
The very same goes for vintage computer systems. There’s nearly none left which hasn’t had a Raspberry Pi of some sort slapped into it. Starting with a Pi Nano as WiFi-module and ending with a full blown 1.5GHz Pi 4 in an 8bit machine… for my taste, this is not the way.
So with this project we stay with what would have been possible in the let’s say 90s. It might be reached by using more integrated parts, but no recent high-tech here. Sorry. Which brings us to the next point…

Goal #2 is more or less a financial decision. If you use parts which are long time out of production, you depend on a grey market which is limited and can quickly drain, might be full of fakes and prices explode due to greediness.
So instead of buying the last stock of e.g. ET4000W32 chips and create a redesign of an x86 ISA card kludged onto a 68k bus, it’s wiser to go for a ‘virtual design’ which won’t go EOL and can grow as we go… in this case: FPGA is the wayBut following goal #1, don’t overdo.
If there’s (currently) no other option, we obviously have to go with the old parts. The Inmos C011 link-adapter is an example here.

Goal #3 limits #2 in some aspects. It’s relatively simple to pick a recent FPGA which actually would be capable to easily simulate your whole ATARI ST (or two)… but that would be quite expensive – not just the chip but also the design, which requires external RAM, 3-4 voltages and multi-layer PCBs to cope with 200+ BGA connects.
The compromise here is an FPGA board which offers all that already mounted onto it and will be piggy-backed onto our card.
And because cheap is always a challenge, we went for the Chinese Nano FPGA family which has an unreached price/feature ratio and fits the “Power without the price” mantra.

Goal #4 is quite simple: Not everybody is a virtuoso with his/her solder iron. So I tried to avoid as much additional soldering/cabling as possible.
Basically you plug the card into the Mega-ST or VME slot and you’re good to go.
In fact, as of today, there’s just one cable to plug(!) if you want to use one optional feature of the ATW800/2 (ACSI INT). No soldering whatsoever.
Also, you should be able to plug the card in and use it without additional needs. That’s why it offers (optional) TOS ROMs.
This is the way 😉

Goal #5 reflects the awareness that there are mostly souped-up machines out there. I daresay no one who plays with uses his Atari unenhanced in one or the other way.
The ATW800/2 tries to play nice with other common expansions by precisely decoding (previously unused) addresses and even integrate their features like the looped-through USB port of the Lightning-ST.
That said, there are so many old and new peripherals that nobody can guarantee that everything works nicely together with an ATW800/2 – especially on an overloaded bus.

And because of this Goal #6 will be covered by “bespoke ordering“.
Not everybody will be interested in having 2 TRAM slots for hosting real Transputers – so you can leave them out and save some €€.
The same goes for the TOS ROMs. If you already have another ROM switcher, just leave it unpopulated.

Reality kicked in

Having all that planned out, back to the drawing board I went… just to realize that I cannot handle that all by my self.
So it became clear that I have to ask specialists if they like to join the effort.
Let me introduce you to the team aka “The league of extraordinary Transputer gentlemen“:

  • Wolfgang ‘Idek’ Hiestand of the Nova drivers fame.
    Back around the start of the 2000s, Wolfgang looked into getting his hands on the Nova source code with the intention of preserving knowledge about Nova cards. It took some time, but in the end he succeeded in recreating the original drivers. Since then, he has maintained and extended Nova drivers to support additional VGA cards and ATARI computers. For this project, Wolfgang has created a branch of the Nova drivers to support the FPGA-based card.
  • Claus Meder. God of all things FPGA and fellow Transputer maniac. So much actually that he wrote a Transputer core in VHDL.
    Claus designed and wrote the impressive graphics-core for an FPGA from hell.
  • André Saischowa. Atari and Transputer fiddler of the earliest hours. He wrote Transputer and Atari ST programs back then and just got into the matters again when we met. Perfect timing!
    André ported all INMOS tools as well as the Helios server… plus developing  driver .sys files for NVDI.
  • Honorable mention: Mike Brüstle of transputer.net. The man whose brain natively runs Transputer assembly code.
    When you have a question regarding Transputers and he doesn’t know the answer, nobody does.

All four of them have many, many more talents and without them this project would still be just another dream of mine. ❤

Features

Ah, finally… features.
I assume you’re roughly in the picture, what the ATARI Transputer Workstation was all about. Basically, it was a Transputer system running Helios  which used an Mega-ST1 as host. The powerful graphics chip (“Blossom“) was connected to the Transputer which ran X11 on it to display graphics in 1280 by 960 pixels (16 colors) or 1024 by 786 pixels in 256 colors, making the most out of its 1MB VRAM.
As said the Atari part was mainly just I/O: Harddisk, keyboard, mouse, serial and parallel interface. No access to Blossom and after booting, there was no way to run Atari software from/in Helios.

Today that’s bugging me, and like said before, I think Atari or Perihelion, the company behind Helios as well as the ATW, took the wrong approach.
The Transputer system should not sit on top of the Atari system but next to it. Both, TOS/GEM as well as the Transputer(s) should have access to all that pixel beauty.

So there you have it, the two main features and ‘raison d’Être’:

High-Res color graphics 👾

The ATW800/2 graphics controller is actually a tiny and cheap FPGA board piggybacked onto the card. While we started out with the Tang Nano9k it soon proved to be unstable as soon you stretched it to the max… as for now, we changed to the slightly more expensive Nano20k which therefore offers more room and faster/bigger RAM.
[NB: This is the prefect proof that it does make sense to keep this part “virtual” – no shortcoming or chip EOL’ing can stop the product itself. All it needs is an adaptor.]

Displays will be directly connected to its HDMI port.

The running core, called “Seurat” (named after the inventor of Pointillism), has access to 2MB of VRAM, which is twice what Blossom had. Thus there are quite some resolutions possible (in 2,  8 and 16 bit colors):

Woo-hoo… holy Bat-Resolution! 🤯 (1600×1200@256)

To cope with such an amount of pixels Seurat features a blitter with is able to push roughly 130MB/s for fast redraws and smooth scrolling.

As of today (July 2024) the current Gembench 6 numbers vs. 640×200 ST-Med (no NVDI!):

Transputer(s)

Yes, they might not be of everybody’s interest, but they were the main actor in the ATW800 and are fascinating beasts when you take a closer look at them.
32bit RISC’ish CPUs, running at 20-30MHz, each having 4 links to directly connect to other Transputers. That way one can create a massive, unlimited parallel system that blew away anything you could run at home back in 1990.
This strictly follows my goal #1: Historically correct. Run things on the real stuff and feel how an ATW800 felt back then.

The ATW800/2 features 2 slots for classic size-1 TRAM modules next to the Nano20k. Here’s one size-2 TRAM installed:

TRAMs were/are available in many configurations, for those who want to know more, I made a dedicated page about TRAMs.

But that’s not all. Because Claus isn’t Claus without some sort of magic, he also added a synthetic Transputer core into Seurat.
That core is 100% T425 compatible and can not only access his own RAM (6MB, can be partitioned by the user) but also the Video-RAM… like Blossom did.
To make everything perfect, this synthetic Transputer has a link to the physical Transputers on the ATW800/2 which are also linked and themselves have a link at the edge of the card to connect to the outside world.

To round this up:
Everything is shared with the Atari host. You have access to the physical Transputer(s) and the synthetic ones over the 68k bus.
GEM has access to the VRAM as do the synthetic Transputers… and indirectly over their links, the physical Transputers, too.
Given proper programming, the possibilities are endless. Here are some ideas:

  • Accelerate Atari programs using Transputers (send data, let them do the math, collect results)
  • Run X windows on Helios (running the X client on a synthetic Transputer).
  • Use the synthetic Transputers as GPU. Let them do the VRAM manipulation. Lines, vertices, transformation… you name it.
Optional features

But wait, there’s more 🤓… at least for the Mega-ST:

Like I told you in the beginning, I’d like to be this as much plug-and-play as possible. So the ATW800/2 optionally features 1MB in-system programmable Flash ROM. That ROM can host 4 different versions of TOS selectable by two DIP-switches at the back-edge of the card.

Next to that DIP-switch you’ll find a dual USB port. That is a dumb loop-through to the front left edge of the ATW800/2. It is meant to connect an optional Lightning-ST so you have a nice & clean way to lead those connectors to the outside without cutting holes into your Mega-ST case.
Alternatively you can use these port to power external ACSI drives like the ACSI2SD or ACSI2STM etc.

Besides the 3 external Transputer-Links there’s also an internal one at the cards front. Just in case you have my relocator installed…

The ATW800/2 features a battery-holder for a coin battery. Because the original AA battery compartment of the Mega-ST can get in the way with the ATW800/2, this might have to be cut out 😥.
That holder can then replace the original one.

And finally, because the Nano20k has it already on-board, we’re planning to provide a harddisk interface using the Nano’s Micro-SD feature. For easy access, this is also routed to the back edge of the card providing another Mirco-SD socket. An alternative internal pin-connector is provided if you like to place the SD-card slot elsewhere.
This feature is not yet implemented but is the next on the list after VME ist running…

Why “Mega-ST” only?
Well the ATW800/2 will also be available for the VME bus, i.e. Mega-STe and Atari TT.
Most of those optional features aren’t needed in those systems. Also VME cards require a 0.5mm unpopulated edge on both sides to slide into its cage.

  • ROMs cannot fully served through the VME bus.
  • When installed in the VME cage, there’s nearly no way to feed in the USB connector of a Lightning-TT.
  • Same goes for internal TRAMs and a battery cable.
Look Ma’! VME connector fitted! (yes, its an older board revision but you get the idea)

There you have it. This is all we’re able to talk about right now. Some smaller details might change until the release – that’s called ‘agile’ 😏
Let’s sum it up again:

The ATW800/2 will be available for the Mega-ST bus as well as VME bus. This is our progress so far. It will be updated every time we think it’s worth doing so.

Mega-ST bus support
100%
VME bus support
90%
Graphics
99%
Real Transputers
100%
Synthetic Transputers
80%
4 TOS ROMs selectable and programmable
100%
Using MicroSD as harddrive
50%

Technical details

The ATW800/2 basically consists of 3 main devices:

  • The FPGA (“Seurat”)
  • The CPLD (“Absinth”)
  • The Inmos C011 link-adapter

Absinth is the glue to the system-bus. He decodes addresses, manages the different functions on the card and controls the C011. He’s also the gateway between the 5V and 3.3V worlds.

Seurat itself, the core within the FPGA, consist of the Framebuffer controller, a blitter and (currently) two synthetic T425 Transputer cores.

This is a schematic representation:

FAQ

Q: When will you release?
A: When we think it’s usable. That is at least Graphics and Transputers are at 100%.
Some minor features might be added by firmware updates later on. E.g. we consider the harddisc interface as “nice to have” but not essential as most users have at lease one HD replacement already. So that might be added later.


Q: Ok, I’m confused. How many versions will be available then?
A: As of today, we plan various levels of populating the PCB, depending on what makes sense on the specific platform – all versions have the graphics part, i.e. Seurat and Absinth and the USB loop-through connector.

The ATW800/2-VME card will be basically it. Most additional features are useless or redundant in an Atari Mega-STe or TT.

On the other hand the vanilla ATW800/2 for the Mega-ST comes with the clock-battery holder, an auxiliary power cable and will give you some options to choose from:

ATW800/2-R – added TOS ROM sockets and Flash ROMs plus DIP switch to pick one of 4 TOS versions.

ATW800/2-T – features the Inmos C011 link adapter, TRAM sockets, internal and external link connectors.

ATW800/2-RT – the full whopper 🍔


Q: If I chose not to go for a “-T” or “-R” model in the first place, can I populate those parts myself later?
A: Sure! All extra functionalities are build in Absinth already. If you’re fine with soldering and do not expect support on your additions, give it a shot.


Q: Shut up and take my money! What will it cost?
A: We’ll calculate this as soon we are 100% sure that all basic functionalities are working as expected. But according to goal #3, it won’t be incredible expensive.


Q: How will updates work?
A: As for now, Seurat (the FPGA) has to be updated via USB-C using the GoWIN Programming software (Registration required, Linux and Windows only but also works fine in VMs).
Absinth (the CPLD) needs to be updated via JTAG. This requires an Altera USB Blaster and the proper Software (part of Alteras/Intels  Quartus II IDE – 1.5GB download, registration req’d… sorry.)
We’ll provide proper documentation on this when we’re shipping.


Q: Will it work with device XYZ and/or accelerator ABC?
A: We tested the ATW800/2 with peripherals we own ourselves. That’s probably 2% of the things ever made for the Atari ST/TT – so there won’t be a guarantee that a device we don’t own will perfectly work with the ATW800/2.
That said, we will depend on your feedback and are happy to support creators of other devices to make the ATW800/2 behaving well.

As for now we positively tested the ATW800/2 against these accelerators:

    • AdSpeed
    • Turbo25

Also those devices seem to work OK up to now (more in-depth testing needed):

    • Lightning ST
    • Cloudy(-Storm)

Q: Regarding software compatibility, would you consider adding Blossom support? I mean Blossom hardware registers like blitter, screen resolutions etc.

A: No, we’re not doing anything Blossom’ish. There’s actually not much sense behind this for some reasons:

  1. Nothing supported Blossom but the Helios graphics/X11 driver.
  2. The Atari-side of the ATW800 had no access to Blossom at all.
  3. Developing VDI drivers for it requires reverse-engineering of hardware which we do not own
  4. It’s simpler to start from scratch and add things as we need them

So “Seurat”, the controller inside the FPGA is accessible by both, the Atari (VDI etc.) and the Transputer(s). Even at the same time(!) if this would make sense in some cases.
Seurat also has more possible video-modes than Blossom had with 1MB video RAM:

mode 0: 1280 by 960 pixels, 16 colors out of a palette of 4096
mode 1: 1024 by 768 pixels, 256 colors out of a palette of 16.7 million
mode 2: 640 by 480 pixels, 256 colors out of a palette of 16.7 million
mode 3: 512 by 480 pixels, 16.7 million colors

With 2MB video RAM Seurat can go from 320×200 up to 1600x1200x8. Bit depths are currently ranging from 1 to 16bit. It also supports the original Atari modes like 640x400x1 and could do 640x200x2 and 320x200x4… even there’s not much sense behind this.


Q: Hey, I have an idea: What about adding [enter cool feature here] !?
A: Sorry, we had hard times to even hold ourselves back from feature-creep. Actually, we think the ATW800/2 has enough features already. Some not implemented functionalities are just handled better by  already available devices .


Q: I don’t have an HDMI display, what about good old analog VGA?
A: We had to decide how to use the limited space at the external edge of the card. So the onboard HDMI of the used FPGA board was a natural choice.
Sadly all Nano FPGAs provide a “just enough-HDMI” signal which does not provide all needed signals for external converters etc. This includes HDMI to VGA converters or power-injectors.


Q: Why didn’t you just took a Raspberry Pi?
A: Have you read our goals? Please do so now. Thank you.


Q: Do I need a bigger power-supply?
A: It depends. If you’re still using the original power-supply of your Mega-ST this might be a good moment to replace it with something more recent.
The ATW800/2 is not tremendously demanding. With one TRAM plugged into the board, calculating Mandelbrots and displaying them in 1024×786@8bit, a 4MB Mega-ST draws 1.65 amperes in total.


Q: Can I have the source-code, schematics or gerber files?
A: Sorry, this is not an open-source project. We have to cover quite some initial R&D costs and we actually don’t like those ePay copycats.
That said, we – the extraordinary transputer gentlemen – are open for personal request in which you can explain why you need those and if there’s a convincing reason, we might share what we have.


Q: This sucks! XYZ is way better than your crap!
A: Yes, you’re right. So please move on, there is nothing to see here.

12 thoughts on “ATW800/2”

  1. This is great!! It definetely has great potential for being uber-coprocessor (for new software only?) — and at least simple to install gfx card for many users longing for screen real estate… 🙂

    And with ROM upgrade for megaST it would be very much all I want from this machine… but for some extra RAM — is „transputer” (synthetic one) memory addressable from 68000 and can be presented as alt-ram? And if not… seriously, some MBytes for old megaST wold sell this baby to me in no time (already I’m almost sold on this)

    1. Yes, it will need new (or adapted) software to use the might Transputer power.
      And yes, AltRAM would be another nice feature… but at some point you simply have to stop. Too much redundancy does not make sense in a market where most users have at least one device to cover specific needs (Harddrive, RAM, ROM, etc.). So we decided against that… and a DSP, networking, FPU, flux compensator…

  2. This looks amazing!
    I had a thought experiment a little while ago, about whether you could interface a T212 chip in the ST blitter socket (ie. ignoring the Transputer links and using it as a coprocessor), to bring the Transputer architecture into the mainstream (for the time), and get a generation of programmers familiar with SMP, GPU programming etc.

    Out of interest, do you think this would be feasible? Not suggesting an actual mod as this board looks to be very flexible with the programming options.

    1. As the Blitter-socket has all signals needed, it should be doable with a bit of control logic.
      That said, it’s probably limited and would collide with anything accessing/assuming a real blitter. You would need to write a blitter-Emulator in OCCAM and then what?
      A T2xx is very limited with just 64k of RAM. It’s more a controller than a full blown CPU.

  3. I’m interested in this 🙂

    Does the Atari ATW800 programms run on this in X?
    (with this ugly Helios GUI … 😉

    I love the raytracing there … (and that you should restart the computer after using it – as the README says …)

    Also Axel from Harzretro

    1. Sure. It will run the same Helios (well, actually a more “recent” v1.3) and X11 like the original ATW800.
      The “ugly Helios GUI” is X11 as it was back then. One could port another window manager, but I think we do not have enough (X11R4!) libs to compile one.

  4. Following this closely – very impressive work and see you’ve made more progress since the announcement. VERY much interested in several of these boards for both Mega Bus and VME. Where should I be watching for ordering them? I don’t want to miss out!

  5. Very good.
    A small (very big) addition would be nice.
    The ability to redirect the ST-Graphic into the graphic card so that only the HDMI connector is needed.
    I know this would include the need of digitalizing the Analog signal, but it would make the hole setup so much neater. Even if only “ST MID” or “ST LOW” is supported. You could grab the 9 RGB digital signals with “blank” and from the shifter directly and fill the frame buffer with it. “Only” the length of the blank has to be measured to determine between the end of the page and end of the line.

    1. This is indeed quite a big addition and way beyond my ‘plug and play’ approach. Getting to the analog signals will require attaching wires to the shifter like you’ve described it and would make the thing even more complicated.
      At least for this incarnation I’m sorry, won’t happen. But never say never 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.