Add native Foenix F256K file browser (C/cc65) - #2
Open
jhonnaker1 wants to merge 1 commit into
Open
Conversation
The F256K has no Commodore KERNAL, PETSCII or CBM DOS, so it can't share the
6502 core the MEGA65/X16 targets use. This is a from-scratch native browser in
C (cc65) against the F256 TinyCore MicroKernel, in its own f256/ subtree:
- Directory listing via the kernel's event-based Directory API (opendir/readdir).
- Vicky per-cell-colour text mode (char/colour matrices paged through the I/O
window), with the sei/cli discipline the keyboard IRQ requires.
- Keyboard via NextEvent; arrows arrive as ASCII control codes.
- Launch by chaining to the flash-resident pexec loader ("-") via RunNamed;
quit chains back to the shell KUP ("basic").
- Emits a PGZ (load $2000); run from SuperBASIC with `/- fb256`.
Toolchain glue (linker cfg, PGZ startup, kernel.c POSIX/dir layer, api.h,
f256jr.lib) is vendored from ghackwrench/F256_Jr_Kernel_DOS. Verified end to
end in the f256k MAME: boot, listing, navigation, subdir in/out, launch, quit.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a Foenix F256K file browser in its own
f256/subtree.Unlike the MEGA65 and Commander X16 targets, the F256K shares no code with the 6502 core: it has no Commodore KERNAL, no PETSCII, and no CBM DOS. It runs the TinyCore MicroKernel (event-based), draws through the Vicky video chip, and stores files on FAT32. So this is a from-scratch native port written in C (cc65), kept fully separate from
sources/.What it does
Browse the SD card, cursor through the listing, enter/leave folders, and launch a program with Return — the CBM-FileBrowser experience, native on the F256.
How it works
opendir/readdirin the vendoredkernel.c);<DIR>flags, dot/._*junk filtered.$C000I/O window (MMU_IO_CTRL$0001), 16-entry CLUTs at$D800/$D840; matrix writes bracketed withsei/cli(the keyboard IRQ needs I/O page 0).NextEvent; the F256 delivers arrows as ASCII control codes.pexecloader ("-") viaRunNamed; quit chains back to the shell KUP ("basic").$2000); run from SuperBASIC with/- fb256.Build & run
Put
fb256.pgzon the SD card, boot to SuperBASIC,/- fb256. SeeF256.mdfor full docs and controls.Notes
f256jr_pgz.cfg,pgz.s,kernel.c,api.h,dirent.h,f256jr.lib) is vendored from ghackwrench/F256_Jr_Kernel_DOS.f256kMAME: boot, listing, colour render, navigation/paging, subdir in/out, launching a program, and quit back to SuperBASIC.masterand independent of Add MEGA65 (native C65) and Commander X16 targets #1 (the MEGA65/X16 targets), so the two can be reviewed/merged separately.🤖 Generated with Claude Code