
Performance of the 8088 on PC, PCjr and Tandy 1000 - WoodenChair
https://retro.moe/2018/03/04/performance-of-the-8088-on-pc-pcjr-and-tandy-1000/
======
theologic
For context, when these machines were being sold, nobody even thought about
performance in these terms. It is only later that we are benchmarking old
machines to understand the performance gaps, and if you weren't there, you
might think this was relevant at the time.

Generally, in the mid 80s, you needed base performance (8088/8086) or "3 times
as fast" performance (80286) when the AT came about. Compaq (now HP) became
the real competitor to IBM PC/XT because the end user could understand that
they ran at 8 MHz vs the PC 4.77 Mhz. This is as much performance issues that
the users would want to know. Better performance without needing to buy an AT.
Then the clones came about, and everybody started to put a "turbo" button on
front of the clone PC.

My first degree was in finance and accounting, but I fell in love with
technology, so I sold PCs out of the biggest gray marketer in Seattle when the
PC AT (second real computer for business) was coming out. I have first hand
knowledge of the buying behavior because I was on the front lines of computer
sales, and made a ton of good money selling $2-5K computers to people walking
in off the street.

The advent of the PC revolution was all about apps. I'm not saying that there
weren't benchmarks, and maybe you'd find a savvy buyer that subscribed to Byte
magazine, but these were far and few between. Tandy simply didn't have Lotus
1-2-3. The PC Junior wasn't a performance issue, but the term "Junior" just
killed the thing out of the gate. The investment in a PC was a lot of money,
and you weren't going to get a Junior, you were going to get a real PC. (For
instance, the keyboard was much more impactful than any performance thoughts.)

Finally, for those not around, storage was an incredible change agent. A lot
of people think an SSD in a client platform is pretty cool. However, you
cannot image the step up that a hard drive provided versus a floppy drive. The
PC Junior and Tandy had no real hard drive path. While IBM had hard drive
specific model (XT), the effort to install a hard drive in a PC was pretty
small because of the accessibility. An open architecture, which any home
builder takes for granted today, was pretty revolutionary at the time, and
IBM's willingness to allow plug-ins (where they followed Woz) caused it to
cremate the competition with a peripheral market.

~~~
pedasmith
Where I worked (a digital electronics simulation company in the late 1980's),
we said that PC's had "user interface MIPs" but not "CPU MIPs".

A VAX 11/780 (size of a refrigerator) had more CPU power, but access was via
RS232 link to a VT100 terminal. These could be pretty slow: it wasn't unusual
to type a command line and wait up to 10 seconds (or a minute, in really bad
times) to get a response. And a graph could easily take a minute to fully
display on a VT240 graphics terminal.

A PC on the other hand had "user interface MIPs" and could display a graph
instantly. What the PC couldn't do is run our very large, 32-bit required
simulation code.

(As far as how easy it was to add a hard drive: at the time, to add a new disk
to a sun station, you had to recompile the kernel)

~~~
walshemj
Sounds like you where using an overloaded VAX then the PR!ME 550 (similar tech
and a competitor to VAX) we had at my fist job never had such sluggish
performance.

And Vt240 was very much noddy graphics high end then was insanely expensive
vector systems from HP os Tectronix

~~~
pedasmith
Twenty programmers on one vax and actually doing the simulations is CPU
intensive. The VT240 is what our customers had (and they are expensive enough
all by themselves; a single VT340 in 1991 was $3600.

~~~
walshemj
20 people all running intensive programs well I am not surprised sounds like
you needed a bigger vax or more vixen.

~~~
pedasmith
Our vax cost $500,000. It's not something you just get more of :-)

------
32bitkid
I find stuff like this fascinating; I'm old enough to remember computers from
this era, and—at least for me—I have a certain nostalgia for them. The first
computer I was exposed to was an IBM PCjr, so seeing stuff like this 35 years
after-the-fact is pretty mind-blowing, that people still care.

I know that a lot of it is just my age, and I remember my father growing up
used to work on/rebuild the engine on his '64 VW beetle. I think for very
similar reasons: nostalgia, limited complexity, the tangibility of the "API".
For me, POKEing a value in memory and seeing the screen change or a sound play
is tangible. The opcodes of an 8088 are _just_ enough that I can feel like I
understand it. Modern computers feel several orders of magnitude more complex
and—admittedly—more powerful, but at a _cost_. I'm sure my dad thought the
same about electric fuel-injected engines and the ever increasing complexity
of "modern" cars.

Currently, on my work-bench in the garage is a half-completed
[Micro8088]([https://github.com/skiselev/micro_8088](https://github.com/skiselev/micro_8088))
and 8-bit ISA back-plane; still waiting for a few parts to come in. Its been a
lot of fun to work on, and the intent is to get back into doing some retro-
programming. (Hopefully, I have a better understanding of the underlying
architecture now than I did when I spent a summer when I was 14 trying to
figure out the relationship between AH/AL and AX without a concrete
understanding of binary/hexadecimal math)

------
tssva
The lower 128k on the PCjr is shared with the video controller. Contention
caused by this dual access is what slows it down.

~~~
rbanffy
I expected the Tandy 1000 to have similar performance - IIRC, their video
modes are very similar.

~~~
tssva
Most of the Tandy 1000s included a DMA controller which the PCjr did not. This
eliminated the shared memory issues the PCjr suffered from.

Although similar Tandy graphics could utilize different memory blocks for
video. This means that the Tandy was compatible with software written for the
PCjr graphics system but some software written for the Tandy graphics system
is not compatible with the PCjr.

~~~
spc476
The DMA issue was only a factor for the disk drive. While the PCjr graphics
memory was shared with the main CPU memory, the Tandy graphics memory was
separate in the same way that the EGA graphics memory was separate---it was
never used for program code.

In fact, the Tandy graphics was probably _more_ compatible with the normal PC
graphics than with the PCjr graphics. Yes, you could still access CGA graphics
on the PCjr via $B800:0000 but the graphics chip rerouted the accesses to low
memory were it was actually stored.

But to use the 320x200x16 graphics mode (PCjr and Tandy supported this, CGA
did not) on the PCjr, you needed to not only set the mode, but know the
physical address (which could be anywhere in the lower 128K of RAM). When I
wrote programs that used this mode, I had to use a custom MS-DOS configuration
that set aside a block of low RAM for this mode. On this Tandy, you could
avoid this and use the RAM set aside for graphics (starting at $A000:0000 if I
recall correctly).

~~~
tssva
"the Tandy graphics memory was separate in the same way that the EGA graphics
memory was separate---it was never used for program code."

This is incorrect. The Tandy graphics adapter did share ram with the cpu. The
service manual for the Tandy 1000 can be found at
[http://www.thealmightyguru.com/Wiki/images/7/7c/Tandy_1000_-...](http://www.thealmightyguru.com/Wiki/images/7/7c/Tandy_1000_-_Manual_-
_Service.pdf). Starting on page 40 is a good description of how this worked.

------
mysterydip
I know on our PCjr, the first 128k was built in, and above that only worked
when we had the memory expander card attached, so there is a location
difference. The cynic in me says it was an administrative decision to show the
jr as a lower cost lower performance option.

~~~
amorphid
I had a base PCjr with 128K of RAM, one 360K floppy disk drive, and no hard
drive. Copying disks took FOREVER. I was so jealous of my friend who had two
disk drives on his PC.

------
magoon
I remember the PCjr felt considerably slower than the 5150 (PC) and also had a
terrible keyboard, however it was innovative to use infrared to make it
wireless. It also had cartridge slots and a small catalog of (mostly) games
that came on them, but in practice there was no benefit to that.

The biggest problem I saw with Tandy was partial incompatibility with certain
popular software.

~~~
jonhendry18
"but in practice there was no benefit to that."

Apparently the cartridge ROMs weren't afflicted by the wait states that
applied to the first 128k of RAM, so software on the cartridges could actually
run faster than software on disk.

------
rbanffy
On these machines performance was very consistent. They has memory without any
cache, with memory parts with standard timings connected to a memory bus with
the same timing as the CPU clock. Differences were in additional wait states
introduced by other parts (such as the video on the PCjr) of the machine-
specific architecture.

It'd be nice to run a similar set of benchmarks on "almost compatible"
machines such as the Sanyo MBC-555, the Zenith Z-100 or the Mindset.

------
Shivetya
Having owned all three of these; I grew up in an IBM house hold but later on I
had two different Tandy 1000 series PCs (EX and the bastardized TX which had
an 80286 on a XT board). We had a PC from early days complete with the large
hard bound manuals, single sided diskettes, and text only.

Now the regardless of processor the PCjr was seriously impacted in that that
the keyboard interrupt was not there but actually had to be handled by the
processor. See
[https://www.brutman.com/PCjr/pcjr_keyboard_handling.html](https://www.brutman.com/PCjr/pcjr_keyboard_handling.html)
for a good description of what this incurred.

(now for the rambling part) The Tandy was great for their 16 color hack and
better sound which made games so much more enjoyable. (star flight being my
favorite game ever and it used two 360k diskettes for a persistent
environment)

fwiw, even before dedicated graphics we had cool games. Even Wizardry which I
had on my Apple was available for the PC and I played it with the ASCII
character set being used to create the halls in 3D (think plus sign, bars, and
minus signs). All the text based games many reminisce about are from this era

