Volker Ruppert
aaf5d0a94d
- removed raw floppy access support for Win 95/98/ME hosts
2011-08-22 17:57:21 +00:00
Volker Ruppert
d5973c06cf
- added runtime config handler for the floppy. Now the media change is handled
...
after all parameters have been set.
2011-08-19 20:20:25 +00:00
Volker Ruppert
e607d6e070
- rewrite of the method init_module() similar to the netmod one
...
- lowlevel sound modules must always include their headers for correct
auto-generated dependencies
2011-08-18 07:05:09 +00:00
Volker Ruppert
4b4f691a80
- don't include plugin.h in bochs.h to reduce dependencies
2011-08-17 22:41:03 +00:00
Stanislav Shwartsman
a03e0266fb
added yonah CPUID to cpudb. remove bxversion.h from dep files
2011-08-16 19:58:56 +00:00
Volker Ruppert
fd56ce2a5a
- forgot to add / remove files
2011-08-16 17:31:16 +00:00
Volker Ruppert
592c3399eb
- created separate plugin 'netmod' that contains the common networking code
...
and the supported ethernet modules
- renamed eth.* files to netmod.*
- pseudo-device plugin implementation similar to 'soundmod'
- TODO: move sound, net and usb stuff to a separate subdirectory of iodev
2011-08-16 17:27:27 +00:00
Volker Ruppert
7bbfee58a2
- usually the realtime synchronization keeps the PIT-based system clock in sync
...
with the host time. After using a runtime config dialog or save and restore
simulation, this behaviour makes the PIT clock and the VGA update timer
running way too fast until it's back in sync. Now the elapsed time is stored
in the variable 'real_time_delay' and it is used to let the PIT clock run at
realtime speed, even if it is out of sync.
2011-08-15 10:37:41 +00:00
Volker Ruppert
a0b4b4898b
- implemented graphics snapshot for mode X (variant of VGA mode 0x13)
...
- bugfix: CGA1 mode depends on the CGA compatiblity switch
2011-08-14 14:56:54 +00:00
Volker Ruppert
b8b2a7253b
- implemented graphics snapshot for VGA mode 0x13
...
- new method get_dac_palette() for the graphics snapshot feature
- small code cleanup
2011-08-14 08:06:05 +00:00
Volker Ruppert
9416eaccc2
- added error handling for the case malloc() fails
2011-08-10 07:12:32 +00:00
Volker Ruppert
d2b0146a7e
- changed BX_ERROR to BX_PANIC for the case a host directory does not fit on the virtual disk
...
- stop reading host directory in case of an error (finally causes a BX_PANIC)
2011-08-09 16:52:18 +00:00
Volker Ruppert
f151aabe5f
- added support for snapshot from EGA/VGA standard memory layout (saved as 8 bpp BMP)
...
- added new method get_vga_pixel() that read the color value from EGA/VGA memory layout (moved from
display update code and now also used for snapshots)
- minor code cleanups
2011-08-08 07:52:25 +00:00
Volker Ruppert
bce6a17b98
- VBE specific case for graphics snapshot can be used for >= 8 bpp modes only
...
- palette data for snapshot is now dword aligned to simplify code
- prepared snapshot code to support 4 bpp EGA/VGA memory layout (not yet complete)
2011-08-06 13:08:31 +00:00
Volker Ruppert
c7f63fca93
- added palette for 8 bpp support
...
(TODO: support for standard VGA 4 bit mode - saving as 8 bpp BMP)
2011-08-05 15:47:33 +00:00
Stanislav Shwartsman
fb405ad39a
Compile in MONITOR/MWAIT support by default for all cpu-level=6 configurations.
2011-08-02 19:52:24 +00:00
Volker Ruppert
828b52fc50
- prepared graphics snapshot feature for VBE and Cirrus modes (TODO: save data in BMP format)
2011-08-01 18:21:25 +00:00
Volker Ruppert
eb0c06f357
- added new parameter 'update_freq' for the 'vga' option that should replace the
...
'vga_update_interval' option. The screen update frequency is still based on
the emulated clock unless the realtime sync is enabled with the 'clock' option.
TODO: rewrite the virt_timer code to support realtime screen updates
independent from 'clock' setting.
- fixed changing parameter 'update_freq' at runtime (timer object and blink counter)
2011-07-26 22:16:24 +00:00
Volker Ruppert
c8d2f60225
- added runtime config handler for the ATAPI cdrom code. Now the media change is handled after both
...
parameters (path + status) have been set. TODO: implement this feature for the floppy, too.
- call update_drive_status_buttons() from update_runtime_options() to reduce the number of calls.
Now call update_runtime_options() from the gui floppy / cdrom handlers after closing dialog.
2011-07-24 14:11:10 +00:00
Volker Ruppert
5014eed268
- link lowlevel cdrom support with the hdimage plugin instead of harddrv and usb_common. This fixes
...
duplicate log prefixes on Windows if both IDE and USB cdroms are used in plugin mode. Windows also
requires the cdrom base class and the init_cdrom() method to link and work correctly.
2011-07-17 17:23:12 +00:00
Volker Ruppert
345d67c403
- removed BeOS support from sources and documentation
2011-07-11 17:36:10 +00:00
Stanislav Shwartsman
a6853a8b75
removed not implemented g2h device
2011-07-10 21:25:12 +00:00
Volker Ruppert
20ae4af54c
- removed 'arpback' networking module (ARP simulation still exists in the 'vnet' module)
2011-07-10 20:56:54 +00:00
Volker Ruppert
bdbe2cfb03
- added more values in register_state() (not yet complete)
...
- 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, ...
2011-07-10 09:30:04 +00:00
Volker Ruppert
72f73e7d8d
- the stubs for the PCI core must be always present (fixes bug reported in SF forum)
2011-07-08 12:13:41 +00:00
Volker Ruppert
3f3feef718
- more work on USB xHCI support
...
- 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
2011-07-06 21:07:34 +00:00
Volker Ruppert
6dd13e1f12
- some more work for USB xHCI support
...
- added new configure option (don't use it yet)
- added header file usb_xhci.h
- TODO: add main source file (update in progress)
2011-07-05 18:31:15 +00:00
Volker Ruppert
c2d0c207f7
- preparing Bochs for experimental USB xHCI support (written by Ben Lunt) TODO list:
...
- add sources (update in progress)
- update configure script
- initialize new USB devices member 'max_packet_size' (need help from Ben)
2011-07-04 19:42:47 +00:00
Volker Ruppert
4699840aaf
- reorganisation of the vga init code:
...
- 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
2011-07-03 15:31:16 +00:00
Stanislav Shwartsman
03879cf90d
added infrastructure for prefetch support in the memory handlers
2011-06-29 19:48:46 +00:00
Volker Ruppert
9c1b043abb
- use a dynamicly allocated buffer for the PCI ROM instead of a static one
...
- set maximum PCI ROM size to 128k
2011-06-27 19:46:13 +00:00
Stanislav Shwartsman
a1a140682c
cleanup
2011-06-26 20:22:04 +00:00
Volker Ruppert
1bcac13fcb
- PCI ROM support added to the cirrus device (SeaBIOS now usable in Bochs with cirrus setup)
2011-06-26 19:32:16 +00:00
Volker Ruppert
deef94eb12
- added PCI ROM support to bx_pci_device_stub_c and use it in the pcivga device (based on a patch by
...
Sebastian Herbszt). TODO list:
- modify LGPL'd VGABIOS to make it work with SeaBIOS
- modify Bochs BIOS to set up the legacy address 0xc0000
- implement PCI ROM support in the cirrus device
- move load_ROM calls to the display adapter code to handle the ISA case
2011-06-26 17:42:07 +00:00
Volker Ruppert
16bd4c6401
- added pci_base_address array to bx_pci_device_stub_c and use it in most of the PCI devices instead
...
of several base address variables (ne2k still uses base_address for both ISA and PCI)
2011-06-25 12:43:27 +00:00
Volker Ruppert
598b15f080
- the pcivga device can now be used even if Boche VBE support is disabled (VBE framebuffer BAR is
...
not available in that case)
2011-06-23 21:03:39 +00:00
Volker Ruppert
fce2386f99
- set log prefix depending on the selected vga extension (new prefix "BXVGA" for Bochs VBE support)
2011-06-23 17:02:48 +00:00
Volker Ruppert
2137c8bd81
- moved pci_conf array as a protected member to the PCI device stub class (exists in all PCI devices)
2011-06-23 15:56:02 +00:00
Volker Ruppert
e88cda9fc0
- fixed compilation error if PCI is enabled without lowlevel cdrom support
...
(SF bug #3294671 )
- related fixes in the USB MSD / SCSI device code
2011-06-21 19:54:37 +00:00
Stanislav Shwartsman
93360601f8
Print debug value before modifying it
2011-06-19 15:31:51 +00:00
Volker Ruppert
48e8df25ff
- fixed some MSVC warnings
2011-06-19 05:37:30 +00:00
Stanislav Shwartsman
84647d127b
Fixed incorrect typecast in acpi.cc
...
This bug prevented boot of WinXP and Win7 64 images!
2011-06-18 09:54:43 +00:00
Volker Ruppert
d03db7f940
- several changes related to cdrom runtime configuration
...
* moved runtime handlers for cdrom from config.cc to the device object
* cd media status variable is now always of type bx_bool
* changed obsolete gui names like "cdromD" to "cdrom1"
* TODO: implement new runtime config mechanism similar to USB
2011-06-13 09:32:39 +00:00
Stanislav Shwartsman
1414e0bd6e
Report memory above 4GB to BIOS (patch by Sebastian Herbszt)
2011-06-12 20:27:36 +00:00
Volker Ruppert
cb8faeee52
- implemented new mechanism to update device config parameters that depend on
...
each other. Devices can register a handler to update it's state after runtime
configuration. The new method update_runtime_options() executes all registered
device handlers before the simulation continues.
- USB host controllers now using the new mechanism to handle the runtime device
change (replaces the previous timer-based implementation). TODO: floppy and
cdrom could use this feature, too)
- improved USB device change messages
2011-06-11 19:38:52 +00:00
Stanislav Shwartsman
fecda2ce16
Limit extended_memory_in_64k to 3 GB - 16 MB. PCI Memory Address Space starts at 3 GB.
...
Sebastian
2011-06-10 06:38:11 +00:00
Volker Ruppert
f2f4099bc1
- small cleanups in the pit_wrap and virt_timer code
...
- TODO: rewrite virtual timer code to support both timer types at the same time
2011-06-04 06:40:04 +00:00
Volker Ruppert
0638a4174d
- use timer functions for recording only if the record handler is not NULL
...
- added sound recording framework in the soundosx.* files. I hope someone wil
be able to add the required platform specific code.
2011-05-24 16:47:07 +00:00
Volker Ruppert
59ce011333
- soundwin.cc: improved error messages
...
- fixed some warnings
2011-05-20 17:39:32 +00:00
Volker Ruppert
f32870a377
- implemented sound input support on Windows using the default wave mapper
2011-05-13 21:08:33 +00:00
Volker Ruppert
ecefdbbb93
- using the virtual timer (like the PIT device) instaed of the stanard timer
...
makes screen updates independant from the ips value if the realtime
synchronization is enabled ("clock: sync=[realtime|both]").
Thanks to Stanislav for pointing me to this direction.
2011-05-11 16:08:13 +00:00
Stanislav Shwartsman
39ccbf5a77
cleanup and style changes, fixed gcc4.6 warning
2011-05-10 20:04:20 +00:00
Volker Ruppert
11e9b12fbf
- PIT must be connected to IOAPIC pin INTIN2
...
- converted tabs to spaces
2011-05-04 18:37:50 +00:00
Volker Ruppert
7d9704e080
- small fixes according to the specs
...
- raster operations 0x90 and 0xda
- maximum BLT height is 2048
2011-05-03 19:19:38 +00:00
Volker Ruppert
e5aa057346
- BLT MODE EXTENSION register is marked as "reserved" for the CLGD5430, so we
...
must ignore writes to it (fixes "garbled W" bug in Win95 with Cirrus ISA)
- fixed "inverted transparent colorexpand" bug (pointed me to the above issue)
- TODO: IE 5.5 startup window is still not okay
2011-05-01 19:09:27 +00:00
Volker Ruppert
f5e3a6eff3
- the BLT extension "inverted transparent colorexpand" always uses the
...
foreground color. This fixes the "white text" bug in original Win95 (A) with
the Cirrus ISA driver.
TODO: fix the "garbled W" bug (related to "dword granularity").
2011-05-01 14:53:54 +00:00
Stanislav Shwartsman
76c11e1a40
- Configure option --enable-acpi is deprecated and should not be used anymore.
...
The ACPI support is always automatically compiled in if PCI is compiled in.
The ACPI still could be disabled using .bochsrc 'plugin_ctrl' option.
Updated CHANGES and docs as well.
2011-04-30 20:04:42 +00:00
Stanislav Shwartsman
01ba2ef2b0
recv can return -1
2011-04-30 18:47:04 +00:00
Stanislav Shwartsman
38ec72ece3
Merged serial port fix from [Bochs-developers] accessing COM1 via telnet.
...
Upon investigation the problem is easily fixed in bx_serial_c::rx_timer_handler():
<snip>
ssize_t bytes = read(socketid, &chbuf, 1);
#endif
if (bytes)
{
BX_INFO((" -- COM %d : read byte [%d]", port+1, chbuf));
data_ready = 1;
}
<snip>
I think this means the extra check above will give no noticeable degradation of performance, so hopefully this can be applied to SVN. It would avoid screwing up a running instance of Bochs when a remote network client unexpectedly disconnects from the COM1 tcp port.
Also some cleanup in serial.cc code.
2011-04-30 18:22:35 +00:00
Volker Ruppert
e8555036ea
- limit output packet size to max. 0,1 sec for continous sound at low data
...
rates (e.g. 8000 Hz, 8 bit, mono)
2011-04-26 18:35:43 +00:00
Volker Ruppert
b7e457dc86
- enabled support for DAC1 output (both DACs cannot send output to the lowlevel
...
module at the same time yet)
2011-04-25 17:35:39 +00:00
Volker Ruppert
c5f385552f
- use the new Core Audio API if available (SF patch #3292581 by Heikki Lindholm)
...
- TODO: some more work may be required
2011-04-25 11:22:19 +00:00
Volker Ruppert
f45b16d6c0
- fixed recording / playback of different audio formats / sample rates
2011-04-25 08:47:19 +00:00
Volker Ruppert
14ecf33ad5
- sound input support for OSS implemented
...
- ALSA: fixed possible assertion failure in stopwaverecord()
2011-04-24 18:45:37 +00:00
Volker Ruppert
e3916f0df4
- always enable Cirrus extensions of the PCI version
...
- changed statements true / false to 1 / 0
- added definitions for unimplemented features
2011-04-24 08:08:35 +00:00
Volker Ruppert
61ac09e297
- allow writing to MBR (except partition table) to make Win95 happy
2011-04-23 14:18:01 +00:00
Volker Ruppert
72b4a1fe46
- implemented sound input support for the ALSA sound support
...
- TODO #1 : move lowlevel sound recording / playback to a separate thread
- TODO #2 : sound input support for OSS
2011-04-22 13:11:47 +00:00
Stanislav Shwartsman
c9c067bf8b
compilation fixes for OpenBSD
2011-04-21 18:29:07 +00:00
Stanislav Shwartsman
9979817f4a
fix for acpi (merge SF patch)
2011-04-21 15:40:33 +00:00
Stanislav Shwartsman
ea7c4d6887
gcc 4.6 warning fix - unused var
2011-04-20 17:43:21 +00:00
Stanislav Shwartsman
1a7d38c28b
bswap optimization patch by Heikki Lindholm + cleanup
2011-04-19 12:48:06 +00:00
Volker Ruppert
dfaa18bcd0
- two of the BLT raster operations might be implemented in a wrong way, but no
...
test case present yet. Added BX_ERROR for the case they are used.
- improved detection of unimplemented features
2011-04-17 13:20:47 +00:00
Volker Ruppert
637823b530
- wave input feature using lowlevel sound module implemented (currently
...
returning silence)
- TODO: implement sound recording in the lowlevel sound modules
2011-04-10 21:12:30 +00:00
Volker Ruppert
f6ac6abd92
- implemented dummy sound input support (returns silence) and prepared the
...
ES1370 emulation to use it.
TODO #1 : implement real sound input in the lowlevel sound modules
TODO #2 : implement sound input in the SB16
TODO #3 : rewrite sound output code to use the same API
2011-04-04 16:07:24 +00:00
Volker Ruppert
580159d2d8
- deleted executable property
2011-04-03 09:55:17 +00:00
Volker Ruppert
4e0303fb56
- small optimization in read / write sector loop: no need to calculate logical
...
sector address when incrementing
- removed useless duplicated list of unsupported commands
- LBA flag changed to type bx_bool
2011-04-02 13:19:52 +00:00
Volker Ruppert
29c5c45609
- implemented gameport (joystick) presence control by external device and use
...
it in the ES1370 device (enabled by default)
2011-03-31 16:54:06 +00:00
Volker Ruppert
0ff7ba3431
- fixed sound output after restoring state
...
- improved debug message
2011-03-27 09:32:17 +00:00
Volker Ruppert
a626140c35
implemented ATA commands READ NATIVE MAX ADDRESS and READ NATIVE MAX ADDRESS EXT
2011-03-22 19:55:07 +00:00
Volker Ruppert
932df44658
- renamed some symbols from BX_SOUND_OUTPUT_* to BX_SOUNDLOW_*
...
- es1370: fixed transfer size for the ADC channel
- es1370: call startwaveplayback() when the DAC2 channel is activated
- added missing change to BX_SUPPORT_SOUNDLOW
- changed type of variable "stereo" to bx_bool
- minor other changes
2011-03-20 18:02:12 +00:00
Volker Ruppert
6c58d00c62
updated dependencies
2011-03-20 16:18:45 +00:00
Volker Ruppert
e6d56f97ae
- renamed bas class for lowlevel sound support to bx_sound_lowlevel_c
...
- define symbol BX_SUPPORT_SOUNDLOW to make the lowlevel sound modules
independent from the presence of the SB16 emulation
2011-03-19 12:57:13 +00:00
Volker Ruppert
65f7056328
- moved BX_MIN and BX_MAX macro definitions to bochs.h, removed duplicates and
...
use it in es1370.cc
- improved log messages
2011-03-15 22:18:40 +00:00
Volker Ruppert
43650c4459
- load 'current sample count' with new value of 'sample count'
...
- status register can be read in byte and word mode (undocumented?)
- modified some log messages
2011-03-13 20:29:00 +00:00
Volker Ruppert
50d34fdfca
fixed malformed host name caused by typo
2011-03-13 20:28:29 +00:00
Volker Ruppert
e67bb30120
- added documentation for the ES1370 soundcard
2011-03-13 09:09:34 +00:00
Stanislav Shwartsman
1dd995abc3
Adding Id and Rev property
2011-03-12 20:34:38 +00:00
Volker Ruppert
ae45908060
- ported ES1370 soundcard emulation from Qemu. For now, only sound output to
...
DAC2 is sent to the lowlevel sound module. DAC1 and sound input (ADC) are not
yet supported. Also unsupported: CODEC (mixer), UART (MIDI) and legacy support.
Sound module selection in configure script now no longer depends on SB16 and
uses autodetection only.
- fixed segfault when saving bochsrc
2011-03-12 17:37:26 +00:00
Volker Ruppert
8c32359615
The VBE display extension is now a part of the Bochs core. The configure option
...
--enable-vbe is now deprecated and the symbols BX_SUPPORT_VBE and
BX_SUPPORT_PCIVGA have been removed. To enable VBE support, the bochsrc option
"vga: extension=" must be set to "vbe". If PCI is present, you can assign the
"pcivga" device to a PCI slot.
2011-03-07 19:01:22 +00:00
Volker Ruppert
1df7a9131b
Fixed possible buffer overflow causing segfault or memory corruption. The
...
buffers are not large enough for the maximum sector count in LBA48 mode. Now
resetting buffer pointers after processing a PRD (and move remaining data if
necessary). This should fix the SF bug items #3190970 and #3077616 .
2011-03-06 20:51:52 +00:00
Volker Ruppert
e79fcfb98d
- documentation for networking module 'slirp' added
2011-03-03 16:49:29 +00:00
Volker Ruppert
e5f40d7188
- missing DHCP error handling added
...
- don't forward DHCP request to Slirp
- improved comments
2011-03-02 17:51:52 +00:00
Volker Ruppert
fa556ed33d
- implemented DHCP support in eth_slirp.cc
...
* moved DHCP request processing core from eth_vnet.cc to eth.cc
* reply packet processing grabbed from the 'vnet' code
2011-03-01 20:47:12 +00:00
Volker Ruppert
9425ed0184
- prepared eth_slirp.cc for DHCP support (detect DHCP packet - partly copy &
...
paste from eth_vnet.cc)
- fixed possible compilation failure
2011-02-27 21:04:09 +00:00
Volker Ruppert
49f4a38c82
- applied user mode networking patch by Heikki Lindholm. It requires the most
...
recent version of Slirp with Debian patches applied. On a Linux host the
guest OS can access the internet without running Bochs with root privileges.
TODO:
* rewrite the DHCP part of eth_vnet.cc that it can be used here, too
* Slirp doesn't compile on 64-bit Linux with GCC 4.5
* WIN32 is not supported yet
2011-02-27 08:08:12 +00:00
Volker Ruppert
7123451fc0
- cleaned up config.h symbols of networking modules. Updated missing files
2011-02-26 20:33:28 +00:00
Volker Ruppert
ac61b38825
- cleaned up config.h symbols of networking modules. Now always using name format
...
BX_NETMOD_xxx and set them in configure script
2011-02-26 20:10:06 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Volker Ruppert
01f8f62b55
- next step of documentation updates for release 2.4.6
2011-02-20 09:35:48 +00:00
Volker Ruppert
69ed651340
- alsa: send buffer once again if resource was busy
2011-02-19 10:25:18 +00:00
Volker Ruppert
1553e78842
- alsa: open PCM device in non-blocking mode
...
- fixed log message type
2011-02-19 08:48:53 +00:00
Volker Ruppert
4e3b704a19
- created separate plugin 'soundmod' that contains the lowlevel sound output
...
stuff (pseudo device implementation similar to 'usb_common' and 'hdimage')
2011-02-14 21:14:20 +00:00
Volker Ruppert
fa4d2822ec
- moved dummy sound output functions to a separate file
...
(TODO: create a separate 'soundmod' plugin, implement a PCI soundcard)
- output device / file parameter type changed to const char*
2011-02-13 17:26:52 +00:00
Volker Ruppert
24ac0e90b6
- added global "speed" option to be passed with the "optionsX" port parameter.
...
This option sets the supported speed reported by device (up to 'maxspeed').
- added symbol USB_SPEED_SUPER for USB 3.0
2011-02-12 14:00:34 +00:00
Volker Ruppert
d7e9cec933
- changed all log messages in the lowlevel sound modules to BX_ERROR, BX_INFO
...
and BX_DEBUG to make them independent from the SB16 emulation
- soundwin: increased number of buffers to 64
2011-02-10 22:58:22 +00:00
Volker Ruppert
dec6bcaf73
- started separation of sb16 and lowlevel sound module code. The first step is
...
an own header file for the basic sound output class. When ready we should
have a separate 'soundmod' plugin that could be used by other soundcard
implementations.
2011-01-25 23:29:08 +00:00
Volker Ruppert
44ece7cf26
- including vga.h in iodev.h no longer necessary and symbol NO_DEVICE_INCLUDES
...
is useless then
- updated makefile dependenies
2011-01-24 20:35:51 +00:00
Volker Ruppert
d6eaf0f427
- fixed typo in mf3/ps2 scancode set (SF bug #3140332 )
2011-01-23 11:44:36 +00:00
Volker Ruppert
a5634f2e38
- gui configuration fixes
...
* cpu msrs: parameter type changed to filename (for "browse" button)
* usb: box title no longer needed, since we have now a tab window
2011-01-22 16:49:00 +00:00
Volker Ruppert
cf4e7f5b5d
- added flag HDIMAGE_AUTO_GEOMETRY and return it by default in base class if
...
cylinders are set to 0
- open image before getting capability flags and return after panic
- simplified geometry detection code
2011-01-21 16:00:38 +00:00
Volker Ruppert
e570e863c2
- fixed file descriptor / file handle leak (ported from Qemu)
...
- always stop parsing directory at final entry
2011-01-20 21:10:06 +00:00
Volker Ruppert
adb8359bb0
- moved mouse parameter handling to the keyboard parameter handler
2011-01-20 16:54:42 +00:00
Volker Ruppert
f4cbdc9827
- fixed file modification time generated with mktime (timezome value is already
...
applied and the daylight savings time information is not available)
2011-01-19 18:28:08 +00:00
Volker Ruppert
00c4dc40d6
- added floppy string parameter handler and moved "path" handling there
...
- the "readlonly" parameter is now completely handled in the floppy code
- detect VVFAT as 1.44 MB media when using the "image=" parameter in bochsrc
2011-01-18 21:04:44 +00:00
Volker Ruppert
9d3fc394a5
- simplified floppy parameter init code
...
- added floppy parameter handler and moved some runtime parameters there
2011-01-17 21:36:00 +00:00
Volker Ruppert
9b89f19d79
- improved USB configuration with gui
...
- fixed device change flag handling
2011-01-16 17:17:28 +00:00
Volker Ruppert
168efb7710
- re-implemented USB port options parameter to assign specific options to the
...
connected device. For now this feature is only used by the 'disk' device to
specify an alternative redolog filename of some image modes.
- added new methods set_option() and timer() to the base class usb_device_c.
The timer() method is periodicly called from the HC's frame timer code.
- moved runtime device change stuff from the parameter handler to the end of
timer() methods of all hubs. This makes sure that all parameters for the
device have been set at connect time. TODO: this technique could also be used
for the floppy and cdrom media change.
2011-01-16 12:46:48 +00:00
Volker Ruppert
d2fa6b35e6
- MSVC warning fixed
2011-01-14 22:15:37 +00:00
Volker Ruppert
9b70c59980
- added own log prefix for the hdimage stuff
...
- added multiple sector read/write support for 'growing' images
- fixed two warnings
2011-01-14 16:43:55 +00:00
Volker Ruppert
0e008fedb0
- file attributes: added support for cleared archive bit
...
- report ignoring reserved clusters with BX_ERROR
2011-01-14 15:37:36 +00:00
Volker Ruppert
21ccef7f32
- set file modification date and time after committing file changes
...
- ignore reserved cluster numbers to avoid crash
2011-01-13 20:39:53 +00:00
Volker Ruppert
be2f3feef3
- enabled vvfat floppy support for the plugin version
...
- fixed and cleaned up floppy xfer code
- fixed two warnings
2011-01-12 22:35:32 +00:00
Volker Ruppert
51682da8b4
- converted the hdimage stuff to a separate plugin (similar to usb_common)
...
- usb_common is now a core plugin
- fixed an MSVC warning in devices.cc
- updated year in copyright
2011-01-12 22:34:42 +00:00
Volker Ruppert
b728142477
- the floppy media (e.g. image file) must be closed in destructor
...
- moved all the close() stuff to the new method close_media()
2011-01-11 22:00:41 +00:00
Volker Ruppert
bc60caaccc
- added vvfat floppy support (1.44 MB media only / currently not working with
...
plugins enabled)
- added special characters (0xe5 <-> 0x05) conversion in short filename
2011-01-11 20:14:21 +00:00
Volker Ruppert
3520b9b154
- handle file attribute changes (system, hidden and read-only)
...
- some work on FAT12 (required for floppy support)
- moved write support code from close() to new method commit_changes()
2011-01-10 21:15:05 +00:00
Volker Ruppert
2bb3d74f70
- fixed handling of modified files if the first cluster has been changed
...
- handle deletes only after parsing the new directory tree
- show file attributes bits that have been modified
2011-01-09 19:20:11 +00:00
Volker Ruppert
129ce92871
- check mappings for delete request in reverse order to avoid removing non-empty
...
directories
- some other small changes
2011-01-09 09:19:05 +00:00
Volker Ruppert
e5122a3ccd
- experimental real write added (commit changes on exit). When Bochs is shutting
...
down and the vvfat image has been modied, the user is asked if the vvfat
directory should also be modified. Currently not handled: remove non-empty
directories, system-reserved clusters and file attributes.
- some small related changes
2011-01-09 00:36:42 +00:00
Volker Ruppert
6d7900c8a5
- redolog_t: store current image position in variable and update it after
...
successful reads and writes (required for vvfat write support)
- added multiple sector read / write support to the undoable and volatile disk
image mode (required for USB MSD)
2011-01-07 18:35:34 +00:00
Volker Ruppert
2511bf45a8
- always place the 'dot entries' on top of a subdirectory (for some host
...
file systems this position is not mandatory)
- some small code cleanups
- disabled currently unused code
2011-01-04 18:39:51 +00:00
Volker Ruppert
5dba54c861
- added support for boot sector file without MBR file. Now all cases are handled
...
correctly: MBR + bootsector, MBR only, boot sector only and none of the files.
2011-01-03 19:03:08 +00:00
Volker Ruppert
3ef57e9f7e
- fixed some format warnings in the devices code
2011-01-02 16:51:08 +00:00
Volker Ruppert
e34a9da72c
- improved FAT32 support (should be okay now)
...
- implemented reading boot sector from file
- VVFAT TODO: apply file and directory changes on exit
2011-01-02 14:44:20 +00:00
Volker Ruppert
747f2ba541
- experimental FAT32 support (works in most cases)
...
- volatile write support using the hdimage redolog_t class
(TODO: apply directory and file changes on exit)
- updated makefile dependencies
2011-01-01 19:14:25 +00:00
Volker Ruppert
6d0b6c69b9
- implemented reading MBR from file (TODO: read boot sector)
...
- value of 'sectors_per_fat' must be 32 bit (for FAT32)
- some other small fixes
2010-12-31 15:39:27 +00:00
Volker Ruppert
a9a6bbfe22
- added support for reserved sectors between bootsector and FAT containing a copy
...
of the bootsector and the "FS info sector" (required for FAT32)
- implemented a more accurate way to calculate the number of clusters and the
corresponding FAT size
- some other small fixes
2010-12-30 12:30:58 +00:00
Volker Ruppert
c521ec6ba1
- fixed MBR and boot sector values
2010-12-28 22:31:40 +00:00
Volker Ruppert
d45c98a267
- fixed crash caused by uninitialized value (found with MSVC)
...
- fixed cylinder overflow check
2010-12-27 22:37:36 +00:00
Volker Ruppert
52e4917f52
use C/H/S values from image for the CMOS setup
2010-12-27 18:37:25 +00:00
Volker Ruppert
a8ced63e31
- more fixes for configurable disk geometry
...
- check the root entries limit of FAT16
- some work on the FAT32 support (not yet complete)
- report volume creation date and time
- some other small fixes
2010-12-26 23:13:29 +00:00
Volker Ruppert
ba41f4cbff
- set cluster size depending on disk size (FAT32 support not complete)
...
- several fixes related to configurable geometry (some more tests required)
- skip MBR and boot sector image files when reading directory (still unused)
- support overriding cylinder value with 0 in the command line
- don't return failure value when reading unused sectors
- increment buffer pointer when reading more than one sector
2010-12-24 20:47:22 +00:00
Volker Ruppert
341c764e1f
- added initial 'virtual VFAT' image support (shadows a local directory)
...
* ported the read part of the Qemu vvfat block driver
* added win32 specific directory functions (required for MSVC)
* TODO: write support, FAT32 support, read MBR and boot sector from file
2010-12-23 16:17:12 +00:00
Volker Ruppert
1e3f3ee0c0
- added new hdimage method get_capabilities() that can return special flags
...
- HDIMAGE_HAS_GEOMETRY flag added to vmware3 & vmware4 modes (these modes use
the CHS values from image file)
- harddrv: renamed pointer to hdimage object
2010-12-21 21:47:41 +00:00
Volker Ruppert
99eb027531
- modified usb_common plugin implementation to make Windows DLL plugins compile
...
* added new "pseudo device" for the USB device control (init, send message)
* moved register_state() call from the hubs to the common device init code
- fixed unresolved symbols in usb_msd code
2010-12-14 21:20:37 +00:00
Volker Ruppert
29c8824bab
- added support for HD image modes in usb_msd (TODO: specify journal file)
...
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
2010-12-10 17:02:18 +00:00
Volker Ruppert
c214fffa5e
- created a separate plugin that contains the USB devices, the devices init
...
code and the generic USB stuff. Up to now, in plugin mode each host controller
staticly links all this stuff with the plugin library. So it existed twice and
e.g. it wasn't possible to create a unique serial number for disks/cdroms
connected to different HCs. Some other sanity checks could be added now, too.
- Added a register mechanism for the USB device init function in the main
devices code.
- TODO: Some other device plugins could be fixed the same way: network devices
(sharing ethernet modules), harddrive & usb_msd (sharing hdimage and
cdrom)
2010-12-06 18:51:13 +00:00
Volker Ruppert
cd7b703a5b
- init() method added to the USB device class
...
- new USB device class method get_info() for improved device connect BX_INFOs
- USB printer: output file creation failure now causes BX_ERROR and disconnect
instead of BX_PANIC (similar to usb_msd)
- removed obsolete include statements
2010-12-05 13:09:41 +00:00
Volker Ruppert
45148b3eb7
- fixed compiler warning and big endian issue in "send buffer" command code
2010-11-26 15:42:41 +00:00
Volker Ruppert
cdfedaa9bc
- data type SOCKET doesn't exist on non-win32 platforms
2010-11-23 20:26:37 +00:00
Stanislav Shwartsman
9aa503cb9d
fixed warnings for win64 compilation
2010-11-23 14:59:36 +00:00
Volker Ruppert
50d9fa3e9a
- added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724 )
2010-11-22 22:11:30 +00:00
Volker Ruppert
21d53ee619
- setting the ISR transmit complete bit doesn't depend on the corresponding IMR bit
2010-11-21 16:21:41 +00:00
Volker Ruppert
a41ab5ccf9
- attempt to fix win64 compilation (Win 95/98/ME specific floppy access method
...
not required on this platform)
2010-11-20 12:37:00 +00:00
Stanislav Shwartsman
85250931dd
fix typo
2010-11-13 13:06:00 +00:00
Stanislav Shwartsman
e5bb07e366
a few more steps towards win64 compilation under windows
2010-11-13 13:00:26 +00:00
Stanislav Shwartsman
c7dba3525a
Fixed warnings (patch from mailing list)
2010-08-15 19:57:50 +00:00
Volker Ruppert
8b46dcfc0b
- added parameter to control the floppy media write protection. This is based on
...
the SF patch #1539417 , but rewritten from scratch (patch too old). Differences
to the original version:
* internal parameter name "readonly"
* update parameter if floppy image is readonly
* wxWidgets support
* documentation updates
* no specific toolbar buttons
2010-07-03 05:34:27 +00:00
Volker Ruppert
e801f4a256
- removed floppy method get_media_status() (floppy media change handler already
...
updates the parameter)
2010-06-18 17:23:50 +00:00
Volker Ruppert
0a4c91815d
- small fixes in the DHCP code (SF patch #2862322 )
2010-05-22 10:15:58 +00:00
Volker Ruppert
fd477dac71
- ignore single mode command 0x02 (386BSD writes it, but works with it ignored)
2010-05-18 17:48:48 +00:00
Volker Ruppert
cdb7e0eb96
- fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target
2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
35f8e91cad
APIC ID mask cleanup
2010-05-14 12:10:00 +00:00
Stanislav Shwartsman
6ac1bdcbdf
apic_dest_t as datatype
2010-03-27 09:56:30 +00:00
Stanislav Shwartsman
23927343d5
convert apic id to 32-bit -> pilot before x2apic merge
...
no functional change supposed to be seen yet
2010-03-26 13:00:14 +00:00
Stanislav Shwartsman
65a78f9887
dos2unix
2010-03-06 21:41:26 +00:00
Stanislav Shwartsman
9124f00645
Fixed format
2010-03-02 07:07:57 +00:00
Stanislav Shwartsman
e3a13a7a55
Make XAPIC runtime option as well
2010-02-28 14:52:17 +00:00
Stanislav Shwartsman
5df864b1f1
Move param_names.h into bochs root folder
2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
55ee809cf7
fix warning
2010-02-08 14:53:31 +00:00
Volker Ruppert
5457fa4458
- fixed register_state() for the USB printer device (no need to save/restore the
...
file name since it is present in the config tree as a part of the device name)
2010-01-02 16:54:40 +00:00
Stanislav Shwartsman
153d43520d
change copyright to bochs project
2009-12-04 19:50:29 +00:00
Stanislav Shwartsman
373377ff6c
fix fname size
2009-12-04 17:54:22 +00:00
Stanislav Shwartsman
b2f6bffd8d
updates for USB printer
2009-12-04 17:50:10 +00:00
Stanislav Shwartsman
453bb573bf
indent changes
2009-12-04 13:21:33 +00:00
Stanislav Shwartsman
fb64ec4d0c
Added USB printer support (patch by Ben Lunt)
2009-12-04 13:01:41 +00:00
Stanislav Shwartsman
85d0bb4632
determine APIC option from CPU_LEVEL and SMP support options - deprecate configure option for APIC support
2009-11-20 14:58:48 +00:00
Stanislav Shwartsman
6601f15c2e
first step for range watchpoints - code reorg
2009-11-19 21:28:25 +00:00
Stanislav Shwartsman
da4722e257
optimize sr params
2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
1b248b5212
fixes for future
2009-10-15 16:14:30 +00:00
Volker Ruppert
31d479f119
- attempt to fix SF bug #2867904 : improved checks if VGA memory address is out
...
of bounds
2009-09-27 18:37:02 +00:00
Volker Ruppert
e34262bc7d
- fixed regression caused by SF patch #2812936
...
* buffer size must match the IDE specs to transfer max. 255 sectors
* resetting buffer pointers during IDE command is invalid
2009-08-16 19:59:03 +00:00
Stanislav Shwartsman
f29b5a97d6
fixes with long phy addr
2009-08-10 08:08:25 +00:00
Volker Ruppert
43194bddc6
- the status.interrupt bit should be set regardless of the enable bits if a IOC
...
or SPD is found (patch by Ben Lunt)
2009-07-19 17:49:27 +00:00
Volker Ruppert
19db14fe2e
- changed BX_PANIC to BX_ERROR (text mode update code already skipped - should
...
only occur as an intermediate condition when switching to graphics mode)
2009-07-04 07:40:46 +00:00
Volker Ruppert
89f5147b06
- applied SF patch #2812936 by Derek
...
* reset buffer pointers properly to avoid overflow
* resize buffers to match the PIIX/PIIX3 specs
2009-07-03 20:36:42 +00:00
Volker Ruppert
7d01754bae
- fixed pit behaviour at multibyte count loads (SF patch #2812948 )
2009-06-30 08:09:38 +00:00
Volker Ruppert
bdee17b183
- fixed compilation error if long physical address is enabled (OHCI uses 32-bit
...
address space only)
- added panic message for unsupported PCI memory flags (32-bit below 1 MB and
64-bit address space are currently not supported)
2009-05-12 16:18:19 +00:00
Stanislav Shwartsman
1357a64519
iodebug compilation fix
2009-05-12 15:03:07 +00:00
Volker Ruppert
976cec630d
- fixed uninitialized value found with valgrind
2009-05-10 07:57:26 +00:00
Volker Ruppert
6a1a080010
- override optional plugin control settings for 'acpi' and 'pci_ide' if PCI
...
support is disabled
2009-05-05 16:13:13 +00:00
Stanislav Shwartsman
fcd33dbdc5
SF patch IO Handler names are not compared properly
2009-05-01 09:12:07 +00:00
Stanislav Shwartsman
4c06bb8657
SFbugfix - "an integer overflow BUG of Bochs-2.3.7 source code"
2009-04-30 07:30:13 +00:00
Volker Ruppert
94a4710c5c
- fixed crossing of the 4k boundary (USB disk on OHCI now works in Win98SE)
2009-04-29 18:16:31 +00:00
Volker Ruppert
4d98a816ad
- for OUT transfers don't set the completion condition until all data is sent
...
to the device and process TD repeatedly until CC is modified (fixes MSD
connected to OHCI with Linux guest)
- fixed CBP calculation and split transfer to memory when crossing the 4k
boundary (makes 8k transfers work according to the specs: fixes Win98 guest crash)
- don't enable the status bar i/o indicator if it's ID is not valid (no space
left in status bar)
- minor debug message fixes
2009-04-28 22:57:06 +00:00
Volker Ruppert
752c84ab9e
- converted port 0xE9 hack option to a regular config parameter
2009-04-26 06:56:28 +00:00
Volker Ruppert
a1e65bae3a
- bx_dbg cleanup in the keyboard and harddrv code
...
- several other debug message cleanups
2009-04-25 08:06:32 +00:00
Volker Ruppert
3a3b3f5b07
- bx_dbg cleanup in the floppy and unmapped code (using BX_DEBUG now)
2009-04-24 14:57:25 +00:00
Stanislav Shwartsman
2a268ecd5b
small cleanup
2009-04-24 08:16:06 +00:00
Stanislav Shwartsman
cb312c9470
make port_e9_hack runtime option (and not configure time)
...
clean-up a bit in bx_dbg struct in bochs.h
2009-04-23 18:28:17 +00:00
Volker Ruppert
c85367fe80
- simplified PCI config space write debug messages for the current i/o length
...
- removed full device name from debug messages, since the device is specified
by it's prefix. Full name is only required in a BX_INFO() in init().
- removed BX_PANIC messages that will never happen
2009-04-23 15:52:53 +00:00
Stanislav Shwartsman
e52cff7da3
remove very ugly and unsafe code (string functions are evil!) - new code is also 10 times faster.
2009-04-22 19:11:01 +00:00
Volker Ruppert
6a78f0d769
- removed extended debug output in some PCI config space read handlers
...
- small changes in some debug messages to make the log better readable
2009-04-22 18:37:06 +00:00
Stanislav Shwartsman
eab5f0fe7d
some ifdefs
2009-04-21 20:32:20 +00:00
Stanislav Shwartsman
23326d86b6
fixed warning
...
unify names of debugger dump methods
2009-04-21 20:27:35 +00:00
Volker Ruppert
9408acde0d
- update
2009-04-21 19:10:13 +00:00
Volker Ruppert
def1553ab5
- removed a bunch of unnecessary io_len checks
2009-04-21 17:53:29 +00:00
Stanislav Shwartsman
79d45186fd
Docs about devices
2009-04-21 17:25:07 +00:00
Volker Ruppert
b6aa6b3f47
- fixed some warnings when compiling with VS2008Ex
...
* converted some functions to ISO-C syntax
* use Sleep() instead of _sleep()
* now using type Bit32u for cdrom LBA
2009-04-21 15:37:17 +00:00
Volker Ruppert
f751373219
- minor bugfix in the cdrom media change detection (ported from Qemu)
2009-04-21 10:18:42 +00:00
Volker Ruppert
bff8ea8831
- ported SCSI CD-ROM fixes/improvements from Qemu (patches for Qemu written by
...
Juergen Lock)
2009-04-19 19:25:50 +00:00
Volker Ruppert
ac1401a1cc
- now using function write_pktlog_txt() for all ethernet modules that support
...
ethernet packet logging in text format
2009-04-19 17:25:40 +00:00
Volker Ruppert
154e1c252e
- don't clear mouse button state when setting up USB packet (holding button
...
down has generated double-clicks)
- fixed some comments
2009-04-17 12:20:17 +00:00
Volker Ruppert
255143fa87
- updated iodev and gui Makefile dependencies
2009-04-15 06:10:28 +00:00
Volker Ruppert
84d5641e34
- lowlevel network drivers now using the log prefix of the network device it
...
belongs to. This is important when we want to implement other network devices
or add support for multiple devices of the same type.
- improved some info messages / removed references to ne2k
- code cleanup: removed unnecessary spaces, changed tabs to spaces
2009-04-13 13:33:11 +00:00
Volker Ruppert
99221c93b9
- changed hub type to support 64 byte max. packet size
...
- added BX_ERROR messages for unsupported setup features
- removed obsolete comment
2009-04-12 07:26:58 +00:00
Volker Ruppert
fd867bb311
- fixed counter programming behaviour (new value should be transferred to the
...
counter at the CLK pulse, not the next timer event)
- code cleanups
2009-04-11 07:04:52 +00:00
Volker Ruppert
a342f0bfe6
- usb_msd: return status packet after partial disk write (Win98SE needs this)
...
- usb_hub: removed unnecessary include
- don't accept IN and OUT packets if a device is stalled (SETUP packet clears
this mode)
2009-04-10 20:26:14 +00:00
Volker Ruppert
1020f9d9ea
- vbe_set_base_addr() fixed for win32 plugin support
2009-04-10 14:41:29 +00:00
Volker Ruppert
b6a2eca248
- implemented changeable VBE LFB base address (TODO: update PCIBIOS init)
2009-04-10 11:10:32 +00:00
Volker Ruppert
e4f0de41e3
- simplified setting device prefix for log functions
...
- implemented unique device prefix for lowlevel cdrom
- minor device prefix changes
- minor coding style changes in cdrom.cc
2009-04-10 08:15:25 +00:00
Volker Ruppert
e7a4178b47
- USB HID descriptor for mouse, tablet and keypad added
...
- USB HID devices and hub: don't return status if device is not configured
2009-04-10 07:12:25 +00:00
Volker Ruppert
adb5243f25
- added unique serial number for the USB hub (multiple hubs now working on Win98)
2009-04-09 17:32:53 +00:00
Volker Ruppert
455e7730f0
- don't turn on status bar leds for empty packets
2009-04-07 10:56:19 +00:00
Volker Ruppert
11fa3b2c4a
- added runtime configuration parameters for USB cdrom drive
...
- scsi_device: changed some variable types
- usb_hub: removed unused method
2009-04-06 15:36:55 +00:00
Volker Ruppert
0a37bcfbdc
- added get/set methods for device pointers in bx_param_c. This makes it easier
...
to access non-static devices from static parameter handlers.
- removed USB hub register mechanism and use the new device pointer parameter
methods instead
2009-04-06 10:38:57 +00:00
Volker Ruppert
b7842a169a
- the status bar indicators for the USB HCs now show the data transfer
2009-04-06 09:30:26 +00:00
Volker Ruppert
ccdd32c111
- prepared media change support in the SCSI cdrom code
2009-04-05 16:28:35 +00:00
Volker Ruppert
fab6f61199
- list option SERIES_ASK is required at runtime when using textconfig
2009-04-05 16:28:02 +00:00
Volker Ruppert
82a81e45f8
- rewrite of ParamDialog method CopyGuiToParam() to support list size changes
...
when adding/removing the USB hub
- added support for wx configuration in the USB hub code
2009-04-05 08:33:27 +00:00
Volker Ruppert
86f2615dc9
- fixed SCSI cdrom support (missing completion call) and enabled USB/SCSI cdrom
...
support in USB config
- added unique serial number for USB/SCSI drives
- fixed maximum LBA value
2009-04-03 16:42:56 +00:00
Volker Ruppert
2ef1be6284
- ported most of the SCSI disk changes from Qemu to Bochs
...
- minor changes in SCSI command 0x23 (this command is designed for USB floppy
support - we have to check if it is really needed for flash sticks and
external hard drives)
- usb_msd: fixed indention
2009-04-01 18:19:46 +00:00
Volker Ruppert
365fa7fa35
- another bugfix by Ben Lunt
2009-04-01 07:27:34 +00:00
Volker Ruppert
ef901c0b0d
- minor bugfixes
2009-03-31 20:05:30 +00:00
Volker Ruppert
c7ad2a9515
- implemented SCSI command 0x23
2009-03-31 20:04:56 +00:00
Volker Ruppert
ee131a7471
- new implementation of the win32 runtime dialog based on the start menu dialog
...
* removed old win32 runtime config dialog since the property sheet isn't
compatible with the win32 ParamDialog
* reorganized runtime parameter lists (usb and cdrom setup in device init)
* renamed win32 StartMenuDialog() to MainMenuDialog() and some related name
changes
* added runtime support to the MainMenuDialog
- win32 start/runtime menu: set keyboard focus to the start/continue button
- win32paramdlg: SetParamList() now checks for list size changes to avoid crash
2009-03-29 20:48:17 +00:00
Volker Ruppert
773b0ab8c2
- fixed debug output (max. 16 hex bytes per line)
2009-03-29 07:56:28 +00:00
Volker Ruppert
9081334b9e
- added stub for the verify command
2009-03-29 00:22:03 +00:00
Volker Ruppert
1dee09c468
- changed parameter type for floppy status (inserted/ejected) to bx_param_bool_c
2009-03-25 18:33:43 +00:00
Volker Ruppert
af3dfa73d7
- presence of floppy drive now depends on the devtype parameter instead of a
...
non-empty path
- floppy devtype parameter now uses CMOS values and drive type names
- related changes in the floppy code
- simplified floppy parameter handlers
- some floppy parameter label changes
- added enable handler for the floppy path parameter
- update dependent params after setting the dependent bitmap of enum parameter
2009-03-23 19:05:16 +00:00
Volker Ruppert
49343852a3
- changed parameter type for cdrom status (inserted/ejected) to bx_param_bool_c
...
- win32paramdlg: fixed setting parameters at runtime
- fixed win32 ParamDialog return value for close/cancel
- runtime dialog for the first cdrom drive on win32 is now created as a win32
ParamDialog (removed old cdrom1 dialog stuff)
- minor fixes in x11 string dialog for the cdrom path & status case
2009-03-22 20:18:17 +00:00
Volker Ruppert
8e92378b7b
- enable handlers for disk parameters are no longer needed, since the enable
...
behaviour is controlled by the new enum dependent list feature
- moved runtime parameter setup for cdrom drives to the harddrv code
2009-03-21 00:50:53 +00:00
Volker Ruppert
8c605c029d
- store options for all parameter types in a Bit32u value instead of bx_param_num_c
...
- added file extension support for bx_param_filname_c
- fixed showing of tab control child lists
- added special disk menu for the win32 ParamDialog
- on win32 use the ParamDialog instead of textconfig submenus (TODO: gui dialog
replacement for the start menus
2009-03-15 21:16:17 +00:00
Volker Ruppert
2b6ba5e44c
- definition of the number of USB ports moved to bochs.h
...
- create config parameters for USB depending of the defined number of ports
- removed obsolete comment
- bx_param_num_c flag USE_SPIN_CONTROL now available for all config interfaces
2009-03-15 12:54:59 +00:00
Volker Ruppert
c0d9238170
- number of ports for the external hub can be configured with the device name
...
now. Valid values are 2 to 8 and the default is set to 4 ports (device name
"hub" uses the default, "hub:7" enables 7 ports.
2009-03-12 20:24:56 +00:00
Volker Ruppert
8987188a8e
- new method get_frame_remaining() calculates register value from the difference
...
between the current time and the "start-of-frame" time
- removed 1 usec interval timer
- simplified calculation of the PPCM reset value
2009-03-09 23:18:52 +00:00
Volker Ruppert
19139d3618
- broadcast packets to enabled ports only
...
- changed BX_PANIC to BX_DEBUG message
2009-03-09 18:28:17 +00:00
Volker Ruppert
d909d7a8dd
- prepared USB cdrom support in the usb_set_connect_status() methods
...
- added 2 missing request types in the usb_msd code
2009-03-09 14:44:06 +00:00
Volker Ruppert
9549d7ece6
- preparing USB cdrom support (not yet complete)
...
* added cdrom support in the usb_msd code (already present in the SCSI code)
* added code for deferring packets in usb_msd and the common USB code (TODO:
cancel packets by the host controller)
* added SCSI cdrom drive lock flag
- clean up SCSI request queues in destructor
- changed type of cdrom path/device parameter to const char
- moved the shared init device code to a common function
- reset hub count if the last external hub has been removed
2009-03-09 12:18:40 +00:00
Volker Ruppert
55d20d99ee
- don't set TRACK0 status for non-existing drive
2009-03-08 08:22:23 +00:00
Volker Ruppert
dee8eef320
- added external USB hub
...
* ported generic hub code from Qemu
* devices can be connected at runtime only with textconfig
* FIXME: wx ParamDialog doesn't like removing runtime parameters on disconnect
* TODO #1 : dynanamic runtime dialog for USB on Windows
* TODO #2 : code cleanup: USB code should have one static function only for
most of the init_device() code
2009-03-07 16:57:17 +00:00
Volker Ruppert
4e33fbbd29
- changed USB HID version for mouse and tablet to 1.00 (was: 0.01 !)
2009-03-06 23:48:25 +00:00
Volker Ruppert
82b9d9ec81
- ported packet broadcast mechanism from Qemu (required to support devices
...
connected to an external hub)
- accept empty strings for device disconnect in parameter handler
2009-03-05 21:35:00 +00:00
Volker Ruppert
1a3610dd32
- ported packet broadcast mechanism from Qemu (required to support devices
...
connected to an external hub)
- accept empty strings for device disconnect in parameter handler
2009-03-05 19:12:23 +00:00
Volker Ruppert
ad68d37b2a
- small fixes to make devices connected to OHCI work with Linux guests
...
- changed some BX_INFO messages to BX_DEBUG
2009-03-05 17:29:09 +00:00
Volker Ruppert
de9f1dcce9
- rewrite of the USB runtime configuration code (for textconfig only)
...
* USB runtime options moved to a new dynamic menu
* USB host controllers create own submenus in init()
* USB runtime parameter handlers simplified
* TODO: related changes in the wx and win32dialog code
2009-03-04 18:20:50 +00:00
Volker Ruppert
7a1236636a
- improved mouse register mechanism for the default mouse selected with the
...
mouse type option and updated mouse devices to use it
- removed some stubs and stub functions from the devices code
2009-03-03 20:34:50 +00:00
Volker Ruppert
90aa30fde9
- added register/unregister methods for removable keyboard devices and updated
...
keyboard and usb_hid code to use them
- removed keyboard handling from the USB host controller code
- removed no longer needed USB stubs from the devices code
- converted removable mouse variables to a structure
2009-03-03 18:29:51 +00:00
Volker Ruppert
3c21d494cb
- added register/unregister methods for removable mouse devices and updated
...
usb_hid code to use them
- removed mouse handling from the USB host controller code
- TODO: add similar code for keyboard devices
2009-03-02 21:21:16 +00:00
Volker Ruppert
7f9717dd10
- OHCI packet handling code rewritten (Win98 original now detects the mouse)
...
- moved usb_send_msg() to the common USB devices code
- simplified USB MSD devices handling
2009-03-01 19:29:36 +00:00
Volker Ruppert
69452184d8
- completed save/restore code
...
- CSC bit must be set on a connect change
- debug message fixed
2009-03-01 10:17:21 +00:00
Volker Ruppert
4964cb7ba7
- add new method remove_device() for device cleanup
...
- initialize device pointers in init()
- don't delete connected devices in reset()
- update status if a device is connected during reset(), otherwise try to
connect devices
2009-02-26 22:46:37 +00:00
Volker Ruppert
15aec6efee
- add new method remove_device() for device cleanup
...
- some more registers converted from struct to Bit16u / Bit32u
- some progress with save/restore support
- small interrupt handling rewrite
- report misaligned read/write access
2009-02-26 18:43:11 +00:00
Volker Ruppert
f8bceae4e9
- improved device cleanup in destructor
...
- initialize device pointers in init()
- only connect devices in reset() if not NULL
- don't delete devices in reset_hc() to avoid segfault (update connect status
instead)
- fixed port number calculation in read handler
- fixed enabling interrupts
2009-02-25 18:18:57 +00:00
Volker Ruppert
8cfd6b85aa
- now using Bit32u values instead of structures for some registers
...
- interrupt handling rewritten based on the Qemu implementation
- HcRhPortStatus now belongs to the usb_port structure
- partial save/restore support
2009-02-24 17:15:27 +00:00
Volker Ruppert
f9124b8c99
- plugin 'harddrv' now depends on the ATA configuration (don't load it if no
...
channel is enabled)
- pluginIOAPIC points to the stub if plugin is not loaded
2009-02-23 18:38:25 +00:00
Volker Ruppert
9e3dd83e85
- reduce some more dependencies and related Makefile.in updates
2009-02-23 11:06:53 +00:00
Volker Ruppert
71db42376f
- some fixes in debug output
2009-02-23 08:31:41 +00:00
Stanislav Shwartsman
30c63c773c
apic.h is not needed for ioapic.cc
2009-02-22 17:37:09 +00:00
Volker Ruppert
790eec83ca
- converted I/O APIC to a device plugin
...
- updated dependencies
2009-02-22 10:44:50 +00:00
Volker Ruppert
66e2688645
- optional plugin control: added workaround for the compilation with plugins
...
disabled (bx_load_plugin() function not available in this case and we don't
want to make plugin.cc device-dependant)
2009-02-21 16:08:02 +00:00
Volker Ruppert
cb430a4371
- added option to control the presence of optional plugins without a separate
...
option. By default all existing plugins are enabled.
2009-02-21 11:43:18 +00:00
Stanislav Shwartsman
2304f2abf1
reduce dependencies from CPU/APIC.H
2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
31a367283a
small optimizations for apic code
2009-02-19 23:19:11 +00:00
Stanislav Shwartsman
1b72e66bb3
support for apic global disable
...
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00
Volker Ruppert
717c528cd6
- fix for USB drive on Win98SE
2009-02-17 16:43:51 +00:00
Volker Ruppert
bf92a5ea04
- removed duplicate code from reset_hc(), since the init of connected devices
...
is already done in reset()
- init_device(): check for device connected to port before creating a new one
(OHCI and UHCI)
- update irq level after clearing status and masking interrupt (same behaviour
as the Qemu implementation)
2009-02-15 14:06:55 +00:00
Volker Ruppert
e11f9b6ce6
- small fixes to make the USB mouse work in Win98 and Linux
...
- now the USB UHCI controller can be assigned to a PCI slot (by default it's a
part of the PIIX3 chipset)
2009-02-15 08:16:16 +00:00
Volker Ruppert
f10e0a08af
- applied latest version of the USB OHCI support by Ben Lunt (WIN98SE can use
...
the USB mouse now)
- minor fixes in the USB common and devices code
2009-02-14 10:06:20 +00:00
Volker Ruppert
d0c3b1cb1c
- initialize guest IP address with 255.255.255.255 (expected by Windows guests)
2009-02-09 17:04:30 +00:00
Volker Ruppert
e5eac65b59
- removed wrong character from FSF address (converted invisible and useless
...
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
dd03e043a3
Updated FSF address
2009-02-07 21:05:31 +00:00
Volker Ruppert
cb9990af95
- set hostname to NULL to avoid crash
2009-02-07 10:11:19 +00:00
Volker Ruppert
141d69eadf
- applied current version of the USB OHCI support by Ben Lunt (communication
...
between guest OS and USB device still not working correctly)
2009-02-05 16:53:44 +00:00
Stanislav Shwartsman
7d5e058dfe
write to apic must be 16-byte aligned
2009-02-03 20:42:15 +00:00
Volker Ruppert
8b608fe045
- confirm requested hostname
2009-02-03 20:04:20 +00:00
Stanislav Shwartsman
30fec77004
faster i/o apic write access
2009-02-03 19:12:00 +00:00
Volker Ruppert
1a5e565c0b
- always set port speed depending on connected device (device speed is always
...
set in constructor, but for usb_msd devices the connected status set by a
successful init)
2009-02-03 18:21:21 +00:00
Volker Ruppert
4820227ce7
- moved VBE state to a separate structure
...
- handle VBE error messages with BX_ERROR instead of BX_INFO
- several code cleanups in the object delaration and the init code
2009-01-31 18:13:17 +00:00
Volker Ruppert
4d661c8326
- VBE video memory increased to 16 MB (new version of the LGPL'd VGABIOS under
...
construction)
2009-01-25 09:09:49 +00:00
Volker Ruppert
809449c797
- stored LFB address in base address #0 (TODO: implement changeable LFB address;
...
VGABIOS should read LFB base from PCI)
2009-01-22 22:29:23 +00:00
Volker Ruppert
324fccd33c
- moved include statement to reduce dependencies
...
- updated FSF address
2009-01-21 22:16:09 +00:00
Volker Ruppert
fcedb1f823
- workaround for unusable VGA window size
...
* use default value for screen width if update() is called before VGABIOS init
* set minimum value for vga_update_interval to 40000 (default value: 50000)
* no longer accept ips values smaller than BX_MIN_IPS and default value
changed to 4000000
2009-01-20 12:37:41 +00:00
Volker Ruppert
cfa759cd57
- fixed parameter name for save/restore of connected devices
...
- moved configuration subtree 'usb' back to the 'ports' list to make it
accessible again by the config interface
- delete s.scsi_dev only if not NULL
2009-01-19 21:39:03 +00:00
Volker Ruppert
b5aabf8848
- applied patch for initial USB OHCI support written by Ben Lunt (Win98 detects
...
the controller, connecting devices is not implemented yet)
2009-01-19 17:18:57 +00:00
Volker Ruppert
891cc05477
- prepared siminterface and bochsrc options for USB OHCI support
...
* 'usb_uhci' bochsrc option replaces 'usb1'
* minor changes in the USB code
* removed old VBE i/o port registration (they were incompatible with USB)
* updated FSF address
- fixed saving user plugin options
2009-01-19 13:13:32 +00:00
Volker Ruppert
0b782cd749
- prepared USB OHCI support in build system and common devices code (OHCI patch
...
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options
2009-01-19 09:48:12 +00:00
Volker Ruppert
5ca97fb7e0
- moved common USB device code and USB definitons to separate files
...
- updated dependencies
- updated FSF address
2009-01-18 13:11:27 +00:00
Volker Ruppert
34d767f938
- moved mouse buffer size definition to iodev.h
...
- reduce dependencies (TODO: update Makefile.in)
- removed unused defines from iodev.h
- updated FSF address
2009-01-16 11:53:38 +00:00
Volker Ruppert
3c82e7983c
- compilation fix for plugins on win32
...
- updated FSF address
2009-01-16 10:53:58 +00:00
Volker Ruppert
ae54b59cd0
- preparing "plugin-disable" feature for optional plugins not controlled by a
...
bochsrc option (e.g. biosdev, speaker, gameport)
* the "unmapped device" is now an optional plugin, the builtin default handlers
no longer cause panics
* speaker stub calls the related gui methods for beep on/off
* load all optional plugins before starting init of core plugins
2009-01-15 17:34:20 +00:00
Volker Ruppert
0ec93b8586
- moved common mouse handling code to devices.cc
...
- moved mouse capture control code back to config.cc
- related changes in the USB keyboard and mouse interface
2009-01-13 19:01:19 +00:00
Stanislav Shwartsman
bfcd242a2f
Fixed compilation
2009-01-13 18:56:35 +00:00
Volker Ruppert
1e578b3b28
- converted device PIT 82C54 to a plugin (internal / virtual timers remain in
...
Bochs core)
- removed obsolete and unused PIT methods
- updated FSF address
2009-01-11 18:46:01 +00:00
Volker Ruppert
501952efdd
- removed unused logfunctions member 'type' and related method 'settype()'
...
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Volker Ruppert
8aa8b1a3db
- rewrite for user plugin support with user-defined options
...
* initialize plugin system before parsing bochsrc and command line
* pass previous value to bx_param_string_c handler
* load / unload plugin in bx_param_string_handler()
* handle user plugins after optional ones in plugin device init, reset and
save/restore functions
* added new siminterface method unregister_user_option()
* removed first version of config option handling for user plugins
* added new parameter subtree for user-defined options
* added new bx_list_c method remove()
* removed unused bx_devmodel_c method init_mem()
2009-01-04 21:46:20 +00:00
Volker Ruppert
e12b21e647
- update all dependencies
2009-01-03 09:54:10 +00:00
Volker Ruppert
00d404809b
- reduce some more dependencies
...
- iodev.h already includes bochs.h
2009-01-03 08:55:00 +00:00
Volker Ruppert
b23e7bf6a0
- added basic user plugin support (TODO: add sample code)
2009-01-02 11:51:03 +00:00
Volker Ruppert
815dff019e
- converted iodebug device to a plugin
2008-12-30 18:11:13 +00:00
Volker Ruppert
77ee99a7cd
- reduce some more dependencies (rarely used options, no Makefile.in update
...
necessary)
2008-12-30 15:33:38 +00:00
Volker Ruppert
00f312ad6e
- update dependencies
2008-12-30 09:37:15 +00:00
Volker Ruppert
618b8fe9b3
- reduce some more dependencies
...
- compilation fix in usb_msd code
2008-12-30 09:17:09 +00:00
Stanislav Shwartsman
d56c3a18aa
reduce include dependencies in iodev.h
...
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
3fb9d7d712
clean duplicate instrumentation
2008-12-29 18:02:01 +00:00
Volker Ruppert
15ee364a93
- don't skip text update if character height is 1
...
- removed BX_MAX_TEXT_LINES hack; now check if text screen contents fit in memory
- simplified charmap update handling
2008-12-29 08:16:53 +00:00
Volker Ruppert
f2f5d5c915
- applied 3 patches from the Qemu project
...
* added support for memory above the PCI hole (Izik Eidus)
* smp_probe: instead of timimg out, wait until all cpus are up (Avi Kivity)
* Bochs BIOS changes to support HPET in Qemu (Beth Kon)
- added documentation about CMOS registers set by Qemu
2008-12-25 16:58:44 +00:00
Volker Ruppert
975419440c
- simplified CMOS setup in floppy init code
2008-12-21 09:41:30 +00:00
Volker Ruppert
fd79c68d72
- fixed some warnings in iodev
2008-12-21 08:56:26 +00:00
Volker Ruppert
8f7fe8bc7d
- use a local copy of the IPS value to avoid reading it frequently in timer handler
2008-12-19 12:52:34 +00:00
Volker Ruppert
ba5155b80b
- fixed endianness problem when reading TD
2008-12-14 08:56:05 +00:00
Volker Ruppert
01b0ed241b
- fixed endianness problems at PCI DMA block transfers using getHostMemAddr()
...
and memcpy()
- changes in getHostMemAddr() for the usage outside of the cpu
2008-12-13 11:03:36 +00:00
Volker Ruppert
ed90f8dd93
- fixed a bunch of warnings
2008-12-11 18:01:56 +00:00
Stanislav Shwartsman
fb21bbd51e
Handle S3 in PIIX4 ACPI
2008-12-04 18:50:31 +00:00
Volker Ruppert
78197bae62
- fixed endianness bug (read 2 dwords instead of 1 qword)
2008-12-02 21:38:51 +00:00
Volker Ruppert
430166ef7a
- TAP networking on Solaris/Sparc repaired (SF patch #2354134 by Pavel Dufek)
...
- ne2k: changed BX_PANIC to BX_ERROR in write_cr()
2008-11-30 17:22:22 +00:00
Stanislav Shwartsman
8fb3eb911a
Clear DEVACTB register on PIIX4 ACPI reset
2008-11-29 19:39:12 +00:00
Volker Ruppert
85b2d3179c
- update sector count before calling write completion function (SF patch #2144692 )
2008-11-23 19:21:19 +00:00
Stanislav Shwartsman
83918212a6
Implemented HW reset for I/O APIC
2008-11-17 20:06:16 +00:00
Volker Ruppert
8cbd56123b
- compilation fixes for MSVC toolkit 2003
2008-11-09 22:04:14 +00:00
Stanislav Shwartsman
0df223d363
Merged patch with blinking HDD led in RED color when HDD write occurs (GREEN when HDD read)
2008-10-06 22:00:11 +00:00
Stanislav Shwartsman
2f7d0b4a70
Fixed compilation in gcc4
2008-10-01 07:54:02 +00:00
Stanislav Shwartsman
fe193f0dcf
Merged patch from @SF
2008-10-01 07:47:02 +00:00
Stanislav Shwartsman
6714f3f8c1
Added back mistake removed save-restore stuff
2008-09-18 20:16:27 +00:00
Stanislav Shwartsman
cac25119b7
fix some compilation stuff
2008-09-18 20:10:17 +00:00
Stanislav Shwartsman
dd0b8eceb2
Fixed some compilation issues with
...
Microsoft 32-Bit C/C++ Optimizing Compiler 9.00
2008-09-18 17:18:36 +00:00
Volker Ruppert
a68542f91c
- added keyboard controller commands 0xCA and 0xCB
2008-09-12 14:40:41 +00:00
Stanislav Shwartsman
597fdd3c4f
Fixed warning
2008-08-24 17:28:42 +00:00
Alexander Krisak
9e9ed42dbe
fixed msvc 6.0 compilation
2008-08-22 07:58:20 +00:00
Volker Ruppert
3198eb03ba
- fixed OPL timer handling
...
- fixed OPL operator number calculation
2008-07-27 15:41:43 +00:00
Volker Ruppert
61f51bc8af
- minor ATA/ATAPI model string fixes
...
* cut model string on boot screen if larger than 36 characters to make one
"ata" message fit in one line
* config parameter for model string needs one more byte
* harddrive: terminate model string with null
2008-07-27 08:06:52 +00:00
Volker Ruppert
7c8c40483e
- removed some optional devices from the bx_devices_c object
...
- biosdev is now an optional plugin
2008-07-26 08:02:27 +00:00
Volker Ruppert
f856b297aa
- FM synthesizer now usable with MIDI output (simple piano only)
...
* fixed OPL frequency to MIDI note translation
* fixed MIDI output command
* TODO: assign MIDI instruments depending on OPL parameters
2008-07-20 21:05:21 +00:00
Volker Ruppert
9b92f4984a
- ALSA code cleanup: removed unused client and queue
...
- return error at unimplemented SYSEX command
2008-07-20 08:08:23 +00:00
Volker Ruppert
e3559d9994
- implemented MIDI output to ALSA sequencer (TODO: handle SYSEX messages)
...
- renamed ALSA pcm-related variables
- documentation updates
2008-07-19 12:01:54 +00:00
Volker Ruppert
3b6d4a12d4
- open midi/wave output files only when output starts (to avoid empty/useless
...
files if device is not used)
- avoid segfault when midi output init fails
2008-07-14 17:44:55 +00:00
Volker Ruppert
6970eaa5cb
- use ALSA PCM output only if the wave device name is set to "alsa".
...
Otherwise Bochs uses OSS with the given device name.
- added failure handling for startwaveplayback()
- documentation updates
2008-07-13 15:37:19 +00:00
Volker Ruppert
50ea5f5073
- added limited ALSA sound support on Linux (PCM output only)
...
* ALSA PCM support added in soundlnx.cc (OSS will be used if no ALSA present)
* minor code cleanups and documentation updates
2008-07-12 15:21:36 +00:00
Volker Ruppert
b3b95e0d84
- ATAPI command 0x1A added (based on the Qemu implementation)
...
- simplified media presence check for ATAPI 'mode sense' commands (accessing
parameter tree not required)
2008-07-07 18:36:07 +00:00
Volker Ruppert
46265689aa
- PACKET-DMA feature now supported by all ATAPI commands
...
* don't panic if byte count is zero in PACKET-DMA mode (the specs say that
byte count is used for PIO modes. The behaviour in DMA mode is not
mentioned, but seems to be ignored in that case.)
* pci_ide: initialize sector size with the BM-DMA byte count (disk read
commands will overwrite this value, some ATAPI commands are using the
original one.)
* non-disk-read ATAPI commands simply copy the buffer in DMA mode
2008-07-06 14:15:41 +00:00
Volker Ruppert
78c5e10250
- improved USB disk parameter check
2008-06-29 06:53:20 +00:00
Stanislav Shwartsman
599a9b2e32
Fixed bug found by icc compiler
2008-06-18 16:33:44 +00:00
Stanislav Shwartsman
77ce9d617e
Small bug fixed
2008-06-11 21:10:02 +00:00
Stanislav Shwartsman
8ea32b4279
Simplify physical memory access by devices
2008-06-11 20:59:50 +00:00
Stanislav Shwartsman
e69a12c3dd
Fixed typo (patchfrom @SF)
2008-06-04 16:28:16 +00:00
Volker Ruppert
19aa190d48
- it's not necessary to set up the physical address in the init code, since the
...
PARs are cleared by initial hardware reset. The physical address for incoming
packets must be initialized by the guest's driver.
- added BX_INFO at completion of the physical address setup
2008-05-24 06:53:05 +00:00
Volker Ruppert
966f2c8133
- added new serial modes based on SF patch #1928848 by Eugene Toder
...
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
application can communicate with it using pipes API. Useful e.g. for remote
kernel debugging.
* "pipe-client" (win32 only)
* "socket-server": for the use with gdb
2008-05-22 08:13:22 +00:00
Stanislav Shwartsman
0d976801be
More Bit32u -> bx_phy_address changes
...
Hopefully sometimes I will be able to enable 64 bit physical address as well
2008-05-01 20:46:58 +00:00
Stanislav Shwartsman
f5780a5f5c
Hide some BX_MEM_C variables
...
Optimize resolve16 methods - by reducing their amount again - reduce chance for misspredictin
2008-05-01 20:08:37 +00:00
Stanislav Shwartsman
297087fea9
fixed memory handler params - use bx_phy_address data type
2008-04-29 22:14:23 +00:00
Stanislav Shwartsman
fda4d38959
32-bit systems have a problem to allocate large amount of physical memory for Bochs simulation which makes simulation with 4G address space virtually impossible. But in most of the cases when 4G physical address space defined - it is not touched by default on every run so it is possible to allocate only really accessed blocks. This commit made all necessary preparations for it.
2008-04-17 14:39:33 +00:00
Volker Ruppert
a1950bb565
- fixed compilation error: "jump to case label crosses initialization of `Bit32u drvsel'"
2008-03-30 08:32:57 +00:00
Stanislav Shwartsman
75f18c4f99
mostly indent changes
2008-03-29 17:44:13 +00:00
Stanislav Shwartsman
8c24dfc01b
MSVC6 compilation changes
...
More effort to remove can_pop function calls - almost everything is clean
2008-03-26 16:25:05 +00:00
Stanislav Shwartsman
47936944a2
Remove Cirrus Logic PCI special define - it will be enabled by default when PCI is enabled.
2008-03-22 22:26:03 +00:00
Stanislav Shwartsman
a459a64f3e
whispace, tab2space, indent, dos2unix and other cleanups
2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
cdcd7522aa
Added RIP to the GPR register file as lst register
...
This allowed to optimize (read - remove) two more BxResolve methods in 64-bit mode
+ Some white space cleanup
2008-02-15 19:03:54 +00:00
Stanislav Shwartsman
063d896226
Optimization in 16-bit resolve functions
...
Fixes for hosts which can't support misaligned memory access
2008-02-07 20:43:13 +00:00
Stanislav Shwartsman
55ad3e89b6
another whitespace cleanup by Sebastien
2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
b2418742c0
tab2space in unmapped.cc
2008-01-29 17:34:52 +00:00
Stanislav Shwartsman
37fbb82baa
Cleanups. Move bxInstruction_c definition to separate file instr.h
2008-01-29 17:13:10 +00:00
Volker Ruppert
5daa9c5975
- text mode character blinking feature added in the X11 and SDL guis
...
- fixed sdl status bar update after resize
- updated some comments
2008-01-28 21:52:09 +00:00
Stanislav Shwartsman
ae35b0276e
white space cleanups and coding style changes
2008-01-26 22:24:03 +00:00
Volker Ruppert
d770227f8f
- fixed wrong variable type
...
- fixed MSVC warnings
2008-01-26 19:01:31 +00:00
Volker Ruppert
4fd404b622
- get rid of text_update() parameter 'nrows' (updated remaining guis)
...
- text mode cursor blinking implemented
2008-01-26 00:00:31 +00:00
Volker Ruppert
afd6348b36
- implemented screen disable bit in sequencer register #1
2008-01-23 18:10:33 +00:00
Stanislav Shwartsman
08eb75d985
Some workaround for bug report
...
1824189 Qemu hard disk image not reckognized
2008-01-14 20:47:11 +00:00
Volker Ruppert
bf8296f9f4
- ACPI fixes ported from Qemu
...
* set revision number to 3 (older revisions are known to be buggy)
* fixed PM and SMBus base address alignment
2008-01-14 18:39:05 +00:00
Stanislav Shwartsman
72d72c92d4
Fixed warnings of VC2008
2007-12-30 18:02:22 +00:00
Stanislav Shwartsman
917a040cc4
Fixed more VCPP2008 warnings
2007-12-26 18:39:15 +00:00
Volker Ruppert
afbb8fb8d4
- ATA command "execute device diagnostic" raises interrupt at completion
2007-12-17 18:08:27 +00:00
Stanislav Shwartsman
0aaa1629aa
PIC IRQ handling bug fix by Russ Cox
2007-11-30 08:56:34 +00:00
Stanislav Shwartsman
c51888f43f
Split last BxLockable opcodes -> this allows to eliminate mod==0xc0 check from fetchdecode of every instruction
...
reduce ACPU.CC dependencies - now that file doesn't depend of CPU
2007-11-25 20:22:10 +00:00
Stanislav Shwartsman
72af550a0f
Some indent fixes + speed up hardware read by using inline functions
2007-11-12 21:04:17 +00:00
Volker Ruppert
c73f262dc3
- fixed compilation error with raw serial enabled
...
- removed unnecessary spaces
2007-11-03 16:47:49 +00:00
Stanislav Shwartsman
aecf53ac94
Fixed compilation errors
2007-11-01 18:14:28 +00:00
Stanislav Shwartsman
1b8988f698
warnings fixed
2007-10-24 23:17:42 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
07739173f5
add --show-ips to all configs for future releases (it is not ON by default ?)
...
Bit32u -> bx_phy_address in debugger and some other places
2007-10-09 19:49:23 +00:00
Stanislav Shwartsman
c8b4b32826
Merged harddrive patch from #SF tracker
2007-10-08 19:33:08 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Volker Ruppert
208caf109b
- missing 'datarootdir' variable added (fixed warning from configure script)
2007-09-23 08:45:14 +00:00
Volker Ruppert
cd3f204da9
- removed old BX_SCHEDULED_DIE_TIME code after added new benchmark option
2007-09-23 08:44:30 +00:00
Stanislav Shwartsman
412eeeeb7c
Get crregs definition to separate file from cpu.h
2007-09-10 16:00:15 +00:00
Volker Ruppert
674fbc24ab
- compare disk size with the size calculated from geometry to avoid image
...
corruption (if "mode" is not specified and image is not "flat")
- some message fixes
2007-09-07 10:54:19 +00:00
Volker Ruppert
267d15fc31
- fixed redolog->open() call for z-undoable image type (compressed-hd support
...
still incomplete)
2007-09-04 07:56:09 +00:00
Volker Ruppert
4b599a018a
- tftp_send_optack() was not 64-bit clean (patch from SF bug #1787500 )
2007-09-04 07:45:31 +00:00
Volker Ruppert
8f00ef6907
- evaluate_media() now returns 1 only if the media is valid (total number of
...
sectors > 0) to avoid division by zero error
2007-08-21 14:18:16 +00:00
Volker Ruppert
a2584bd271
- attempt to fix the "Print Screen" key problem
...
* partial fix for bug #1549873 (SF patch #1766536 )
* added keyword "print" to the userbutton shortcut table
* FIXME #1 : CTRL+PRINT and ALT+PRINT not working in Win98 guest
* FIXME #2 : win32 hosts do not generate the "make" code for "Print Screen"
2007-08-18 08:05:33 +00:00
Volker Ruppert
63f1d0d07e
- now using platform specific code to determine the image size on WIN32 (fstat
...
on Cygwin and MinGW/MSYS returns only 32-bit values)
2007-08-10 17:34:01 +00:00
Stanislav Shwartsman
752ab9c4ae
Woraround for large files problem I used to install Vista
...
When it PANICs with 8G large disk image file - just press continue and it will work
2007-08-09 14:04:51 +00:00
Volker Ruppert
455e86cbb0
- CL-GD5446 rev. B claims 32 MB PCI memory for VRAM
...
- fixed and simplified PCI memory access
2007-08-05 10:46:23 +00:00
Volker Ruppert
6606627f4b
- fixed harddisk signature (drive select bit must be cleared for devices not
...
implementing the PACKET command)
2007-08-04 17:01:04 +00:00
Volker Ruppert
5563a18956
- ported ACPI enable/disable support from latest Qemu sources
2007-08-04 08:57:42 +00:00
Stanislav Shwartsman
c8b3ad52c4
Fixed compilation error reported in mailing list
2007-07-31 19:03:38 +00:00
Volker Ruppert
46a4544dd2
- Win98SE uses 0x21FF for mass storage device reset (pointed out Ben Lunt)
2007-07-28 16:11:17 +00:00
Volker Ruppert
1ce5222640
- applied SF patch #1695652 by Duane Voth
...
* dumps vnet traffic to a .pcap file for use with wireshark et. al.
* sets the default PXE boot filename to pxelinux.0
* fills out the TFTP implementation far enough to use an etherboot rom
2007-07-01 07:28:14 +00:00
Volker Ruppert
e88a8b48a1
- implementation of save/restore for the SCSI emulation started
...
- SCSI buffer length fixes ported from the Qemu project
2007-05-05 12:30:23 +00:00
Volker Ruppert
70d7a37c55
- prepared after_restore_state() feature for USB devices
...
- init_device(): removed local variable 'connected'
2007-04-15 09:39:22 +00:00
Volker Ruppert
bb27085003
- partial save/restore support for USB MSD devices (TODO: buffers and SCSI
...
emulation status not saved)
- changed type of member 'mode' to simplify save/restore
2007-04-09 09:04:54 +00:00
Stanislav Shwartsman
b6c8275cfd
remove old PIT model and always use Greg Alexander's new one
2007-04-08 21:57:06 +00:00
Volker Ruppert
16812f0ad2
- fixed some gcc 4.x warnings
2007-04-08 15:02:50 +00:00
Volker Ruppert
f8aec91820
- fixed some MSVC warnings
2007-04-06 15:22:17 +00:00
Volker Ruppert
8792936c44
- fixed ATA channel save/restore list size (no space for 'drive_select')
2007-04-06 07:13:19 +00:00
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
abd7cbda87
- implemented specific save/restore method for USB HID devices
...
- removed USB device buffer from save/restore list (contains temporary data only)
2007-04-01 11:15:48 +00:00
Volker Ruppert
9e6a7231da
- basic save/restore support for USB devices (TODO: device-specific state)
...
- user doc: fixed USB description
2007-03-31 09:24:04 +00:00
Volker Ruppert
b1bf1a8bf5
- documentation update after USB devices rewrite
...
- removed obsolete structures and members from the USB code
- removed mouse type 'usb' (USB mouse and tablet override selected mouse type
when connected)
- user doc: mention vmware 4 disk image support
2007-03-27 17:47:15 +00:00
Volker Ruppert
22af32e57a
- removed obsolete file after USB devices code rewrite
2007-03-25 17:41:19 +00:00
Volker Ruppert
324250ccb4
- code USB device 'keypad' rewritten and old-style USB device handling removed
...
- makefile dependencies regerated after USB device code rewrite
- improved error reporting in the new USB device code
2007-03-25 17:37:59 +00:00
Volker Ruppert
58ba0172bb
- USB tablet emulation ported from the Qemu project (TODO: the Bochs gui should
...
generate absolute x/y values if tablet connected)
- store device name string in member d.devname
- report unknown/unsupported requests as errors
- usb_msd: removed unnecessary type definition
2007-03-24 11:43:41 +00:00
Volker Ruppert
69e0110c7b
- USB HID mouse support ported from Qemu to separate file and C++ object
...
* removed old-style mouse stuff
* TODO: implement USB tablet from Qemu and re-implement Bochs USB keypad
- clear out USB hub structures in constructor to avoid segfault
- keyboard: mouse capture flag must affect all mouse types
2007-03-21 18:54:41 +00:00
Volker Ruppert
7956e47de8
- removed USB port option parameter and store device and option in one single
...
string. This is better for devices that need to know all it's options when
connecting to the port. Device name and option should be separated with a
colon. The USB device 'disk' now uses this format ('disk:usbdisk.img).
- the pciusb plugin must be linked with cdrom.o
2007-03-18 17:52:15 +00:00
Volker Ruppert
58d12d7136
- SCSI cdrom support added (untested)
...
- MSVC warnings fixed
- indent mode fixes
2007-03-18 15:18:02 +00:00
Volker Ruppert
a70cc33578
- USB MSD support moved to separate files and C++ object
...
* partial rewrite of the USB device emulation code (TODO: mouse and keypad)
* configure.in and iodev makefile updates
* removed old-style data structure for the USB harddisk
* TODO: save/restore support for removable devices
- PCI USB destructor now resets all runtime parameter handlers
- set log prefix for the SCSI device
- fixed a warning in the SCSI emulation code
2007-03-18 11:17:28 +00:00
Volker Ruppert
e39769a7e8
- SCSI emulation layer moved to separate file and C++ object
...
(TODO: cdrom support, update workspace files)
- USB mass storage device separation continued
- device qualifier descriptor implemented
2007-03-16 18:23:13 +00:00
Volker Ruppert
55d2446fe4
- USB mass storage device support and SCSI emulation layer ported from Qemu.
...
USB device type 'disk' replaces the 'flash' stubs and uses the corresponding
port option as the path to the flat image file. Successfully tested with
OpenSUSE 10.2.
TODO list:
* plugging in 2 devices of the same type not supported yet
* move all USB devices and SCSI emulation layer to separate files and C++
objects
* USB port runtime parameter 'optionX' should be handled in the code of the
connected USB device
* tests with several other guest platforms
- destructor deletes device buffer only when it exists
- handling of the USB error interrupt status bit fixed
2007-03-14 18:05:46 +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
7ee4eb27af
- fixed possible segfault in loopback mode #1 when using a transmit byte count
...
> memory size (changing variable types makes sanity checks work)
2007-03-10 15:17:31 +00:00
Volker Ruppert
e5dbe40511
- destructors added to fix memory leaks
...
- indent mode fixes and removed unnecessary spaces
2007-03-10 12:53:54 +00:00
Volker Ruppert
9a7930a23f
- destructor now deletes the device buffer
...
- attempt to implement the "get max. LUN" command for mass storage devices
- removed unnecessary spaces
2007-03-05 18:09:57 +00:00
Volker Ruppert
0be7d6e5e3
- when clearing the run/stop bit, the "host halted" bit in the status register
...
must be set
- ignore unused bits on i/o writes
- fixed two warnings
2007-03-01 18:29:36 +00:00
Volker Ruppert
a3b352d4fd
- don't abort command when setting maximum logical head number to 0 (Linux 2.6.x
...
kernels use this value when LBA48 support is available)
2007-02-27 18:16:20 +00:00
Volker Ruppert
8beb290f67
- NACK for invalid PS/2 mouse command must be added to the mouse queue
2007-02-25 13:18:33 +00:00
Volker Ruppert
252946be66
- initial ACPI SMBus support added (ported from Qemu, TODO: register devices,
...
bus transactions)
2007-02-20 09:39:06 +00:00
Volker Ruppert
4a8996153f
- partial support for non-DMA mode (initial patch #1641816 by John Comeau)
2007-02-09 14:23:50 +00:00
Stanislav Shwartsman
2f9e1bee68
fixed code duplication and comments
2007-02-03 17:56:35 +00:00
Volker Ruppert
ef9c6ff8b1
- CMOS RTC index port read message type changed to BX_DEBUG
2007-01-02 16:37:11 +00:00
Volker Ruppert
d7c627fdc1
- added support for serial 3-button mouse with Mousesystems protocol
2006-12-31 11:56:14 +00:00
Volker Ruppert
795d07e90f
- hard drive id now reports UDMA supported and ATA version 6
...
- setting transfer mode to UDMA now supported (no effect on the emulation speed)
- drive id arrays now initialized with memset()
2006-12-29 11:57:04 +00:00
Volker Ruppert
7213eae1bb
- fixed some gcc 4.x warnings
2006-12-27 15:21:03 +00:00
Volker Ruppert
ee6bd95cfc
- ATA/ATAPI identify device methods must now be called only one time per device in
...
a Bochs session unless the configuration (transfer mode) changes. Then the
"drive id" data is simply copied to the output buffer.
- removed unused "drive id" example (Conner CFA540A)
- added stubs for the ATA flush cache commands
- converted some tabs to spaces
2006-12-26 17:08:12 +00:00
Volker Ruppert
fa43431365
- LBA48 support implemented (tested with Linux - TODO: readback of hob* values)
2006-12-25 09:34:32 +00:00
Volker Ruppert
a6d772caa7
- fixed several MSVC warnings
2006-12-19 16:42:27 +00:00
Volker Ruppert
f1799211ae
- identify_drive() returns max. 16383 cylinders (higher values are usually
...
calculated using the total number of sectors, heads and sectors per track)
2006-12-18 17:56:05 +00:00
Volker Ruppert
9c8b9eae6a
- support for VMWare version 4 disk image format implemented (patch by Sharvil
...
Nanavati)
- siminterface + wx code cleanup (removed unused stuff and wx log messages,
floppy media type name handling simplified)
2006-12-17 08:17:28 +00:00
Volker Ruppert
d363ceef3b
- the ATA command "verify without retries" works the same was as the normal
...
verify command (should fix SVR4/386 installation)
2006-12-13 16:59:29 +00:00
Alexander Krisak
5f64f48e51
Additional validation of theCmosDevice is added
2006-12-06 14:27:02 +00:00
Volker Ruppert
4314b6a911
- networking modules eth_tap and eth_tuntap fixed for OpenBSD
...
- removed unnecessary spaces
2006-11-23 17:21:59 +00:00
Volker Ruppert
307ca616a2
- enable BPF immediate mode (patch from SF tracker item #1597451 )
2006-11-19 16:16:35 +00:00