▼
Two forum posts made me think of what it would take to build an Amiga using modern parts, and what should remain the same and what should change about a new Amiga to remain useful in the next decades.
The first is on AmigaLove, a forum that I found recently and that I enjoy participating on: FPGA Custom Chips. The original post is about creating FPGA implementations of the Amiga's custom chips. That way, it's possible to replace the original chips when they fail, or build a new Amiga from scratch.
The other one is on the MiSTer FPGA Forum: Faster CPU for Minimig core?. (Minimig core = Amiga on the MiSTer.)
(An FPGA is a field programmable gate array, or basically a lot of small parts that perform functions used in all kinds of computer chips, and these parts can be connected in different ways so the FPGA can "become" lots of different chips.)
But what should be our goal?
Obviously, some of us, especially those who still have Amigas that we use from time to time, would love to retain access to something as close to an original Amiga as possible. However, then what about the peripherals?
Today, if you bring an Amiga into a home, there's a 99% change
that you can't hook it up to a TV or monitor there, and a 99.9%
chance you can't exchange any files between the new Amiga and
anything else.
So I say: a new Amiga needs to be more like a THEC64 than an
actual Commodore 64 (well, actual Amiga).
That means: HDMI for video output and the
ability to use USB peripherals.
And that's not impossible. I'm typing this on my Amiga 1200 right
now, but I'm using an HDMI monitor thanks to the Indivision AGA
MK3 adapter and a USB mouse thanks to the MouSTer adapter.
And a USB keyboard thanks to the Rapid Road USB adapter, but I
readily admit that that's just showing off. (Although the CTRL
keyboard types a lot nicer than a 28-year-old Amiga 1200
keyboard.)
What this could look like is just like with the original Amiga
generations, two versions: one integrated with the keyboard, and
a "big box" model. I think for the integrated one, a case that
holds the middle ground between the A600 and A1200 would make
sense. Remove the numeric keypad but keep the cursor keys.
This is something new, it doesn't have to look exactly like its
predecessors. For the big box version I think something that
looks like an A3000 but smaller would be great, or maybe even a
smaller version of the Amiga 1000 case.
Chipset and floppies
Obviously to run old games, the chipset needs to recreate the
A500/A1000/A2000 chips exactly, as seen by Amiga software.
So USB peripherals such as mice, joysticks and keyboards
must be remapped to recreated versions of the Amiga hardware.
I think that also needs to apply to the floppy drive, as so many
games and demos had their own floppy drive code. Perhaps the
machines should optionally have an actual floppy drive. That way,
access to the floppy-based Amiga legacy is guaranteed.
But most of the time, an integrated Gotek-like floppy emulator
would do the trick.
(And the middle ground: something that physically looks like a
floppy drive and accepts floppies and floppy-shaped objects, but
then only reads a barcode from the back to mount the right disk
image. That would provide the authentic experience without all
the issues with actual magnetic storage.)
Ports
On the one hand, it would be great to have all the original
ports, but on the other hand, that is more difficult/expensive,
for probably relatively little benefit. Let's have a look:
Mouse and joystick ports: it's easy to map USB mice/joysticks to
the Amiga hardware. I'm doing that right now. Then again, the
hardware is super simple, so perhaps the ability to use the real
thing isn't too onerous.
Video: I'd say: just embrace HDMI and leave the past behind. Of
course add good scaling and filters and especially handle PAL vs
NTSC well. One of the cool things only the Amiga could do is
switch video modes on the fly when cycling through screens.
Then again, the MiSTer FPGA platform does support analog video
out currently. Could this be an option? But a complete Amiga
video connector, genlock-capable and all? Too much to ask, in my
opionion. If you really want that, use an original Amiga in good
condition.
Audio: one of my complaints about the modern THEC64 is that it
only outputs audio over HDMI. That's pretty limiting. Please give
us line out for those sweet, sweet MOD files.
External floppy: not sure how difficult this is. But is it
useful? For an internal floppy option, a PC floppy drive can be
used (the differences are extremely minor and can be accommodated
in a recreated chipset), but external Amiga floppy drives are
more complex. And one physical floppy drive along with additional
emulated ones seems more than adequate.
Serial: there are a few uses for the serial port that are still
relevant, I'd say. So having the Amiga think it has a working
serial port would be useful, but not sure if having the
additional hardware is very necessary. The Amiga's serial port
could be mapped to a USB serial port but also be mapped to a network
service.
Parallel: well, parallel printers are dead. Not sure if there's
any printers left with reasonable Amiga drivers.
Intercepting the Amiga's print output and saving it to a file for
later display, conversion and then printing to a modern printer
makes more sense. But the parallel
port was also used for all kinds of interesting stuff, such as
the Digiview video digitizer. Not a priority, but on the other
hand: just a bunch of GPIO (general purpose IO) pins seems
workable.
A1200 hardware
So that's all the ports you'll find on an A500 / A1000 / A2000.
But there is more. Next to the A500, the A1200 is the big gaming
platform that you'll want to support to let people play AGA
games. So:
Harddrive: lots of Amiga software needs a harddrive.
And again, I think the right approach is to recreate something
that looks like the original Amiga hardware from the software
side, but then remaps to modern hardware. I'm thinking an SD card
as the harddrive.
PCMCIA slot: used for all kinds of stuff, but mostly to exchange
data with other systems on CF cards and for network cards. I
would replace this with an (additional) SD card slot. As using CF
cards in this slot required extra software anyway, it would be
fine to have an extra AmigaOS driver to talk to this SD card
slot.
68020: the A1200 uses the 68(EC)020 CPU. So in order to
run software made for the A1200, it's necessary to support the
68020.
More advanced hardware
Retargetable graphics (RTG): most non-game software on later
AmigaOS versions will happily run on screens powered by RTG
graphics cards. These don't have the limitations of the Amiga's
chipset. So RTG support that integrates well with the Amiga's
native graphics capability would be extremely useful.
68030: the Amiga 3000 uses the Motorola 68030 CPU. The 68030
isn't very different from the 68020, except that is has an MMU.
Not a feature that is used a lot by Amiga software, but still
useful in some cases. So not a top priority, but nice to have.
68040 and 68060 were a lot faster, but also less compatible. It's
probably more useful to make the 68020/68030 implementation
faster than to recreate the 68040 or 68060.
FPU: the Amiga 3000 has a 68882 floating point unit, and Amiga
4000s with a 68040 CPU had a built-in FPU.
I think in general Amiga software doesn't require an
FPU, but there could be situations where not having an FPU
creates issues, such as having to use a less capable version of
some software.
And an FPU speeds up some software quite a lot.
(I think some people doing
MiSTer Minimig benchmarks
aren't comparing their results to FPU-enabled results.)
Perhaps giving up some accuracy for speed makes sense here, for
instance by emulating the FPU (or CPU+FPU) in software rather
than use a cycle exact FPGA implementation to run this kind of
software.
Last but not least: networking. No original Amiga came with a
network card. So recreating old networking hardware doesn't make
much sense. However, some way to implement networking
functionality does. Not sure if a bsdsocket.library that
simply punts network calls to the ARM CPU that runs a
Linux variant makes sense, or perhaps something that looks to the
Amiga like Ethernet hardware and is then bridged with Wi-Fi.
That way, the Amiga can use "real" networking but doesn't have to
keep up with changing Wi-Fi (security) standards.
Well, that's my vision of future Amigas. Now the only thing to
figure out is what model number they should get. 1600? 5000?
Permalink - posted 2021-08-08