Repository navigation
v1.2.6
1.2.6 - 2026-11-01
Numbers here describe the source in main. The release carries
Bench-1.2.6.g3a built by CI from this commit, and nobody has had it on a
calculator yet.
- The demo travels inside the add-in now: a
.g3ais one file, so a folder
cannot come with it, and "copydemo/notesintoBench/notes" was three steps
on a PC before a new install had anything to look at. The ten demo files - the
three notes, the three decks, the study log and the three formula booklets -
are compiled into the add-in as C literals and written to the card on the first
run, so a fresh install opens Notes, Cards, Study log and Formula book and
finds something in every one. Rules: only files that are not there yet are
written, so nothing you wrote is ever overwritten, and at most twelve files are
written per run. The text is generated fromdemo/and
docs/samples/formulas/bytools/gen_demo.py;make demo-checkfails when
the generated table and the sources drift apart, andtests/test_demo_data.c
reads every entry back with the same checks (printable ASCII,lenequal to
the joined length, no duplicate, source file unchanged). One booklet is over
the 4095 bytes ISO C promises for a string literal, so each file is a list of
chunks the add-in joins before writing - the generator refuses anything over
6144 bytes, the sizestore_write()takes. Unverified on device. - The same demo is a separate download too:
Bench-demo-1.2.6.zipholds
Bench/notes,Bench/cards,Bench/studyandBench/formulas, so it
extracts ontoD:\in USB Flash mode and lands exactly where the add-in
writes. It is for a full card, a second card, or editing the notes on a PC
before they ever reach the calculator. Built bytools/make_demo_zip.py,
reproducible (sorted entries, fixed timestamps), checked in CI against the same
sources, attached to the release and kept indist/. store_exists(): the seeding needed a way to ask whether a file is there
without reading it, sosrc/platform/store.{h,c}gained one (aBFile_Open
in a world switch, closed immediately, no read).src/platform/demo.cis the
only caller and never touches anything else.- What this does not do: it does not touch a file that already exists, does
not run anywhere but start-up, and does not write anything outside
\fls0\Bench. A card that is full or write-protected still gets a working
add-in, just without the demo -demo_install()ignores the failure.