← All posts
Platform · Sergej Klementinovski

Remake or new machine? Kromi One next to MiSTer, MEGA65 and the Commander X16

An honest, in-depth comparison with the THEA1200, Apollo A6000, MiSTer, MEGA65, Commander X16 and ZX Spectrum Next, and why we believe a new machine wins.

There are more new home computers today than at any time since the early nineties, and almost all of them look back. That isn’t a criticism. Each one answers a different question about what a home computer is for. The THEA1200 answers: to remember. MiSTer: to preserve. The Apollo A6000: to carry the Amiga further. The MEGA65, the Commander X16 and the ZX Spectrum Next: to enjoy a small machine you can master.

Kromi One answers: to make things nobody has seen yet. This post explains what that means in practice, machine by machine, down to how programs talk to the hardware. We have tried to be fair. The facts about the other machines come from their makers’ documentation and the press as of October 2026, and there is a whole section on where they are ahead of us.

THEA1200: the Amiga, emulated in a familiar case

Retro Games’ THEA1200 is a full-size Amiga 1200 with a working keyboard. Inside is an Arm processor running Linux and a modified version of Amiberry, an emulator from the UAE family. It emulates the A1200 with its AGA chipset as well as the A500’s OCS and ECS, loads disk images from USB instead of floppies, and comes with licensed Amiga ROMs and Workbench. Retro Games has moved the launch from June to 4 December 2026 to finish the software.

For the Amiga’s library, it is a very good answer. You get the games, the keyboard and the boot screen, on an HDMI television.

But look at what sits between you and the picture: Linux, then an emulator, then an emulated 68020 and an emulated AGA chipset. The Arm chip inside is many times faster than any Amiga, yet you can’t write for it. If you want to make something new for the THEA1200, you write for a 1992 computer with 2 MB of chip RAM, imitated in software.

On Kromi One, nothing pretends to be something else. Your program runs natively on the ARM cores, and the only layer between it and the chipset is KROM, a contract designed for exactly this machine.

MiSTer: re-creating the circuits

MiSTer takes the opposite approach to emulation. It runs on the DE10-Nano board, whose Intel Cyclone V chip combines two ARM cores with an FPGA of 110,000 logic elements. Linux on the ARM side handles menus and files, and the FPGA is loaded with a “core” that rebuilds an old machine’s circuits, from arcade boards and consoles to the Amiga. Because the board’s DDR3 memory responds too slowly for the timing of old DRAM, most cores need an SDRAM add-on board. The whole project is open source under the GPL.

MiSTer is the gold standard of preservation, and we admire it. It is also honest about its limit: the size of the FPGA decides which machines fit. The Saturn core needs nearly every logic block on the chip, and the Dreamcast only works as a hybrid that leans on the ARM cores.

The deeper difference is what the FPGA is for. On MiSTer it is a shapeshifter: it becomes an old machine, with that machine’s limits. As an Amiga 500, that means 32 colours from a palette of 4,096 at 320 × 256 pixels, and four 8-bit sound channels. On Kromi One, the FPGA does one thing. Programs can’t load their own designs into it. It always runs Aura, and every logic cell goes into one new chipset instead of into reproducing the timing quirks of old chips.

Apollo A6000: a faster Amiga, and the price of register compatibility

The Apollo A6000 is the most ambitious attempt to carry the Amiga forward. Its 68080 processor, a new design with 64-bit AMMX extensions, runs in an FPGA; Apollo says it outruns a 68060 at 200 MHz. Its SAGA chipset adds 32-bit true colour, a third playfield, 16 sprites 32 pixels wide, 16 sound voices in 16 bits and output up to 1920 × 1080. ApolloOS, based on the open-source AROS, runs AmigaOS 3 software. It is sold in small numbered batches.

The Apollo team spent around a decade on this, and it shows. But SAGA carries a burden Kromi One doesn’t: it must keep every AGA register where it was in 1992, because Amiga software writes to those registers directly. Every new feature has to fit around a register map designed for 2 MB of chip RAM and a 16-bit blitter.

The Amiga itself showed what that costs. When the A1200 arrived with AGA, it was criticised for being incompatible with a number of A500 games, because many games made assumptions about specific registers and memory locations. WHDLoad, the tool that patches those games so they run on later Amigas, has existed since 1996 for exactly this reason. Compatibility at the register level is a promise that ties the chipset’s hands forever.

KROM: compatibility without frozen registers

Programs on Kromi One never touch the chipset’s registers. Instead, a program writes commands into rings in its own memory: 128-byte records that say what to draw, from where and to where. It rings a doorbell for up to 256 records at once, with no system call per record, and carries on with its game. KROM checks every record in under a microsecond, using the same code as the reference renderer, turns it into a private work order for the chipset and reports when it is done. A malformed command, or one that reaches outside the program’s own memory, completes with an exact error instead, and nothing is half done. A program that crashes is ended; KROM keeps a short fault summary and returns to KromiOS.

This is what keeps the chipset free to change. The interface only ever grows: each of its last thirteen revisions added features without changing an existing one, and programs ask at runtime what the machine can do. When the chipset can’t do something yet, KROM does it on the CPU, with exactly the same result. One of Aura’s drawing stages started that way. When we moved it into the chipset, a 16 × 16 sprite that uses it became 28 times faster, and not one program had to change. That is the A1200 story in reverse.

It is the spirit of the Amiga’s Kickstart, not its letter: a machine that starts fast and keeps its interfaces stable, plus memory protection and a way back when a program fails.

The honest trade-off: you can’t race the beam. Demo coders who changed registers in the middle of a scanline on the Amiga won’t do that here. What Kromi One will offer instead is Lina, a raster list that mirrors the Copper’s three moves (wait for a line, set a value, skip), but on named, checked parameters: colours, scroll offsets, layer positions, windows. Lina is designed, not built. Until it is, copper bars and per-line wobble already run frame-exact with one drawing command per line.

MEGA65, Commander X16 and ZX Spectrum Next: the new 8-bit machines

These three are new computers that keep an 8-bit processor family on purpose, and each one is a labour of love.

The MEGA65 completes the Commodore 65, which never went on sale. Its 45GS02 processor runs at 40.5 MHz in an Artix-7 FPGA, with 384 KB of chip RAM and 8 MB of slower “attic” RAM that the video chip can’t see. The VIC-IV draws up to 800 × 600 from palettes of 256 colours, four SIDs make the sound, and the whole hardware design is open source.

The Commander X16 uses a real 65C02 at 8 MHz. Programs see about 40 KB of fixed RAM plus 512 KB in 8 KB banks. Its video chip, VERA, lives in a small Lattice FPGA with 128 KB of video memory: two layers, 128 sprites and 256 of 4,096 colours at 640 × 480. A YM2151 FM chip and VERA’s own 16 voices make the sound.

The ZX Spectrum Next extends the Spectrum with a Z80 at up to 28 MHz, 1 to 2 MB of RAM, a 256-colour layer up to 320 × 256, 128 sprites of 16 × 16 pixels and three AY sound chips.

On these machines, the limit is the art. You can hold the whole machine in your head, and every byte you save is a small victory. We feel that pull too. But the limits come from processor families of the 1970s, and they decide what can be made. A game with a sharp HUD at full resolution, hundreds of animated, lit and blended objects and music with dozens of voices isn’t a harder version of an 8-bit game. It is a different kind of game, and it doesn’t fit.

Kromi One keeps what those machines get right, one fixed, documented machine that everyone writes for, and moves the ceiling. It has no sprite slots at all: one command draws up to 4,096 sprites of up to 64 × 64 pixels, and in our measurements 10,000 small blended sprites over a full-screen background take 6.06 ms, 36 % of a frame. Memory isn’t counted in kilobytes either. The ARM cores and the FPGA share 4 GB of DDR4, the chipset reaches more than 12 GB/s on long transfers, and the display has its own protected path to memory: zero underflows while the chipset was moving 9 to 11 GB/s. On an Amiga, the CPU and the chipset took turns on the same 2 MB of chip RAM.

Aura’s picture pipeline: built for today’s screens

The old chips were designed around scarcity: bitplanes, palettes, colour counts. Aura starts from a modern screen. Every pixel has 8 bits per colour channel and premultiplied alpha, and blending is exact arithmetic, with the same result every time on every machine.

Drawing happens in Klara, which works on 64 × 64-pixel tiles kept inside the chip. In batch mode it applies many commands to a tile before writing it to memory once. Plain drawing processes 16 pixels per clock cycle; rotated and scaled drawing, with smooth filtering and wrap-around textures, processes 4. A programmable combiner, in the spirit of the GameCube’s TEV, mixes colours with interpolation, comparisons, minimum, maximum and dot products for lighting effects; one stage is built, and the interface allows four. In one test, ten full-screen blended layers plus a fill held 60 frames per second: about 1.4 billion pixels per second.

Dora then composes the picture on its way out to the screen: a base plane plus four planes, each with its own position, size, wrap-around for endless parallax, blend mode and transparency. Composing during scan-out is almost free; the planes cost the drawing engine about 2 %. One test scene needed 21.3 ms per frame with its layers drawn into memory and 10.4 ms with them as planes. That is the difference between 30 and 60 frames per second.

After composition comes a 3D colour table in the .cube format that film and photo tools export. It switches between frames, so every scene can have its own grade. Then a scaler that can change its factor from 1 to 4 on every frame, with sharp pixels, smooth filtering or AMD FSR 1, which we match bit for bit against a reference. A demanding scene can lower its resolution for a moment instead of dropping frames. Finally, two planes can sit on top unscaled, so text and HUD stay sharp at full resolution while the game world is drawn smaller.

For comparison: the Amiga’s dual playfield mode gave you two layers. Aura gives you five, with blending.

Every frame proven

A reference renderer written in C decides the value of every byte Aura produces, and everything else has to match it exactly. The emulator uses that same renderer, so the frames you see while developing on a laptop are exactly the frames the machine draws, not a close approximation. The hardware design in simulation and the real chipset on the board must match too.

On the board, the chipset computes a checksum over every finished frame, after colour grading, and each one is compared with the reference. In one two-hour run, 432,009 of 432,009 frames were exact. When we drew a scene once with the drawing engine and once with display planes, the two frames had the identical checksum. Behind that are exhaustive arithmetic checks, formal proofs and mutation tests, in which we deliberately break the hardware design to prove the tests notice.

For a developer, this means that every frame your program draws in the emulator is the frame the machine will draw. The emulator doesn’t imitate timing, so performance is still measured on the real hardware. But “it looks different on the real machine” is not a thing on Kromi One.

Sound: honest about today, ambitious about tomorrow

Sound is where the old machines have the most personality: the SID’s filters, the AY’s buzz, the grit of Paula’s four 8-bit channels. The MEGA65 has four SIDs, the Commander X16 an FM chip plus 16 voices, the Next three AY chips and the A6000 16 voices in 16 bits.

Kromi One’s sound chip, Aria, is deliberately simple and precise: 48 kHz, 16-bit stereo, in periods as short as 2.67 ms, at a measured rate of 48,000.045 Hz. In an eight-hour test it played 10.8 million periods without a single underrun. Today, programs mix music and effects in software on the ARM cores.

The personality comes next, in a sound engine on one of the module’s real-time cores: 32 to 64 voices, each with pitch, volume, panning, envelope and filter; reverb, echo, chorus, equaliser and limiter on the mix; wavetable and FM synthesis, tracker music and compressed music; and sounds that start on an exact sample or video frame. Programs send it sound data and commands, never code, so it stays as safe as everything else. It is planned, not built.

Where the others are ahead

A fair comparison matters more than a flattering one, so here is where we are behind.

  • They exist. You can buy a MEGA65 today, order Commander X16 kits, build a MiSTer, join an Apollo batch or pre-order a THEA1200, and the Spectrum Next is on its third edition. Kromi One today is a prototype on AMD’s KV260 kit. There is no date and no price yet.
  • They have software. The Amiga, the C64 and the Spectrum have decades of games, and MiSTer covers dozens of systems. Kromi One has example programs and the ones we are writing.
  • They are open. MiSTer is GPL, the MEGA65’s hardware design is LGPL and VERA’s is MIT. KROM is closed while we develop it, and the terms for the SDK aren’t decided yet.
  • They are complete. Raster lists, tile maps, textured triangles, the sound engine, 8-bit and 16-bit pixel formats, USB input, storage and the update system are still ahead of us.
  • They have character. A SID tune or a 320 × 256 pixel-art scene has a sound and a look that a new machine has to earn.

If you want to play your childhood games this winter, get a THEA1200 or build a MiSTer. We mean that.

At a glance

The hardware

MachineProcessorMemoryPictureSpritesSound
THEA1200Arm processor emulating a 68020Emulated Amiga memoryAGA: 256 of 16.8 million colours; HDMI at 50 or 60 Hz8 (Amiga)Emulated Paula: 4 × 8-bit
MiSTer (Amiga core)68000 or 68020, re-created in an FPGA0.5 to 2 MB chip RAM, up to 384 MB fast RAMOCS to AGA; graphics card modes up to 1920 × 10808 (Amiga)Paula: 4 × 8-bit
Apollo A600068080 in an FPGA2 GB fast RAM, 12 MB chip RAMSAGA: up to 1920 × 1080, 32-bit colour16, 32 pixels wide16 voices, 8 or 16-bit
MEGA6545GS02 at 40.5 MHz, in an FPGA384 KB chip RAM, 8 MB attic RAMVIC-IV: up to 800 × 600, 256-colour palettes84 SIDs, 4 × 16-bit DMA channels
Commander X1665C02 at 8 MHzAbout 40 KB, plus 512 KB banked (up to 2 MB)VERA: 640 × 480, 256 of 4,096 colours, 2 layers128, up to 64 × 64YM2151 FM, 16-voice PSG, PCM
ZX Spectrum NextZ80N at up to 28 MHz, in an FPGA1 to 2 MBUp to 320 × 256 in 256 colours128, 16 × 163 × AY-3-8910
Kromi One4 × ARM Cortex-A53 at 1.33 GHz, plus Aura in the FPGA4 GB DDR4, shared by CPU and chipset1920 × 1080 at 60 fps; 8 bits per channel plus alpha; 5 planesNo slots: 10,000 in about 10 ms of a 16.7 ms frameAria: 48 kHz, 16-bit stereo; sound engine planned

The platform

MachineApproachHow programs reach the hardwareClassic software
THEA1200Emulation on LinuxEmulated Amiga registersAmiga 500, 600 and 1200
MiSTerRe-created circuits, one machine at a timeThe re-created machine’s registersDozens of computers and consoles
Apollo A6000A faster 68k AmigaAGA registers plus SAGA extensionsAmigaOS 3 software
MEGA65The Commodore 65, completedHardware registersC64 mode
Commander X16A new 8-bit computerHardware registersIts own
ZX Spectrum NextAn extended SpectrumHardware registersZX Spectrum
Kromi OneA new platformChecked commands through KROMNone, by design

Why we believe in a new machine

The Amiga wasn’t magic because of the 68000. It was magic because it was new. Nobody knew its limits, so a whole generation spent years finding them, and every year the games and demos got better on the same hardware. A remake brings back the games. A re-creation brings back the circuits. A new 8-bit machine brings back the constraint. Only a new machine can bring back the discovery.

That is what we are building: a machine fixed and documented enough that you can learn it completely, modern enough that what you make can stand next to any indie game today, built so the chipset can grow without breaking a single program, and proven frame by frame. We would rather give you the feeling of 1985 than the hardware of 1985.

If that is the machine you have been waiting for, join the list. And if you have questions, the FAQ answers the ones we hear most.

MiSTer, MEGA65, Commander X16, ZX Spectrum Next, THEA1200, Apollo A6000, Amiga, GameCube and the other names in this post belong to their owners. Kromi One isn’t affiliated with any of them.

Follow Kromi One

We'll email you when the developer edition is public and when the crowdfunding campaign opens.

You'll get one email to confirm your address. Unsubscribe any time. See our privacy policy.

Thanks for signing up