[Coco] Coco Memory

Phill Harvey-Smith afra at aurigae.demon.co.uk
Sat Jul 4 08:13:58 EDT 2009


Paul Fitch wrote:
> I've got a question that s been bothering me off and on for decades.
> 
> The Coco under basic can easilly see 32k, and 64/128 K with ML routines.
> When the Coco3 came out, MS-dos intel machines using 8086/80186 processors
> could access and use 640k.  What was intel doing differently from Tandy to
> allow that odd non-base 2 memory amount? Ie, 1k, 2k, 4k, 16k, 32k, 64k,
> 128k, 512k, 1-meg, 2-meg.  640k falls in the middle there.  What were they
> doing that was so strange that the coco couldn't do it to?

Well firstly you have to remember that the 8086/8088 processors are 
16bit whereas the 6809/6309 are 8 bit.

The 8086/8088 have a 20 bit address bus which allows them to access a 
total of 1M of memory, however when IBM designed the PC, it designed the 
memory map in such a way that the top 384K of the memory map was 
reserved for adapter ROMS and I/O space. This is where the 640K comes from.

There is of course nothing to stop you putting RAM in the ROM & I/O 
space, it's just that DOS would not use it without special drivers. 
Indeed EMS memory was just a bank of unused space int the top 384K, that 
could have additional RAM paged into it, in much the same way as the 
CoCo3 can page RAM.

Cheers.

Phill.

-- 
Phill Harvey-Smith, Programmer, Hardware hacker, and general eccentric !

"You can twist perceptions, but reality won't budge" -- Rush.



More information about the Coco mailing list