Table of Contents
Up to now the cores have only be compiled under Linux. This page thus only describes the necessary Linux setup. The same instructions probably also work under Windows since the same tools being used are available for Windows as well.
Prerequisites
The cores are written in a combination of Verilog and VHDL. A synthesis tool is required to compile this into a binary FPGA configuration (/sof/rbf). Since the FPGA on the MiST is a member of the Altera Cyclone III family, the Altera Quartus II suite is required. The free Web Edition is sufficient. See e.g.
- http://dl.altera.com/13.1/?edition=web
- https://www.intel.com/content/www/us/en/software-kit/666220/intel-quartus-ii-web-edition-design-software-version-13-1-for-linux.html
(the latest version supporting Cyclone III is 13.1).
There's also a Dockerized Quartus 13.1 for new distros where this old Quartus version doesn't run flawlessly.
Compiling
The core source code is available from the MiST source repository.
To load the project simple open the project file (.qpf, e.g. core/mist/mist.qpf) in Quartus. On the left side under "Flow" select "Compilation". and double click "Compile Design". Depending in the speed of your computer this may take from some minutes up to an hour.**
Running the core
Two files are generated in the out directory during compilation:
mist.sofis a "SRAM Object File". This can be uploaded to the FPGA using a Byte Blaster JTAG cable or similarmist.rbfis a raw binary file. This can be uploaded to the FPGA from SD card using the MISTs on-board IO controller
Running from SD card
To allow for auto configuration the raw binary file of the default core needs to be renamed to core.rbf and placed in the root directory of the SD card. The IO controller will find it at system initialization and upload it to the FPGA. This works exactly as if a normal user would run cores.
Running via USB Blaster cable
The usage of a USB byte blaster cable is explained on a separate page.
Home
MiST User Guides
- What is it?
- FAQ
- Board overview
- Installing firmware
- Joystick mapping
- Peripherals
- Projects it is based on
- Rom Management
- Setting up a mist.ini file
- Using a custom font
- Tested Displays/Upscalers
- Troubleshooting
- Videos
- User Videos
User Guides of MiST cores
- Getting Started
- Current core status
- Joy/Keyboard/On-board Shortcuts
- MIDI support
- SD card setup
- Startup menu
Cores
- Acorn Archimedes
- Amstrad CPC
- Amstrad CPC - alternative
- Apogee BK-01/Radio86RK
- Apple I
- Apple II+
- Apple //e
- Apple Macintosh
- Atari 800
- Atari ST
- Atari ST/STe (mistery)
- BBC Micro
- BK0011M
- Commodore 16/Plus4
- Commodore 64
- Commodore Amiga (AGA)
- Commodore PET
- Commodore VIC-20
- Elan Enterprise
- Exidy Sorcerer
- HT1080Z (TRS80 I clone)
- LM80C
- Luxor ABC 80
- Mattel Aquarius
- Miles Gordon SAM Coupe
- MSX
- Ondra SPO 186
- Oric
- PC (Next186)
- PC (XT)
- Primo
- Sinclair QL
- Sinclair ZX80/ZX81
- Sinclair ZX Spectrum
- Sinclair ZX Spectrum 48K - alternative
- Sinclair ZX Spectrum Next
- Specialist/MX
- Tandy TRS-80 Model I
- Tandy TRS-80 Color Computer
- Texas Instruments TI-99/4A
- TSConf
- Vector-06C
- Videoton TVC
- Vtech Video Technology Laser 350/500/700
Console cores
- Atari 2600
- Atari 5200
- Atari 7800
- Bally Astrocade
- Coleco ColecoVision
- GCE Vectrex
- Intellivision
- Nec PC Engine/TurboGrafx-16
- Nintendo Gameboy
- Nintendo NES
- Nintendo SNES
- Philips Videopac/Odyssey²
- Philips Videopac/Odyssey² - alternative
- Sega Genesis/Megadrive
- Sega Master System
- SNK Neo Geo MVS/AES
Arcade cores
Hardware add-ons
For Core Developers
- Developing for MiST
- FPGA projects list
- How to compile cores
- MIST developer tutorials
- Porting cores
- SDRAM details
- ARC files
- MRA files
Hardware Development
MiST FPGA - One Chip to Rule Them All