I don't think that the lack of a DMA controller on the PCjr really
slowed it down any. The old double density drives have a data rate of
250,000 bps. If the data is presented one byte at a time, that is just
31250 bytes per second. Even with multiple I/O clock cycles per byte to
get it to the processor and then to memory, a 4.77Mhz processor can keep
up with that easily.
Where the lack of DMA would hurt you is on a much faster interface, such
as a hard disk. Then you wouldn't have any cycles to spare, the the
difference would show up.
On a PCjr the lack of DMA shows up most when doing something time
critical, such as servicing the serial port. The damn things can not
access the floppy drive and run the serial port at the same time.
As for the speed of a Jr, it's glacial compared to a PC because the
first 128K of memory was shared with the video subsystem. It wasn't
dual ported RAM, so the CPU had to wait while the VGA (Video Gate Array)
chip refreshed the screen. The system was flexible in that almost 128K
of RAM could be allocated to the video buffers, but that feature
probably wasn't worth the performance hit.
The best speed modification you can make to a Jr is to add more memory,
and run your programs and data from there. Leave the first 128K for
video and RAM disk. Unfortunately, DOS and the BIOS like to keep a lot
of vital data down low, so you can't avoid that memory entirely.
One of the Tandy 1000s was similar to the Jr, but they did the memory
allocation correctly. They borrowed from the top of memory, not the
bottom. That generally hid the performance problem and let DOS use more
than 128K of memory without loading a device driver.
Yes, a strange machine ...
Mike