Borderline PCjr floppy disk drives?

Hardware questions and modifications
Brutman
Site Admin
Posts: 1331
Joined: Sat Jun 21, 2008 5:03 pm
Contact:

Why the Jr needs STACKS=0,0

Post by Brutman »

DOS has a few different stacks that it can switch to when handling interrupts. 8088 class machines are slow at switching stacks, so for performance reasons DOS gives you the option (STACKS=0,0) to not switch stacks during an interrupt.

Even with the stack switching turned on, things should just be slower. So what's wrong with the Jr?

Somebody disassembled DOS 5 and figured out that it was hooking the hardware keyboard interrupt. It doesn't do this on a PC or an XT, and it should have avoided it on the Jr as well but the programmer that checked the 'ID' byte assumed that any ID byte that was greater than FE was an AT class system. (Unfortunately, FD is the Jr.)

So there is an alternative to STACKS=0,0 - you can patch the check in DOS that hooks the keyboard interrupt. Probably not worth doing, but that is the technical reason why it works on a PC or XT without STACKS=0,0, but not on the PCjr.


Mike
hyperfrog
Posts: 47
Joined: Wed Jul 22, 2009 3:49 pm
Location: Québec City, QC, Canada

Re: Borderline PCjr floppy disk drives?

Post by hyperfrog »

Up and running now! Thank you guys!

Christian
Post Reply