Flashing the FireBee system software
| The FireBee's system software - that includes the FPGA firmware, the Basis System (BaS) and the operating systems FireTOS and EmuTOS - is stored in flash memory. The FireBee has 8MB of flash memory which can be updated from TOS or MiNT with a software tool.
A few important notes:
Before you start updating/flashing your FireBee please think about the following:
- Flashing should be safe, but of course this is a direct intervention in the hardware operating system. So, if anything goes badly wrong, your Bee may not boot anymore and can only be restored with help of external hardware.
If you feel not fully comfortable flashing the FireBee yourself with reading this manual, please contact us BEFORE YOU START and weÂ´ll help!
- If your FireBee shows instabilities with your current system software, donÂ´t expect to cure this instabililty by simply flashing a new firmware package. Even with the first firmware release the FireBee works stable, so in case of any problems with "normal" usage of your Bee please contact us first before you try to solve this with flashing the hardware.
- The system software parts are still under development; on firebee.org we provide these files sorted in packages. As updated functions in different files may depend on each other, never mix files/parts from different packages!
If any firmware update can be used with a previous release this will be explicitely noted.
| Power status:
Don't flash the FireBee when it's running on battery power, always use a power supply! If the battery runs low during flashing you might end up with a "dead" FireBee and external hardware is needed to reflash the flash memory!
Also make sure that the battery is well loaded and in good health before flashing. If the FireBee wasn't powered on for a while or the battery is almost dead, the battery may be real low/depleted. In this case the FireBee (altough running on external power) can suffer stability issues (freezes, video degradation..), with a serious risk of bricking the FireBee while flashing.
The flasher software FLASH_CF.PRG/FLASH060.PRG:
The flash tool is included in the pre-installed FireBee FreeMiNT Setup (folder firebee/flasher/) and can also be found in our FireTOS addon archive (zip 2,2MB).
There are two versions of the flash tool; FLASH_CF.PRG is a native ColdFire compiled tool and can be used in both EmuTOS and FireTOS. The second, FLASH060.PRG, is for the FireTOS environment only.
Flashing the software components is easy - start the program and click on the harddrive-icon or the upper empty textbox to open the fileselector. Select which file to flash. You don't have to specify what kind of file it is (BaS, dBUG, FPGA, FireTOS, EmuTOS...) as Flash* program will automatically detect this.
When you've selected a file, Flash program will load and verify it. This will take a few seconds. When it's finished loading, click on the "Program" button.
FireTOS and EmuTOS are flashed without interupts, but BaS, dBUG and FPGA can be flashed in steps (for developer purposes). For this, the opening alertbox shows the buttons "Yes", "Yes all" and "No". The button "Yes" will flash only one "page" of the memory and alert opens then again for next query. For "normal" flashing (complete file at once) click on button "Yes all".
The "LEDs" will light up one by one. When all are lit the programming has finished and you can reboot.
Although there are no known problems when flashing the ROM under MiNT, we recommend to perform this operation in a clean FireTOS or EmuTOS environment, so the risk of "interferences" from other running tasks is kept to a minimum while flashing.
Also it is advised not to flash FireTOS and EmuTOS at the same time. Flash one OS, cold reboot and check it before you flash the other one. This way you always have a working "fallback OS" in case something went wrong.
The system software files:
The system software files can be downloaded from our Downloads page, sorted in release packages (zip) which contain all needed files. Some files are listed separately because e.g. EmuTOS is not developed by us and is hosted somewhere else. System software files are named with a date and have the suffix ".s19" or ".hex", e.g. BaS_20200623.s19.
- BaS (Basis System)
BaS is the first thing that runs when the FireBee is switched on. It initializes the hardware, loads the FPGA firmware into the FPGA and then starts the operating system.
There are two versions of the basis system available. The BaS included in the package is a minimal fimware coded in C and assembler using the FreeScale CodeWarrior development environment.
The separate BaS_gcc is an alternative firmware for the FireBee and has all the functions of BaS, but also some new/additional features (mostly visible for developers). See details here.
For developing purposes there is also dBUG which replaces any BaS then (see below). ItÂ´s only possible to use one of them at the same time.
- FPGA firmware
The FPGA firmware specifies the behaviour of the FPGA
. Inside the FPGA all the Atari legacy components are implemented and most of the pins of most of the FireBee's connectors/ports are directly connected to it.
FireTOS is the default Operating System for the FireBee and is derived directly from the TOS60 for the CT6x Falcon accelerator. The FireTOS OS is a heavily patched TOS 4.0.4.
This is a version of EmuTOS built specifically for the FireBee and its Coldfire CPU. As it is a Coldfire native OS , it is not capable of running 68k native programs, unless a 68K software emulator is used.
Other system software files:
dBUG can be used instead of BaS and has some additional features which are very handy if you're a developer. First of all, it can boot an operating system (like TOS or Linux) from the network. It also has a monitor which is accessible via the serial port.
In fact dBUG is a whole (simple but complete) coding/programming environment with a disassembler, an assembler, a debugger and a memory dump facility. And as such, it can load and start arbitrary pieces of code (even from the network or from a serial connection).
The PIC (firmware) controls the power functions, the RTC and NVRAM, monitors the battery and controls also the PS/2 ports and the game port. For flashing the PIC you need an external hardware such as PICkit2 or USB PIC Programmer (see details on page Programming the PIC
If anything went wrong:
- If flashing FireTOS goes bad: Reboot in EmuTOS and reflash FireTOS. If FireTOS still fails, revert to previous (working) FireTOS build.
- If flashing EmuTOS goes bad: Reboot in FireTOS and reflash EmuTOS. If EmuTOS still fails, revert to previous (working) EmuTOS build.
- BaS / FPGA : If flashing either BaS or FPGA firmware goes wrong, an external hardware like a TBLCF is required to restore your FireBee to working conditions
The FireBee FreeMiNT Setup 2022
This year we are back with a strong sign of life. Now that the website is up and ...
EmuTOS 1.2 and 1.2.1
On August 07th 2022 EmuTOS Development Team published new version 1.2 of free and ...
On July 08th 2021 EmuTOS Development Team published new version 1.1 of this free ...