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