On Wed, 2005-10-19 at 13:59 +0100, Nick Barker wrote:
I now have some more information on running the VGA
bios through the
emulator on the epia-m
I have implemented both real mode and emulated VGA initialisation. The real
mode brings up the vga properly, whilst the emulation does not. The emulated
version runs to completion and also returns with Carry Flag set which I'm
assuming means that it has given up trying.
Using TSC, a performance counter set to count instructions, and a simple
instruction counter in the main loop of the emulator, I have come up with
the following statistics for the vga initialisation sequence:
CPU Clocks = 691,530,971 (600Mhz processor = 1.1 seconds approx)
Instructions executed = 16,481,875
Interestingly this gives a clocks/instruction ratio of about 43, which we
can put down to intensive I/O and which must stall the processor by many
clock cycles per I/O.
CPU Clocks = 4,618,464,706 (= 7.7 seconds approx)
Instructions executed = 1,946,308,181
Emulated instructions = 13,756,300
Did you try the user space testbios? As you probably have known,
the VGA BIOS tend to poll some register to wait for some envent,
usually this lead to the same wall-clock time.
Li-Ta Lo <ollie(a)lanl.gov>
Los Alamos National Lab