Instructions for PP Spectrum hard disk ROM

  Hard disk ROMs on site contains simple IDE 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 noone use regularly and exclusively only 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 no support for arrays. If you want to save arrays, save it like BASIC program (SAVE "name" ). It's rare used, and needs lot of ROM space, so I dropped it out.

   ERASE
Deleting of files : ERASE "name" - no need to type CODE for block. Only last file on charea (equivalent of partition here) may be erased.

   CAT a-z,0-9
CAT command will print on screen files in charea with main parameters and remaining free space. Usage:  CAT a  , CAT F,  cat Y,  CAT 7   etc. Because of faster typing no quoting is required.
 
   SNAPSHOT
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 (http://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 IDE drive.
Later you can load it with :  LOAD "name" CODE.
Note: there must be special area on IDE drive for temporary storage, required size is 10KB - see source file ZXHDOS. 

   PARTITIONING
IDE drives are divided on 36 'charea' - letters A to Z and cyphers 0-9. Files go to apropriate chareas by beginning character. You should bear in mind by space allocation that there is much more name starting with S, T than with Q,Y...

   OTHER
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 .
See programming reference about how customizing ROM for particular hard drive.

  PP