Repository navigation
ZX Desk 1.1.0
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.tapis the desktop.zxdesk-1.1.0-with-counter.tapis the desktop with the counter app after it on the tape. Load it, then FILE, LOAD, type COUNTER and set FROM to TAPE.counter.zxais 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.