Commit Graph

142 Commits

Author SHA1 Message Date
Stanislav Shwartsman
9d907b5f65 Try to specify everywhere the list size in bx_list_c constructor 2007-04-03 22:38:49 +00:00
Volker Ruppert
883339c458 - call bx_gui->dimension_update() in after_restore_state() if a VBE mode is
active (standard VGA and Cirrus modes don't need it, since it is handled in
  the normal screen update code)
2007-03-11 09:43:33 +00:00
Volker Ruppert
3dd9df62c7 - don't modify display library options parameter when splitting it into a list
of arguments
2006-11-12 18:26:58 +00:00
Volker Ruppert
c592b9527c - deactivate device parameter handlers in destructor 2006-09-17 20:39:37 +00:00
Volker Ruppert
190b9391cf - delete the device object in the plugin_fini() function of each plugin device
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
   disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
2006-09-10 17:18:44 +00:00
Volker Ruppert
d2d7c65e37 - VGA memory is now a part of the common video memory (same as real hardware)
- sequencer map mask bit handling simplified
- some save/restore data format changes
2006-08-18 15:43:20 +00:00
Volker Ruppert
e810c83345 - fixed VGA memory read access (correct plane access and read mode in all
memory configurations)
2006-08-17 17:06:08 +00:00
Volker Ruppert
c0bee9324d - VBE 4bpp fixes (line offset + plane address shift)
- maximum VBE screen size updated
2006-08-15 16:48:23 +00:00
Volker Ruppert
92c1720e3e - removed VGA compatibility hack from VBE code (now done in VGABIOS) 2006-08-14 20:31:18 +00:00
Volker Ruppert
6d50341985 - VBE video memory increased to 8 MB (new version of the LGPL'd VGABIOS under
construction)
- fixed VBE y offset check to avoid crash before panic
2006-08-09 17:52:06 +00:00
Volker Ruppert
139ea79c70 - fixed VBE y offset check (add x offset to start address after check) 2006-07-11 07:49:23 +00:00
Volker Ruppert
60fab95d08 - fixed calculation of VBE screen height after changing virtual width
- setting VBE screen start causes now a panic if the bottom of the screen
  would be outside of video memory
- improved VBE debug messages
2006-07-08 13:05:50 +00:00
Stanislav Shwartsman
fee48d74e0 Avoid doing strdup for param name field - most of the strdups elliminated ! 2006-05-29 22:33:38 +00:00
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
77653bcf3d More indent and C++ style changes (explicitly write virtual before virtual desctructors).
The PCI read/write handlers written in new C++ - more flexible and easy-to-understand
2006-03-07 21:11:20 +00:00
Volker Ruppert
154702eaca - serial, parallel and usb options rewritten to a parameter tree
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
2006-03-01 17:14:36 +00:00
Stanislav Shwartsman
dfeaf141f0 Register I/O APIC as memory handler, optimize memory handlers array 2006-02-27 19:04:01 +00:00
Volker Ruppert
d4d4cbf6dd - display and interface options rewritten to a parameter tree
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +00:00
Volker Ruppert
3d7ddc90a5 - fixed possible division by zero error if the line offset value is 0
- VGA enable register implemented (enabled by default)
2006-01-07 12:10:59 +00:00
Volker Ruppert
cef74b528a - moved runtime handler for 'vga_update_interval' into the device (TODO: this could
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
d7807a9841 - allocate vbe memory dynamicly (saves memory if extension Bochs VBE is not selected) 2005-10-27 17:53:41 +00:00
Volker Ruppert
87e7dd3434 - don't allocate video memory if already done (this was wasting memory)
- don't init / reset Cirrus extension if disabled
- store last active BPP value independent from selected vga extension (fixes possible
  panic when switching from a Cirrus 640x480 mode to standard VGA)
2005-10-27 09:32:02 +00:00
Volker Ruppert
e98c100f74 - a bunch of warnings in MSVC fixed
- name of source file in wxworkspace.zip fixed
2005-06-04 17:44:59 +00:00
Volker Ruppert
7b5d0b53ed - fixed horizontal pel panning handling in text mode 2005-04-30 21:22:26 +00:00
Volker Ruppert
34653048ef - optimizations in function redraw_area()
- if a screen update is needed after i/o writes, now redraw_area() is called instead
  of duplicating the code
2005-04-15 17:33:54 +00:00
Volker Ruppert
bf1f4816a6 - store the text snapshot at the base address of the text_snapshot array again.
The old code could fail when an OS scroll with start address changes (DLX Linux)
- handle the graphics controller shift register value 3 the same way as 2. We need
  a test case for this setting.
2005-03-27 08:02:54 +00:00
Volker Ruppert
6144d8118a - text mode update code no longer depends on the memory mapping (fixes SF bug
#1159639)
- size of text snapshot space increased to 128 kByte (for all memory mappings)
- immediately return after the panic when the number of text lines is too large
  to avoid segfault
2005-03-18 14:52:29 +00:00
Volker Ruppert
0b1497d13e - fixed broken screen updating in VBE mode (SF patch #1153511)
- fixed 8-bit DAC support in the VBE update code
- simplified redraw code in vbe_write()
2005-02-28 21:23:34 +00:00
Volker Ruppert
5b57471245 - vga extension check added. Unsupported extension names now cause a panic
- vga extension option in bochsrc sample added
2005-02-10 09:48:12 +00:00
Volker Ruppert
a16fbc293a - vga extension option partially implemented (Bochs VBE interface and PCI VGA
dummy interface are now disabled if the extension isn't set to "vbe"
- writing charmap data in graphics mode now supported (SF patch #1059199)
- fixed set_ask_format() for the mouse type option
2005-02-01 19:16:39 +00:00
Volker Ruppert
975cd53fa5 - vbe update code now uses the new graphics API
- old update code removed from display libraries sdl, wx and x
- wx.cc: fixed a warning
2004-11-06 17:03:44 +00:00
Volker Ruppert
03b9d07d52 - unused vga function dump_status() rewritten for the use with the debugger ("info vga") 2004-08-24 10:15:56 +00:00
Volker Ruppert
09043def10 - fixed possible segfault if the LFB is accessed and VBE is disabled
- if USB is disabled in bochsrc the old VBE interface can be enabled, too
2004-08-23 18:47:25 +00:00
Volker Ruppert
45ccb97021 - CL-GD 54xx SVGA emulation added (SF patch #869822 from m_suzu_abc@yahoo.co.jp)
- changes to the original svga_cirrus patch:
  * PCI memory/mmio PnP support, some emulation and compile fixes
  * ported write mode 4 + 5 and some bufixes from cirrus vga in qemu
  * new graphics API, hardware cursor support, configure option added (Robin Kay)
  * partial support for transparent bitblt and bitblt write mask
2004-08-16 08:07:23 +00:00
Volker Ruppert
d06c80cee3 - changed all iodev config macros to BX_SUPPORT_xxx
- removed incorrect SDL/ prefix from include paths (patch from Robin KAY)
2004-08-06 15:49:55 +00:00
Volker Ruppert
89f4d0b7d0 - 16-bit read access now enabled for the attribute controller
- vbe: setup of vga compatible registers modified: 2 CRTC registers removed (now
  done in LGPL'd VGABIOS) and 2 sequencer controller registers added
- obsolete comments removed
2004-07-24 18:12:00 +00:00
Volker Ruppert
6784f00723 - VBE 4 bpp support added, VBE mode 0x0102 works much better now in WHATVGA 2004-07-21 20:39:54 +00:00
Volker Ruppert
f24f8a4c77 - VGA memory now registered using DEV_register_memory_handlers (static VGA
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
2004-07-18 19:40:51 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Volker Ruppert
36d7f60c21 - VBE LFB memory now registered using DEV_register_memory_handlers (static LFB
memory handling in memory.cc removed)
- type of memory handlers changed to bx_bool
- misc_mem.cc: fixed a warning
2004-06-06 17:01:19 +00:00
Volker Ruppert
7cd2f11e79 - VBE 8 bit DAC support added 2004-05-04 20:41:53 +00:00
Volker Ruppert
02f326264e - charmap address for block numbers > 0 fixed
- some BX_INFO and BX_DEBUG messages changed
2004-04-25 07:16:09 +00:00
Volker Ruppert
ac6bed9a17 - vga code prepared for the split screen feature in text mode
- display library sdl: text mode split screen implemented
2004-04-09 15:04:54 +00:00
Volker Ruppert
5c9c57a60a - don't enable vbe if already active
- value of flag vbe_get_capabilities fixed
2004-03-02 16:29:27 +00:00
Volker Ruppert
7f9edd09c8 - convert the display library option string (options separated with commas) to an
array of strings in vga init
- added sdl specific option "fullscreen" (startup in fullscreen mode)
2004-02-24 19:21:48 +00:00
Volker Ruppert
d5f337e1ef - prepared implementation of display library specific options
- fixed bug #890734 (commas in strings enclosed with double quotes)
2004-02-22 18:51:38 +00:00
Volker Ruppert
d748f22ed0 - new gui function get_capabilities() returns the maximum values for xres, yres
and bpp (done for the x display library)
- new switch VBE_DISPI_GETCAPS. The xres, yres and bpp registers return the gui
  capabilities if enabled.
- VBE_DISPI_ID3 defined
2004-02-22 13:03:02 +00:00
Volker Ruppert
897695270b - notify the display library if the bpp value changes (switching from VBE to VGA mode) 2004-01-24 20:50:45 +00:00
Volker Ruppert
2127a3925b - re-implemented old VBE interface for backward compatibility (USB must be disabled) 2003-12-31 10:33:27 +00:00
Volker Ruppert
c99cd71125 - don't print the VBE disable info if the status is unchanged 2003-11-06 18:48:01 +00:00