PCjr floppy controller

Hardware questions and modifications

PCjr floppy controller

Postby Vorticon » Wed Jun 11, 2014 7:12 am

Hi.
Is the jr floppy controller non-standard compared to an IBM PC? I have been trying to run the 22DISK utility to read/write CP/M disks for my Kaypro, and although it does recognize the jr floppy drive, it keeps giving out the error "drive not ready" when it tries to access it. When this happens and I exit from the utility, the floppy drive no longer works and I have to reboot the system...
This is a bummer because I got rid of my old 386 PC to make some space figuring I'd be able to use the jr instead for most of my DOS needs. That was a mistake... Looking on Ebay, the going price for a "vintage" PC (386/486/Pentium) seems to be in the $250-500 range, which is ludicrous. My only use for the 386 was as a floppy generating machine for my CP/M systems combined with a fantastic CD archive of CP/M software from Walnut Creek.
Vorticon
 
Posts: 276
Joined: Fri Nov 27, 2009 7:25 am

Re: PCjr floppy controller

Postby Brutman » Wed Jun 11, 2014 7:38 am

At the BIOS level it is compatible, but at the register level it is quite different. Any program that tries to use the hardware directly needs a PCjr specific version; COPYIIPC is an example of such a program. (There is one version for PCs and one for PCjrs.)
Brutman
Site Admin
 
Posts: 931
Joined: Sat Jun 21, 2008 5:03 pm

Re: PCjr floppy controller

Postby Vorticon » Wed Jun 11, 2014 9:27 am

I guess that explains the problem then... I guess I'd better locate a cheap 386 PC then. Time for a trip to Goodwill :)
Vorticon
 
Posts: 276
Joined: Fri Nov 27, 2009 7:25 am

Re: PCjr floppy controller

Postby geoffdaddy » Wed Jun 11, 2014 12:16 pm

Vorticon wrote:Hi.
Is the jr floppy controller non-standard compared to an IBM PC? I have been trying to run the 22DISK utility to read/write CP/M disks for my Kaypro, and although it does recognize the jr floppy drive, it keeps giving out the error "drive not ready" when it tries to access it. When this happens and I exit from the utility, the floppy drive no longer works and I have to reboot the system...
This is a bummer because I got rid of my old 386 PC to make some space figuring I'd be able to use the jr instead for most of my DOS needs. That was a mistake... Looking on Ebay, the going price for a "vintage" PC (386/486/Pentium) seems to be in the $250-500 range, which is ludicrous. My only use for the 386 was as a floppy generating machine for my CP/M systems combined with a fantastic CD archive of CP/M software from Walnut Creek.


Interesting! I had plans to use my PCjr for the purpose of reading/writing disk images for my Coleco ADAM computer (for which I use 22DISK also). Maybe I'll have to rethink my plans.
PCjr: 10MB RACore 01 hard drive expansion, Hotshot 640kB RAM expander, optical mouse, Xircom PE3, speech sidecar.
geoffdaddy
 
Posts: 121
Joined: Wed May 15, 2013 5:22 pm

Re: PCjr floppy controller

Postby Vorticon » Thu Jun 12, 2014 6:39 am

Why would IBM decide on a different floppy controller for the Jr is beyond me... It's like they tried everything to cripple that machine from the get go, and then wondered why it flopped.
Vorticon
 
Posts: 276
Joined: Fri Nov 27, 2009 7:25 am

Re: PCjr floppy controller

Postby Brutman » Thu Jun 12, 2014 8:07 am

Read the main web site?

The PCjr does not have DMA. That requires another chip (the DMA controller), a few support chips, and wires on the bus. The PC floppy controller needs DMA, so it can't be used directly.

Now the more nuanced reasons .. When the PC was designed (1981) it had a DMA controller. The DMA controller is good because it lets the main CPU handle other interrupts while longer block transfers from the floppy drive or hard drive are happening. (In 1981 the hard drive was not an option yet.) The PC DMA controller also does double duty by handling the DRAM refresh, which the video circuitry on a PCjr does. Without DMA, the CPU can handle the floppy controller but it probably can't handle any interrupts. Which means lost data when reading from the serial port and doing I/O at the same time. (The PCjr has a more severe problem; not only does it have to handle the keyboard interrupt, but the CPU also has to process the incoming data stream. Which is why it beeps like mad and ignores you while the floppy drive is running.)

But really, except for handling the keyboard and serial port while the floppy drive also happens to be active, DMA is not needed on a PCjr. So there was a design trade-off made. No DMA = lower cost machine that has a few quirks, but mostly works. And it was compatible at the BIOS level, which is what counts for well behaved DOS applications.

In retrospect they should have put DMA on the machine and kept it as compatible as possible. Think of it as PC hardware in a smaller, friendlier package. But at the time they were trying to protect the big iron.

The lack of DMA is not the big problem with the machine. The memory hole is a much worse design decision that has far more impact on the machine.
Brutman
Site Admin
 
Posts: 931
Joined: Sat Jun 21, 2008 5:03 pm

Re: PCjr floppy controller

Postby geoffdaddy » Thu Jun 12, 2014 2:11 pm

Well, it at least appears that they had DMA as an add-on expansion in mind when they designed the system, at least as far as the FDC is concerned since it's wired up for it on the expansion bus.
PCjr: 10MB RACore 01 hard drive expansion, Hotshot 640kB RAM expander, optical mouse, Xircom PE3, speech sidecar.
geoffdaddy
 
Posts: 121
Joined: Wed May 15, 2013 5:22 pm


Return to PCjr Hardware

Who is online

Users browsing this forum: alanh and 1 guest