Jump to content

Minimig

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 66.114.69.71 (talk) at 23:20, 10 December 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Minimig 120x120mm PCB board (Nano-ITX size) [1]

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

Minimig started life in secrecy 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.

On 2007-12-23 ACube Systems announced they will sell finished Minimig v1.1 boards for 138 EUR (ex VAT/freight). [2]

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 MC68000 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 decoding.

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

The prototype was shown [3] at an Amiga meet and loads most Amiga programs although bugs do 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.

Some users have suggested plans to make a joystick style direct-to-tv device for people wanting to play old Amiga games or run software. However a new single board version pcb has been designed, moving away from the Xilinx Starter kit.

Purposes and intent

  • Run Amiga specific application software to convert files to newer platforms.
  • Run software only available on Amiga.
  • Running Amiga video games.
  • FPGA development experience using Verilog.
  • Creating something for the community.
  • Proof of Concept.
  • Allows creation of new games that take advantages of the new features in Minimig (faster memory, more memory sprites, colours, etc), while maintaining full compatibility with the classic Amiga.

Hardware

Platform

As of Minimig rev1.0 board:

  • Xilinx Spartan-3 400k gate (XC3S400-4PQ208C) FPGA using 82% capacity.
  • Freescale MC68SEC000, 3,3V, at 7,09379 MHz. However there's no 'E' clock, MOVE sr,<EA> is privileged and there is no real replacement instruction. This does not seem to affect any programs as of yet.
  • Amiga ChipRAM bus and FastRAM merged into a single synchronous bus running at 7,09379 MHz.
  • 2 MB[4] 70 ns asynchronous SRAM organised as 2x 524288 x 16 bit banks.
  • MCU PIC 18LF252-I/SP [5] (An alternative would be Atmel AVR) implements a FAT16 disclayout 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 simulated computer.
  • 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 connector. [6]
  • Audio from an 8 bit dithering sigma-delta converter with 2nd order analogue filter.
  • +5V DC main power (~200 mA).

Ports

Implementation

Roadmap

Date Event
2005-03-06 Verilog sources coding started.
2005-12-05 Announcement of the project.
2006 Spring Verilog sources completed.
2006-06-11 Screenshoot of schematic for board v1.0 published.
2006-10-15 Schematic for board v1.0 completed.
2007-06-xx Sources predicted to be released, but weren't.
2007-07-04 Last source edit (core).
2007-07-13 Busy making website for the project.
2007-07-24 Minimig sources released on the official website.

Issues

Development tools used

  • Computer: Shuttle barebone, Prescott Pentium 4 3 GHz, 1 GiB RAM,
  • Software: Xilinx Webpack version 6.3.03i (2007-07-22 9.1). Time from source .bit configuration file = 2 minutes. Cache and memory speed is vital for the Synthesis + Place & Route Silicon compiler in FPGA generation software.

Future

  • Use of a free kickstart replacement (e.g. AROS). [9]
  • A networked version would eliminate the need for swapping flash memories.

Similar projects

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 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 contrarst to Minimig, Individual Computers's Clone-A was developed by a three person development team employing a powerful logic analyzer. 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.[10]

NatAmi is a similar project aiming to create a high end classic Amiga, but focuses more on AGA-compatibility and the additional features of the A4000 successor. NatAmi features fast chipram, 32bit design with higher bus speeds, PCI, Floppy, ATA, MC68030 (in the prototype), and expansion RAM [11]. The AmigaHistory site has more information about the development of this project.

In September 2008, ACube announced a working production run of the Minimig v1 board. The marketing material specifies the CPU as 16 MHz, but it will only run at 7,09379 MHz.

Wolfgang Förster has nearly completed an Atari ST-on-FPGA project.

See also

References

  1. ^ "Minimig rev 1.0 PCB". 2006-06-11 amiga.org
  2. ^ Acube Systems Minimig
  3. ^ "HCC Commodore GG meet". 060218 amigaroxx.zuurkool.com
  4. ^ 1 MB = 1024 KB ; 1 KB = 1024 B
  5. ^ "PIC18F252". 070715 microchip.com
  6. ^ Minimig schematics v1 Page3
  7. ^ 1 KB = 1024 B
  8. ^ "Amiga.org - Photo Album". 070902 amiga.org
  9. ^ AROS Kickstart ROM Replacement bounty (Phase II)
  10. ^ Individual Computers at CeBit, Clone-A presentation on 2007-03-31 2007-03-09 amigaworld.net
  11. ^ "Natami".