YaPaDOS

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 22:11, 28 October 2007 by Yarek (Talk | contribs)

Jump to: navigation, search
Superdisk.gif
YaPaDOS is patch for AMSDOS and ParaDOS that allows to redirect disk access to harddisk. This is done with keeping highest possible compatibility, so only 20 bytes of RAM are used (including 6 used by ParaDOS).

Diskimages

Instead of reading and writting floppy, a continous and limited area on harddisk is used. The area has the same amount of sectors, as the floppy and is called diskimage. Each drive A: and B: separately can be directed to floppy or one of diskimages. You can change the diskimages as you would change the floppies, but by opening some special files.

Using only 20 bytes of RAM makes features like FAT32 and support for .DSK files impossible, so the disk must have special formatting using IDEDOS structures (by Garry Lancaster). The harddisk can also contain FAT partitions, but they are not accessible from YaPaDOS.

The IDEDOS partition contains diskimages, that can have various size (e.g. 180kB, 800kB, 5MB). Up to 999 diskimages can be created and accessed.

Diskimages are selected by their numbers 1..999 (0 means floppy) by opening a file of special name. Only the number after dot matters. Names of diskimages can be listed from a virtual device called superdisk. Superdisk is read-only. After the superdisk is selected, the diskimage then can be selected without the ^ sign in file name.

Commands

The ^ sign placed as first in file name used in open file function tells the operating system to do something special:

LOAD"^" - selects superdisk

LOAD"^xxxxxxx.nnn" - selects diskimage number nnn

LOAD"^.0" - selects floppy

LOAD"^DESTROY.MBR" - clears MS-DOS partition table (also needs some POKEs for safety)

LOAD"^DBnnnnn.mmm" - creates IDEDOS partition of nnnnn cylinders and up to mmm diskimages (needs some POKEs to set CHS geometry)

LOAD"^MAKENEW" - adds diskimage respectively to current XDPB

LOAD"^MAKENEW.nnn" - as above, but enlarage to nnn kilobytes for safety


The ^ sign allows to change diskimages in every old software that enables opening any file and not crashes, when the file is empty. No changes in such software are needed to select diskimage on harddisk or redirect the drive to floppy.

Alpha version

YaPaDOS is currently in alpha version. So some major things may change.

For example base for diskimage number is 10 (digits 0..9), but may be 36 (0..9, A..Z). This will result in 46655 possible diskimages, not 999 as now.

Also, as creation of new diskimage gives it a fixed name, the |REN working on superdisk can be added.

All suggestions and ideas are welcome, please use the Yahoo! Groups list of FutureOS.

Download from: http://cpc.yarek.com/amsdos2.zip and please backup all your harddisk data before use, as this version can include dangerous bugs. BTW it creates data structures with minor errors, so you would need to delete them later anyway.

  • To do is:
    - Support for Vortex 704 format.
    - Support of IDE8255 (DSKHNDLR to be written).
  • To fine tune is:
    - Some bytes of XDPB of new diskimage.
    - Recelculate amount of free space in sectors.
    - Move the free space entry towards end of partition list.
    - Correct message when wrong diskimage is selected.
    - Test of diskimages placed over #0010000 LBA.
    - Test of large diskimages (over 184 blocks).
    - Selection of diskimages number over 99.
    - Listing diskimages above number 99.
    - XDPB of superdisk XDPB (partition size).
    - Correct free space printing in CAT to allow larger numbers.
    - Diskimage sizes listed in superdisk.
    - Solve the "Broken in" error.
    - Support for diskimages with sectors of 256B and 1kB.
    - Correct support for Master/Slave.
    - List floppy on superdisk.
    - Installing PARADOS |DISC tool to other ROM bank