Common info for all bugs:
Bochs version is 2.1.1-cvs.
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
megs: 64
vgaromimage: $BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="c.img", mode=flat,
cylinders=1706, heads=16, spt=63
ata0-slave: type=cdrom, path=D:, status=inserted
sb16: midimode=1, midi=/dev/midi00, wavemode=1,
wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=900000
i440fxsupport: enabled=1, slot1=ne2k
keyboard_mapping: enabled=1,
map=$BXSHARE/keymaps/x11-pc-de.map
com1: enabled=1, mode=file, dev=serial.out
parport1: enabled=1, file="parport.out"
boot: disk
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SUMMARY: Various AMIDIAG problems. Not really bugs,
more like "things that aren't handled by Bochs"
Bug 1:
AMIDIAG 5.0: "DMA Controller 1 Registers failed
READ/WRITE."
When I use the AMIDIAG program from American MegaTrends,
it offers me the option to test the DMA controllers.
It is supposed to give no errors if the DMA controllers
are OK, which
(I think) are supposed to be OK on the virtual machine.
But the test fails. Not much of a problem
Bug 2:
AMIDIAG 5.0: "Out of Memory" when testing processor speed
AMIDIAG has a feature for testing processor speed
against a 'reference' value (the "absolute" clock speed
of your processor - the one that is in the processor
spec...).
But, it seems that Bochs goes so fast (remember,
AMIDIAG 5.0 was written in 1996, the average CPU was
~133MHz) that AMIDIAG fails to compute the processor speed.
Bug 3:
AMIDIAG 5.0: "CMOS time is invalid"
When checking the CMOS validity under AMIDIAG, it
returns me this error:
"CMOS time is invalid".
It seems that Bochs are simulation the time in the
wrong way, but how?
Bug 4:
AMIDIAG 5.0 crashes when testing floppy speed.
When using the "Drive Speed Test", AMIDIAG is supposed
to return floppy drive motor speed.
It is known (I tested with a real drive) that this
speed is average 300RPM.
But, AMIDIAG returns "Divide by 0" when doing this test.
Since a disk image does not simulate the motor,
it reads the entire floppy in less than 1 second.
This very small value seems to get convert to minutes,
and the conversion makes small results
(1 minute = 60 seconds, 0.5 seconds = 1/120 minute)
which I think that are rounded to the nearest integer.
A possible solution: Implement a "speed limit" on the
floppy simulation, to give the feeling that there is a
real floppy drive "engine" inside.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If any of the bochs developers has access to AMIDIAG, I
would like to see info and solutions for those bugs.
Logged In: YES
user_id=376477
For bug #1 some logfile output would be useful. I guess there are some
error messages from the DMA controller. Then we have a chance to fix
it.
The other bugs are timing related. I guess we won't be able to fix them
before Bochs 2.2.
Logged In: YES
user_id=376477
The floppy drive speed test uses the unimplemented verify function of
the Bochs BIOS. It immediatlely returns success, so the speed test gets
confused. The "speed limit" for the Bochs floppy is done in CVS for the
format and read commands of the FDC.