The Vampire line of FPGA based accelerators is perhaps the most anticipated piece of hardware in the history of retro computing. The hardware itself has taken on near mythical properties, mostly because of how difficult it has been to actually getting a hold of one. Access has for a long time been utterly disproportionate to its popularity.
“the Vampire FPGA is not the final destination. Its is the blueprint for a complete ASIC motherboard that should, if all goes to plan, arrive in a few years”
Unlike ordinary hardware like an x86 PC or one of the many ARM devices that can be sourced at the click of a button – the vampire cards were produced manually. So for each order, one of the Apollo team members had to literally solder on parts, do testing, and ship it off to the customer. Since Apollo didn’t have the infrastructure and financial backing to mass produce the boards, it was not uncommon for customers to wait as long as 12 months. A situation that caused considerable tension for both fans and the Apollo members themselves.
Thankfully, Apollo resolved the situation and ramped up production. And the latter boards such as the Vampire v2+ (covering Amiga 500, 2000 and 600), and the upcoming Vampire v4 for the Amiga 1200, are all mass produced and assembled by a separate company.
Vampire v4 Stand Alone
After the death of Commodore there has been many attempts to bring the Amiga back from obscurity. Pretty much all of these attempts have failed, because the intellectual property that makes up the Amiga legacy, is fragmented between different owners. So while motives may have been pure, the Amiga has been stuck in a form of legal limbo, where the owners of the various parts have engaged in a perpetual cycle of lawsuits since the mid 1990s.
Bringing a platform back that has spent two decades without any R&D, is no small challenge. I mean, producing the old hardware itself is a formidable accomplishment – but bringing the hardware up to speed with modern standards at the same time? Well, many have tried. But at the end of the day, the value of the Amiga is no longer the hardware aspect, but rather the software. And being able to run 68k software while seamlessly updating the capability is what needs to be done if the Amiga is ever going get out of it’s predicament.
This is ultimately what the Vampire v4 stand-alone is all about. Where the cards i mentioned previously require a classical Amiga machine to work, the stand-alone model does not. It is a self-contained, re-created and seriously updated architecture that fits neatly on a single FPGA chip.
So its important to keep in mind that the Vampire V4 represents not just reverse engineering on an epic scale, but also a fair bit of vision and grit to see it through.
The fastest Amiga to ever exist
To give you some idea of what we are talking about here: The Vampire v4 SA (stand alone) is 300 times faster than the Commodore Amiga 500, and it ships with 1000 times more memory (512Mb). But the power of the V4 is not just a hyperactive 68k CPU with some Ram thrown in for good measure. People today look at ARM devices and wonder how these cheap, over the counter devices can deliver so much; but that approach to hardware was the predominant way things was done before x86 became the norm.
“if the Vampire V4 is somewhere between Playstation 1 and 2 today at 50MHz, just what will we see coming out of Apollo’s lab when its clocked at 500Mhz?”
The Amiga in particular is a tight combination of custom chips that all help the CPU, and that each specialize on doing a few tasks extremely well. Just like an ARM SoC (system on a chip) contains a graphics chip, a sound chip, and a network chip – so did the Amiga. The success of ARM in both mobile, gaming and embedded – comes down to this winning formula.
What Apollo has done, is to take the original chipset design, made it hundreds of times faster, and then augmented it with modern features. So where the Amiga 1200 (for example) shipped with AGA (advanced graphics architecture), the Vampire has super-charged that to include a wealth of new operations and display modes, known as SAGA.
The display modes are especially important, because the original Amiga architecture operates with low-res interleaved modes that were common for television and video back in the 80s and 90s. This was long before high-resolution modes with thousands and millions of colors were commonplace.
And while the Amiga was very effective for video production, it didn’t always translate well into games and system software. 3D games in particular was a challenge for the Amiga, because interleaved graphics required 5 times as many operations per pixel compared to chunky-graphics modes (read: modern pixel buffer modes). The Amiga was awesome for its day, and over a decade ahead of the competition – but as it entered the mid 90s it was easily beaten by affordable, off the shelves graphics cards.
These PC graphics cards operated with something called “RTG modes” (retargetable graphics), which means that all graphics work can be offloaded to a secondary card. The Amiga always had support for RTG, but cards for the Amiga was reserved for big-box machines like the Amiga 2000, 3000 and 4000 models. In other words, machines costing a small fortune and out of bounds for the ordinary joe.
The good news about the Vampire (both standalone and the accelerators), is that it doubles as a RTG card. Its SAGA graphics architecture provides RTG chunky graphics modes ranging from 8 bit to 32 bit, with resolutions that are modern. The SAGA standard also boosts sprite sizes (on screen objects that are drawn by the graphics chip, thus costing nothing for the CPU. Common in games, multimedia and as a mouse-cursor), the pixel depth sprites can use — and much, much more!
The audio capabilities have likewise been boosted. The Vampire can use twice as many channels at double the bit depth. So where the Amiga originally only had 8 bit samples, the vampire can use 16 bit samples.
So if you get a Vampire, you dont really need an expensive RTG graphics card, or an equally expensive sound card. Amiga hardware is ridiculously expensive, especially now when there are so few left making them.
MMX and Vector operations
MMX is a set of CPU instructions that helped put the PC ahead of the Amiga when it came to high-end graphics. Without digging too deep into this, MMX is a collection of machine-code instructions that are designed to help the CPU do memory operations very fast (and by consequence, graphics). Today PC users don’t really think much about MMX and how important it was for their platform. The x86 architecture has several layers of instructions, and MMX is just another instruction standard on their list.
Its due to MMX support that the Vampire can play full-screen movies and play MP3 tracks. The processing power these commonplace things demand, was simply way out of a stock Amiga machine’s capability.
The Vampire team have added a ton of awesome features to their CPU design (called the 68080), which includes something called AMMX. This is more or less identical to x86 MMX instructions, but adapted to the 68k standard. This also involves new registers, which helps keep the CPU compatible with legacy software – while advancing its capabilities by a decade or more. In short: using the AMMX instructions won’t interfere with the traditional registers or states. Developers can tap into AMMX at will if you like.
Another awesome feature are a special group of instructions meant for 3D calculations. This might not sound so impressive compared to a modern GPU, but you have to keep in mind that Apollo is not building a competing product; they are building something that aims at being as compatible as possible with the Amiga legacy. Yet at the same time, set the standard for the next step in the evolution of the Amiga.
MMU and FPU
In order to have modern memory management, you need a MMU chip. On x86 PCs the MMU has long since been incorporated into the CPU design itself, so you dont really hear x86 coders talk much about that any more. The MMU is also essential for swap-file memory, or memory mapping as the term is called, where chunks of memory can be paged down to disk – and those pages fetched when the CPU needs them. A pagefile system typically triples the amount of memory a machine has. So if your machine has (just to take an example) 100mb of ram, once a pagefile system is in place – you would have 300mb – where 200mb is dubbed virtual memory. This is how a Linux swap partition works to this day.
The FPU, or floating point unit, is likewise a chip PC owners wont think about. This is for dealing with floating point numbers, and on x86 its been incorporated into the general CPU design ages ago. The FPU is essential for all things mathematical, especially 3d graphics, 3d rendering, animations – and pretty much everything that needs accurate maths.
Since the Vampire is based on FPGA, the hardware can be updated through software (explaining FPGA here is way out scope, so if you don’t fully grasp what FPGA is, i urge you to google it. It’s amazing technology), so Apollo can add new logic, update existing logic and do optimizations long after the product has shipped. You simply flash the board manually.
The reason I mention that, is because the MMU and FPU is not yet activated in the design (or not 100% complete), and Apollo will return to that once the cores have merged. There are presently two designs available: Gold 2 which is the most evolved core, and the most compatible with legacy software. And then there is Gold 3, which has SAGA, but lacks much of the tolerance that Gold 2 has. These will be merged and editions of the final architecture will be adapted for V2 and V4 of the boards.
Flaws and oddities
I know that the Vampire has been hyped beyond all realistic expectations, and as such I did not want to raise my hopes, but instead be pleasantly surprised once it arrived. There is a danger in building up a product too much, because you risk doing Apollo a disservice. And I wanted to give it a fair shot at the title.
Before we look at what I found incredibly impressive, I want to point out what I find odd with the Vampire v4. Every product has its bells and whistles, and the Vampire is no exception.
The first thing that struck me, was that the machine comes with an SD card slot, but for some reason you cannot use that to boot from. The SD card slot is actually used to get files and data into the device – and my impression is that the Apollo team regards it more as a modern floppy disk. And while I have no issue with that idea, not being able to boot from the SD card in 2020 seems wildly counter-intuitive.
Note: Apollo promises to fix this as the cores have been merged, and they go over to patch up missing bits and pieces. So while not critical in any way, I did find it odd to ship a product with so many missing features.
USB is not USB
The second thing that was strange, is that the USB ports actually don’t work as ordinary USB ports should. There is no USB stack involved, so you cannot simply take a normal, modern keyboard and mouse – and use that. This in my view is perhaps the most annoying design flaw so far, especially when you consider the price the Vampire V4 Stand-Alone sells for.
Apollo could have used an FPGA model that has an ARM SoC on it. If they had, a small Linux setup that runs completely unattended in the background (booting in 5 seconds) would have dealt with things like USB and the SD-Card issue. I know this, because other Amiga FPGA designs do this, and simply delegate signals from the Linux drivers over to the FPGA. This way they remain compatible with more or less all modern keyboards and mice, courtesy of the Linux driver database.
Note: The Linux im talking about here is a tiny, embedded style Linux setup. It has no visual output on the screen, and costs only 5-6 seconds when you start the device. That is a small price to pay for transparent support of every mouse and keyboard known to man.
Instead of letting Linux deal with external devices in the background, the USB ports are mapped in a special way directly into the FPGA (from what I understand, it maps it to the now legacy PS2 standard, but don’t quote me on that). This limits the keyboard and mice you can use considerably. You can only use keyboards and mice that supports the “boot ready” part of the USB protocol. And while its not hard to find keyboards that does this (Apollo has a growing list), it’s very frustrating to find this out when the product arrives. Luckily, i was able to borrow a mouse that was compatible from a friend – and by pure luck i had an old Microsoft keyboard that worked. A great shame though, i had just bought a really cool backlit keyboard and mouse for it, which look fantastic.
Network is there, but not really
One of the reasons I bought the stand-alone version, is because I am sick and tired of clutter. I have very little space in my home-office, so i physically cant fit my A2000 without losing 50% of my desk space. I also have no room for an A600 or A1200, because the number of adapters and nips accumulated over the years to make it “kinda work” like a normal computer, would have taken up my entire desk. So getting the V4 seemed like a perfect solution. No more adapters, exposed motherboards and wiring all over the place.
Turns out that the network socket on the Vampire SoC is not active yet! So its there, but the FPGA logic to make it work has not yet been incorporated. This is one of those things the Apollo team will fix after merging the cores.
I knew this was the case on the accelerator boards, but I must admit I did not expect the V4 SA to lack this on release. Its not a huge issue though, you can buy a $5 cable and small external socket and you have network access — but that brings us right back to the same old clutter that i wanted to avoid.
But — i want to underline that Apollo have been frank about this, so it didn’t really take away from its value. Annoying yes, but hey — we have waited 20 years, what’s another six or eight months? Apollo is not a huge company, and most of the work is done in their spare time. We are only human, so I trust these issues will be resolved once the A1200 production has evened out, and the cores will have the focus of the whole team.
The next oddity was that of available disk images. With the SD port out of the question you are left purely with an 2.5″ IDE connector. Which means you have to get a CF disk adapter (so you can use a CF or SD card as a hard disk) in order to get started. This turned out to be more difficult than I had hoped. The device is flashed with the Aros ROM, and as you probably know, the Aros rom is not 100% compatible (although very, very close!) with Workbench. Since I own a Vampire v2+ for my Amiga 2000 I thought I could just use the same CF card and be up and running in no-time, but sadly that didn’t work.
The logical conclusion was to download AROS, and on the AROS nightly build page there was indeed a build marked Vampire. Actually there were two of them. But having downloaded and tried both of them – none booted.
After much searching I was able to source a bootleg release Coffin (release 55 from october 2019), the Vampire distribution, from The Pirate Bay. Not exactly the place you expect to look considering the price tag involved! I would have expected to find a download link on the V4 Wiki page, not rumble around user-groups and IRC channels in desperation. So there is definitively room for improvement with regards to helping users get ut and running. Many customers will be people that havent used an Amiga for ages, and providing something to boot (and yes, i know the legal challenges with regards to Coffin) on the website, is paramount.
Before you nod and start to judge them, you have to remember where these guys are coming from. Like me they grew up in the hacker culture of europe. They love to build complex stuff — and it’s a typical coder’s tendency to love the challenge, but hate the finish.
I see this all the time in software engineering circles. Heck, Linux is prime example, where you have this super advanced software – that for the longest time was visually unpleasing. Hackers care about the tech, but things like design and easy access to info not so much. It’s a common mistake we coders make, because we imagine that everyone else thinks exactly like we do, or know the same stuff that we know.
So cut the Apollo guys some slack, because they have just pulled off the impossible, and succeeded where all other have failed – namely to bring the Amiga kicking and screaming into this century.
Having finally found a disk-image that worked (with the help from Amiga community members), I burned that to my CF card, plugged it into the 2.5″ IDE CF adapter – and fired her up. And within a couple of seconds I was looking at a juiced up, 24 bit Workbench screen.
I double-clicked on the System disk icon, and it opened instantaneously. I clicked on preferences, and once again the result was instant. Wow.
If you are wondering why that is wow-worthy, keep in mind that Amiga keeps its icons in a separate file. And on a vintage Amiga, loading and presenting the icons in a desktop window, is an experience where you can count the icons as they appear. I have never experienced Workbench showing a full windows with some 50 icons in under one second. This abodes well indeed!
I spent a couple of hours checking out the Demo folder, and to my amazement the V4 ran even the most demanding of 68060 demo without breaking a sweat. Perhaps not that surprising since the performance ratio is said to be 5 times more powerful as a stock 68060 CPU. And that doesn’t take the RTG and optimized IO into account either. So yeah, the stand-alone is much faster than anything else, including the V2. Perhaps to be expected since it doesn’t have to wait for the old 1980s hardware any more. The bottleneck for the Vampire v2+ is without a doubt the actual Amiga machine itself!
A natural next stop is ofcourse the performance benchmark program SysInfo. And I was surprised by the speed results. The V4 scored 147311 dhrystones, which is just off the charts! It is 8 times faster than a standard Amiga 4000, and 120 times faster than the A1200 (!) So you got some serious firepower to play with here; 153.76 MFlops even – holy shit!
Now before you start comparing those numbers with your Raspberry PI or your WinUAE setup, keep in mind that you cannot compare real hardware with emulation. You should only compare emulation with emulation, because emulators like UAE will never give you a reliable number. UAE (Unix Amiga Emulator) is subject to a host of interference from the operating system you run beneath. The emulated CPU also hogs all the clock cycles available when you run a test like this, which means the chipset will be robbed of attention. So even though SBCs (single board computers) like the Tinkerboard yields better numbers, those numbers are useless in a real-life scenario.
For example, when compiling a large codebase with Freepascal, the otherwise super fast UAE installation on my Tinkerboard, would come to a grinding halt. The virtual cpu hogs all the clock-cycles, and coherence between display, sound – even the mouse pointer (!) becomes unresponsive.
This however, is not the case with real hardware like the Vampire. Its clock cycles are persistently honoured regardless of what each chip is doing. And likewise the custom chips, display and whatnot – are not affected by the CPU doing heavy chores.
But yeah, the vampire numbers are pretty freaking awesome! Its is the fastest Amiga ever, end of debate.
But now that I have the fastest Amiga in history, i can’t help thinking .. now what? I mean we have been fighting for so long that when the war is finally over and we can get on with it again, I have almost forgotten what we were fighting for.
I think its important for the Vampire team to setup a developer outreach program when things cool down a bit. Talk to the Freepascal team, the guy behind VBCC, SAS C, the Amiga E guys, AmiBlitz, and the guy updating Amos basic too — Support for 68080 and AMMX etc. should be done on compiler level. And further, all the 68k libraries should be recompiled as well.
When this is done, you will most likely see a 30 to 40% speed boost, which means the V4 will officially match the Playstation 2 RISC specs. And most likely give the PPC based A1222 a run for its money.
Developers, developers, developers
Of the machines that were produced in the 80s and early 90s, the Amiga is probably the only one that still sees development, both software and hardware. Its limitation has spawned a kind of subculture in itself, where coders love to push the old girl to the absolute limits and beyond – just because they can.
The Vampire v4 just upped the ante on those limitations. And the V4 is performance wise short of a Playstation 2. Miniscule compared to modern hardware, but one hell of a evolutionary step since it represents only two years of continuous development.
But it gets more interesting than that, because the Vampire FPGA is not the final destination. Its is the blueprint for a complete ASIC motherboard that should, if all goes to plan, arrive in a few years. And when the design is moved from FPGA to a normal motherboard, that’s when you can start running the CPU at modern clock-frequencies. So if the Vampire V4 is somewhere between Playstation 1 and 2 today, running at 50MHz — just what will we see coming out of Apollo’s lab when its clocked at 500Mhz? Yeah, that’s something to think about!
Right now we have hardware to blow every legacy machine away, and the added memory and CPU speeds opens the door for all those cool features Amiga coders have dreamt about since the golden 90s. This places the next step firmly in our hands, as developers. Not just demo coders and game developers, but far more important now is to establish a comfortable ecosystem for the desktop.
And that, in my view, starts with the developer tooling itself. The compilers we use must be updated to take full advantage of the new CPU instructions and registers. Applications that have been limited to the old display modes and graphical boundaries, must likewise follow suit and make the new stuff available for everyone. Browsers, office packages, music software, all of it. DPaint and PPaint are great for pixel art, but the time has come to bring in PhotoShop level functionality.
It took 20 years to break free. Two decades to get away from the greed and arrogance of the legal owners, who to this day are occupied by lawsuits and endless bickering. They are now the kings of nothing, because the Vampire is a free agent with no legal or intellectual ties to any of them. And the OS? Aros is likewise an open-source and free agent – one of the longest running open-source projects on the planet (a seed planted when it became clear that Commodore was imploding). And it has already evolved far beyond the capabilities of the ancient, official desktop distribution. Ah the sweet smell of irony, they must be choking on it..
Now lets ram the Vampire down the throat of those that tried to bury the Amiga. Not because we have to, but because we can 😉
My verdict? I have never given any product a score of 10 out of 10. And I am tempted to give the vampire that. But due to some fpga features still missing, I will give it a 9 out of 10, which is the highest score I have ever given any product.
When Apollo merges their cores and back-track to fixup various bits and pieces, the curse of Amiga is officially lifted. And it didn’t take some wealthy suit or company to kill that dragon – it took a dedicated team of Amiga hackers.
The cult of Amiga is forever