Difference between revisions of "YaPaDOS"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m (Commands)
m (Alpha version)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Image:Superdisk.gif|right]] 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).
 
[[Image:Superdisk.gif|right]] 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).
 +
 +
== What is this? ==
 +
 +
Not quite clear... Seems to be an AMSDOS clone from [[Yarek]] (?), for supporting his [[IDE8255]] (?) harddisk interface? Please confirm!
  
 
== Diskimages ==
 
== Diskimages ==
Line 5: Line 9:
 
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.
 
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.
+
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 (defined 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.
 
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.
+
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 ==
 
== Commands ==
Line 19: Line 23:
  
 
'''LOAD"^.nnn"'''<BR>
 
'''LOAD"^.nnn"'''<BR>
'''LOAD"^xxxxxxx.nnn"''' - selects diskimage number nnn (x is any character)
+
'''LOAD"^xxxxxxx.nnn"''' - selects diskimage number nnn (n - a digit, x - any character)
  
 
'''LOAD"^.0"''' - selects floppy
 
'''LOAD"^.0"''' - selects floppy
  
'''LOAD"^DESTROY.MBR"''' - clears MS-DOS partition table (also needs some POKEs for safety)
+
'''LOAD"^DESTROY.MBR"''' - clears MS-DOS partition table (also needs some POKEs for safety, see included README!.TXT)
  
 
'''LOAD"^DBnnnnn.mmm"''' - creates IDEDOS partition of nnnnn cylinders and up to mmm diskimages (needs some POKEs to set CHS geometry, see included README!.TXT)
 
'''LOAD"^DBnnnnn.mmm"''' - creates IDEDOS partition of nnnnn cylinders and up to mmm diskimages (needs some POKEs to set CHS geometry, see included README!.TXT)
Line 58: Line 62:
 
+ PARADOS |DRIVE tool installed in ROM bank 6 as |PRIVE.<BR>
 
+ PARADOS |DRIVE tool installed in ROM bank 6 as |PRIVE.<BR>
 
+ Size of floppy (diskimage ".000") is zero.<BR>
 
+ Size of floppy (diskimage ".000") is zero.<BR>
 +
 +
* Done but not released:
 +
+ PARADOS |DRIVE tool installed in ROM bank 15 as |DRIVE.<BR>
 +
+ Formatting done on superdisk creates new diskimage (also from |DRIVE tool).<BR>
 +
+ Corrected free space printing in CAT to allow larger numbers.<BR>
 +
+ Better PARADOS |DRIVE tool synchronization.<BR>
  
 
* To do is:<BR>
 
* To do is:<BR>
Line 65: Line 75:
 
* To fine tune is:<BR>
 
* To fine tune is:<BR>
 
- Recelculate amount of free space in sectors.<BR>
 
- Recelculate amount of free space in sectors.<BR>
- Better PARADOS |DRIVE tool synchronization.<BR>
 
 
- Move the free space entry towards end of partition list.<BR>
 
- Move the free space entry towards end of partition list.<BR>
 
- Test of diskimages placed over #0010000 LBA.<BR>
 
- Test of diskimages placed over #0010000 LBA.<BR>
Line 71: Line 80:
 
- Test of selection of diskimages number over 99.<BR>
 
- Test of selection of diskimages number over 99.<BR>
 
- Test of listing diskimages above number 99.<BR>
 
- Test of listing diskimages above number 99.<BR>
- Correct free space printing in CAT to allow larger numbers.<BR>
 
 
- Solve the "Broken in" error.<BR>
 
- Solve the "Broken in" error.<BR>
 
- Support for diskimages with sectors of 256B and 1kB.<BR>
 
- Support for diskimages with sectors of 256B and 1kB.<BR>
Line 79: Line 87:
  
  
[[Category:Stub]] [[Category:Operating_System]]
+
[[Category:Stub]] [[Category:Disc Operating_System]]

Latest revision as of 18:47, 24 February 2012

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).

What is this?

Not quite clear... Seems to be an AMSDOS clone from Yarek (?), for supporting his IDE8255 (?) harddisk interface? Please confirm!

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 (defined 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"^.nnn"
LOAD"^xxxxxxx.nnn" - selects diskimage number nnn (n - a digit, x - any character)

LOAD"^.0" - selects floppy

LOAD"^DESTROY.MBR" - clears MS-DOS partition table (also needs some POKEs for safety, see included README!.TXT)

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

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 Alpha7 from: http://cpc.yarek.com/amsdos2.zip (version for SymbiFace IDE, plase contact to get other, e.g. CPCISA). Please backup all your harddisk data before use, as this version can include dangerous bugs.

  • Done since 2007-11-04:

+ Special XDPB is set for superdisk XDPB.
+ Diskimage sizes listed in superdisk.
+ List floppy on superdisk.
+ Support of IDE8255 (DSKHNDLR is written).
+ LBA start is #000000 not #000001.
+ Startup message with name of DSKHNDLR.
+ Redirection to floppy when wrong diskimage is selected.
+ Forbid disk creation from superdisk (has inadequate XDPB).
+ Corrected XDPB of new diskimage (cylinders and sides).
+ PARADOS |DRIVE tool installed in ROM bank 6 as |PRIVE.
+ Size of floppy (diskimage ".000") is zero.

  • Done but not released:

+ PARADOS |DRIVE tool installed in ROM bank 15 as |DRIVE.
+ Formatting done on superdisk creates new diskimage (also from |DRIVE tool).
+ Corrected free space printing in CAT to allow larger numbers.
+ Better PARADOS |DRIVE tool synchronization.

  • To do is:

- Rename diskimages from superdisk.
- Support for Vortex 704 format.

  • To fine tune is:

- Recelculate amount of free space in sectors.
- Move the free space entry towards end of partition list.
- Test of diskimages placed over #0010000 LBA.
- Test of large diskimages (over 184 blocks).
- Test of selection of diskimages number over 99.
- Test of listing diskimages above number 99.
- Solve the "Broken in" error.
- Support for diskimages with sectors of 256B and 1kB.
- Correct support for Master/Slave.
- IDE interface type detection (SF2, IDE8255, CPCISA).
- Display real number of units after DSKHNDLR detection.