Changes
S-DOS
,S-DOS was a high-capacity disc operating system for 3.5in drives, released by [[STS]] Software. Two versions were released.
== S-DOS ==
The original version of S-DOS was released in 1992, intended as a companion to the 3.5in drives then being sold by STS. The program was available both on disc and on ROM. It was coded by [[Hangman]] with additional code by [[ChaRleyTroniC]].
The format chosen was a 396k, 128-file format identical to [[ROMDOS]] D80. (This was also the one used by SD Microsystem's [[400K/S]].)
Commands were:
* |SFORMAT - format a disc in S-DOS format (Hangman)
* |SVERIFY - verify a disc (Hangman)
* |AMSDOS - select standard AMSDOS formats for drive B
* |COPYAB,filename / |COPYBA,filename - copy files between drives (CRTC)
* |BRUN,filename - run program from drive B, with jumpblock patched so DOS ROMs aren't reset (Hangman)
* |SHELP - list commands (CRTC)
* |SHEADER - header reader (Hangman)
* |SPLOAD - load protected BASIC file (Hangman)
* |SLOAD - load file into memory (Hangman)
* |CAT,0/1 - catalogue other drive (CRTC)
Source code was released as part of the ChaRleyTroniC Source Code Collection disc.
== S-DOS 2 ==
S-DOS 2 was released in 1993 on ROM only. Though it was coded by [[ChaRleyTroniC]], it was publically attributed to Rob Scott and Simon Matthews ([[Hangman]] and [[Ratz]]), so that there was no perceived conflict of interest with CRTC's [[Amstrad Action]] column, which frequently pronounced on the merits of different DOSses.
Its main advance was that it now provided automatic format detection: there was no need to manually select the format by using a command. Instead, as with standard AMSDOS, the new formats were automatically detected. The following formats were supported:
* S-DOS format (ROMDOS D80)
* Ultraform (41-track, 10 sectors)
* [[MS800]] format 5 (due to choice of sector numbers, not automatically detected)
You could use these formats in either drive A: or B:, unlike ROMDOS, and the system was compatible with CP/M.
A utility program was included in the ROM for copying, formatting, verifying, erasing and renaming, also including a sector editor.
Commands were:
* |CAT, |COPYAB, |COPYBA, |SHEADER, |SHELP, |SLOAD, |SPLOAD - as S-DOS 1
* |RUN - same as |BRUN in S-DOS 1
* |UTILS - enter utilities mode
* |MS800, |MS800A, |SDOS, |SDOSA - select/deselect MS800 format 5
* |CPM22 - enter CP/M 2.2 with automatic format detection
* |SETCPM - patch CP/M Plus .EMS file for S-DOS formats
* |TYPE - display text file on-screen
=== How it worked ===
S-DOS 2's technical premise was based on a trick used in the PD program 'DC' (Drive C) by Juergen Weber to alter standard [[AMSDOS]] behaviour.
Several AMSDOS routines made a call to the CPC firmware via the standard jumpblock. S-DOS 2 would modify those jumpblock entries. Then, whenever they were called, S-DOS would examine the stack to see where it had come from. If the call came from the appropriate part of the AMSDOS ROM, S-DOS would modify the return address so that it used the new S-DOS code, not the AMSDOS code.
This enabled automatic format detection to be implemented reasonable easily. Unlike [[ParaDOS]] and ROMDOS, S-DOS did not contain any original AMSDOS code.
=== End of life ===
ParaDOS eventually supplanted S-DOS 2, which was in turn released into the public domain. ParaDOS's utilities (accessed by |DRIVE) used many of the same conventions as S-DOS's |UTILS, such as 'L' to log a disc and the system of tagging files.
== S-DOS ==
The original version of S-DOS was released in 1992, intended as a companion to the 3.5in drives then being sold by STS. The program was available both on disc and on ROM. It was coded by [[Hangman]] with additional code by [[ChaRleyTroniC]].
The format chosen was a 396k, 128-file format identical to [[ROMDOS]] D80. (This was also the one used by SD Microsystem's [[400K/S]].)
Commands were:
* |SFORMAT - format a disc in S-DOS format (Hangman)
* |SVERIFY - verify a disc (Hangman)
* |AMSDOS - select standard AMSDOS formats for drive B
* |COPYAB,filename / |COPYBA,filename - copy files between drives (CRTC)
* |BRUN,filename - run program from drive B, with jumpblock patched so DOS ROMs aren't reset (Hangman)
* |SHELP - list commands (CRTC)
* |SHEADER - header reader (Hangman)
* |SPLOAD - load protected BASIC file (Hangman)
* |SLOAD - load file into memory (Hangman)
* |CAT,0/1 - catalogue other drive (CRTC)
Source code was released as part of the ChaRleyTroniC Source Code Collection disc.
== S-DOS 2 ==
S-DOS 2 was released in 1993 on ROM only. Though it was coded by [[ChaRleyTroniC]], it was publically attributed to Rob Scott and Simon Matthews ([[Hangman]] and [[Ratz]]), so that there was no perceived conflict of interest with CRTC's [[Amstrad Action]] column, which frequently pronounced on the merits of different DOSses.
Its main advance was that it now provided automatic format detection: there was no need to manually select the format by using a command. Instead, as with standard AMSDOS, the new formats were automatically detected. The following formats were supported:
* S-DOS format (ROMDOS D80)
* Ultraform (41-track, 10 sectors)
* [[MS800]] format 5 (due to choice of sector numbers, not automatically detected)
You could use these formats in either drive A: or B:, unlike ROMDOS, and the system was compatible with CP/M.
A utility program was included in the ROM for copying, formatting, verifying, erasing and renaming, also including a sector editor.
Commands were:
* |CAT, |COPYAB, |COPYBA, |SHEADER, |SHELP, |SLOAD, |SPLOAD - as S-DOS 1
* |RUN - same as |BRUN in S-DOS 1
* |UTILS - enter utilities mode
* |MS800, |MS800A, |SDOS, |SDOSA - select/deselect MS800 format 5
* |CPM22 - enter CP/M 2.2 with automatic format detection
* |SETCPM - patch CP/M Plus .EMS file for S-DOS formats
* |TYPE - display text file on-screen
=== How it worked ===
S-DOS 2's technical premise was based on a trick used in the PD program 'DC' (Drive C) by Juergen Weber to alter standard [[AMSDOS]] behaviour.
Several AMSDOS routines made a call to the CPC firmware via the standard jumpblock. S-DOS 2 would modify those jumpblock entries. Then, whenever they were called, S-DOS would examine the stack to see where it had come from. If the call came from the appropriate part of the AMSDOS ROM, S-DOS would modify the return address so that it used the new S-DOS code, not the AMSDOS code.
This enabled automatic format detection to be implemented reasonable easily. Unlike [[ParaDOS]] and ROMDOS, S-DOS did not contain any original AMSDOS code.
=== End of life ===
ParaDOS eventually supplanted S-DOS 2, which was in turn released into the public domain. ParaDOS's utilities (accessed by |DRIVE) used many of the same conventions as S-DOS's |UTILS, such as 'L' to log a disc and the system of tagging files.