Skip to content
 
 

Repository files navigation

pexec

Firmware module for the F256Jr and F256K

pgz - launcher

pgx - launcher

kup - launcher (EXPERIMENTAL)

bas - loads SuperBASIC source into the 56 KiB staging area at $028000 for XLOAD or XGO

lbm - image viewer (8bit 256 color only)

256 - image viewer (320x200 or 320x240)

File Chooser - interactive file browser with directories-first alphabetical sorting, type-to-filter, and room for 255 entries, shown when no file argument is given. F2 cycles through registered drives and opens each drive at its root, clearing the filter and selection. On the built-in K/K2 keyboard, F2 is Shift+F1. The heading shows the selected drive number. On K2, drive 0 is the front SD card, drive 1 is the internal SD card, and drives 2 and 3 are IEC devices 8 and 9. Unregistered drives are skipped; registered but unavailable drives show an error and can be left with F2.

Pexec currently starts on drive 0. SuperBASIC's DRIVE n is local to BASIC; the kernel has no shared default-drive setting. For a named launch, an explicit prefix such as 1:demo.pgz selects the drive. Files selected in the browser are opened on the drive shown in its heading.

F3 toggles the launch working directory between Start in: Drive root (the default) and Start in: Program folder. Drive root starts programs at / on the selected drive; Program folder starts them in the directory containing the program. This setting requires kernel Chdir support.

Browser drive regression checks (requires 64tass and uv): uv run --with py65 python tests/test_drives.py. These emulate the assembled 65C02 code with kernel calls stubbed; they do not access hardware.

Written by dwsJason and csoren Foenix Retro Systems logo by econtrerasd

Do not load data in these memory address ranges:

$0-$1FF ; Direct page an Stack

$C000->$FFFF ; memory used by the micro kernel, and it used to read the ; files that are being loaded.

MMU at program start - Physical Memory Block 0 in Slot 0
- Physical Memory Block 1 in Slot 1 - Physical Memory Block 2 in Slot 2 - Physical Memory Block 3 in Slot 3 - Physical Memory Block 4 in Slot 4 - Physical Memory Block 5 in Slot 5 - Block 6 mapped to IO - Block 7 mapped to kernel firmware

KUP programs limited to start addresses in Slot 1-5, and a maximum size of 40k

Remaining work for 1.0

  • Render econtrerasd's logo (the tile data exists in logo.s but is not displayed).
  • Search PATH when resolving a named file.
  • Fall back to the file chooser when a named file cannot be opened.
  • Add format and decompression error handling to the image viewer.
  • Use directory-entry file sizes for an accurate loading progress indicator.
  • Validate complete file headers and segment bounds before loading.

About

pgz/pgx launcher for Wildbits computers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages