Volker Ruppert
823ba769fb
Some work on the USB floppy emulation.
...
- Removed USB device type handling from constructor and init code, since we
only the 'floppy' type here.
- Write commands now using the device buffer for one sector.
TODO: support for starting without media and runtime media change.
2015-08-16 06:44:16 +00:00
Volker Ruppert
5bc1717adc
Removed the data tranfer limit for read/write commands.
...
- The read buffer is now limited to 16 sectors and the read commands can fill
it multiple times until all sectors have been read.
- The write commands are currently not using the device buffer, so no panic
should happen here.
2015-08-14 17:43:25 +00:00
Volker Ruppert
639f361d02
Fix the fix: force a status bar update after registering an item, too.
2015-08-11 17:48:18 +00:00
Volker Ruppert
16fb8317bd
Fixed parameter handler issues found with runtime changes while cdrom tray locked.
...
- bx_param_num_c: set the value returned from the handler.
- bx_param_string_c: set the new value after processing the handler.
- harddrv param handler: check lock state of cdrom and modify value if true.
2015-08-10 18:44:16 +00:00
Volker Ruppert
8a1e31ef08
Added common USB device option "debug" to turn on BX_DEBUG reporting at
...
connection time.
Fixed USB floppy capacity entries for 1.44 MB (last LBA, not LBA count).
2015-07-31 19:01:09 +00:00
Volker Ruppert
46d2c0adad
Started implementing save/restore support for the USB floppy.
...
Fixed status indicator handling in case of connect failure.
2015-07-28 18:44:08 +00:00
Stanislav Shwartsman
250cf02981
x86-64: Fixed bug in OR_EqGqM handler used with FS or GS segment
2015-07-26 19:20:21 +00:00
Volker Ruppert
5e714cdd34
Handle illegal and unimplemented cases of the 'verify' command.
2015-07-26 06:48:55 +00:00
Volker Ruppert
fa5353698d
CMOS boot setup moved to the floppy init code to make Bochs BIOS boot work in
...
case no harddrv plugin is loaded (no ata controller enabled). The floppy and
boot parameters are only set up if no CMOS image is enabled.
2015-07-26 06:48:33 +00:00
Volker Ruppert
20aeed208b
Fixed some panics when Bochs is used without the harddrv plugin (ata* disabled).
...
TODO: Fix Bochs BIOS for that case (SeaBIOS is okay).
2015-07-15 10:20:22 +00:00
Volker Ruppert
87d40fe673
Some work on the status LED support for removable devices.
...
- Force a status bar update after unregistering an item.
- Added status indicators for USB disk and cdrom.
- Handle USB device disconnect in the runtime config handler, too.
2015-07-13 21:57:09 +00:00
Stanislav Shwartsman
f6af0443bb
small optimization and elimination of several defines from cpu.h - replace by inline functions and const variables
2015-07-13 20:24:14 +00:00
Volker Ruppert
3986a0b703
Extended status bar LED feature to support dynamic indicators for removable
...
devices like USB disk, cdrom or floppy. Using this feature for the new USB
floppy. Removed static indicators for port activity from the USB HC code.
TODO: Implement status LEDs for USB disk and cdrom.
2015-07-13 16:56:06 +00:00
Volker Ruppert
6161ffea73
Added initial version of UFI/CBI floppy disk storage device support written
...
by Ben Lunt. To connect a USB floppy you can use the 'floppy' device with the
path to the image separated with a colon. VVFAT is also supported.
FIXME: The device detection fails on some recent Linux distributions.
FIXME: Only 1.44M media format is currently supported.
TODO: Media change without disconnect is not implemented yet.
2015-07-13 08:37:45 +00:00
Stanislav Shwartsman
ea255b5bf7
fixed VMCS memory type calculation
2015-07-12 20:10:43 +00:00
Stanislav Shwartsman
129db3bfaf
fixed typo in the list of the vmcs exits
2015-07-12 15:26:34 +00:00
Volker Ruppert
9b0af67606
Added static variable 'vvfat_count' for generating a unique FAT ID.
2015-07-12 14:46:00 +00:00
Volker Ruppert
16358f9c54
Added missing hdimage->close() in destructor.
2015-07-12 14:45:34 +00:00
Volker Ruppert
98bc3bdf16
Small OHCI fix by Ben Lunt.
2015-07-12 06:53:01 +00:00
Stanislav Shwartsman
9315742f3d
cleanups of vmcs mapping related stuff
2015-07-07 21:06:56 +00:00
Stanislav Shwartsman
e9f9f824be
return value from clear/set_mapping functions
2015-07-06 20:16:34 +00:00
Stanislav Shwartsman
28c19ecec7
more interfaces to VMCS Mapping class
2015-07-06 20:14:56 +00:00
Stanislav Shwartsman
5fe1423ab6
introducr new class for VMCS mapping so it can be customized per cpuid
2015-07-06 18:46:57 +00:00
Volker Ruppert
3b87e71346
Minor bugfix and small additions by Ben Lunt.
2015-06-29 20:32:56 +00:00
Stanislav Shwartsman
b86f01d410
update TODO
2015-06-29 19:57:04 +00:00
Stanislav Shwartsman
3fef7f32f6
added new bits definitions recently published
2015-06-29 19:53:56 +00:00
Stanislav Shwartsman
bc25883087
add new definitions from most recent AMD Software Developers Manual update. TODO: implement new AMD's MONITORX/MWAITX extensions
2015-06-22 21:46:50 +00:00
Volker Ruppert
dcae254157
The Device Qualifier request must fail on non high-speed devices (patch by Ben Lunt).
2015-06-17 20:15:53 +00:00
Stanislav Shwartsman
91086d0627
remove not relevant comments
2015-06-14 20:36:16 +00:00
Stanislav Shwartsman
3a0dff9b36
fixed Bochs compiled for 386 with FPU enabled
2015-06-10 20:36:46 +00:00
Volker Ruppert
ee6bfaa4c4
Added separate thread for the PCM data conversion. Only in case of dual output
...
sendwavepacket() directly calls the conversion method and output(). In all other
cases it puts the unmodified data into a buffer and the conversion thread is
doing the main job and puts the data into the output buffer chain.
TODO: resampling could also be done by the new thread.
2015-06-04 08:58:02 +00:00
Volker Ruppert
7be46cda6a
Fixed SF bug #1376 (this change was missing in rev. 12473).
2015-05-25 12:33:39 +00:00
Stanislav Shwartsman
c43ea147bf
~1% emulation speedup by skipping pageWriteStamp check for stack writes.
...
For now the optimization is supported only when no SMP is compiled in because it doesn't handle cross-modifying code.
The current stack page will cache also current pageWriteStamp for that page and could skip pageWriteStamp access if possible.
Any code fetch access missing trace cache will invalidate current stack page.
Code fetch accesses from another SMP threads should do the same to support SMP.
Next step:
- support SMP
- support pageWriteStamp access skipping for all other memory writes from all segments
2015-05-23 19:34:59 +00:00
Stanislav Shwartsman
745d843c88
change BX_INFO message to BX_DEBUG because it floods log
2015-05-19 20:21:17 +00:00
Stanislav Shwartsman
280a773323
fix vmexit qualification for some instructions after previous code reorg and inlining of resolve_modrm methods
2015-05-16 21:25:43 +00:00
Stanislav Shwartsman
b468316250
re-style old resolve macros after resolve function inlining
2015-05-16 21:06:59 +00:00
Stanislav Shwartsman
29585cae72
delete resolver.cc
2015-05-16 20:30:26 +00:00
Stanislav Shwartsman
f0d7379908
remove BxResolveModrm member in BxInstruction_c class and inline resolve functions into instruction handlers instead. helps to remove indirect branch mispredictions (suggested by Vtune). measured speedup on Win7-64 boot is 5%, on other guests it might vary between 1% and 5%
2015-05-16 20:29:49 +00:00
Volker Ruppert
377d920956
Created a new class for the audio buffer handling to make multiple buffers
...
chains possible.
TODO: the lowlevel sound code should bbe rewritten with an additional
conversion thread.
2015-05-15 20:18:47 +00:00
Stanislav Shwartsman
1268d8c14a
deprecated configure options cleanup in configure.in
2015-05-14 11:56:23 +00:00
Stanislav Shwartsman
8804fb624b
Clear definition of BX_CPP_INLINE in Visual Studio case
2015-05-14 11:49:28 +00:00
Stanislav Shwartsman
cf4b3f2542
optimize code duplication
2015-05-12 21:33:06 +00:00
Stanislav Shwartsman
9f18573740
Rename BX_CPU_CALL_METHODR to BX_CPU_RESOLVE_ADDR and introduce special cases BX_CPU_RESOLVE_ADDR_64 (for 64-bit mode only) and BX_CPU_RESOLVE_ADDR_32 (for 32-bit mode only)
2015-05-11 19:23:09 +00:00
Stanislav Shwartsman
b9b45f0d0d
convert some defines to typed consts
2015-05-10 19:54:57 +00:00
Volker Ruppert
b449f2a723
Prepared Bochs logfile output fur the usage in a multi-threaded environment.
2015-05-10 06:55:16 +00:00
Volker Ruppert
f838b04dd1
Attempt to fix the compilation failure on OpenBSD with debugger enabled
...
(stdin and stdout cannot be modified on this platform).
2015-05-09 17:01:24 +00:00
Volker Ruppert
119971182b
Include pthreads library header in soundlow.h (fixes SF bug #1373 ).
2015-05-09 08:31:49 +00:00
Volker Ruppert
2bfee2aeb2
Added new log function for the ATAPI CDROM and macro BX_DEBUG_ATAPI to avoid
...
flooding logfile with hard disk messages when only the cdrom ones are wanted.
ATAPI DMA: don't copy more data than actually present in buffer.
2015-05-09 07:44:36 +00:00
Stanislav Shwartsman
0d79c5f986
Implemented Page Modification Logging VMX feature
2015-05-06 19:55:44 +00:00
Volker Ruppert
7e86e7956f
Fixed PCI IDE controller DMA start (found with a recent Linux version:
...
"mode sense" command executed in DMA mode).
Updated output of "mode sense" page 0x2a (still reporting CD-ROM drive).
2015-05-05 20:10:43 +00:00
Stanislav Shwartsman
2185d21eb7
fixed comments for PML acronym
2015-05-05 19:52:05 +00:00
Stanislav Shwartsman
a197977682
fixed typo
2015-05-05 19:37:01 +00:00
Stanislav Shwartsman
c9fba73a69
added defines about new VMX bits and controls related to Page Miss Logging (PML) EPT feature
2015-05-05 19:35:39 +00:00
Stanislav Shwartsman
16ab385e1d
added cpuid/creg bits definition announced in recent 054 update of Intel SDM
2015-05-05 19:28:25 +00:00
Volker Ruppert
fd690a3a31
Fixed compilation errors found on Cygwin64
...
- The 'Bits' type used in the opl files is incompatible with Bit64s. Modified
typedef to fix this issue.
- On Windows use Sleep() directly, since msleep() doesn't exist in Cygwin.
2015-05-05 18:06:05 +00:00
Stanislav Shwartsman
24538e3162
allow to set IPS (and as side effect any other non-hex number param) in scaled form, for example ips=100M
2015-05-04 20:25:10 +00:00
Stanislav Shwartsman
5edd53186e
optimize for target with no x86-64 support
2015-05-04 19:58:01 +00:00
Stanislav Shwartsman
28fc5083af
remove the victim cache code to resolve assert in proc_ctrl.cc
2015-05-04 19:47:52 +00:00
Stanislav Shwartsman
4c34b97db1
fixed comment
2015-05-03 19:44:24 +00:00
Volker Ruppert
7aab4c561e
Regenerated after release.
2015-05-03 17:04:00 +00:00
Volker Ruppert
3aef6a67af
Enabled pthread library for all configurations on non-Windows targets.
...
Usual updates after release (version strings, release tag).
2015-05-03 17:03:26 +00:00
Volker Ruppert
8dd092050f
Updated version number
2015-05-03 06:39:56 +00:00
Volker Ruppert
783c3e89c2
Regenerated for release
2015-05-03 06:37:18 +00:00
Volker Ruppert
9d4ef351e7
Preparing Bochs release 2.6.8
2015-05-03 06:36:30 +00:00
Stanislav Shwartsman
5ef56d6d79
rename fpu function
2015-05-02 20:08:36 +00:00
Stanislav Shwartsman
4c7a05621c
reorg of code managing MXCSR to softfloat status conversion
2015-05-02 19:54:48 +00:00
Volker Ruppert
84a704e600
Some documentation fixes and updates.
2015-05-02 15:40:11 +00:00
Volker Ruppert
29d54ac8b8
Fixed some compilation errors / warnings found on Mac OSX (SF bug #1371 ).
2015-05-02 08:42:44 +00:00
Volker Ruppert
722274fd09
Enabling non-blocking mode can cause socket connection failures (at least when
...
compiled with VS2013).
TODO: slirp should use separate threads for input and output.
2015-05-01 19:41:08 +00:00
Volker Ruppert
742e919f72
Updated changes
2015-05-01 15:21:24 +00:00
Volker Ruppert
2c836e461e
Some small updates in the developer doc.
2015-05-01 14:58:50 +00:00
Volker Ruppert
a76a232115
Fixed crash on exit caused by physical drive without media present. Now setting
...
fd to -1 if there is no readable media found.
2015-04-28 17:01:41 +00:00
Volker Ruppert
506dd623f6
Using "read toc" to get the media size doesn't work correctly for DVDs on Linux.
...
Now using BLKGETSIZE64 ioctl seems to fix the reported capacity.
2015-04-26 15:59:08 +00:00
Volker Ruppert
9daf8d6673
Documentation for the "waveout" class methods is now complete.
2015-04-25 12:43:48 +00:00
Volker Ruppert
8db4261869
The win32ParamDialog now can handle bx_param_num_c values with full Bit64s size.
2015-04-23 18:44:51 +00:00
Stanislav Shwartsman
9be2f07d54
fix compilation err when SVM is enabled
2015-04-21 08:20:28 +00:00
Stanislav Shwartsman
e72f66ce49
added BX_CPP_AttrRegparmN to xmm/ymmz/zmm read methods matching cpu.h
2015-04-19 20:47:55 +00:00
Volker Ruppert
3bdb1aa555
Some more work on the documentation for the "waveout" class methods (still
...
not complete).
2015-04-19 07:25:17 +00:00
Stanislav Shwartsman
239b1ae684
added missed vmexit reason to debug print
2015-04-18 19:25:58 +00:00
Volker Ruppert
f8264a7b38
The RSDT table may be detected incorrectly within the rombios32 string table.
...
Split copying signature and the check for in to parts to fix this ACPI issue.
2015-04-18 13:19:21 +00:00
Volker Ruppert
f169c68174
The RSDT table may be detected incorrectly within the rombios32 string table.
...
Split copying signature and the check for in to parts to fix this ACPI issue.
2015-04-18 13:18:01 +00:00
Volker Ruppert
a32bc18d9e
Renamed SB16 parameters "midi" to "midifile" and "wave" to "wavefile" (same
...
as ES1370). Legacy parameter names are still supported.
2015-04-17 18:37:51 +00:00
Volker Ruppert
d416daf51b
SB16 register_state(): we have to use a constant here.
2015-04-17 11:58:15 +00:00
Volker Ruppert
92f48fa92f
Implemented MIDI output support for the ES1370 soundcard. Data written to the
...
UART data port is sent to file or device similar to the SB16.
Minor cleanups in the SB16 code.
2015-04-16 21:18:42 +00:00
Volker Ruppert
2bfe0f523e
Some work on the documentation for the "waveout" class methods (not yet complete).
2015-04-14 18:41:39 +00:00
Volker Ruppert
091e01d96c
Fixed UART register address in condition and added default status return value.
2015-04-12 10:48:02 +00:00
Volker Ruppert
727fbd23af
Fixed possible deadlock when pressing user shortcut or save/restore button.
...
The button handlers must be placed outside of the critical section.
2015-04-11 10:21:03 +00:00
Volker Ruppert
035b133bac
Improved error messages for unsupported internal memory access.
...
ES1370 is no longer "experimental".
2015-04-11 09:03:17 +00:00
Volker Ruppert
d8ca04c79f
The current frame count registers are readable as word (not mentioned in specs).
...
This fixes the Win98 explorer crash.
Added BX_ERROR for the still unsupported dual output mode.
2015-04-10 21:31:44 +00:00
Volker Ruppert
bad6c96fc7
Fixed possible compilation failure caused by container_of definition (part of
...
the mixing6 patch by Dawn Teschendorf).
2015-04-10 20:40:25 +00:00
Volker Ruppert
93d9356899
Added documentation for the new lowlevel sound classes. The sections for the
...
"wavein" and "midiout" feature should be okay. TODO: Update "waveout" methods
subsections.
2015-04-07 17:23:20 +00:00
Volker Ruppert
696c1a6e55
Some Bochs features are still called "experimental". The bus mouse, USB OHCI,
...
USB UHCI and the E1000 NIC are known to work fine on some guest systems, so
it's safe to remove this attribute.
TODO: Some other Bochs features need to be reviewed for this.
2015-04-07 16:57:36 +00:00
Volker Ruppert
a52bcdfa88
Minor fixes and cleanups in the SB16 code (no functional changes).
...
- the "remaplist" has 256 entries, but the limit was too high (4096).
- the "patchtable" had 4096 entries, but the index was never > 15.
- removed disabled / outdated code.
2015-04-06 16:03:04 +00:00
Volker Ruppert
72dfda5ee9
Fixed frame register writes (bug in rev. 12705) using QEMU-like code.
...
TODO: Win98 guest crash after wave output still not fixed.
2015-04-06 12:18:52 +00:00
Volker Ruppert
e20f69b36e
Continued sound documentation update (still not complete).
2015-04-06 08:31:23 +00:00
Volker Ruppert
a256414d32
Some work on the ES1370 emulation.
...
- Undocumented "legacy" register at offset 0x1b is used to probe for the ES1370
interrupt by the Win9x driver. Using bit #0 to control the IRQ line fixes
driver installation.
- Added more detailed BX_ERROR messages for the UART registers.
- Small code cleanup in the write handler.
- TODO: fix possible bluescreen in Win98 guest after wave playback.
2015-04-05 11:48:44 +00:00
Volker Ruppert
dd39bbe1c1
Started updating docs after sound code changes (TODO: developer doc).
2015-04-03 15:36:11 +00:00
Volker Ruppert
79278be63f
Volume control fixes and improvements
...
- OPL3: apply FM volume control to the output data.
- SB16: fixed missing volume update after mixer reset.
- soundlow: fixed application of the volume control to the PCM output.
2015-04-03 12:18:53 +00:00
Volker Ruppert
7ce7c70f6d
Adjust DAC output timer interval depending on real packet size (fixes output
...
with XP guest).
2015-04-02 23:21:04 +00:00
Volker Ruppert
10d79f2e9a
SB16: fixed output volume calculation.
...
ES1370: fixed and improved output volume calculation similar to SB16.
TODO: apply volume control to the FM output.
2015-03-31 18:01:52 +00:00
Volker Ruppert
d93eeb98be
Updated workspaces after adding Oracle(tm) VM VirtualBox image support.
2015-03-30 20:27:06 +00:00
Volker Ruppert
72cbbe9e8b
Fixed incorrect calls of virtual functions in constructor/destructor.
...
- Removed useless set_pcm_params() call in base class contructor.
- SDL waveout destructor needs to call the unregister_wave_callback() method
of the SDL stuff, since the base class destructor doesn't do that.
2015-03-29 15:53:56 +00:00
Volker Ruppert
3e54ff2e36
Added Oracle(tm) VM VirtualBox image support (VDI version 1.1). Patch written
...
by Ben Lunt plus some additions (bximage fixes, big endian support).
TODO: update MSVC workspace files.
2015-03-29 14:27:32 +00:00
Stanislav Shwartsman
080ceb8293
don't crash when running on 386 with no FPU model
2015-03-27 21:39:24 +00:00
Volker Ruppert
601493c89a
Moved output volume calculation to a separate method and prepared volume
...
control for the FM output.
TODO #1 : handle volume control in the opl code.
TODO #2 : check if the output level calculation is correct.
2015-03-27 15:49:40 +00:00
Stanislav Shwartsman
c360ddf60c
correctly report memory type for EPT page table accesses
...
TODO: support memory type for guest physical access under EPT
TODO: support memory type for SVM nested paging
TODO: check what happens when PAT is not enabled in CPU configuration
2015-03-23 20:27:36 +00:00
Stanislav Shwartsman
7b33674a54
update CHANGES
2015-03-21 20:33:17 +00:00
Stanislav Shwartsman
05635a9534
call correctly resolve_memtype function
2015-03-21 20:28:22 +00:00
Stanislav Shwartsman
56323b2806
bugfixes
2015-03-21 20:15:57 +00:00
Stanislav Shwartsman
a55c5e4eb8
correctly report memory type for page table accesses in x86 mode (not in EPT or SVM nested paging yet)
...
TODO: support memory type with EPT / nested paging
TODO: check what happens when PAT is not enabled in CPU configuration
2015-03-21 20:08:58 +00:00
Volker Ruppert
422a06652d
Fixed bximage compilation on big endian hosts.
2015-03-20 18:01:52 +00:00
Volker Ruppert
49e265f5f8
Added save/restore support for the OPL3 waveform selection.
2015-03-19 16:47:25 +00:00
Volker Ruppert
3ab5b052a1
Sound driver 'win': changed output rate to 20 packets per second.
2015-03-17 20:55:51 +00:00
Volker Ruppert
927e55f077
Improved mixer thread mutex handling.
...
- Moved BX_INIT_MUTEX() call to start_mixer_thread() to reduce code duplication.
- Call BX_FINI_MUTEX() only when the mixer thread and mutex was really used.
2015-03-16 19:02:31 +00:00
Volker Ruppert
8bf10dc15c
Fixed compilation error caused by #endif location.
2015-03-16 18:28:29 +00:00
Volker Ruppert
7c351a16dc
Cleaned up speaker output mode handling (no functional changes).
2015-03-15 06:58:59 +00:00
Volker Ruppert
924201f694
Added capability to handle floating point values with save/restore.
...
Improved OPL3 save/restore support.
2015-03-13 21:28:40 +00:00
Volker Ruppert
8fe902686c
Separated sound lowlevel base class from dummy driver. The base class returns
...
NULL for all services and the dummy driver provides the stubs. Now falling
back to the dummy driver if the wavein or midiout services are not provided
by the selected driver.
2015-03-10 20:56:44 +00:00
Volker Ruppert
d097b79a08
Added minimal documentation for the sound configuartion changes.
2015-03-09 18:33:51 +00:00
Volker Ruppert
327f987a18
Added the capability to set up the sound driver per service. The global
...
sound option for setting up one driver for all services is still available.
2015-03-06 22:54:30 +00:00
Stanislav Shwartsman
e79185b0a0
refactor memtype methods
2015-03-02 20:51:59 +00:00
Stanislav Shwartsman
36f7bf0ba6
fixed ept memtype printout
2015-03-01 21:04:34 +00:00
Stanislav Shwartsman
8134dc67af
supporting memory type provided by page tables with PCD,PWT and PAT bits
...
TODO: support memory type with EPT
TODO: support memory type for intermediate page table accesses
TODO: check what happens when PAT is not enabled in CPU configuration
2015-03-01 20:55:23 +00:00
Stanislav Shwartsman
9932384df3
fixed visual studio warning
2015-03-01 19:44:06 +00:00
Stanislav Shwartsman
53041981f7
supply PAT required memory type bits through new combined access interface
2015-02-28 14:06:04 +00:00
Stanislav Shwartsman
25b02dac4b
code reorg before PAT memory type support
2015-02-28 14:01:11 +00:00
Stanislav Shwartsman
b74036d2d8
another try to fix the weird compilation error
2015-02-26 20:34:24 +00:00
Stanislav Shwartsman
4e859202a1
attemp to fix compilation issue
2015-02-25 19:43:47 +00:00
Volker Ruppert
cbfbaaacb7
Added BX_HAVE_SOUND_* definitions to simplify code.
2015-02-23 21:32:34 +00:00
Stanislav Shwartsman
1e1c893041
introduce new 64bit packed register type and implement pat/mtrr and mmx registers through it
2015-02-23 21:17:33 +00:00
Stanislav Shwartsman
2bad0d0d12
fixed link error with debugger enabled, small speed optimization
2015-02-23 19:55:55 +00:00
Stanislav Shwartsman
2448c0cf74
fixed complation err
2015-02-23 17:55:09 +00:00
Stanislav Shwartsman
6c6b670551
fixed typo causing compilation error
2015-02-22 21:33:26 +00:00
Stanislav Shwartsman
0917d12e8b
memory type report for physical accesses and RMW acccesses. todo: consider also pat
2015-02-22 21:26:26 +00:00
Volker Ruppert
3135e6a4eb
Changed sound driver parameter type to bx_param_enum_c.
...
TODO: Add sound driver selection per service (waveout, wavein, midiout).
2015-02-22 20:29:58 +00:00
Stanislav Shwartsman
66ee9dce05
update CHANGES
2015-02-22 16:56:32 +00:00
Volker Ruppert
87b77ad00d
Started updating changes.
2015-02-22 08:59:09 +00:00
Stanislav Shwartsman
a3cf34984a
correctly update instr example
2015-02-21 18:37:06 +00:00
Stanislav Shwartsman
23bc2796d9
fixed typo
2015-02-21 18:30:26 +00:00
Volker Ruppert
f5966efaba
Modified linker options to build XP-compatible binaries when compiling with
...
VS2013 nmake. In addition to this change in the Bochs code, the environment
variables for the command prompt need to be modified this way:
===
set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%
===
2015-02-21 09:52:39 +00:00
Volker Ruppert
9493a63e7a
Fixes and updates in the lowlevel sound code and related stuff.
...
- soundlow: fixed possible segfault on exit.
- soundfile: added symbol required for win32 DLL plugins.
- bochsrc sample: fixed typo.
- VS2013Ex workspaces: partial update (sound stuff only).
2015-02-20 22:39:55 +00:00
Volker Ruppert
27c773d8b5
Fixed possible segfault on exit.
2015-02-20 22:33:06 +00:00
Stanislav Shwartsman
7a3e340e6d
implement memory type calculation by mtrr. todo: memory type from page tables
2015-02-20 21:50:59 +00:00
Volker Ruppert
46b21a8373
Some failure case fixes and cleanups in the sound code.
...
- sound 'file' driver: added failure handling in the file open methods.
- soundmod: initialize default driver with NULL to avoid crash on failure.
- SB16: Fixed crash if no driver is present / removed unused members.
2015-02-20 16:36:26 +00:00
Volker Ruppert
16d2957cd4
Rewrite of the ES1370 wave output code and related changes.
...
- Implemented wave output using the 'soundfile' driver including dual wave
output in wavemode 3. Removed now obsolete output file handling and other
cleanups. The wave input (recording) feature is not affected by the
wavemode setting.
- Moved VOC file handling to the soundfile code.
- Updated iodev makefile dependencies.
2015-02-19 21:31:18 +00:00
Stanislav Shwartsman
e16c6eb30c
preparations and interface definition for memory type support
2015-02-19 20:23:08 +00:00
Volker Ruppert
050795ac44
Rewrite of the SB16 midi and wave output code.
...
- Implemented wave and midi output using the 'soundfile' driver.
- Implemented dual midi/wave output in midimode/wavemode 3.
- Removed now obsolete output file handling and other cleanups.
- The wave input (recording) and OPL3 output features are not affected by
the wavemode setting.
- TODO: Similar rewrite of ES1370 wave output and related cleanups.
2015-02-19 18:45:43 +00:00
Volker Ruppert
b052ddcc32
Prepared lowlevel sound code for the usage with the 'wavemode' parameter.
...
- soundlow: use direct output if no PCM callback is registered.
- soundlow/soundfile: re-implemented openwaveoutput() method to support
runtime changes of wave mode or file (only implemented in the 'file'
driver, stub for others).
- soundfile: don't initialize mixer thread and PCM callback if thread is
already running / no output() delay in that case.
2015-02-18 16:34:53 +00:00
Volker Ruppert
b1e8a6369c
Some work on the sound module handling and the SB16 midi file output.
...
- Added the capability to load up to 4 sound drivers and added methods to
get pointers to the waveout, wavein and midiout services of a driver.
- Rewrite of the SB16 midi file output code. In midimode 2 and 3 the midiout
service of the 'file' driver is used. Removed obsolete midi file handling.
- Re-implemented the closemidioutput() method to make runtime changes of the
midi setup work with the new code.
2015-02-17 18:28:25 +00:00
Volker Ruppert
c8207c7a10
Some work on the soundfile 'driver' and the sound configuration.
...
- waveout: added support for RIFF WAVE format and raw output. The formats
'voc' and 'wav' are detected by file extension, raw output is used otherwise.
- midiout: added support for raw midi output (no header, no deltatime).
The 'mid' format is detected by file extension, raw output is used otherwise.
- Added 'midiout' parameter to the global sound option to specify the device
if necessary. The related SB16 parameter now only specifies the output file.
- TODO: Rewrite of the sound configuration and output code to support dual
output (device and file).
2015-02-17 08:33:07 +00:00
Volker Ruppert
de08a6ba55
Added initial version of a sound "driver" that writes to file(s).
...
- New code is based on the dummy sound driver and file output code from SB16.
- The midiout feature supports the MIDI file format.
- The waveout feature currently only supports the VOC format.
TODO:
- Add support for a more detailed sound configuration (waveout to device,
midiout to a file.
- The waveout feature should support WAV and RAW file formats.
- Move VOC file handling from soundmod.cc to soundfile.cc.
- Finally remove file handling code from sound devices.
2015-02-16 15:47:17 +00:00
Volker Ruppert
f19e91e2f5
Moved speaker beep generator to the speaker code.
2015-02-16 08:48:11 +00:00
Volker Ruppert
3ac8362523
Bugfix for the 'dummy' sound driver: don't add wave packet to the buffer queue
...
if PCM callback is not active.
2015-02-16 07:36:32 +00:00
Volker Ruppert
79058610d7
Moved midi output support to a separate C++ class. The lowlevel sound module
...
creates the object and returns a pointer to it. TODO: Rewrite of the sound
configuration to support a more detailed setup (e.g. waveout with alsa,
dummy wavein, midiout to a file).
2015-02-15 18:32:36 +00:00
Volker Ruppert
f84439f8e8
Moved wave input support to a separate C++ class. The lowlevel sound module
...
creates the object and returns a pointer to it. TODO: Do the same with the
midiout feature.
2015-02-14 17:25:39 +00:00
Volker Ruppert
0e73185efd
Moved wave output support to a separate C++ class. The lowlevel sound module
...
creates the object and returns a pointer to it. TODO: The wavein and midiout
components should also move to separate classes. When finished, it should be
possible to configure the sound support more detailed (e.g. waveout with sdl,
midiout with alsa and the dummy driver for wavein). Creating a separate
module for the output to file(s) is also possible.
2015-02-13 11:30:46 +00:00
Stanislav Shwartsman
59e3a4ddc6
mention two new CPUDB models in .bochsrc example
2015-02-12 21:34:47 +00:00
Stanislav Shwartsman
a74e855185
added Broadwell ULT CPUID definition to CPUDB
2015-02-12 21:28:24 +00:00
Stanislav Shwartsman
901b7be1a8
code reorg
2015-02-12 20:18:35 +00:00
Stanislav Shwartsman
40312cec2d
added pentium cpudb files
2015-02-11 21:44:24 +00:00
Stanislav Shwartsman
b60d7d3154
Cleanup of CPUDB modules, moved common functionality into bx_cpuid_t base class
...
Added Pentium (P54C) AKA Pentium with no MMX to CPUDB
2015-02-11 21:31:17 +00:00
Volker Ruppert
52b4c20992
Fixed allocated memory and some cleanup after latest changes.
2015-02-08 10:33:12 +00:00
Volker Ruppert
739d18c48d
Changed startwaverecord() to use structure bx_pcm_param_t, too.
2015-02-08 08:53:20 +00:00
Stanislav Shwartsman
adaca4a6f5
more correct limit4g fix
2015-02-08 06:37:59 +00:00
Volker Ruppert
fafc153a30
Implemented support for the new mixer thread in the lowlevel sound module 'osx'
...
(untested). Started code cleanup in the Bochs sound code.
2015-02-07 22:15:22 +00:00
Volker Ruppert
9c1070cbed
Implemented support for the new mixer thread in the lowlevel sound module
...
'alsa'. Cleaned up the code a little bit.
TODO #1 : Implement mixer thread support in the OSX sound driver.
TODO #2 : Code cleanups in the Bochs sound code.
TODO #3 : Resampling support and improvements in the wave recording code.
2015-02-07 18:49:09 +00:00
Volker Ruppert
bfb5ec8cf9
Moved unregister_wave_callback() to the base class (only sdl has special code).
...
Some cleanups in the soundlow.* code.
2015-02-07 10:50:35 +00:00
Volker Ruppert
1ccd82ab0f
Implemented support for the new mixer thread in the lowlevel sound module 'oss'.
...
Renamed class to bx_sound_oss_c.
2015-02-06 21:31:30 +00:00
Volker Ruppert
d27972cc42
Implemented support for the new mixer thread in the lowlevel sound module 'win'.
...
- removed disabled code for the sndPlaySound() function.
- removed now obsolete buffer ring for wave output.
- The new mothod waveout() is driven by the mixer thread. For the best results
you need to disable the 'realtime' sychronization and to find out a usable
IPS vaöue. The mixer also polls data from the speaker beep generator and
the OPL3 FM generator.
- TODO: Code cleanup in soundwin.cc, implementation in other sound modules.
2015-02-06 15:57:26 +00:00
Volker Ruppert
1e52f0cbe0
Implemented simple mixing support (addition and clipping).
...
Fixed minimum value of signed data types.
TODO: Use the mixer thread support in the sound modules (alsa, oss, osx, win).
2015-02-02 21:11:31 +00:00
Volker Ruppert
a0971f02f8
Some more work on the mixer thread framework.
...
TODO #1 : Implement simple mixing (additon and clipping).
TODO #2 : Use this feature in the sound modules.
2015-02-01 20:50:20 +00:00
Volker Ruppert
542e55a06b
Method startwaveplayback() now completely replaced by set_pcm_params().
2015-02-01 12:33:21 +00:00
Volker Ruppert
8cd9dbedad
Setting up and reporting BXSHARE value should not depend on plugin support.
2015-02-01 11:46:55 +00:00
Volker Ruppert
7dbb5185bf
ALSA / OSS sound modules: startwaveplayback() rewritten to set_pcm_params()
...
and some related cleanups.
TODO: Replace startwaveplayback() completely.
2015-01-31 10:48:22 +00:00
Volker Ruppert
d2a85e576f
Some work on the lowlevel sound code
...
- Moved audio buffer code and the pcm_callback function to soundlow.cc.
- Added framework for the mixer thread.
2015-01-30 22:52:56 +00:00
Stanislav Shwartsman
e80e911166
fixed compilation on cpu level < 6
2015-01-29 18:41:28 +00:00
Stanislav Shwartsman
d6631f767d
correct alignment checking (on linear address and not on effective address)
2015-01-28 16:49:46 +00:00
Volker Ruppert
38f85eaacb
PCM volume now applied to the output packet in the format conversion code.
2015-01-27 19:33:28 +00:00
Stanislav Shwartsman
51808f775d
4G optimization is active only when seg.base == 0
2015-01-27 15:47:02 +00:00
Volker Ruppert
12d60f5aaf
Some work on the lowlevel sound code.
...
- soundlow: prepared code for 2 pcm parameter sets:
emulated: requested by sendwavepacket()
real: used for the sound output
- soundsdl: startwaveplayback() rewritten to set_pcm_data().
- soundmod: some beep init code fixes.
2015-01-26 21:10:51 +00:00
Stanislav Shwartsman
17c89d1c78
masked load-store optimization for avx-512
2015-01-26 20:52:03 +00:00
Stanislav Shwartsman
ee3841ef07
fixed more compilation problems and code cleanup
2015-01-26 20:01:25 +00:00
Stanislav Shwartsman
3a4bd2da51
fixed debug message
2015-01-26 19:16:51 +00:00
Stanislav Shwartsman
9a70727814
fixed fault priority for memory accesses requiring alignment
2015-01-26 19:09:58 +00:00
Stanislav Shwartsman
74da7a7092
fixed compilation err
2015-01-26 15:34:52 +00:00
Stanislav Shwartsman
b5a603c8c7
fixed %d->%u format found by cppcheck (patch by Maxim Derbasov)
2015-01-25 21:24:13 +00:00
Stanislav Shwartsman
ea390d58dc
added new files, removed old files, remove obsolete assert
2015-01-25 20:58:04 +00:00
Stanislav Shwartsman
5e6955c5e7
Major rewrite of memory access methods to avoid massive code duplication and enable inlining of memory access methods
2015-01-25 20:55:10 +00:00
Volker Ruppert
23ea69f1b2
Rewrite of the audio buffer handling and small code reorganization.
2015-01-25 20:03:11 +00:00
Volker Ruppert
10cf06afbd
Added pcm format conversion support to the win32 and OSX sound modules.
...
Changed name of the pcm conversion method and minor cleanups.
2015-01-25 11:45:13 +00:00
Volker Ruppert
2c621601cb
Moved wave format conversion code to the sound lowlevel base class and added
...
format conversion support to the ALSA and OSS sound modules.
2015-01-24 21:01:45 +00:00
Volker Ruppert
e37498025e
Some small changes in the SDL sound module.
...
- Store conversion multiplier in the C++ class.
- Moved wave callback structure to soundlow.h for future use.
- Removed unused methods.
2015-01-23 19:10:49 +00:00
Volker Ruppert
add5b1e61d
Some work on the Bochs sound support.
...
- OPL3: Added support to change the samplerate of the generator.
- SDL sound: convert wave packet to 16 Bit signed stereo format.
- Increased the maximum size of a single wave packet for playbck/recording.
2015-01-22 20:28:14 +00:00
Volker Ruppert
55f7c7542b
Implemented yes/no dialog for SDL2 (e.g. for VVFAT commit).
2015-01-19 20:32:20 +00:00
Volker Ruppert
3dca0bd8cf
Some work in the soundmod beep code and multithreading improvements.
...
- Beep thread now only started one per simulation.
- Added some more multithreading macros and use them in rfb, vncsrv and soundmod.
- TODO: implement mixer thread and remove beep thread.
2015-01-17 19:53:03 +00:00
Volker Ruppert
dd56a4d1d3
OPL3: improved save/restore support and added SVN Id line.
2015-01-16 18:55:25 +00:00
Stanislav Shwartsman
271f06026d
fixed compilation err with SVM without VMX
2015-01-16 06:15:47 +00:00
Volker Ruppert
cf888edf81
Removed most of the incomplete legacy FM OPL emulation part of the SB16.
...
Only keep the OPL timer code required for chip detection. Started implementing
save/restore support in the OPL3 code ported from DOSBox.
2015-01-15 20:25:27 +00:00
Volker Ruppert
fb265dc532
Ported OPL3 emulation from DOSBox.
...
The code currently only works with the SDL sound output module and at 44100 Hz,
with 16 bit stereo signed little endian format. FM volume control and
save/restore support are not implemented yet. The legacy code for generating
MIDI notes still works and will be removed when mixing support is implemented
in all sound modules.
2015-01-12 21:20:18 +00:00
Volker Ruppert
f9ff6ece2d
Applied some parts of the floppy patch by Ben Lunt.
...
- The "Read ID" command must return an error when reading with non-existant head.
- Some BX_DEBUG improvements and minor other changes.
2015-01-12 18:52:39 +00:00
Stanislav Shwartsman
63c3ed3f70
update (c) and fix instrumentation stub
2015-01-11 20:50:26 +00:00
Stanislav Shwartsman
3b237df41d
Added far branch origin to bx_instr_far_branch instrumentation callback by user request
...
Updated instrumentation examples
Fixed code duplication
2015-01-11 20:45:39 +00:00
Volker Ruppert
fe49c73a6b
Some work on the lowlevel sound support.
...
- Define new structure bx_pcm_param_t and use it as a parameter for the method
sendwavepacket(). The method startwavepacket() is now called from
sendwavepacket() in case of a parameter change (temporary solution).
- soundsdl: Replaced waveready() call by some more accurate code for buffer
space check in sendwavepacket().
- soundsdl: Moved code for reading from audio buffer to a new function.
- soundsdl: Temporarily increase the audio buffer size.
- Preparing the SB16 code for the OPL emulation port from DOSBox.
2015-01-11 20:13:50 +00:00
Volker Ruppert
7bd5eeaa87
Mix the wave input using SDL_MixAudio() (addition and clipping).
...
NOTE: This function is not correct in case of more than 2 active sources.
2015-01-11 07:57:35 +00:00
Volker Ruppert
15ccdef0d1
Fixed register/unregister wave callback (found while testing OPL code).
2015-01-10 19:36:50 +00:00
Volker Ruppert
fe953485b1
Some more work in the lowlevel sound code.
...
- Reworked wave callback code to support 2 input sources (no mixing yet).
- Fixed SDL sound output.
- Beep generator fixes.
- Prepared the SB16 code for FM OPL output support (to be ported from DOSBox).
2015-01-08 19:12:01 +00:00
Stanislav Shwartsman
055da948a0
fixed problems found by cppcheck tool (patch by Maxim Derbasov) - second round
2015-01-07 16:17:40 +00:00
Volker Ruppert
2ca192eef7
Some more work in the lowlevel sound code.
...
- Renamed wavedata callback type.
- Handle sample rate in the beep generator (TODO: handle data format).
- Don't call waveready() in the SB16 code.
- Attempt to fix SDL2 wave output using SDL_LockAudio() / SDL_UnlockAudio().
- SDL specific code in the beep thread no longer needed.
2015-01-05 22:07:03 +00:00
Volker Ruppert
0c205fce26
Some work in the lowlevel sound code.
...
- Added framework for polling wave data and use it for beep output in sdl.
- Some work in the beep thread code (to be continued).
- Moved macros required for multithreading to bochs.h.
2015-01-04 21:12:41 +00:00
Volker Ruppert
2357175d79
Show mouse messages only if capture status changes.
2015-01-03 17:13:54 +00:00
Stanislav Shwartsman
1f4d3e7194
fixed problems found by cppcheck tool (patch by Maxim Derbasov)
2015-01-03 13:53:52 +00:00
Volker Ruppert
c7c92bb62b
Fixed OPL chip detection.
...
- Increment timer counter before checking for overflow.
- Implemented ISA bus delay in the pc_system code and use it for the SB16.
This makes OPL chip detection work at ips values > 4 Mips.
TODO: OPL chip should use wave output instead of MIDI (maybe port from DOSBox).
TODO: Use isa_bus_delay() for other legacy devices if required.
2014-12-31 12:27:32 +00:00
Volker Ruppert
33a633cbd2
Partial rewrite of the win32 mouse motion handling.
...
- If the mouse is captured, use ClipCursor() to keep the cursor in the window.
- After handling mouse motion event in relative mode, move the cursor back to
the window center (similar to other guis).
2014-12-30 16:31:17 +00:00
Volker Ruppert
2f893a76ff
Small code cleanup
2014-12-29 18:50:03 +00:00
Volker Ruppert
ba6f2f5c24
Fixed 2 typos.
2014-12-28 23:57:53 +00:00
Volker Ruppert
8272ce1b9f
Now build rules for all gui and device plugins supported by MSVC nmake depend
...
on the related configure options.
2014-12-28 19:13:16 +00:00
Volker Ruppert
ee5a416228
Now build rules for all gui and device plugins supported by MSVC nmake depend
...
on the related configure options.
2014-12-28 19:13:02 +00:00
Volker Ruppert
e50a0c517a
Key auto-release feature changed: now release the pressed keys when the Bochs
...
window is losing the keyboard focus. This feature is now also supported by the
win32 gui.
2014-12-27 15:57:30 +00:00
Volker Ruppert
65d2bb11eb
Release all pressed keys when the Bochs window gets back the keyboard focus.
...
- feature implemented in the wxWidgets gui
- feature not required for legacy SDL (releases keys on focus change)
- removed duplicate code in keyboard.cc
- TODO: implement feature in the win32 gui if required
2014-12-27 09:43:05 +00:00
Volker Ruppert
227da0c6de
Release all pressed keys when the simulation window gets back the keyboard
...
focus. This change will fix some keyboard-related bug reports (DONE for the
x and sdl2 guis / TODO for all others).
2014-12-26 20:25:27 +00:00
Volker Ruppert
d01a6176a8
Fixed keyboard scancode processing after keyboard intercept using stack
...
manipulation (SF bug report #1193 ).
2014-12-26 10:32:26 +00:00
Volker Ruppert
4cd8b284c0
Fixed keyboard scancode processing after keyboard intercept using stack
...
manipulation (SF bug report #1193 ).
2014-12-26 10:31:39 +00:00
Volker Ruppert
e5e535dad2
Fixed slirp compilation on OpenBSD.
...
TODO: fix slirp support compiled with VS2013.
2014-12-25 17:58:26 +00:00
Volker Ruppert
f0b38ff643
Restore VGA core before the PCI / VBE stuff to avoid crash due to wrong dimension.
2014-12-24 19:44:47 +00:00
Volker Ruppert
b18ed8e2b1
Applied Debian patch for wxWidgets 3.0 compatibility.
2014-12-23 19:30:03 +00:00
Volker Ruppert
88d9ad57bf
Attempt to fix the win32 raw serial receive support using a critical section
...
(untested - code should be enabled after successful testing).
2014-12-23 17:13:29 +00:00
Volker Ruppert
5abc3e647f
Fixed some MSVC warnings in the debugger code.
2014-12-23 11:53:35 +00:00
Volker Ruppert
c3b025e224
Fixed possible crash when compiled with VS2013.
...
TODO: fix slirp support compiled with VS2013.
2014-12-22 14:26:47 +00:00
Volker Ruppert
795a7929f1
Fixed link failure if GTK debugger is present, but no other Bochs facilty
...
using the pthreads library (SF patch #531 by Dawn Teschendorf fixing SF bug
#1364 ).
2014-12-20 07:51:11 +00:00
Volker Ruppert
f2c9a503d1
Added debugger support for the term gui using a pseudo-terminal. The command-line
...
debugger appears on main terminal and Bochs screen on pseudo-terminal connected
to minicom (based on SF patch #522 ).
2014-12-18 20:29:37 +00:00
Stanislav Shwartsman
6fd2d32180
fixed exception error code for debugger and instrumentation
2014-12-18 19:45:03 +00:00
Volker Ruppert
2ec57b8a6b
Fixed some more C++11 warnings.
2014-12-18 17:52:40 +00:00
Stanislav Shwartsman
fea4d47830
fixed spelling in comments
2014-12-16 20:11:08 +00:00
Volker Ruppert
19b3d52934
Fixed possible crash when the GTK+ debugger is enabled (based on SF patch by
...
Dawn Teschendorf).
2014-12-16 19:48:50 +00:00
Stanislav Shwartsman
6700a3f5e6
fix cpuid patch merged
2014-12-16 06:52:24 +00:00
Volker Ruppert
22665b3225
Re-enable "bulk I/O" repeat speedups extension that has been accidently disabled
...
about 3 years ago.
2014-12-16 02:26:55 +00:00
Volker Ruppert
3d228c4f61
Fixed some other overlapping memcpy() issues.
2014-12-16 02:26:00 +00:00
Volker Ruppert
f35b9b23c8
Bugfix: use memmove() if source and destination range can overlap (found with valgrind).
2014-12-14 18:53:16 +00:00
Volker Ruppert
902ed3f90b
Fixed unregistering memory handlers (affected memory bits must be cleared).
2014-12-14 09:19:09 +00:00
Volker Ruppert
f8e04266d6
Added capability to control VS2013 fastcall switch with configure option
...
--enable-fast-function-calls (MSVC nmake only).
2014-12-12 18:45:32 +00:00
Volker Ruppert
a1851e7f38
Enclose string literal in wxT() macros to fix unicode version.
2014-12-06 23:10:11 +00:00
Volker Ruppert
c8ef526143
Fixed some warnings.
2014-12-01 17:06:00 +00:00
Stanislav Shwartsman
03dab0b0c9
remove debug prints from param tree dump in xml format, small code reorg
2014-11-30 21:26:33 +00:00
Volker Ruppert
fba9145f66
Moved sources of the sound lowlevel base class ('dummy' driver) to separate files.
2014-11-24 18:25:14 +00:00
Volker Ruppert
5a346de14d
Changed to way to determine the default lowlevel sound driver (part of the
...
mixing3.patch by Dawn Teschendorf).
2014-11-22 11:44:02 +00:00
Volker Ruppert
7330f3a61c
Changed to way to determine the default lowlevel sound driver (part of the
...
mixing3.patch by Dawn Teschendorf).
2014-11-22 11:43:40 +00:00
Volker Ruppert
9805324c42
Minor changes in the sound lowlevel code.
2014-11-21 23:03:19 +00:00
Stanislav Shwartsman
1924780b06
added ability to dump Bochs param tree in XML format
2014-11-15 22:03:52 +00:00
Volker Ruppert
5f0a7b18c9
Enable GTK debugger only if GTK2 libraries are installed.
2014-11-15 13:33:18 +00:00
Volker Ruppert
53ae488fb2
Enable GTK debugger only if GTK2 libraries are installed.
2014-11-15 13:32:49 +00:00
Volker Ruppert
524ba46c3d
Added the capability to select the operation mode of the VGA update timer.
...
The realtime mode is enabled by default (patch by Dawn Teschendorf).
2014-11-15 10:22:27 +00:00
Volker Ruppert
866f9480f8
Fixed typo in iodev_sound.vcxproj
2014-11-15 07:45:49 +00:00
Volker Ruppert
3a1bb1f476
Bugfix: sound driver 'sdl' wasn't available if Bochs was compiled with SDL2 gui.
...
FIXME: wave output doesn't work properly in case of SDL2.
2014-11-14 18:25:37 +00:00
Volker Ruppert
9e9bdeda48
Fixed possible failure when installing plugin libraries (patch by Dawn Teschendorf).
2014-11-13 18:18:38 +00:00
Volker Ruppert
bea4a02b18
Save and restore GTK font setting using INI file.
2014-11-09 19:09:11 +00:00
Volker Ruppert
a2886318d8
Save/restore GTK debugger window size and position using INI file.
...
TODO: handle GTK font selection.
2014-11-07 18:59:59 +00:00
Stanislav Shwartsman
f01891faa2
fixed compilation err with perfmon disabled
2014-11-07 13:15:54 +00:00
Volker Ruppert
e6be902c56
Maximize debugger window if upper-left edge is outside of desktop.
...
Fixed font selection: disable "italic" flag before calling dialog.
2014-11-06 19:02:34 +00:00
Volker Ruppert
10a016194c
Save proportions of the Reg, Asm and Dump windows to INI file.
...
TODO: handle font selection and main window size/position in the GTK version.
2014-11-06 17:13:27 +00:00
Stanislav Shwartsman
9219c2c20b
fixed format for debug printing x87 numbers
2014-11-05 18:29:35 +00:00
Volker Ruppert
d70ee1e99b
Fixed font setup after reading from INI file.
2014-11-04 21:09:18 +00:00
Stanislav Shwartsman
6e254743c1
Added missing sanity check.
...
The sanity check would help to detect real Bochs crash issue under Win x64 with MSDEV
configure script under Mingw env decided that SIZEOF_INT_P == 4 which is terribly wrong for 64-bit host.
2014-11-04 19:00:20 +00:00
Stanislav Shwartsman
9feed6d777
fixed bug in write_new_stack_qword
2014-11-03 14:34:20 +00:00
Volker Ruppert
1afe32ad2a
Documentation fixes and updates.
2014-11-02 16:43:38 +00:00
Volker Ruppert
f871f42721
Regenerated after release
2014-11-02 14:15:32 +00:00
Volker Ruppert
b7c8323633
Fixed panic in case x86-64 support is not present (Bochs 2.6.7 P4-SMP release
...
binaries are already fixed).
Usual updates after release (version strings, release tag).
2014-11-02 14:14:36 +00:00
Volker Ruppert
b07c01fef3
Regenerated for release
2014-11-02 07:46:30 +00:00
Volker Ruppert
6d1dcdccc6
Preparing release 2.6.7
2014-11-02 07:45:40 +00:00
Stanislav Shwartsman
987e2ad223
Added definitions from recently published Intel Architecture
...
Instruction Set Extensions Programming Reference rev22.
Implemented CLWB instruction
2014-11-01 13:12:24 +00:00
Stanislav Shwartsman
45ddcf2e02
compilation fix
2014-11-01 11:51:03 +00:00
Stanislav Shwartsman
5f4e7f8b49
fixed compilation when APIC if snot enabled
2014-11-01 10:25:42 +00:00
Volker Ruppert
1ed744884c
Disable enhanced debugger if gui support is not available.
2014-11-01 10:13:40 +00:00
Volker Ruppert
11e626458b
Improved documentation for SDL2 and the gui debugger.
2014-11-01 09:39:47 +00:00
Volker Ruppert
aad31f7767
Added support for save/restore of the debugger main window size and position
...
using the INI file.
TODO: handle child windows, implement font/window handling in the GTK version.
2014-10-31 19:35:57 +00:00
Volker Ruppert
56a1f53de7
Rewrite of the font selection code to support save/restore of font settings
...
using the INI file.
2014-10-28 18:54:48 +00:00
Stanislav Shwartsman
618bc234ab
changes in comments
2014-10-24 11:18:52 +00:00
Stanislav Shwartsman
f11b9a7f58
CPUID: "Yonah" and "Atom N-270" should report max virtual address as 32-bit in leaf 0x80000008
2014-10-22 19:53:23 +00:00
Stanislav Shwartsman
cb18f1e0a1
more use of the clearflagsOSZAPC
2014-10-22 18:24:33 +00:00
Stanislav Shwartsman
1c027b17d7
some lazy flags handling optimizations
2014-10-22 17:49:12 +00:00
Stanislav Shwartsman
25ad64f75a
rename one more mem access handler
2014-10-21 19:11:21 +00:00
Stanislav Shwartsman
1de7a35031
update (c)
2014-10-20 21:10:52 +00:00
Stanislav Shwartsman
ea91354b3b
code reorg : take laddr calculation out of 64-bit memory handlers. this creates generic linear address memory handlers which now could be used elsewhere
2014-10-20 21:08:29 +00:00
Volker Ruppert
59f5a03af6
Rewrite of the virtual timer code to support both modes at the same timer.
...
The timers now have a new member 'realtime' and they are driven by the
selected engine. The VGA update timer and the status LED timer now always use
the realtime mode, but the PIT and CMOS RTC depend on the clock options.
2014-10-19 08:54:16 +00:00
Volker Ruppert
9162bd2309
CHANGES updated
2014-10-16 17:25:14 +00:00
Stanislav Shwartsman
2c4b17ebff
fixed compilation err without x86-64 compiled in
2014-10-16 06:29:58 +00:00
Stanislav Shwartsman
dc31bcf38e
remove misaligned sse from .conf.everything deprecated
2014-10-15 19:29:31 +00:00
Stanislav Shwartsman
54a009ccf9
update CHANGES. added BX_INFO prints related to Perfmon usage
2014-10-15 19:04:28 +00:00
Stanislav Shwartsman
6252632e31
Fixed segmentation fault that could happen under rare conditions with handlers chaining speedups enabled.
...
I saw that issue under gcc 4.9.0. for some reason gcc 4.9.0 didn't optimize next handler call in all fpu opcode handlers.
As result, instead of finishing the handler and jumping to next one, the next handler is called blowing up stack.
After some long period stack overflow might occur.
The fix simply limit the max chaining depth to 1000 traces (should be enough)
The same fix should be able to address the stack overflow problem when compiling with -O0 and handlers chaining speedup enabled.
2014-10-15 18:00:04 +00:00
Stanislav Shwartsman
d82e51f947
added comment to RDPMC instr
2014-10-15 15:28:13 +00:00
Stanislav Shwartsman
841117c721
added more perfmon MSR defines into cpu.h
2014-10-15 15:21:38 +00:00
Stanislav Shwartsman
caab07e580
move common code (extended topology leaf) into base cpuid class to save code duplication
2014-10-15 14:25:08 +00:00
Stanislav Shwartsman
f8267ec3a7
rework in CPUID code (fixed code duplication). Re-enable perfmon reporting in CPUID because Win8/Win10 installation doesn't want to start without perfmon reported. TODO: implement basic perfmon support (at least only fixed counters) because win7-64 doesn't install with perfmon reported but not implemented
2014-10-15 08:04:38 +00:00
Stanislav Shwartsman
206c19116d
fixed diagnostic message
2014-10-15 05:15:58 +00:00
Volker Ruppert
3393a17c8f
Fixed crash when using a "fixed" type VPC image.
2014-10-14 21:39:05 +00:00
Stanislav Shwartsman
c5f1e6a0f9
fixed comment
2014-10-14 17:55:41 +00:00
Stanislav Shwartsman
8d1e3b2ac1
Added statistics collection infrastructure in Bochs and
...
implemented important CPU statistics which were used for Bochs CPU model performance analysis.
old statistics code from paging.cc and cpu.cc is replaced with new infrastructure.
In order to enale statitics collection in Bochs CPU:
- Enable statistics @ compilation time in cpu/cpustats.h
- Dump statistics periodically by adding -dumpstats N into Bochs command line
2014-10-14 15:59:10 +00:00
Volker Ruppert
63665aa773
Removed unused define.
...
TODO: improve virtual timer to make operate in both modes at the same time.
The vga update code should always use the realtime mode and the pit timing
should depend on the clock option.
2014-10-13 18:34:21 +00:00
Volker Ruppert
cebff45fef
Fixed two fields in xmit_seg()
2014-10-13 17:09:14 +00:00
Stanislav Shwartsman
1ef6c3139c
removed duplication in XCHG instruction handlers
2014-10-12 19:31:14 +00:00
Stanislav Shwartsman
24cb334304
fixed large code duplication in write_new_stack methods
2014-10-12 18:59:10 +00:00