for PP Spectrum Floppy ROM
This ROM contains simple floppy disk operating
system, which main purpose is simple storage and usage of files,
mostly playing games.Therefore no complicated file operations
etc., only save and load complete files. There is also snapshot
function, more details later.
Keyboard input is changed and all commands & functions must be entered letter by letter, unlike by original Spectrum 48K. This is good because people need much time to adapt for Speccy's input system, and I think that no one use regularly and exclusively Spectrum today.
Most of commands can be shorted by typing only first 2 letters - try it, and you will see...
SAVE & LOAD
Usage of this commands is almost same as by original tape commands. So SAVE goes: SAVE "name" [CODE] [start, length] . Max len of filename is 15 char (instead 10 original). LOAD has same syntax as by tape. But you can't use LOAD "" - this is not possible by disks.
There is also no support for arrays. If you want save arrays, save it like BASIC program (SAVE "name" ). It's rare used, and needs lot of ROM space, so I dropped it out.
Examples: LOAD "basic" - will load basic program named basic
LOAD "Code of wisdom" CODE 50000 - will load binary code to address 50000
Deleting of files : ERASE "name" - no need to type CODE for block. Only last file on floppy side may be erased.
CAT command will print on screen files on floppy side with main parameters and remaining free space.
Purpose is to save complete machine state to file, and making possible to load it, and continue play (work ? ) at same point. You need NMI button for this to work. See on my WEB-site more about button (https://piters.tripod.com/zx.htm ).
When pressing NMI button, lines in Border appear. Then you have 3 choices:
Pressing C continues.
Pressing B jumps into Basic - this is not always possible (some games destroy complete system (variables))
Pressing M is for snapshot store - it resets Speccy, and then user must type MOVE "name" where name is desired filename. Block of 48 KB will be saved on floppy.
Later you can load it with : LOAD "name" CODE.
Note: you must have at least 58KB free space on floppy for this to work correct (this is because snapshot uses end of floppy as temporary store place). Floppy must be inserted before pressing M.
Also floppy must bee error-free (no bad sectors) and no write-protect of course.
There is also couple small improvement in ROM, like hex-input, conversion etc.
You can enter numbers in hex form by adding prefix &. So : PRINT &ff (or &FF) will display 255. Max value is &FFFF.
For hex outprint you need prefix % by print: PRINT %100 will display &64 .