Skip to content

ZX Desk 1.2.0

Latest

Choose a tag to compare

@mindbox77 mindbox77 released this 04 Oct 17:12

Apps can keep time, three can run at once, and a tape of them can be read straight into the file manager.

Importing from tape. A tape has no directory, so the commander reads from it instead. With a tape pane showing, R reads the next file into the other pane and A reads them all. After that they are ordinary files and ENTER runs them. The last file read stays in the tape buffer and runs from the tape pane, which is how a 48K runs an app too big to import.

A tick for apps. An app can name a tick routine in its descriptor. It is called once a frame while the app is in front, with the whole seconds since the last call, and is held back while a menu or panel is up. The interface is now version 4, with one new slot, ApiWinRefresh, which repaints a window in one call.

Three loaded apps at once. Each load is its own copy with its own state. Apps with no window are freed by the next load.

Two more examples. examples/stopwatch uses the tick. examples/tally saves and loads through the storage layer and asks before clearing.

Fixed. Every one line alert printed rubbish on its second line when sound was on, which is the default. This was in 1.0.0 and 1.1.0. A named load from tape now passes over other files on the way, where before it gave up at the first one on a real signal.

Also. FILE, LOAD has an EXIT row. The status row says READING TAPE. SPACE TO STOP. during any tape read, and SPACE does stop it. The README explains how loading works and lists every slot with what it takes and returns.

Apps built for 1.1.0 still load.

Files:

  • zxdesk-1.2.0.tap is the desktop.
  • zxdesk-1.2.0-with-apps.tap is the desktop with COUNTER, WATCH and TALLY after it on the tape. Load it, open the commander with FILE, OPEN, and press A.
  • counter.zxa, stopwatch.zxa and tally.zxa are the three example apps on their own.

It runs on a 48K, and a 128K gets a RAM disk and AY sound. On a 48K the tally is too big to import and runs from the tape pane instead.