
Image: Amiga 4000 photo by Marcin Wichary, CC BY 2.0, via Wikimedia Commons
BigMig Amiga Core for MiSTer Adds a Voodoo 3 Style 3D Card Built in the FPGA
BigMig, an Amiga core for the MiSTer that runs its 68k processor in software on the board's ARM chip, gained a 3D graphics card on 10 October. The new release, dated 20261010 on GitHub, headlines BigMig 3Dx2, billed in the release notes as "A dual pipeline GPU for the Amiga". It consists of two render units in the FPGA, a 3D engine in the firmware, and new `Warp3D.library` and `minigl.library` files for the Amiga side. Running at 640 by 480, the developer's own board shows Quake's first timedemo at 45 frames per second.
What the 10 October release adds
The release notes sum it up as "A kind of compact Voodoo 3: Voodoo 3 features, performance between a Voodoo2 and a Voodoo3." Programs that ask which card they are drawing on are told it is a Voodoo 3, so software written for one takes its usual path.
The specification in the README is precise. 3Dx2 draws in 16-bit colour (RGB565, with ordered dithering when a program asks for it) with a 16-bit Z buffer, bilinear filtering, mipmaps, fog and blending. Textures can be up to 256 by 256; larger ones are scaled down by the library. There are 24 MB of texture memory, and when a game wants more, the library recycles the textures that were drawn longest ago. There is no stencil buffer. On a 32-bit screen the picture is converted as it is shown.
Three programs come with the release on its guest hard disk image, with these results on the developer's board (68060+ mode, Host Speed 1200 MHz, all at 640 by 480):
- - CoW3D 6, Alain Thellier's Warp3D demo, runs at 87 frames per second.
- - BlitzQuake-3Dx2, a rebuild of Christian Michael's BlitzQuake 1.50 that sends its OpenGL through the new `minigl.library`, runs `timedemo demo1` at 45.
- - BlitzQuake 1.50 itself, using its own built-in MiniGL on top of the new Warp3D, runs the same timedemo at 34.
The release also includes id Software's shareware Quake 1.06, unmodified, as a separate download, so the BlitzQuake rebuild has game data to run. Other ports, such as Jedi Outcast, Return to Castle Wolfenstein, Quake 3 and OpenLara, need data from the original games.
Beyond the GPU, the release lists faster CPU emulation (BlitzQuake 1.50 gains 12 to 15 percent, and SysInfo reads 70 MFlops at 1.2 GHz, up from 27), a mouse pointer on HDMI that now scales with RTG screens, a ZZ9000 Ethernet ping of about 1 ms on an idle Amiga (up to about 20 ms before), and a fix for the MiSTer Share hanging a program on a read or write error.

How the work is split
BigMig's central idea is that the Amiga's custom chips stay in the FPGA while the processor leaves it. The README puts it plainly: Agnus, Denise, Paula, Gary and the CIAs are "the same cycle-accurate Minimig logic they have always been. Only the processor moved." The 68k is Emu68-A9, a port of Michal Schulz's Emu68 just-in-time recompiler, running bare-metal on the second Cortex-A9 core of the DE10-Nano. According to the README, Emu68 targets 64-bit ARM while the DE10-Nano's A9 is 32-bit ARMv7, so its code generator, cache maintenance and exception paths were rebuilt for that chip. Linux is booted with `maxcpus=1` so it never touches that second core, which is why the board restarts once when BigMig is loaded.
The 3D card follows the same split. A 3D engine in the firmware, on the ARM, takes a program's triangles, clips them and sorts them into bands of the screen. In the FPGA, two render units (the "x2") each pair a triangle-setup unit written for BigMig with a pixel pipeline derived from RasterIX, an open-source rasteriser by the developer ToNi3141. RasterIX's own documentation describes it as an OpenGL ES 1.1 style fixed-function pipeline whose vertex work is done in software, and says its name is short for "Rasterizer 9", a nod to the end of the 1990s. For MiniGL programs, the transforming, lighting and clipping run on the ARM too, a whole batch of commands per call, which leaves the emulated 68k to run the game.
Making room for the GPU cost the core three things: its own Amiga-side scandoubler and scanline effects, HQ2x, and Gayle IDE. MiSTer's scaler still supplies its own scanlines and filters, and storage goes through BigMig's `bigmigHD.device`.
Background: Warp3D, Voodoo and big-box Amigas
Warp3D was founded in 1998 by Haage & Partner to give AmigaOS a standard way to reach 3D hardware. It never ran on the stock OCS, ECS or AGA chipsets; it needed a 3D card, and among the cards it supported was any 3dfx Voodoo. 3dfx's Voodoo3 reached shops in early 1999. The Amiga 4000, launched on 21 October 1992 with a 68040 and the AGA chipset, had four 32-bit Zorro III expansion slots, the kind of machine BigMig's README means when it calls the core "A Big Box Amiga".
BigMig fills out that big box in software and logic. Its README lists a selectable 68EC020, 68040 or 68060+ processor at 520 to 770 MIPS depending on Host Speed (800 MHz to 1.2 GHz), against about 12 for the TG68K soft CPU in the standard Minimig core; 264 MB of Fast RAM; RTG graphics modelled on MNT's ZZ9000 Zorro III card at up to 1920 by 1080; 16-bit audio; and up to four CD drives.
How it compares
The standard MiSTer Amiga core is Minimig, originally written by Dennis van Weeren, which emulates OCS, ECS and AGA machines with a 68000 or 68020 in the FPGA. BigMig's README calls itself "a separate core from Minimig, on purpose": it uses its own core file, configuration, saves and build of MiSTer's Main program, and shares only the `/games/Amiga` folder.
The nearest rival for 3D on real Amigas is the PiStorm, an adapter that replaces a 68000 in its socket and pairs it with a Raspberry Pi, and its 3D project PiStorm3D. PiStorm3D was released to its Indiegogo backers on 26 September and has since been put on Aminet. Steffen Häuser, who develops its MiniGL library, gives Quake's speed on the released version as "On a Pistorm 188 FPS at 640x480, higher resolutions are quite fast as well". That is far ahead of BigMig's 45 at the same resolution, though the tests are not like-for-like: BigMig's figure comes from a 16-bit renderer, a different Quake build and a different test. BigMig's `minigl.library` implements both of PiStorm3D's MiniGL interfaces, version 29 and the earlier Classic 27, so programs built for PiStorm3D run unchanged; the README lists GLQuake and Hurrican as tested. BigMig can also boot PiStorm distributions such as CaffeineOS from their own images, though the README recommends a modern AmigaOS 3.2.x setup instead.
Who is behind it
BigMig is the work of Ruben Aparicio, raparici on GitHub, who wrote the Emu68-A9 port, the bridge between the ARM and the chipset, the 3D engine and the Amiga libraries. The README credits Mark Watson's Minimig Hybrid as the first attempt at an FPGA chipset with an ARM processor: "Mark Watson built one." Its earliest bridge register blocks were his code. The first BigMig release appeared on 12 August, followed by builds on 31 August, 5 September, 27 September and now 10 October. RetroRGB covered the 3D card in its latest MiSTer news roundup.
What is not known yet
The new `Warp3D.library` and `minigl.library` are closed for now; the release notes say their sources "will be released when considered complete", with no date. The GPU in the core is a fork of RasterIX under the GPL v3, with its source in the repository. The developer advises staying on MiSTer's Linux 5.15, because BigMig has not been validated on the 6.18 kernel the stock updater has offered since 14 September, and recommends active cooling even at the standard 800 MHz. MMU translation is not yet enabled, so software that needs real remapping will not run; the README says it is planned for a later release. The performance figures above are the developer's own, from one board, and have not been independently measured.
New to MiSTer? The FPGA explainer covers how the board works.
Updated 16 October 2026: the PiStorm3D Quake figure now reflects the released version.
Sources
- raparici on GitHub: BigMig 20261010: BigMig 3Dx2, a dual pipeline GPU for the Amiga
- raparici on GitHub: BigMig for MiSTer (README)
- RetroRGB: MiSTer FPGA News: Amiga 3DFx, Sega X Board, Atari Falcon and More
- ToNi3141 on GitHub: RasterIX: OpenGL 1.x implementation for FPGAs
- michalsc on GitHub: Emu68: M68K emulation for AArch64/AArch32
- MiSTer-devel on GitHub: Minimig-AGA_MiSTer
- captain-amygdala on GitHub: PiStorm
- amiga-news.de: 3D hardware acceleration: Pistorm 3D, MiniGL Classic, new game ports
- Wikipedia: Voodoo3
- Wikipedia: Warp3D
- Wikipedia: Amiga 4000
More News

Analogue Announces Super Nt+ and Mega Sg+, With Wireless Controllers and USB-C, for $219.99
Analogue's FPGA Super Nintendo and Mega Drive consoles return as the Super Nt+ and Mega Sg+, adding Bluetooth and 2.4 GHz controllers, USB-C power and hot-swappable cartridges. Preorders open on 19 October at 8am PDT, and both ship in December.

RetroTINK 4K Firmware 1.99 Brings Its CRT Beam Simulation in Line With Blur Busters' Reference Shader
Experimental firmware 1.99.0 and 1.99.1 for the RetroTINK 4K add a Multi-frame Glow option and a Motion Clarity control that match the open-source CRT beam simulator by Blur Busters and Timothy Lottes, capping a month of builds that also brought true VRR, a new inverse telecine engine and steadier Lumacode.

Kururin Paradise Reaches the West for the First Time as Switch Online Adds Three GBA Games
Nintendo added Kururin Paradise, Metal Slug Advance and Monster Rancher Advance to Game Boy Advance - Nintendo Classics on 14 October, giving the 2002 Kururin sequel its first release outside Japan.