I hope this doesn't turn into a long thread, but I started digging around through the BIOS extension recently and realized that the error reporting when using the BIOS routines is terrible. As in non-existent.
For example, you can tell the jrIDE to do a BIOS sector read from a hard drive that is not attached and it will happy simulate it. It really should set the carry flag to indicate an error, but no, there is none of that ...
I'm going to think about dusting off my assembler skills and doing a BIOS update. If you have any bugs that you have noticed, please post them here.
jrIDE Bugs
Re: jrIDE Bugs
I'm of the belief that the individual read/write routines do return CY set on errors, but you are definitely correct that there isn't a global block on trying to access a drive that doesn't exist at all. I think that is fairly easily monitored at the entry point of int 13h where the bios is handed the drive number. If that number is > the drive count value at 40:13 (or wherever it exists on the PCjr) then exit with CY set. This gets tricky when there are multiple controllers in the machine when the drive count might not necessarily match what your BIOS is supposed to be in charge of. I don't know how far we need to engineer that particular issue into this design. Mike is probably the only one who could possibly be running SCSI and an IDEjr at the same time. 
Re: jrIDE Bugs
*cough*virtual disk that reads from extended flash*cough*
Re: jrIDE Bugs
That's a new feature request, not a bug. Please fill out the appropriate form in triplicate.
(PC AT compatible clock bios routines would be nice too ...)
(PC AT compatible clock bios routines would be nice too ...)
Re: jrIDE Bugs
I just found this thread. Interesting. Let us know what you find when you dig into the code.
Omne ignotum pro magnifico
--- AtariProtos.com ---
The color of infinity inside an empty glass
--- AtariProtos.com ---
The color of infinity inside an empty glass