Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
9efbb55
Prepare 0.2.5 development baseline
klumsy Jun 8, 2026
82fa401
Point VICE probes at current release version
klumsy Jun 8, 2026
fe169a8
checkpoint readybasic hotkey experiment
klumsy Jun 11, 2026
4b754ad
fix readybasic hotkey release handling
klumsy Jun 11, 2026
5b16263
Document ReadyBASIC keyboard hotkey regression
klumsy Jun 11, 2026
22db2c4
fix readybasic hotkey release handling
klumsy Jun 13, 2026
61cee54
record 0.2.5O release metadata
klumsy Jun 16, 2026
99117e9
rebuild 0.2.5O release artifacts
klumsy Jun 16, 2026
2ddfcb5
Implement ReadyBASIC phase 1 graphics commands
klumsy Jun 16, 2026
03cd6d9
Implement ReadyBASIC phase 2 graphics commands
klumsy Jun 16, 2026
1ebfa09
Expand ReadyBASIC built-in command overlay storage
klumsy Jun 16, 2026
1eaae2a
Implement ReadyBASIC phase 3 polygon commands
klumsy Jun 17, 2026
6868b9f
Add ReadyBASIC graphics Phase 4 demos
klumsy Jun 17, 2026
35e7647
Add ReadyBASIC graphics Phase 5 coverage
klumsy Jun 17, 2026
88ced56
Add ReadyBASIC SID sound commands
klumsy Jun 17, 2026
610b18a
Add tokenizer-safe ReadyBASIC command aliases
klumsy Jun 17, 2026
6ea0527
Refresh ReadyBASIC documentation audit
klumsy Jun 17, 2026
ee89f9c
Remove ReadyBASIC legacy command aliases
klumsy Jun 18, 2026
eb602bd
Add experimental launcher Ultimate DOS DMA loading
klumsy Jun 20, 2026
6698057
Load launcher DMA PRGs by exact Ultimate DOS size
klumsy Jun 20, 2026
2ac86c7
Add C64U ReadyShell overlay smoke action
klumsy Jun 20, 2026
617b44f
Harden C64U ReadyShell DMA verification
klumsy Jun 20, 2026
ee968d5
Harden launcher DMA ReadyShell loading
klumsy Jun 20, 2026
e3e2a73
Fix ReadyShell UCI DMA overlay edge load
klumsy Jun 21, 2026
fc32430
Add C64U ReadyShell enter DMA smoke
klumsy Jun 21, 2026
65b143d
Stabilize launcher DMA startup state
klumsy Jun 27, 2026
3bce209
Avoid repeated C64U DMA image mounts
klumsy Jun 27, 2026
67ae03a
Preserve DMA mount state on file fallback
klumsy Jun 27, 2026
fabb7e9
Stabilize launcher DMA status handling
klumsy Jun 27, 2026
03cd13b
Tighten launcher DMA startup handling
klumsy Jun 27, 2026
e2461e5
Reduce launcher DMA path memory pressure
klumsy Jun 27, 2026
f79ca4f
Stabilize launcher DMA startup probing
klumsy Jun 27, 2026
7107bef
Record verified launcher DMA C64U run
klumsy Jun 27, 2026
9337f41
Checkpoint UCI DMA timing experiments
klumsy Jul 4, 2026
6665c2b
Show DMA load progress at bottom
klumsy Jul 4, 2026
3333870
Back out launcher DMA progress UI
klumsy Jul 4, 2026
42b4782
Add launcher UCI DMA progress verification
klumsy Jul 5, 2026
7b1744d
Fix launcher DMA fallback handling
klumsy Jul 5, 2026
e952d32
Harden C64U DMA load verification
klumsy Jul 6, 2026
80ff869
Update generated 0.2.5J deployment artifacts
klumsy Jul 6, 2026
d69dfda
Probe C64U DMA mount readiness
klumsy Jul 6, 2026
57d055b
Guard launcher DMA status fallback
klumsy Jul 6, 2026
026b40a
Restore launcher DMA headroom
klumsy Jul 6, 2026
ba3e4b9
Fall back from C64U DMA open failures
klumsy Jul 6, 2026
bdea463
Restore C64U DMA launcher load path
klumsy Jul 7, 2026
9e99ca6
Document restored DMA verification evidence
klumsy Jul 7, 2026
f44b8d8
Record final DMA restore regression evidence
klumsy Jul 7, 2026
f01c461
Verify C64U DMA fallback acceptance
klumsy Jul 7, 2026
d94d01f
Add launcher DMA acceptance fixtures
klumsy Aug 1, 2026
b522f99
Merge launcher Ultimate DOS DMA loading
klumsy Aug 1, 2026
53b1604
Refresh 0.2.5Y release artifacts
klumsy Aug 1, 2026
40c7a27
Add ReadyIRC setup and Ultimate resume lifecycle
klumsy Aug 2, 2026
d8c29cc
Optimize ReadyIRC rendering and add channel commands
klumsy Aug 2, 2026
1644b22
Unify ReadyOS bank state and refresh documentation
klumsy Aug 3, 2026
ced085d
Refactor ReadyOS around the full resident shim
klumsy Aug 3, 2026
561124f
Refresh ReadyOS memory and bank documentation
klumsy Aug 3, 2026
eb58efb
Regenerate ReadyOS release artifacts and test plans
klumsy Aug 3, 2026
0680660
Record ReadyOS refactor completion evidence
klumsy Aug 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 20 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Local Agent Notes

- C64 Ultimate REST/FTP access from Codex must be run from a separate
Terminal-owned/background bash, for example via `osascript` opening Terminal
and writing logs/status files. Plain foreground `exec_command` curls can fail
with false "no route"/connection errors even when the C64U is reachable.
- REL file access debugging: do **not** use `src/apps/dizzy/dizzy.c` as a reference implementation for REL open/position/read/write behavior.
- For CAL26 REL work, use the `xrelchk` harness and proven CAL26-specific test results as the source of truth.

Expand All @@ -14,7 +18,7 @@
## ReadyOS Architecture Rules

- App working region is `$1000-$C5FF` (`$B600` bytes); REU save/restore also targets this range.
- Shim jump table/data is resident at `$C800-$C9FF`; never place app data/code assumptions there unless intentionally using shim ABI.
- The full resident shim region is `$C600-$C9FF` (1 KB). `$C600-$C7FF` is reserved expansion space and the public jump-table/data ABI remains at `$C800-$C9FF`; never place app data/code assumptions anywhere in this region.
- Assume KERNAL/disk I/O can clobber app memory in the active region; keep persistent control state in defined safe areas only.
- ReadyBASIC module packages are generated SEQ files named `rbm.<name>`; preserve/restore disk-image logic must treat names beginning with `rbm.` as build-owned artifacts, not user files to restore from an older disk image.
- ReadyBASIC refactors must follow `src/apps/readybasic/readyBASICrefactorguidelines.md`. In particular, do not replace BASIC ROM expression/assignment helpers with ReadyBASIC command evaluators unless the normal BASIC cases are proven unchanged; the module-refactor regression broke `I%=I%+1` by doing this and caused `REPEAT`/`UNTIL` failures.
Expand All @@ -23,6 +27,21 @@
- Never call `run.sh` with a specific app name such as `launcher`, `editor`, or any other single-app mode; those paths are not valid for normal ReadyOS verification.
- Avoid ad-hoc `make`, direct artifact launches, and single-app run modes so all generated assets and preserved D71 user files are included and restored correctly.

### ReadyOS Launch Cookbook

- `run.sh` is not guaranteed to be executable in this checkout; invoke it as `/bin/bash ./run.sh ...`, not `./run.sh ...`.
- Interactive regular D81, current built artifacts, fast disk mode: `/bin/bash ./run.sh --profile precog-d81 --vice-fast --skipbuild`.
- Interactive regular D81 with rebuild first: `/bin/bash ./run.sh --profile precog-d81 --vice-fast`.
- Interactive default profile, current artifacts: `/bin/bash ./run.sh --skipbuild`; add `--vice-fast` for fast disk mode.
- Do **not** use `kff2-fast` unless the user explicitly asks for the Kung Fu Flash 2 D81 SKU; it is not the regular D81 build.
- To leave a visible VICE window open from Codex, run the interactive command in a long-running background shell/session and do not run any VICE cleanup or harness prelaunch cleanup afterward.
- Headless ReadyBASIC regular automation: `make readybasic-vice-suites`; focused hotkey probe: `/bin/bash build_support/run_readybasic_hotkey_probe.sh`.
- Headless ReadyBASIC cartridge automation: `make easyflash-readybasic-vice-suites`.
- Harness scripts close VICE by default; only use their `KEEP_VICE`/non-headless options when deliberately debugging automation, not for normal interactive launch.
- C64 Ultimate hardware automation must be launched from a long-running/background
bash shell. One-shot foreground shell calls from Codex may not reach the C64U
REST/FTP endpoints even when the device is reachable.

## CAL26 REL Debugging Discipline

- Use `xrelchk` first; prove behavior in harness before porting to `cal26`.
Expand Down
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# Changelog

## 0.2.5 (development)

### ReadyBASIC Graphics/Sound, C64 Ultimate DMA, Documentation

- Expanded ReadyBASIC through five graphics phases and Sound Phase 1. The
built-in module set now covers modes, pixels and primitives, REU surfaces,
sprites/input, polygon buffers, display lists, tiles/tilemaps, multicolor
bitmap operations, and immediate SID voice/filter commands, accompanied by
32 graphics demos and 6 sound demos plus regular/EasyFlash probes.
- Added the opt-in regular-launcher C64 Ultimate DOS/UCI direct-to-REU loader.
It obtains exact PRG payload sizes, supports packed ReadyShell resources,
reuses a mounted D81 when possible, exposes `DMA:YES`/`DMA:ON`/`DMA:NO`
launcher state, and falls back to KERNAL/disk loading on unavailable or
failed DMA paths. The default `LAUNCHER_DMA_LOAD=0` build remains portable.
- Added focused UCI protocol/timing probes, C64 Ultimate launcher and
ReadyShell hardware smoke coverage, valid/empty/bad-path acceptance fixtures,
and preserved hardware investigation evidence.
- Reconciled current public/private documentation with dynamic REU allocation,
ReadyOS-bank schema 5, shim token lookup, the nine-overlay ReadyShell layout,
current ReadyBASIC memory/modules/examples, the 21-app EasyFlash layout, and
opt-in DMA behavior. Historical release and dated evidence documents remain
preserved as snapshots.
- Combined the launcher snapshot and authoritative operating-system metadata in
physical `Skip`, now named the ReadyOS bank. Physical `Skip+1` becomes the
first dynamic allocation bank. The app snapshot remains `$1000-$C5FF`
(`$B600`), while `$C600-$C9FF` is restored as a 1 KB resident shim region;
its stable 512-byte ABI resolves nonzero tokens through the ReadyOS `$B740`
map instead of arithmetic placement or a resident bitmap.
- Reduced launcher warm-resume duplication to a compact `RSM1` UI record. The
launcher reconstructs banks, drives, hotkeys, resources, loaded state, and
sizes from the ReadyOS `LS` settings and 64-app registry. Runtime testing
also fixed catalog scratch-pointer invalidation during first allocation and
delayed menu-selection validation until after registry restoration.

## 0.2.4

### ReadyBASIC, REU Control Bank, Dynamic Resources, Cartridge, Apps
Expand Down
Loading