| What you say is true, but I'd also like to ask (people in general) if you have to design a memory map for MS-DOS that doesn't have the 640K limit, what would you do? Your constraints are: - The total address space is 1MB, and that's a CPU architectural limit (which is only "broken" many years later, and in a rather unsatisfying way). - You need somewhere to map the RAM, and because of CP/M quasi-compatibility, that needs to start at address 0. - The CPU starts executing code at 1MB minus a few bytes, so your system ROM must go right at the top of address space. - You need memory windows for the system ROM, options ROMs and 2x framebuffers. - Bank switching adds extra complexity and 74xx logic chips on a motherboard which is already very busy. Given these constraints, the 640K limit for RAM, with framebuffers and ROMs mapped at 0xA0000, is the only thing that makes sense. |
https://en.wikipedia.org/wiki/Expanded_memory#Expanded_Memor...
(And IIR, Bill Gates had plenty of company in denouncing EMS while announcing official support for it.)