[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu vga.c

From: Fabrice Bellard
Subject: Re: [Qemu-devel] qemu vga.c
Date: Wed, 27 Aug 2003 19:39:15 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.1) Gecko/20020828

Johan Rydberg wrote:
Fabrice Bellard <address@hidden> wrote:

: It is currently fast enough to have a usable PC emulator. Many DOS games : are usable. It should be faster than the bochs emulation but slightly : slower than the dosemu one. This VGA emulation code is more accurate : than either bochs or dosemu (all VGA modes, including non standard ones : (i.e. the ones not supported by int $0x10) should work), but of course : more testing is needed.

Sounds great.  Maybe you could show us deadly being some nice screenshots?

If I have the time, the next release will really support VGA emulation so that you can actually try it. I'll try to put screenshots.

: There are some optimisations pending (VGA memory accesses could be : faster, but I wanted first to have a simple code). The S3 specific code : the SVGA emulation is not finished. It will be mainly used to launch X11 : or Windows in high resolution modes. I also have to modify the LGPL'ed : vga bios to add S3 VESA support.

I saw that you trap all writings to the graphics memory.  Is this a
must, or can't you just store the data in a buffer and process it according
to the current mode when the display should be updated?

Correct vga emulation requires that you trap all memory writes and read as in planar mode complex binary operations can be performed by the VGA card on the 4 planes simultaneously (when writing or reading one byte, the VGA card writes or reads 4 bytes simultaneously). Even in "chain4" mode which is the simplest memory mapping (linear VGA memory access), writes to some memory planes can be disabled. My upcoming optimizations will consist in using specialized memory access functions for each case, and by mapping memory directly when possible (it is possible only if chain4 mode is activated and if all 4 VGA planes are enabled).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]