Re: 640K is enough for anyone
> 20 bits gives you 1MB (not Mb).
Exactly, and I have some 8086, 8088 and even an 80186 machines here where almost the whole 1megabyte is available for the OS and programs.
> Now some of that address space is required for things like the BIOS ROM, buffers, screen memory and IO so during the
hurried design of the IBM PC the IBM beardies declared that there would be a maximum of 640KB available as general RAM, the rest being reserved for the system.
The original 5150 'A' Model only had address lines for 256Kb no matter how many 16Kb or 64Kb memory cards you could stuff into it. The 'B' model (which I have here) did allow memory to grow to 640Kb if you could afford the cards and could find enough slots (such as with an expansion cabinet).
Other machines had other limits. I have a Sharp PC that has around 900Kb with the BIOS and screen buffers above that.
> (from qDOS which was originally written for Z80)
I don't know where you got that from. QDOS was based on CP/M and was written (some say cloned*) to support the 8086 S100 cards that SCP were starting to produce for their Zebra S100 systems. There was no need, nor any utility, in having it written for Z80 as SCP were a full OEM for DRI's CP/M.
* At the time there were so called 'source code decompilers' for CP/M (and other) which output annotated 8085 source from the CP/M BDOS. In fact all the annotations and source were coded in the 'decompiler' but it had to be sequenced by the BDOS binary to avoid copyright issues.
Intel had also produced an 8085 ASM to 8086 ASM-86 converter. It has been alleged that these two together is how the first cut of QDOS was produced. Apparently it was from CP/M 1.4 BDOS because Gary Kildall claimed that SCP-DOS had a bug that was present in 1.4 and was fixed in 2.0 and 2.2.