Minimig
   HOME

TheInfoList



OR:

Minimig (short for ''Mini Amiga'') is an open source re-implementation of an
Amiga 500 The Amiga 500, also known as the A500, is the first low-end version of the Amiga home computer. 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 th ...
using a
field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term ''Field-programmability, field-programmable''. The FPGA configuration is generally specifi ...
(FPGA). 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 The MultiMediaCard, officially abbreviated as MMC, is a memory card standard used for solid-state storage. Unveiled in 1997 by SanDisk and Siemens, MMC is based on a surface-contact low pin-count serial interface using a single memory stack s ...
slot with a small PIC microcontroller acting as a disc controller that supports the FAT16 filesystem and does on-the-fly
Amiga disk file Amiga Disk File (ADF) is a file format used by Amiga computers and emulators to store images of floppy disks. It has been around almost as long as the Amiga itself, although it was not initially called by any particular name. Before it was known ...
(ADF) decoding. VGA-+-PS2 (joystick etc.) , CPU <-> FPGA <-> Microcontroller <-> Flashmemory , RAM The prototype was shown at an Amiga meet and loaded most Amiga programs although bugs did exist. Van Weeren's personal preferences led to the use of verilog instead of VHDL on a PC using Xilinx Webpack software for code development.


Hardware


Platform

As of Minimig rev1.0 board: * Xilinx Spartan-3 400k gate (XC3S400-4PQ208C) FPGA using 82% capacity. * Freescale MC68SEC000, 3.3V, at However, there's no MOVE sr, is privileged and there is no real replacement instruction. This does not seem to affect any programs yet. * Amiga Chip RAM bus and Slow RAM merged into a single synchronous bus running at * 2 MB 70 ns asynchronous SRAM organised as banks. * MCU PIC 18LF252-I/SP (An alternative is
Atmel AVR AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families ...
) implements a FAT16 disk layout and handles loading of FPGA configuration and Kickstart. Simulates a floppy to the Amiga by encoding on the fly from ADF files. * MMC Flash memory card to load FPGA configuration, kickstart and software for the implemented computer. * 3× LEDs to display the disk activity, main power and Amiga power up status (no existing audio filter!) Amiga power up status led will change intensity to show audio filter status. * Video D/A consists of 4 resistors for each color red, green, blue (4 bits/color) and output via
VGA Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can now ...
connector. * Audio from an 8 bit dithering sigma-delta converter with 2nd order analogue filter. * +5V DC main power (~200 mA).


Ports

* Spare 3x generic I/O from the FPGA ( GPIO) *
JTAG JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in electronic design aut ...
for programming chips (TMS, TDI, TDO, TCK) *
RS232 In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such a ...
serial port * 2x
Joystick A joystick, sometimes called a flight stick, is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. A joystick, also known as the control column, is the principal cont ...
of Atari 2600 DE9M type. * DE15F
VGA Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can now ...
video (which can output PAL compatible signals to connect to
SCART SCART (also known as or , especially in France, 21-pin EuroSCART in marketing by Sharp in Asia, Euroconector in Spain, EuroAV or EXT, or EIA Multiport in the United States, as an EIA interface) is a French-originated standard and associated 21- ...
). * MMC Flash memory card slot. *
PS/2 The Personal System/2 or PS/2 is IBM's second generation of personal computers. Released in 1987, it officially replaced the IBM PC, XT, AT, and PC Convertible in IBM's lineup. Many of the PS/2's innovations, such as the 16550 UART (serial p ...
connector Keyboard + Mouse * 3.5 mm audio jack * +5V DC 2.1 mm cylindrical DC plug power supply inlet.


Implementation

*
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
type CPU. * Hardware OCS and ECS, PAL &
NTSC The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
video switchable via OSD. * 512 kB SRAM for Kickstart used as ROM. * Slow RAM expansion (originally 512 kB). * Chip RAM (originally 1024 kB). * On-screen display offers selection of ADF disk images from the SD/MMC card using the keyboard or a joystick.


Roadmap


Issues

Several issues remain. It needs a binary copy of the AmigaOS kickstart ROM from a real or free re-implementation like AROS-68k which is not yet fully compatible but which continually improves. The current
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
for loading ROM and floppy images is limited to a single root
directory Directory may refer to: * Directory (computing), or folder, a file system structure in which to store computer files * Directory (OpenVMS command) * Directory service, a software application for organizing information about a computer network' ...
and
8.3 filename An 8.3 filename (also called a short filename or SFN) is a filename convention used by old versions of DOS and versions of Microsoft Windows prior to Windows 95 and Windows NT 3.5. It is also used in modern Microsoft operating systems as an altern ...
s.


Development tools used

Computer: Shuttle barebone, Prescott
Pentium 4 Pentium 4 is a series of single-core CPUs for desktops, laptops and entry-level servers manufactured by Intel. The processors were shipped from November 20, 2000 until August 8, 2008. The production of Netburst processors was active from 2000 ...
(, ) , , Software:
Xilinx Xilinx, Inc. ( ) was an American technology and semiconductor company that primarily supplied programmable logic devices. The company was known for inventing the first commercially viable field-programmable gate array (FPGA) and creating the fi ...
Webpack Webpack is a free and open-source module bundler for JavaScript. It is made primarily for JavaScript, but it can transform front-end assets such as HTML, CSS, and images if the corresponding loaders are included. Webpack takes modules with depend ...
version 6.3.03i (2007-07-22 9.1). Time from HDL source to loadable configuration file (.bit) =
CPU cache A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory. A cache is a smaller, faster memory, located closer to a processor core, whi ...
and memory speed is vital for the Synthesis + Place & Route
Silicon compiler A silicon compiler is a software system that takes a user's specifications and automatically generates an integrated circuit (IC). The process is sometimes referred to as hardware compilation. Silicon compilation takes place in three major steps: ...
in FPGA generation software.


Future

Possible developments include a faster CPU, ECS chipset, AGA graphics (new FPGA board is required), hard disk, ethernet, small RISC-Core for enhanced AROS functions etc. Use of a free kickstart replacement (e.g.
AROS Aros may refer to: *Aros (Middle-earth), a river in J. R. R. Tolkien's Middle-earth legendarium * Aros, Mull, the location of Aros Castle, a ruined 13th-century castle on the Isle of Mull, Scotland *AROS Research Operating System, a free software i ...
). A networked version would eliminate the need for swapping flash memories.


Upgrades


Read/write support

On 2008-09-03 a new FPGA core enables read/write support, as well as some Chipset improvements. 090629 amiga.org


ARM controller board upgrade

On 2008-12-22 a replacement board that fits in the PIC ( MCU) controller socket were announced. It makes harddrive, 4x floppy disk and write support possible. 090629 amiga.org 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 one to select to increase the CPU speed from 7.09 to 49.63 MHz with a 4 KB zero waitstate CPU cache. But it requires an FPGA core to actually carry it out (which works with the 16 MHz 68SEC000 chips). 090629 youtube.com The harddrive support is available by a virtual A600/
A1200 The Amiga 1200, or A1200 (code-named " Channel Z"), 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 ...
style GAYLE
parallel ATA Parallel ATA (PATA), originally , also known as IDE, is a standard interface designed for IBM PC-compatible computers. It was first developed by Western Digital and Compaq in 1986 for compatible hard drives and CD or DVD drives. The connect ...
interface. Up to 551 kByte/s is possible with a minor hardware modification. Otherwise only ~300 kByte/s is possible. 090629 amiga.org


USB peripherals and MIDI

The Minimig port for the MiST board supports USB peripherals including USB mice, USB keyboards and USB mice as well as a physical MIDI interface.


Additional 2 MB RAM

On 2008-12-22 a modification of the original PCB by piggybacking another set of SRAM chips enables up to 4 MiB of RAM in total.


AGA support

The Minimig port for the MIST board has been 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. 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.


Similar projects

Jeri Ellsworth Jeri Janet Ellsworth (born August 14, 1974) is an American entrepreneur, computer chip designer and inventor. She gained fame in 2004 for creating a complete Commodore 64 emulator system on a chip housed within a joystick, called Commodore 30- ...
, who designed the
C64 Direct-to-TV The C64 Direct-to-TV, called C64DTV for short, is a single-chip implementation of the Commodore 64 computer, contained in a joystick (modeled after the mid-1980s Competition Pro joystick), with 30 built-in games. The design is similar to the Atar ...
''
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness W ...
on a chip''
ASIC An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficie ...
, 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. Illuwatar, a small private hardware designer in Sweden, implemented a Mini-ITX form factor version of the Minimig under the Open Source design License. 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 ACube Systems Srl is a company that started in January 2007 from the synergy of the Italian companies Alternative Holding Group Srl, Soft3 and Virtual Works. The three companies have been engaged in the areas of sale, distribution and engineering ...
announced the availability of finished Minimig v1.1 boards. 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 A logic analyzer is an electronic instrument that captures and displays multiple signals from a digital system or digital circuit. A logic analyzer may convert the captured data into timing diagrams, protocol decodes, state machine traces, ass ...
. The system will use clone chips to replace CIAs, Paula, Gary, Agnus and Denise. The CPU will be the original from Motorola. Final chips will also include AGA and a working parallel port to enable 4-player games. Still unreleased since 2015. Wolfgang Förster has completed the Suska project, which is an
Atari ST The Atari ST is a line of personal computers from Atari Corporation and the successor to the Atari 8-bit family. The initial model, the Atari 520ST, had limited release in April–June 1985 and was widely available in July. It was the first per ...
-on-FPGA. Inspired by Minimig Till Harbaum invented MIST, 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, 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).


References


External links


Source code at Google Code

Project home page (Offline)



Official Discussion Forum
{{Amiga hardware Home computer remakes Amiga Computer-related introductions in 2006 Open computers