86-DOS 0.11

86-DOS 0.11 is the first public release of 86-DOS.Paterson, Tim (5 February 2024). Document:Tim_Paterson_05-Feb-2024_Email It fixed an unspecified bug found in 86-DOS 0.10,Hunter, David (March 1983). The Roots of DOS: Tim Paterson. Softalk for the IBM Personal Computer. p. 12-15. compiled shortly after version 0.10 was finished, and shipped in August 1980. The Cromemco 4FDC variant of this version of 86-DOS was uploaded to the Internet Archive by Gene Buckle (f15sim) on 29 December 2023.https://archive.org/details/86-dos-version-0.1-c-serial-11-original-disk
Due to its earliness, several important features seen in later versions of 86-DOS are missing. The Command Interpreter does not support displaying file sizes, there is no tool for reporting available memory and disk space and it lacks the ability to format disks.
==CREATE==
This version of 86-DOS supports an undocumented internal command named CREATE. It takes one argument, the name of the file to create, and creates an empty file with the specified name.PorkyPiggy (January 2024). Earliest known copies of 86-DOS... (post #61) 86-DOS 0.11 is the only known version of 86-DOS with this command.
==CHESS==
A modifiedPorkyPiggy (February 2024). 86-DOS 0.11 Source Code Reconstruction (post #11) 8086 translation of the Z80 version of the chess game Sargon was shipped with 86-DOS 0.11.
The game prompts you for your color and ply depth at the beginning. Then, a user enters their moves in the coordinate notation format (referred to by Tim Paterson as the "algebraic chess notation") FF-TT, with FF being the "from" location and TT being the "to" location, both in uppercase. The computer makes moves in the exact same way, except in lowercase, to differentiate from your moves.
Just like Sargon, you can also restart or resign from the game by entering a capital case R.
86-DOS 0.11 is the only known version of 86-DOS with this game.
==EDLIN==
EDLIN was introduced in this version of 86-DOS. It was created out of need for a text editor, a key part of office work and assembly-language development. It was written in either onePaterson, Tim (4 August 2018). VCF West XIII -- Tim Paterson -- Original DOS and the old days. Vintage Computer Federation. or two weeks. The creator, Tim Paterson, has called it the "quickest line editor I could imagine" and an "absurdity". It was meant to last only 6 months,Paterson, Tim (June 1983). A Short History of MS-DOS. BYTE Magazine. p. 246. but ended up being the only text editor until MS-DOS 5.0 and is supported in all Windows NT versions up to Windows 10.
A total of 5 commands are supported – edit line (), delete line ("D"), list text ("L"), insert line ("I") and end editing ("E"). There are also 2 unimplemented and undocumented commands, "F" and "S". All commands except for "E" can optionally be preceded by a line number, to indicate the line to operate on. Delete line and list text can additionally take a range defined by 2 line numbers separated by a comma.
Text files must be small enough to fit into the memory, and there is no way of aborting an edit.
==APIs==
===File search===
The file search APIs (search first and search next) are different and incompatible with later versions of 86-DOS. This version's file search APIs return the 16-byte directory entry of the file found in the disk transfer address, instead of an unopened FCB containing the filename. Since the directory entry and FCB structures are different, applications such as COMMAND.COM do not work correctly under later versions of 86-DOS, and vice versa.
===Log-in vector===
The log-in vector API (system call 24) for returning a bitmap of logged-in drives is supported by this version of 86-DOS, albeit completely undocumented in the manual. It iterates through all drives and decides on whether each drive is in use based on whether the FAT cached for that drive is dirty. This approach is inherently different from CP/M's implementation of the same system call, and therefore, in a way proves that 86-DOS did not copy CP/M code at all.
===Absolute disk I/O===
The absolute disk read/write functions (interrupts 37 and 38) operate in terms of 128-byte records, instead of logical sectors. As a result, they are incompatible with 86-DOS 0.42 and later.
==Bugs and quirks==
*Multiple files are allowed to have the same name, and ERASE erases all files with the specified name. Existing files are not overwritten when new files with the same names are created (via the CREATE command or the file creation API).
*The wildcard character * is not supported. This makes it very inconvenient to copy multiple files at once, and as a side effect, * can be used in filenames. Erasing files with names containing *, such as *.*, using a later version of 86-DOS may cause undesired data loss.
*Various system utilities (such as the assembler) make use of high bit terminated strings, and characters with the 7th bit set may be outputted to the console. The high bits will be automatically stripped when characters are displayed through dumb terminals, but they may cause problems when video card/CRT is used.
*By design, the filesystem supports files of any size; however, in this version, file sizes are assumed to be divisible by 128. If not, they will be rounded (up or down) to the nearest 128 bytes (instead of always rounding up) when accessed. This may cause files created by later versions of 86-DOS to appear truncated.
==Notes==
==References==
Category:86-DOS versions