Skip to content

ZX Desk 1.1.0

Choose a tag to compare

@mindbox77 mindbox77 released this 04 Oct 14:18
· 7 commits to main since this release

ZX Desk can now run apps it was not built with.

Loadable apps. An app is a small file: a header, an image assembled at origin nought, and a relocation table. The desktop loads it into the heap from the RAM device, a 128K bank or tape, and runs it in a window. In the commander, ENTER on an app file runs it. FILE, LOAD takes a name and loads from the current device or from tape.

An application interface. A jump table at $8000, 44 slots, append only. The clock, the calendar, the notepad and the commander all work through it now and name no desktop global, which is what makes an outside app possible.

Writing your own. mkapi.py writes the include an app is assembled against, mkapp.py assembles one and can append it to a tape, and examples/counter is a complete app in 139 bytes. The README has a section on it.

Fixed. Fills of an odd width left a column unpainted, which showed as a notch in the calendar's border. The notepad's cursor was drawn at a stray position when its row was scrolled out of view.

Files:

  • zxdesk-1.1.0.tap is the desktop.
  • zxdesk-1.1.0-with-counter.tap is the desktop with the counter app after it on the tape. Load it, then FILE, LOAD, type COUNTER and set FROM to TAPE.
  • counter.zxa is the counter app on its own.

It runs on a 48K, and a 128K gets a RAM disk and AY sound. One app can be loaded at a time.