Plex86 doesn't completely emulate the PIC, e.g. polling mode etc. aren't
done. If you provide more info e.g. are you reprogramming the pic, what
are you doing to it etc. If you send me some pesudocode of what should
work but doesn't, I can take it from there.

But simply saying that the IRQ doesn't arrive is like saying "there's a
problem". Yeah but how can I recreate the problem? It could be a bug,
but I suspect it's not a bug but rather just incomplete emulation of the
hard disk controller.

Hint: since Linux works, the IRQ code necessarilly works too. Linux
won't use the BIOS (but Windows 95 uses the BIOS for hard disk access,
at least I noticed that in an earlier version of bochs that was the
case). Thus, try using old hard disk commands rather than new ones.

Your OS might be trying to use some new commands that use 32-bit DMA or
LBA addresses or allow for super large drives... don't expect any of
those to work. Plex86 is (IMHO) developed to be _POTENTIALLY_ 100%
compatible with a real PC. That means that nothing needs to be removed
to be 100% compatible (that appears to be the aim; in practice some
things like the BIOS would need considerable reworking).

Thus, you'll need to add code to the device driver emulators, or else,
make your OS support a legacy system. I recommend you take the latter
option because legacy support is important for diagnostics mode, IMHO.
So make it so that it can use the old hd commands.

Like I said I can't help much since I can only ASSUME the
above-indicated thing is the problem.

Kevin Lawton wrote:
> 
> Debian User wrote:
> >
> > Hey...
> > Plex86 has been awsome at helping me develop my OS, but unfortunatly, besides
> > the physical memory access bug I sent a fix for, I have no idea how to fix
> > the following problem:
> > After sending all the required parameters to the hard disk controller, I send
> > the 0x20 (read multiple sectors with retries) command to the controller, and
> > wait for an interrupt.  Under vmware, as well as in a real system, the IRQ
> > arrives and the data is read from the data I/O port of the controller.
> > In plex86, no IRQ arrives.
> >
> > Any idea why an IRQ wouldn't arrive?
> >
> > When replying, please include [EMAIL PROTECTED]
> 
> This sector - is it C/H/S = {0,0,0}?  I just scanned the hard drive
> code quickly and see there is an abort for that sector for some
> WinNT case, with no interrupt.  Just a thought...
> 
> Also, if you have a GRUB loadable ELF file or whatever, put it somewhere
> and post a URL so I can try it.
> 
> -Kevin
> 
> --
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Kevin Lawton                        [EMAIL PROTECTED]
> MandrakeSoft, Inc.                  Plex86 developer
> http://www.linux-mandrake.com/      http://www.plex86.org/

Reply via email to