Ramon van Handel wrote:
> Why ? Is this (again) due to imperfect timing in the monitor, or
> is there a different reason ?
I'm not sure. I think DOS waits around for a reply from the
keyboard or something like that. I never got the keyboard
code perfect. Same thing in bochs. When I boot from the
floppy, this doesn't happen though. Seems to be a defect
more in the hardware emulation than anything else.
BTW, I hacked the DMA code just a little, and plex86
can boot DOS from floppy now. For the next release
I want to see if we can boot the test kernels
from GRUB + test kernel, rather than the bootloader hacks.
> That sounds like a job for me :) I guess a simple lookup table
> will do... I'll work on it.
That would be cool. There was an oddity, where the hard drive
emulation code registers port numbers 0x1f0..0x1f7 one byte
at a time. 0x1f0 is a word port. 0x1f1 is a byte port. Yet
when you access 0x1f0, it needs to get the whole word.
The current plugin code was splitting these accesses into 2.
Perhaps if a device owns consecutive ports, pass accesses in
larger quanta to the device, and let it split them up.
> >In general, my opinion on performance is, that measuring
> >it now is only useful to see how much we've gain
> >over time.
>
> That is, IMO, a very useful thing to do.
Much agreed.
-Kevin