Menu

#881 AMIDIAG under Bochs: various problems (4 in one)

open
nobody
None
5
2014-11-04
2005-03-05
Renan Birck
No

Common info for all bugs:

  • Host PC is a 3GHz Pentium IV with Windows XP
    Professional, Service Pack 1. Those problems didn't
    appear so bad on a 233MHz Pentium II host with Windows 98.

Bochs version is 2.1.1-cvs.

  • Guest OS is DR-DOS 7.03 with Windows 3.1. Bochsrc.bxrc:

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.

Discussion

  • Volker Ruppert

    Volker Ruppert - 2005-04-03

    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.

     
  • Volker Ruppert

    Volker Ruppert - 2005-10-23

    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.

     

Log in to post a comment.