the plex86 interface was not updated since 2001 and even doesn't compile together with current Bochs sources.
plex86 source code still can be found in plex86 sourceforge project @ http://plex86.sourceforge.net/
- don't add reserved bitfields to the save/restore tree
- some fixes for big endian machines
- TODO: init max_packet_size in USB devices, find test case, ...
removed bx_instr_new_instruction callback, the callback ALWAYS can be replaced with another one - bx_instr_before_execution
TODO: fix instrumentation examples (example0 and example1)
- added main source file usb_xhci.cc
- TODO: finsh work in register_state()
- TODO: USB devices: initialize max_packet_size
- TODO: test case for xHCI wanted
- using the same init() method for all display adapters
- new method protected init_standard_vga() for the shared vga core
- new method init_vga_extension() implements the extended features
- moved loading of vgabios image for the ISA case from main.cc to the vga init code
- scan for VGABIOS ROM after rombios32 init
- copy PCI ROM to shadow RAM at 0xc0000 and enable it
- NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
default BIOS for PCI display adapters
- TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
- scan for VGABIOS ROM after rombios32 init
- copy PCI ROM to shadow RAM at 0xc0000 and enable it
- NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
default BIOS for PCI display adapters
- TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
Now the handler receives 'rw' (BX_READ, BX_WRTE, BX_EXECUTE) access type as parameter.
If returning a pointer to <addr> - itr is assumed that whole 4K page containing the <addr> could be accessed using the same pointer with offset.
You can return a pointer for READ/WRITE only and disallow execute, this is handled properly in the CPU code.