VDOS
The disc operating system VDOS was developed by the German company Vortex.
It was provided for use with the Vortex Disc Drives from Vortex (F1-D, F1-S, F1-X, M1-D, M1-S or M1-X).
VDOS was supplied on an EPROM, and was released in 3 versions:
- VDOS 1.0
- VDOS 2.0
- VDOS 2.11
Further there were German and English versions of this ROMs.
The VDOS ROM also contained a machine language monitor.
VDOS is the first DOS to support the Vortex format which become a standard format later on.
Details
- Vortex is a German company, so they added RSX commands in German and English language. VDOS had both |TAPE and |CAS (which resemble equivalent German word Kassette). (Dobbertin's X-DDOS had the same for compatibility).
- |USER/|DRIVE did not exist in V1.0 instead |SELECT is used (which resemble equivalent German word Selektieren). (Dobbertin's X-DDOS also had |SELECT for compatibility).
|SELECT is used to both select user and/or drive. e.g. |SELECT,"3" for user 3, |SELECT,"B" for drive B, |SELECT "4B" for user 4 on drive B. VDOS doesn't have USER or DRIVE commands.
- VDOS supplied both German ROMs (with messages in their native language) and English ROMs where the messages are translated. The RSX commands are identical.
- When using the firmware function CAS CATALOG you give it the address of a buffer to fill with the list of files in the current user and drive (in SOFT968 this is a 2KB buffer but only because AMSDOS is limited to 64 directory entries and each directory is 32 bytes - 64x32 = 2048). For VDOS you should use a 4KB buffer to support 128 directory entries. In addition the format of the data stored in the buffer differs compared to AMSDOS.
AMSDOS uses:
<ff> <8 bytes filename> <3 bytes extension> <2 bytes size in K> with a byte of 00 to indicate the end of the list.
VDOS uses:
<user> <8 bytes filename> <3 bytes extension> <2 bytes size in K> with a byte of FF to indicate the end of the list.
This is important if you use CAS CATALOG and parse the data to fetch the list of files.
- AMSDOS allows you to specify both the user and drive in a filename.
e.g. "3B:TEST.BIN" is valid and will try to find TEST.BIN in user 3 of drive B.
VDOS doesn't allow this. VDOS only allows the drive to be specified.
e.g. "B:TEST.BIN".
Therefore it's recommended to use SELECT to specify the user. A program should also not rely on the memory location of DOS specific data and poke it directly. Therefore it should use KL FIND COMMAND to detect |SELECT and use that if found, otherwise find and use |DRIVE and |USER. This allows maximum compatibility.
- VDOS will autoboot a file called "HELLO.BAS" if it exists on the disc. AMSDOS doesn't have this. This is VDOS's 'Turnkey' system.
- VDOS 1.0 supports 3 drives but only two are accessibly by VDOS at one time. The DOS stores details for 2 XDPB at one time. Using |S you can change the logical drive mappings. Logical drive A is normally unit 0 and logically drive B is normally unit 1. With |S you can map unit 2 to logical drive A or to logical drive B.
|S,0 - 3rd drive is ignored:
|S,0:|SELECT,"A" - access unit 0 |S,0:|SELECT,"B" - access unit 1
|S,1 or |S,2 - choose if 'A' or 'B' is 3rd drive. i.e. Decide if |A is 1st drive or 3rd drive or |B is 2nd drive or 3rd drive.
|S,1:|SELECT,"A" - drive A is unit 2. |S,2:|SELECT,"B" - drive B is unit 2.
- TO BE CONFIRMED: VDOS supports other double sided disc formats by programming the XDPB. AMSDOS doesn't allow this.
Vortex Disc format
Sector numbers are 01h..09h (same as AMSDOS IBM Format, but with a 9th sector). Disks are Double-Sided, Double Density, 80 Tracks, 9 Sectors, blocks are allocated in 4K units. Total capacity is 720K (704K available):
- First 9K contain two System Tracks (eg. CP/M Bootstrap)
- Next 4K contain directory (see Note)
- Next 704K are data (allocated in 4K blocks) (aka 4K clusters)
- Last 3K are unused (due to 4K allocation size)
Note: According to the manual, the directory can hold 128 entries under VDOS2.0 (whole 4K used), but only 64 entries under VDOS1.0 (only half of the 4K area used).
Manual
- Vortex Vdos 2.0 Manual (pdf) (also describes how to upgrade from VDOS 1.0 to 2.0)