The Great Apple //c vs. IBM PCjr Christmas Sales Battle...
bp
On 4/22/07, Michael B. Brutman <mbbrutman-cctalk at brutman.com> wrote:
I have my PCjr shrine. The cyberspace one is at
http://www.brutman.com/PCjr
Most of you already know that the PCjr didn't have dedicated video RAM.
The video RAM was shared with the 128K of memory on the motherboard,
and there was some logic to arbitrate between the CPU and the video
circuitry. The video circuitry always won, so a normal PCjr with just
128K (the original design limit) was effectively half the speed of a PC
5150, even though they had the same CPU running at the same clock speed.
(The memory was not dual ported.)
IBM called the video logic the 'Video Gate Array', and often abbreviated
it as VGA. So when I tell people that my PCjr has a VGA, I am
technically not lying.
The standard PCjr has only 64K of RAM, soldered to the motherboard.
Certain video modes (the enhancements to CGA) were not available unless
you had a 128K machine, where the extra memory went to a dedicated slot.
I believe the video circuitry treated the memory as two banks, so the
extra 64K really was necessary for the enhanced modes, not for storage
but for memory bandwidth.
The VGA took memory references in the B8000 to BFFFF and remapped them
to whatever 16K 'bank' of memory was selected in the first 128K to be
the real video memory. The bank was very flexible to configure; a stock
PCjr would put it at the high end of memory (112 - 128K) and grow it
downwards as needed. A device driver could relocate it. And when you
did add extra memory to a PCjr and wanted it usable by DOS, you
absolutely needed the device driver.
The #1 flaw on the PCjr (in my humble opinion) was making the assumption
that memory was capped at 128K, and having the machine put the video
memory at the top of memory. This required a device driver to fix
things up if you had more memory. If they had designed the video memory
to be shared at the top of installed memory and not assumed that 128K
was the maximum, the machine would be far more usable. I think the
Tandy 1000 series did it correctly.
(A BIOS oddity - for a machine with a supposed 128K limit, the BIOS
knows how to count to 640K.)
Mike