In the name of Tramiel and Miner and Sassenrath, amen.
If you were to design a system today to try to re-create that magic for young developers and users, what would it look like?
You said VR - I suppose the first VR platform with full field of view could be rather memorable, but the first software won't be ported especially for it unlike just about any ZX Spectrum game...
I feel that the limiting factor is now software, not hardware. There are way more great PS4 games in our imagination than in reality, while, with the ZX Spectrum, most of our imagination easily outran the platform's ability. This made each platform advancement more exciting. I couldn't care less when the new Samsung Galaxy 7 comes out because there's no software I want that my Galaxy 3 can't run.
But that's just how I feel as someone born 6 years after the ZX Spectrum. So someone younger will have to comment to really answer your question.
https://www.youtube.com/watch?v=-yJNGwIcLtw
https://www.youtube.com/watch?v=bkKxJw-jB5Q
And then there was the PC:
This was also Amiga downfall, as planar graphic modes became irrelevant in the nineties. As soon as you get into ~486DX2/66 territory you have enough pure CPU to render chunky(13h) mode in software.
What made it faster? Is it just that the hardware could be simpler? Curious to know.
You could compose out of, say, 3 bpp sprites or layers. Or you could make 1bpp "control" bitplanes that, when fed to the blitter, would fill your polygons scanline by scanline. (The blitter can also make these for you using the harware line drawing support) All the graphics hardware could be bit depth agnostic but still do 1bpp operations 5x as fast as 5bpp operations. And do it asynchronously with CPU doing other stuff concurrently. Saved memory bandwidth, memory space, and CPU time - all of which were very tight and CPU had no cache.
Related note, there also used to be bit-sliced CPUs that didn't have hardwired byte lengths.
On the PC, VGA had a "byte-planar" mode that combines some of the advantages of planar and chunky graphics that had further advantages in eg filled polygon rendering over "plain" chunky mode.
That's the raison d'etre of the raspberry pi, which appears to be really popular... with middle aged men who grew up with the ZX Spectrum and Commodore 64 and Amiga!
A modern comparison might be the "layerone" demoscene board, which is a PIC24 with a VGA connector: http://hackaday.com/2015/05/26/layerone-demoscene/
The OS, with real multitasking, was very unique for the time. I first learned C on an Amiga, and you had to be careful since there was no memory protection. De-reference a null ptr and you'd get the old "guru meditation", followed by a reboot. Fun times.
Beyond that, some of the games were amazing. I specifically remember Shadow of the Beast, Blood Money, and some other Psygnosis titles.
I have nothing against this for ref, just that it appears to be an eternally unsolved problem.
I can't say I ever "loved" it nor found it reliable. By 1998 it looked quaint compared to NT4 etc.
Stop right there. Multitasking without memory protection and reliability do not go well together. It was a fun machine, but reliable it was not.
Stop deluding yourself, Commodore had a ton of reliability problems. Amigas came from factory with electrolytic capacitors soldered backwards! (and afaik they were also backwards on the factory diagram).
Difficult problem to solve...
Things like Datatypes (gaining instant ability to read any image format into any viewer or editor by dropping a library into the right directory), XPK (gaining instant support for any compression library everywhere), pervasive AREXX support (Linux is slowly getting something similar with dbus, but in comparison to AREXX ports dbus is overcomplicated), screens (sort of like virtual desktops/spaces, but could be private or public and named), responsiveness (e.g. by default widgets and input handling were running in different tasks/threads to the applications, and so would remain responsive even when your app was doing stupid stuff), or the device/filesystem model which was frequently exploited (e.g. the editor FrexxEd exports the open buffers in a custom filesystem, so that on limited memory systems you could process the content of the buffers with external programs - like your compiler - without having to save it to T: (the equivalent of /tmp), which was usually assigned to the ramdisk), or assigns - creating dynamic drive/volume labels (less important now, but I could e.g. "list music0:" and get prompted specifically for the disk with the label "music0"), or "joining" multiple paths together under a single name. E.g. LIBS:xpk.library would find xpk.library in whichever path it was as long as that path had been added to the LIBS: assign.
There are many little things. None of them sufficient for me to be willing to use AmigaOS now, but many of them things I still miss.
It would be interesting to try and forward-port these aspects of AmigaOS to an ARM system.
Some of them certainly expect single-user. I think Linux etc. loses out quite a bit by not differentiating between single user (in terms of "person in front of the machine is most important, regardless of uid) and multi-user systems.
Some of it could be emulated by tweaking priorities. But others require a large change in how you think about applications. E.g. the widget ("gadget" in Amiga-speak) responsiveness largely comes from the OS threads carrying out updates of them. To do the same in an X app for example, you'd need your app to explicitly start a separate thread to forward events to your main thread, and have a mechanism for giving it higher priority. It's not that hard to do, but without libraries providing wrappers for it, it won't happen often.
Other things, like the assigns could be implemented easily enough with a filesystem driver. Coupled with namespaces you certainly can do this transparently in a multi-user system.
Memory protection helped reducing the cost of context switches, and certainly there has been a variety of sins carried out as a result of it being possible to pass data all over the place without paying much attention to it. But it's not that integral to the things that make AmigaOS unique.
With respect to ARM systems, AROS runs on ARM (and x86, PPC, m68k) and AROS is relatively close to parity with the lastest AmigaOS releases (including features from the 4.x series for PPC). I think at least one AROS distribution has images for Raspberry Pi for example. If nothing else it's a good place to get a feel for how some of it works.
But I was hoping for something with a little more of the design rationale. Maybe this is what I'm looking for. http://www.amazon.co.uk/The-Future-Was-Here-Commodore/dp/026...
Yet my android tablet routinely freezes for 30 seconds for whatever reason.
And yes, app crashes could take the machine down, but it was typically back up in a usable desktop within 6 seconds. And later on (mid 90s), they seem to have become far more rare.
Whenever nostalgia strikes, I fire up UAE (or whatever the best emulator is at the moment), run a few games and after a few hours, I'm done.
What is the business purpose behind this initiative?
The business purpose is that there is still a small number of people that keep buying hardware.
The Amiga community is odd - you have the whole spectrum from purists that want 100% original hardware, via Franken-setups with a mix of original hardware and newly developed expansions, to FPGA reimplementations, to the PPC AmigaOne's running AmigaOS 4.x, to the AmigaOS reimplementatins/inspired OS's (AROS and MorphOS), and some people are very militant about their camps.
Why there needs to be a business purpose? When did hackers stop doing stuff because it's fun and because they can?
I guess this is somewhat costlier than doing free software development during one's spare time. Still, they'll probably lose money only while prototyping, since they'll start producing after pre-orders start coming in. Unless, of course, they screw up and start getting refund requests via paypal.