Firmware: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
The Foenix F256K, Jr., K2 and Jr2 computers contain 512K of flash memory which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. Think of it like a space traditionally occupied by ROM chips of 80's computers containing critical, often used programs and routines, but instead of being very rarely updated with scarce ROM chip revisions, it can be quickly updated with firmware revisions using the FoenixMgr python scripts. | The Foenix F256K, Jr., K2 and Jr2 computers contain 512K of flash memory which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. Think of it like a space traditionally occupied by ROM chips of 80's computers containing critical, often used programs and routines, but instead of being very rarely updated with scarce ROM chip revisions, it can be quickly updated with firmware revisions using the FoenixMgr python scripts. | ||
'''Important Note''': for the F256K2, each core has its own dedicated area of 512K of flash memory. When switching to a new core, a separate dedicated area of 512K exists for that core and there's an expectation that the process of flashing the firmware has to be done for it. | |||
This collection of software can be changed by the user by simply reprogramming the flash "ROM". At the moment (2025+) the following applications are stored in flash as a default loadout: | This collection of software can be changed by the user by simply reprogramming the flash "ROM". At the moment (2025+) the following applications are stored in flash as a default loadout: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Collection of firmware programs as of firmware release version 2025.13 | |+Collection of 6502/65816 firmware programs as of firmware release version 2025.13 | ||
!Absolute Block* in Memory Map | !Absolute Block* in Memory Map | ||
!Block* Offset in onboard Flash | !Block* Offset in onboard Flash | ||
| Line 91: | Line 93: | ||
There are now two firmware loads available: Gen1 - for K and Jr and Gen2 - for K2 and Jr2. The only difference between these loads is the superbasic part of the firmware, in order to have a properly identified superbasic startup screen that reflects the exact computer and generation in the logo. | There are now two firmware loads available: Gen1 - for K and Jr and Gen2 - for K2 and Jr2. The only difference between these loads is the superbasic part of the firmware, in order to have a properly identified superbasic startup screen that reflects the exact computer and generation in the logo. | ||
====== Video tutorial: ====== | |||
A timestamped part of a tutorial video covers updating the firmware as a follow up step to updating the FPGA core. | |||
https://www.youtube.com/pOab0ocKqac?si=dzyMjtC-yjFTxbgu&t=405 | |||
==== 6809 firmware: ==== | |||
This core has specialized firmware - it is best to ask around in the appropriate channels of the [https://discord.gg/9vjUEGgcUS Foenix discord]. | |||
Revision as of 07:37, 1 January 2026
The Foenix F256K, Jr., K2 and Jr2 computers contain 512K of flash memory which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. Think of it like a space traditionally occupied by ROM chips of 80's computers containing critical, often used programs and routines, but instead of being very rarely updated with scarce ROM chip revisions, it can be quickly updated with firmware revisions using the FoenixMgr python scripts.
Important Note: for the F256K2, each core has its own dedicated area of 512K of flash memory. When switching to a new core, a separate dedicated area of 512K exists for that core and there's an expectation that the process of flashing the firmware has to be done for it.
This collection of software can be changed by the user by simply reprogramming the flash "ROM". At the moment (2025+) the following applications are stored in flash as a default loadout:
| Absolute Block* in Memory Map | Block* Offset in onboard Flash | Name of program | Description |
|---|---|---|---|
| 0x40 | 0x00 | reserved | |
| 0x41 | 0x01 | xdev | trampoline program meant to react to developper scripts from FoenixMgr: pcopy, runpgz, runpgx |
| 0x42 to 0x45 | 0x02 to 0x05 | superbasic | if xdev has nothing to react to, superbasic is your default startup program |
| 0x46 | 0x06 | dos | minimalistic file management and info shell |
| 0x47 | 0x07 | free | |
| 0x48 | 0x08 | fcart | allows a user to flash the 256K Flast Cart with 8kb prepared blocks. See this for usage |
| 0x49 | 0x09 | free | |
| 0x4A | 0x0A | help | text help on screen for superbasic programming |
| 0x4B to 0x4E | 0x0B to 0x0E | free | |
| 0x4F | 0x0F | wget | web get, works only for gen1 K and Jr equipped with a feather wifi board |
| 0x50 to 0x56 | 0x10 to 0x16 | fm | f/manager - a rather feature rich file manipulation, program launcher and memory exploration software |
| 0x57 | 0x17 | free | |
| 0x58 to 0x5B | 0x18 to 0x1B | mless | moreorless - a text editor. See here for more information. |
| 0x5D to 0x7B | 0x1D to 0x3B | free | |
| 0x7C to 0x7F | 0x3C to 0x3F | microkernel | the microkernel, gadget's masterpiece used by many programs |
*Block: each block of flash memory is 8kb is size
To reprogram the flash, you can start with the official firmware releases in this github.
This repo is part the FoenixRetro Github organisation which in turn is an attempt to gather forks of all projects which are part of the firmware and other resources relevant for the Foenix F256 new retro computers.
There are now two firmware loads available: Gen1 - for K and Jr and Gen2 - for K2 and Jr2. The only difference between these loads is the superbasic part of the firmware, in order to have a properly identified superbasic startup screen that reflects the exact computer and generation in the logo.
Video tutorial:
A timestamped part of a tutorial video covers updating the firmware as a follow up step to updating the FPGA core.
https://www.youtube.com/pOab0ocKqac?si=dzyMjtC-yjFTxbgu&t=405
6809 firmware:
This core has specialized firmware - it is best to ask around in the appropriate channels of the Foenix discord.