[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