Description from the author:
This API allows framebuffer device plugins to draw directly on to the
GUI's tile buffer and hence eliminates the need to memcpy(3C) tiles to
an intermediate buffer. Functions like update_hardware_cursor function
are rendered unnecessary as framebuffer device plugins can now draw the
full range of host colours. svga_cirrus will fallback to calling
graphics_tile_update without a hardware cursor if the GUI doesn't support
the new API. This patch includes implementations of graphics_tile_info,
graphics_tile_get, and graphics_tile_update_in_place (the new API) for SDL
and X11.
- new graphics update API implemented in wx and rfb
- common update functions for guis without support for the new API added (should
be removed after implementing the new API in all display libraries)
1. Review and commit patch
[ 896733 ] Lazy flags, for more instructions, only 1 src op
May be partially, but I hope to get all ideas from patch in
2. Get Bochs speedup after lazy flags optimization
3. Most important for me: improve correctness of emulation by handling several
undocumented EFLAGS modifications. And finally pass
UFLAGS - Undefined Flags Test v 3.0
Copyright (C) Potemkin's Hackers Group (PHG) 1989,1995
The test still fails on > 50% of its checks.
2. Fixed bug
[ 989478 ] I-Cache and undefined Instruktions
The L4 microkernel uses an undefined instruction to
trap for a special requests into the kernel (LOCK NOP).
The handler fixes this up and gives the user a special
code page with syscall stubs. If you're not using the
I-Cache optimization everthing works find on bochs. But
if you enable the I-Cache (--enable-icache), then the
undefined opcode exception is thrown only once for ever
virtual address it occurs. See the demodisk of the
L4KA::pistachio
(http://www.l4ka.org/projects/pistachio/download.php).
In this case the pingpong benchmark of this demo is of
interest. Everything runs fine until the program tries
to spawn a new task for its measurements. This new task
shares the code of the creating program. But the new
task stops executing at the undefined instruction
explained above and no exception is thrown.
data written to the port and where to get the data read from it. Available
modes are 'null' (no input/output), 'file' (output to a file specified as
the 'dev' parameter), 'term' (serial terminal) and 'raw' (use the real serial
port - under construction for win32).
- descriptions for serial and parallel options in bochsrc sample updated
memory handling in memory.cc removed)
- CRTC write protection implemented
- 16-bit read access to some VGA registers added
- memory handler code now conciders the status of the A20 line