-
Notifications
You must be signed in to change notification settings - Fork 83
HowToCompileTheFirmware
The firmware is written in C. Thus a matching C compiler is needed. The current firmware setup expects a matching version of the gnu compiler collection (GCC) to be installed.
Installation is described in this blog posting. A shell script is available to automate the setup.
Building recent gcc versions requires some support libraries. The fastest method to obtain these is probably from the repositories of your Linux distro.
Under Fedora and Redhat the following command should install the required libraries:
sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel
Under Debian and Ubuntu a slightly different command is required:
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
If that doesn't help you might want to have a look at the gcc wiki.
Refer to this page: How to compile the firmware under Windows
The firmware source code is available from the firmware repository.
Once the compiler is installed a simple make
in the firmware subdirectory will build the latest firmware.
Three files are generated during compilation:
- firmware.bin is the raw binary of the firmware. This can be uploaded to the MIST board using special flashers
- firmware.hex is the same firmware in intel hex format as required by some uploaders
- firmware.upg is the same firmware in a format suited for self-update via the on-screen-display (OSD)
During development it is most convenient to use a special flasher so the make flash
target in the Makefile can be used.
For more details on firmware installation read appropriate section of the firmware installation wiki page.
MiST FPGA - One Chip to Rule Them All
- 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
- Getting Started
- Current core status
- Joy/Keyboard/On-board Shortcuts
- MIDI support
- SD card setup
- Startup menu
- Atari ST
- Atari ST/STe (mistery)
- Amiga
- Amstrad
- Amstrad - alternative
- Apogee/Radio86RK
- Apple I
- Apple II+
- Apple //e
- Apple Macintosh
- Acorn Archimedes
- Atari 800
- BBC Micro
- BK0011M
- Commodore PET
- Commodore VIC-20
- Commodore 64
- Commodore 16/Plus4
- Enterprise
- HT1080Z (TRS80 I clone)
- LM80C
- Mattel Aquarius
- Miles Gordon SAM Coupe
- MSX
- Ondra SPO 186
- Oric
- PC (Next186)
- PC (XT)
- Primo
- Sinclair ZX80/ZX81
- Sinclair ZX Spectrum
- Sinclair ZX Spectrum - alternative
- Sinclair ZX Spectrum Next
- Sinclair QL
- Texas Instruments TI-99/4A
- TSConf
- Vector-06C
- Videoton TVC
- Vtech Video Technology Laser 350/500/700
- 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