News Oldest known version of DOS unearthed – MS-DOS ancestor 86-DOS version 0.11 is now available on the Internet Archive

Status
Not open for further replies.

abufrejoval

Reputable
Jun 19, 2020
615
454
5,260
When you wrote "Here is one of the earliest builds of what became Microsoft's darling.It's been compiled in July 1980, and less than 10 people had seen it.Until now." that immediately rang wrong, because compilation at the time was stricly applied to high level languages and I'm rather sure this was written in assembly code.

In fact I'd hazard that pretty nearly all DOS variants like its CP/M brethren were written in assembly, which is why Unix was such a revolutionary approach when it was re-written in C.

But even if the 8088 in fact allowed for the giant amount of 640KB of RAM, the first generation systems often had much less, wouldn't even have the full complement of 64KB. Pretty sure the original IBM-PC actually didn't take more than 64KB on the mainboard but at the time RAM expansion was still done via expansion cards.

When you fight for every byte you didn't dare use a compiler for a DOS, even if you had one, which early on they obviously didn't.
 

adamXpeter

Commendable
Jun 19, 2022
39
9
1,535
When you wrote "Here is one of the earliest builds of what became Microsoft's darling.It's been compiled in July 1980, and less than 10 people had seen it.Until now." that immediately rang wrong, because compilation at the time was stricly applied to high level languages and I'm rather sure this was written in assembly code.

In fact I'd hazard that pretty nearly all DOS variants like its CP/M brethren were written in assembly, which is why Unix was such a revolutionary approach when it was re-written in C.

But even if the 8088 in fact allowed for the giant amount of 640KB of RAM, the first generation systems often had much less, wouldn't even have the full complement of 64KB. Pretty sure the original IBM-PC actually didn't take more than 64KB on the mainboard but at the time RAM expansion was still done via expansion cards.

When you fight for every byte you didn't dare use a compiler for a DOS, even if you had one, which early on they obviously didn't.
Please note that assembly is not machine code, it is compiled, too.
 

leoscott

Distinguished
Dec 30, 2009
119
8
18,715
When you wrote "Here is one of the earliest builds of what became Microsoft's darling.It's been compiled in July 1980, and less than 10 people had seen it.Until now." that immediately rang wrong, because compilation at the time was stricly applied to high level languages and I'm rather sure this was written in assembly code.

In fact I'd hazard that pretty nearly all DOS variants like its CP/M brethren were written in assembly, which is why Unix was such a revolutionary approach when it was re-written in C.

But even if the 8088 in fact allowed for the giant amount of 640KB of RAM, the first generation systems often had much less, wouldn't even have the full complement of 64KB. Pretty sure the original IBM-PC actually didn't take more than 64KB on the mainboard but at the time RAM expansion was still done via expansion cards.

When you fight for every byte you didn't dare use a compiler for a DOS, even if you had one, which early on they obviously didn't.
Memory16 KB – 256 KB (motherboard)
 

Joseph_138

Distinguished
I would fully expect Microsoft to send in the lawyers. Technically, DOS is still under copyright protection, as it isn't old enough, yet. The first Mickey Mouse cartoon has only just passed out of copyright protection, and that was released in 1928.
 
Jan 2, 2024
1
0
10
Please note that assembly is not machine code, it is compiled, too.
Except it isn't. Assembly language is "Assembled" by either a single pass or multi-pass assembler. Note: if it was actually compiled then it would indicate a level of portability that Assembly simply does not have. Before commenting I would recommend you do a few tutorials or actually try writing your own assembly code as it would teach you the basics of how opcodes, operands from an assembly language etc get assembled into machine code.
 
Last edited:

abufrejoval

Reputable
Jun 19, 2020
615
454
5,260
Please note that assembly is not machine code, it is compiled, too.
That interpretation might have held true at about 1952 when Grace Hopper first used the term for A-0.

But that changed already in 1957 when the first Fortran compiler was finished by John Backus & al.

Grace then sure pushed for much higher abstraction levels with the Common Business oriented Language aka COBOL in 1959. She redefined the term she created to imply an abstraction level of the code which was above machine code.

That's not the case for assembly.

Nobody would have called CP/M ASM or MS-DOS MASM compilers and I have no idea what Seattle computers used, perhaps some type of Intel MDS-80 Blu Box with an Intel furnished assembler and linker.

And in case you haven't had a chance to enjoy Grace, please have a look here. She sure was a lot of character in a tiny body!
 
Last edited:

abufrejoval

Reputable
Jun 19, 2020
615
454
5,260
Memory16 KB – 256 KB (motherboard)
Early revisions of the IBM PC had 16KB soldered and allowed expansion to 64KB via DIL sockets using 16Kbit RAM chips.
Later revisions featured 64KBit RAM chips, had 64KB soldered and could be expanded to 256KB on the mainboard.

The first one I used at work was already an IBM PC-XT, probably with 128KB.

I should really remember, because IBM PCs used hardware parity for RAM, which had to be initialized on a cold start. So I remember staring at the top right, where RAM was being checked and parity was initialized for quite a few seconds with RAM amount counting upward before the system would finally boot.

It also had a Hercules graphics card for 720x348 monochrome bitmapped graphics, which was the main justification for the purchase of that system over using time shared mainframes.

Of course it had this giant 5 1/4" 10MB full height hard disk, which was still called a "Winchester Drive" and it ran PC-DOS 2.0 with subdirectories to manage it.

I ran quite a few variants of CP/M on my own Z-80A and Z-80B systems at home before and during that time until I could afford an 80286.

I don't know where I got the CP/M 2.2 -3.0 assembly source code, but I did have it and read it "cover-to-cover" at the time. Just like Unix v6, written in C, where we went through the full source code at university.
 

dmitche31958

Honorable
Aug 13, 2019
65
18
10,545
An incredibly early release of 86-DOS has been found, imaged, and shared on the Internet Archive. This is an important find as it is a direct ancestor to PC DOS and MS-DOS.

Oldest known version of DOS unearthed – MS-DOS ancestor 86-DOS version 0.11 is now available on the Internet Archive : Read more
I'm sorry but this is so not interesting that I have to respond. This is not similar to finding a "direct ancestor", but simply an earlier, undeveloped work-in-progress. No one will be jumping through hoops to download and use it. There is no new found information here, other than to show what hadn't been developed into the OS at this point in time.
 

JeffreyP55

Distinguished
Mar 3, 2015
684
169
19,070

adamXpeter

Commendable
Jun 19, 2022
39
9
1,535
Except it isn't. Assembly language is "Assembled" by either a single pass or multi-pass assembler. Note: if it was actually compiled then it would indicate a level of portability that Assembly simply does not have. Before commenting I would recommend you do a few tutorials or actually try writing your own assembly code as it would teach you the basics of how opcodes, operands from an assembly language etc get assembled into machine code.
In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

A translator or programming language processor is a computer program that converts the programming instructions written in human convenient form into machine language codes that the computers understand and process. It is a generic term that can refer to a compiler, assembler, or interpreter—anything that converts code from one computer language into another.[1][2] These include translations between high-level and human-readable computer languages such as C++ and Java, intermediate-level languages such as Java bytecode, low-level languages such as the assembly language and machine code, and between similar levels of language on different computing platforms, as well as from any of these to any other of these.

You should enjoy more machine code without an assembler and a linker. See the example here: https://www.ibm.com/docs/en/zos/2.1.0?topic=guide-sample-program

It is enough if you assemble "145+reallylongsymbol st 7,a8+8*(b5-constant-7)(3)" to machine code.
 
Status
Not open for further replies.