IBM 5150 maximum memory?

Tony Duell ard at
Sat Apr 26 15:08:41 CDT 2008

> Duh, the other really stupid one: taking the 1MB memory space and 
> putting BIOS and video where they did.

Well, they had to put some ROM at the top of the address space because an 
8088 starts executing at FFFF:0000 after a reset.

That IMHO is another Intel Misfeature, which goes as follows : 

The 8080 (and for that matter the Z80) starts esecuting at location 0 on 
a reset.

Therefore, the origianl Intellec 8080 development system, with a 
lights-and-switches panel had _RAM_ at location 0. You wrote a jump 
instruciton at locaition 0 pointing to your code (or the monitor ROM), 
then reset the processor and gave it the bus. It executed the jump, and 
thus the desired progam

Therefore CP/M was designed to have RAM at location 0, since it was 
origianlly developed on Intel development machines

On later CP/M machines, without a front panel, it was necessary to RAM at 
location 0, and thuse a little ROM/logic that provided the power-on jump 
to a ROM at the top of the address space after a reset.

So far, so good.

The Intel mesifeature was making the 8088 and 8086 start at a location 
near the top of the memory map after a reset as as attempt to get round 
this 'problem' not realising that _any_ fixed reset location would have 
essentially the same effect.

And to make the 80286 (and later) processors start at the same location 
as the 8085, and thus somewhere in the middle of their much larger 
address space was plain insane. 


More information about the cctech mailing list