86-DOS 0.33

86-DOS 0.33
Version of 86-DOS
Placeholder.png
Version0.33
Release date1980-12
Replaces
86-DOS 0.3
Replaced by
86-DOS 0.34

86-DOS 0.33 is a released beta[1] build of QDOS/86-DOS. It was shipped with 2 manuals: the 86-DOS Version 0.3 Programmer's Manual and the 86-DOS Version 0.3 User's Manual.[2][3]

The version number for this build is mentioned in David Hunter's 1983 interview with Tim Paterson, published in Softalk for the IBM PC. Paterson noted the lack of variable sector record sizes in this version and ones before it.[4] The feature would be added in 86-DOS 0.42.[5]

New features[edit | edit source]

86-DOS 0.33 doesn't change much to 86-DOS 0.2. Most changes occur internally. However, an early form of the DEBUG command was added; additionally, interrupts and function calls were majorly reworked for developers.

DEBUG[edit | edit source]

DEBUG is 86-DOS' resident debugger. It would later be modified and used by IBM in its PC-DOS, as well as by Microsoft in MS-DOS, and gain some preliminary disassembly powers.[6]

History[edit | edit source]

DEBUG was originally developed in January 1979 to aid in 8086 software development. It was originally on a ROM chip alongside Seattle Computer Products' 8086 monitor, but would later be converted to a .COM file and added to the operating system.[6][7][note 1]

DEBUG has been compared to CP/M's Dynamic Debugging Tool (DDT) by critics.[8] However, other reviewers have called it "as good as any of the general-purpose debuggers to be found in the 8-bit world" and noted its good instruction tracing compared to Z80 debuggers like DDT or ZSID.[9]

Usage[edit | edit source]

The command DEBUG <filename> loads a binary (.COM) file to address 0100h in memory and allows a user to enter commands. The commands are as follows:[note 2]

Command Description Notes
D <address or range> Dump - displays memory contents at range Memory is displayed in hexadecimal and ASCII
E <address> (<list>) Enter - replaces address in executable with hex value If a list isn't entered, the user will be prompted to enter them until a carriage return is entered
F <range> <list> Fill - fills range of addresses with values in list
G (<address> ... <address>) Go - run a program with breakpoints
H <address> <address> Hex - performs hexadecimal arithmetic on values in addresses 2 results are returned, the sum and difference
I <hex4> Input - takes a specified 16-bit port address and displays its stored output Can only be used with the output (O) command
L (<address> <drive> <record> <record>) Load - (with parameters) loads sectors from a disk's logical drive into memory, or (without parameters) loads the current program into memory
M <range> <address> Move - moves the block of memory in range to address Block of memory isn't deleted, so the command instead copies the data
N <filename> Name - loads a file into DEBUG after start
O <hex4> <byte> Output - sends byte to 16-bit port address Can only be used with the input (I) command
Q Quit - exits DEBUG
R (<register name>) Register - (with parameters) displays register and allows modification, or (without parameters) dumps the register save area
S <range> <list> Search - searches the range for bytes in list, with the address of the first occurrence being output
T (<hex4>) Trace - traces number of instructions specified and dumps registers after each instruction finishes As this command uses the hardware trace mode of the 8086, even ROM is traced
W (<address> <drive> <record> <record>) Write - (with parameters) writes a portion of memory to the specified sector, or (without parameters) writes a portion of memory to a file in the FCB

Commands[edit | edit source]

The following list includes only newly confirmed commands, and not the ones already known to be present in 86-DOS 0.2 and QDOS 0.10. They are all sourced from the user's and programmer's manuals.[10][11]

Command Type Notes
DEBUG External
MAKRDCPM External
CHKDSK External

Barry Watzman disk[edit | edit source]

comp.os.cpm newgroup member Barry Watzman (May 26, 1949 – May 17, 2010)[12][13] owned[14] and subsequently sold five Seattle Computer Products floppy disks,[15] including an 86-DOS 0.33 disk.[14] Watzman bought the 8-inch diskette directly from Seattle Computer products due to an ad in BYTE Magazine. Along with the operating system and the manuals that came with it,[note 3] he also bought SCP's S-100 system, including the hardware[note 4] used inside the Gazelle and the Tarbell double-density disk controller.[2][3][16][17][18]

Notes[edit | edit source]

  1. It was used during the development of Microsoft BASIC for the 8086 in May 1979, and then again for the development of 86-DOS.
  2. Note that the words address, byte, drive, hex4, list, range, record, and string will be used in the table. A drive, byte, record, hex4, or address is a hexadecimal number with 1, 2, 3, 4, or 5 digits respectively; a range is 2 hexadecimal addresses separated by a space; a string is a list of characters surrounded in single or double quotes (' or "); a list is a series of either bytes or strings.
  3. He also kept the purchase's invoice, included in the package he sold.
  4. This hardware included the circuit boards, 8086 CPU and its support board, and 4-port serial card.

References[edit | edit source]

  1. Hemmings, Bill (5 May 1999). Dos 1.1. comp.os.cpm.
  2. 2.0 2.1 Watzman, Barry (14 August 2007). Imsai 8080. PC Review.
  3. 3.0 3.1 Watzman, Barry (4 November 2003). Wanted: SCP 86-DOS & CP/M-86 PRELIMINARY RELEASE. comp.os.cpm.
  4. Hunter, David (March 1983). The Roots of DOS: Tim Paterson. Softalk for the IBM Personal Computer. p. 12-15.
  5. Microsoft. MS-DOS 1.25 and 2.11 Source Code. Computer History Museum.
  6. 6.0 6.1 Sedory, Daniel (2 August 2020). A Guide to DEBUG. The Starman.
  7. Paterson, Tim (4 August 2018). VCF West XIII -- Tim Paterson -- Original DOS and the old days. Vintage Computer Federation.
  8. Machrone, Bill (26 May 1987). Roots: The Evolution of Innovation. PC Magazine.
  9. Machrone, Bill (Late 1981). Seattle Computer Products' 8086 System. Microsystems Magazine. p. 24.
  10. Paterson, Tim (December 1980). 86-DOS Version 0.3 Programmer's Manual. PatersonTech.
  11. Paterson, Tim (December 1980). 86-DOS Version 0.3 User's Manual. PatersonTech.
  12. Barry A. Watzman Obituary. Dignity Memorial.
  13. Dunkel, Tom (6 June 2010). Cautionary Tale: A Killing in the Stock Market. AOL News.
  14. 14.0 14.1 Watzman, Barry (22 July 2009). Images of Seattle Computer Proudcts (SCP) S-100 boards. comp.os.cpm.
  15. Watzman, Barry (6 August 2009). I did it. I have really gone and done it.. comp.os.cpm.
  16. Watzman, Barry (23 April 2005). Where things appear to be going..... comp.os.cpm.
  17. Watzman, Barry (1 April 2005). cp/m and new computers. comp.os.cpm.
  18. Watzman, Barry (29 June 2009). netbooks--1 GB Ram and XP-Why?. comp.sys.laptops.