Firmware: Difference between revisions

From F256 Foenix
Jump to navigationJump to search
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:

Collection of 6502/65816 firmware programs as of firmware release version 2025.13
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.