Minimig

Last updated
Minimig 120x120 mm PCB board (Nano-ITX size) Minimig rev1.jpg
Minimig 120x120 mm PCB board (Nano-ITX size)

Minimig (a portmanteau of Mini Amiga) is an open source re-implementation of an Amiga 500 using a field-programmable gate array (FPGA).

Contents

Minimig started around January 2005 as a proof of concept by Dutch electrical engineer Dennis van Weeren. He intended Minimig as the answer to the ongoing discussions within the Amiga community on implementing the Amiga custom chipset using an FPGA. The project's source code and schematics were released under version 3 of the GNU General Public Licence on 25 July 2007.

Original prototype

The original Minimig prototype is based on the Xilinx Spartan-3 Starter Kit, the Original Amiga Chipset is synthesized in the FPGA. Two printed circuit boards are attached via the FPGA kit expansion ports. The first one holds a 3.3V Motorola 68000-type CPU. The second has a MultiMediaCard slot with a small PIC microcontroller acting as a disc controller that supports the FAT16 filesystem and does on-the-fly Amiga disk file (ADF) decoding.

     VGA-+-PS2 (joystick etc.)          | CPU <-> FPGA <-> Microcontroller <-> Flashmemory          |         RAM

The prototype was shown [2] at an Amiga meet and loaded most Amiga programs, with some bugs. This prototype used verilog instead of VHDL on a PC using Xilinx Webpack software for code development.

Hardware

Platform

As of Minimig rev1.0 board:

Ports

Implementation

Roadmap

DateEvent
2005-03-06Verilog sources coding started.
2005-12-05Project announced.
2006 SpringVerilog sources completed.
2006-06-11Screenshot of schematic for board v1.0 published.
2006-10-15Schematic for board v1.0 completed.
2007-06-xxSources original release date (postponed).
2007-07-04Last source edit (core).
2007-07-24Minimig sources released on the official website.

Issues

Development tools used

Computer: Shuttle barebone, Prescott Pentium 4 (L2-cache 1024 KB, 533 to 800 MT/s) 3 GHz, 1 GB RAM.

Software: Xilinx Webpack version 6.3.03i (2007-07-22 9.1). Time from HDL source to loadable configuration file (.bit) = 2 minutes. CPU cache and memory speed is vital for the Synthesis + Place & Route Silicon compiler in FPGA generation software.

Future

Possible future developments include:

Upgrades

Read/write support

On 3 September 2008, a new FPGA core enables read/write support, as well as some chipset improvements. [9]

ARM controller board upgrade

On 22 December 2008, a replacement board that fits in the PIC (MCU) controller socket were announced. It makes hard drive, 4x floppy disk and write support possible. [10] The FPGA core is the same for the new ARM and PIC firmware but only the ARM has enough resources to support four drives. The PIC only supports two. The upgrade also allows an increase of the CPU speed from 7.09 to 49.63 MHz with a 4 KB zero wait state CPU cache. However, it requires an FPGA core to actually carry it out (which works with the 16 MHz 68SEC000 chips). [11] The hard drive support is available by a virtual A600/A1200 style GAYLE parallel ATA interface. Up to 551 KB/s [11] is possible with a minor hardware modification. Otherwise only ~300 KB/s is possible. [12]

USB peripherals and MIDI

The Minimig port for the MiST board supports USB peripherals including USB keyboard and USB mouse as well as a physical MIDI interface. [13]

Additional 2 MB RAM

On 22 December 2008, a modification of the original PCB by piggybacking another set of SRAM chips enables up to 4 MiB of RAM in total. [10]

AGA support

The Minimig port for the MIST board was updated to support major AGA features allowing it to run many AGA games. A binary release, as well as the full source code, is available under GPL. [14] [15] [16] [17]

An unreleased Minimig core has been upgraded with AGA support and extended to support at least 50 MiB of Chip memory on the prototype Replay board designed by Mike Johnson at FPGA Arcade. [18] [19] [20]

Similar projects

Jeri Ellsworth, who designed the C64 Direct-to-TV Commodore 64 on a chip ASIC, had a working Amiga on a chip prototype in 2003. Except for the 68000 processor and disk interface, everything was emulated inside a FPGA. However, the project was never finished or turned into an ASIC. [21]

Illuwatar, a small private hardware designer in Sweden, implemented a Mini-ITX form factor version of the Minimig under the Open Source design License. [22] This hardware version fits in standard Mini-ITX cases and has dimensions of 17 cm x 17 cm. Connecting ports in this version were moved to the back of the mainboard to comply with Mini-ITX requirements.

On 9 Feb 2008 ACube Systems announced the availability of finished Minimig v1.1 boards. [23]

On 2006-10-11 Jens Schönfeld at Individual Computers revealed that they had been working on a commercial Amiga-in-FPGA for the past year called "Clone-A" that is similar to Minimig. In contrast to Minimig, Individual Computers's Clone-A was developed by a three-person development team employing a powerful logic analyzer. The system intends to use clone chips to replace CIAs, Paula, Gary, Agnus and Denise, and the CPU will be the original from Motorola. Final chips will also include AGA and a working parallel port to enable 4-player games. [24] Still unreleased since 2015.

Wolfgang Förster has completed the Suska project, which is an Atari ST-on-FPGA. [25]

Inspired by Minimig, Till Harbaum invented MIST, [26] an open FPGA based implementation of Atari ST and Amiga intended to have a low price and be easy built at home. Different than Minimig, the 68000 CPU is not present as physical device but implemented inside the FPGA.

Inspired by MIST, Alexey Melnikov invented MiSTer, [27] an FPGA based implementation of Atari ST and Amiga, based on a commercial board by Terasic : DE10-nano. There are at least five so-called "daughter boards" that enhance the capabilities of MiSTer.

Vampire V4 Standalone, released by Apollo Team in 2019, provides ECS/AGA chipset re-implementation, plus 68080 CPU and SAGA core, also using a field-programmable gate array (FPGA)[ citation needed ].

Related Research Articles

<span class="mw-page-title-main">Amiga</span> Family of personal computers sold by Commodore

Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 16/32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphics and audio compared to previous 8-bit systems. These systems include the Atari ST—released earlier the same year—as well as the Macintosh and Acorn Archimedes. Based on the Motorola 68000 microprocessor, the Amiga differs from its contemporaries through the inclusion of custom hardware to accelerate graphics and sound, including sprites and a blitter, and a pre-emptive multitasking operating system called AmigaOS.

<span class="mw-page-title-main">Amiga 500</span> Personal computer by Commodore

The Amiga 500, also known as the A500, was the first popular version of the Amiga home computer, "redefining the home computer market and making so-called luxury features such as multitasking and colour a standard long before Microsoft or Apple sold these to the masses." It contains the same Motorola 68000 as the Amiga 1000, as well as the same graphics and sound coprocessors, but is in a smaller case similar to that of the Commodore 128.

<span class="mw-page-title-main">Amiga 1000</span> 1985 personal computer

The Amiga 1000, also known as the A1000, is the first personal computer released by Commodore International in the Amiga line. It combines the 16/32-bit Motorola 68000 CPU which was powerful by 1985 standards with one of the most advanced graphics and sound systems in its class. It runs a preemptive multitasking operating system that fits into 256 KB of read-only memory and was shipped with 256 KB of RAM. The primary memory can be expanded internally with a manufacturer-supplied 256 KB module for a total of 512 KB of RAM. Using the external slot the primary memory can be expanded up to 8.5 MB.

<span class="mw-page-title-main">Amiga Original Chip Set</span> Chipset used in Amiga personal computer

The Original Chip Set (OCS) is a chipset used in the earliest Commodore Amiga computers and defined the Amiga's graphics and sound capabilities. It was succeeded by the slightly improved Enhanced Chip Set (ECS) and the greatly improved Advanced Graphics Architecture (AGA).

<span class="mw-page-title-main">Amiga 600</span> Home computer introduced in 1992

The Amiga 600, also known as the A600, and full title Commodore Amiga 600, is a home computer introduced in March 1992. It is the final Amiga model based on the Motorola 68000 and the 1990 Amiga Enhanced Chip Set. A redesign of the Amiga 500 Plus, it adds the option of an internal hard disk drive and a PCMCIA port. Lacking a numeric keypad, the A600 is only slightly larger than an IBM PC keyboard, weighing approximately 6 pounds (2.72kg). It shipped with AmigaOS 2.0, which was considered more user-friendly than earlier versions of the operating system.

<span class="mw-page-title-main">Amiga 2000</span> Personal computer from Commodore, 1987

The Amiga 2000 (A2000) is a personal computer released by Commodore in March 1987. It was introduced as a "big box" expandable variant of the Amiga 1000 but quickly redesigned to share most of its electronic components with the contemporary Amiga 500 for cost reduction. Expansion capabilities include two 3.5" drive bays and one 5.25" bay that could be used by a 5.25" floppy drive, a hard drive, or CD-ROM once they became available.

<span class="mw-page-title-main">UAE (emulator)</span> Computer emulator which emulates the Commodore Amiga

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

Chip RAM is a commonly used term for the integrated RAM used in Commodore's line of Amiga computers. Chip RAM is shared between the central processing unit (CPU) and the Amiga's dedicated chipset. It was also, rather misleadingly, known as "graphics RAM".

<span class="mw-page-title-main">Commodore 65</span> Prototype computer

The Commodore 65 is a prototype computer created at Commodore Business Machines in 1990–1991. It is an improved version of the Commodore 64, and it was meant to be backwards-compatible with the older computer, while still providing a number of advanced features close to those of the Amiga.

<span class="mw-page-title-main">C-One</span> Single-board computer

The C-One is a single-board computer (SBC) created in 2002 as an enhanced version of the Commodore 64, a home computer popular in the 1980s. Designed by Jeri Ellsworth and Jens Schönfeld from Individual Computers, who manufactured the boards themselves, the C-One has been re-engineered to allow cloning of other 8-bit computers.

<span class="mw-page-title-main">Atari TT030</span> Personal computer by Atari

The Atari TT030 is a member of the Atari ST family, released in 1990. It was originally intended to be a high-end Unix workstation, but Atari took two years to release a port of Unix SVR4 for the TT, which prevented the TT from ever being seriously considered in its intended market.

This is a list of models and clones of Amiga computers.

The Amiga is a family of home computers that were designed and sold by the Amiga Corporation from 1985 to 1994.

Amiga emulation refers to the activity of emulating a Commodore Amiga computer system using another computer platform. Most emulators run on modern systems such as Microsoft Windows or Macintosh. This allows Amiga users to use their existing software, and in some cases hardware, on modern computers.

The Amiga computer can be used to emulate several other computer platforms, including legacy platforms such as the Commodore 64, and its contemporary rivals such as the IBM PC and the Macintosh.

<span class="mw-page-title-main">Amiga 4000T</span>

The Amiga 4000T, also known as A4000T, is a tower version of Commodore's A4000 personal computer. Using the AGA chipset, it was originally released in small quantities in 1994 with a 25 MHz Motorola 68040 CPU, and re-released in greater numbers by Escom in 1995, after Commodore's demise, along with a new variant which featured a 50 MHz Motorola 68060 CPU. Despite the subsequent demise of Escom, production was continued by QuikPak in North America into at least 1998.

<span class="mw-page-title-main">AROS Research Operating System</span> Operating system

AROS Research Operating System is a free and open-source multi media centric implementation of the AmigaOS 3.1 application programming interface (API) which is designed to be portable and flexible. As of 2021, ports are available for personal computers (PCs) based on x86 and PowerPC, in native and hosted flavors, with other architectures in development. In a show of full circle development, AROS has been ported to the Motorola 68000 series (m68k) based Amiga 1200, and there is also an ARM port for the Raspberry Pi series.

<span class="mw-page-title-main">Kickstart (Amiga)</span> Bootstrap firmware used by Amiga computers

Kickstart is the bootstrap firmware of the Amiga computers developed by Commodore International. Its purpose is to initialize the Amiga hardware and core components of AmigaOS and then attempt to boot from a bootable volume, such as a floppy disk. Most Amiga models were shipped with the Kickstart firmware stored on ROM chips.

<span class="mw-page-title-main">Amiga 1200</span> 1992 personal computer

The Amiga 1200, or A1200, is a personal computer in the Amiga computer family released by Commodore International, aimed at the home computer market. It was launched on October 21, 1992, at a base price of £399 in the United Kingdom and $599 in the United States.

In addition to the Amiga chipsets, various specially designed chips have been used in Commodore Amiga computers that do not belong to the 'Amiga chipset' in a tight sense.

References

  1. "Minimig rev 1.0 PCB". Archived from the original on 2012-07-18. Retrieved 2009-06-29. 2006-06-11 amiga.org
  2. "HCC Commodore GG meet". Archived from the original on 2007-09-28. 060218 amigaroxx.zuurkool.com
  3. "PIC18F252". 070715 microchip.com
  4. Minimig schematics v1 Page 3
  5. "Amiga.org - Photo Album". amiga.org
  6. "AROS Research Operating System". aros.sourceforge.net.
  7. "Kickstart ROM Replacement (Phase II)". power2people.org.
  8. "AROS Kickstart ROM Replacement bounty (Phase II)". Archived from the original on September 25, 2008.
  9. "Amiga.org - News". 090629 amiga.org
  10. 1 2 "Amiga.org - Forum". 090629 amiga.org
  11. 1 2 "youtube.com". YouTube . 24 April 2009. Archived from the original on 2021-12-14. 090629 youtube.com
  12. "Amiga.org - Forum". 090629 amiga.org
  13. "Minimig MIDI playback on youtube.com". YouTube . 25 November 2014. Archived from the original on 2021-12-14.2014-11-25 youtube.com
  14. "Lion King running on Beta Minimig AGA core for the MIST". YouTube . 21 October 2014. Archived from the original on 2021-12-14.2014-10-21 youtube.com
  15. "AGA Source code on Github". GitHub .2014-11-31 github.com
  16. "AGA core binaries".2014-11-31 google.com
  17. "AGA thread on Atari forum".2014-10-28 atari-forum.com
  18. "youtube.com". YouTube . 21 February 2010. Archived from the original on 2021-12-14.100221 youtube.com
  19. "FPGAArcade | Programmable Gaming Hardware".
  20. "Amiga.org - Forum". Archived from the original on 2011-07-17. Retrieved 2010-03-07.100221 amiga.org
  21. Jeri Ellsworth (22 June 2011). "The Amiga on a Chip Project - Too bad it was canceled". Archived from the original on 2021-12-14 via YouTube.
  22. "Mini-ITX MiniMig". www.illuwatar.se.
  23. "ACube Systems Srl". www.acube-systems.biz.
  24. Individual Computers at CeBit, Clone-A presentation on 2007-03-31 2007-03-09 amigaworld.net
  25. "Ein in VHDL modellierter Open Source IP-Core mit Atari ST(E) Funktionalität". www.experiment-s.de.
  26. "MIST - a FPGA based aMIga and ST". harbaum.org.
  27. "MiSTer". github.com.