Commit Graph

12216 Commits

Author SHA1 Message Date
Stanislav Shwartsman
9b6e806030 fixed dbg message when stop/continue watchpoints 2018-10-16 18:08:44 +00:00
Stanislav Shwartsman
cf41679b53 closing bug report: Missing TLB_flush on VMX_VMEXIT_EPT_VIOLATION 2018-08-30 20:18:27 +00:00
Stanislav Shwartsman
3995dc13aa fixed compilation of CLZERO pn cpu-level<6 2018-08-26 18:11:10 +00:00
Volker Ruppert
49d1755557 Fixed typo. Since these bits are reserved, it has no effect on the emulation.
TODO: Review HPET code (verify patch by Oleg).
2018-08-19 08:32:19 +00:00
Stanislav Shwartsman
ee62fc83a6 update CHANGES 2018-08-14 08:10:31 +00:00
Stanislav Shwartsman
965bcc2606 support 64-bit in 'info tab' debugger command and also speed it up significantly 2018-08-14 08:09:09 +00:00
Volker Ruppert
91bad8e4b2 Fixed screen flickering in case the hardware cursor is enabled in 3D mode. 2018-07-21 16:14:53 +00:00
Volker Ruppert
d0936f618b Attempt to fix crash that happens in some cases (suggested by Luigi B.). 2018-06-26 17:58:11 +00:00
Volker Ruppert
67135b4429 Fixed wrong model string caused by typo. 2018-06-18 20:26:51 +00:00
Volker Ruppert
20edb4600b Fixed mem read/write data conversion (mem_read() could cause segfault / thanks
to Luigi B. for pointing out this issue).
2018-06-17 11:27:18 +00:00
Stanislav Shwartsman
eebdb4d63a avoid gcc 7.3 warning 2018-05-27 19:09:59 +00:00
Stanislav Shwartsman
c830322f4c fixed cygwin gcc 7.3 warning - look like real bug ! 2018-05-27 18:33:07 +00:00
Stanislav Shwartsman
a8413aa838 update comments base on latest AMD spec 2018-05-27 18:13:24 +00:00
Volker Ruppert
04897375bb Fixed silence detection in DSP-direct (non-DMA) mode. 2018-05-24 16:22:16 +00:00
Volker Ruppert
1f1159013d Some small additions for the Voodoo3 model. 2018-05-21 18:01:49 +00:00
Volker Ruppert
50dfe4b8de Some fixes for MSVC.
- Fixed compilation failure of MSVC plugin 'speaker'.
- Fixed some MSVC warnings.
2018-05-21 16:11:46 +00:00
Volker Ruppert
e88f14558d The VSYNC timing is now based on the PIT clock sync mode instead of the VGA
screen update timing mode.
2018-05-21 07:31:18 +00:00
Volker Ruppert
bc8ac37c63 Improved BX_INFO message for AGP aperture access. Since the Banshee AGP and
Voodoo3 AGP driver I have tested are not using this feature, we don't have a
test case yet to implement it correctly. The GART is used by AGP and the newer
PCIe bus and the specs say that the format is defined by software (driver).
2018-05-19 17:13:51 +00:00
Stanislav Shwartsman
ae004a3ed3 fixed gcc warning 2018-05-19 09:13:47 +00:00
Volker Ruppert
fb60e24859 Fixed compilation error in case the lowlevel sound interface is not present. 2018-05-19 08:07:20 +00:00
Volker Ruppert
e476c0f01a Two small VGA core changes.
- Allow 16-bit reads from address 0x03da.
- Added BX_ERROR for unimplemented bits in CRTC register 0x08.
2018-05-18 18:00:09 +00:00
Volker Ruppert
766089e02d Some small improvements for the DSP direct output (non-DMA) mode.
- Generate output in 16-bit stereo format.
- Stop non-DMA output mode after 0.1 seconds of silence.
2018-05-15 18:51:41 +00:00
Volker Ruppert
bda6a2a6de Speaker beep methods should only be called in PIT mode 3 (square wave generator).
Added speaker handler to send OUT line change to new speaker method set_line().
2018-05-14 18:17:04 +00:00
Volker Ruppert
3962a08d3a Added support for DSP command 0x10 (Sending 8-bit samples directly to DSP). 2018-05-13 18:10:23 +00:00
Volker Ruppert
74d40805d1 Added support for unlocking disk images (locks leftover from previous Bochs
session) with the new command line argument '-unlock'.
2018-05-11 07:44:49 +00:00
Volker Ruppert
9e0a507726 Added stub for the undocumented DSP command 0xE2. 2018-05-10 15:50:25 +00:00
Volker Ruppert
c10e8feea6 Added support for driving the speaker line directly with the speaker gate, but
the square wave generator disabled. This feature has been used by old demos and
games to play digitized sound before soundcards with DSP became popular.
2018-05-10 10:50:42 +00:00
Volker Ruppert
53d703f6e1 Documentation updates (i440BX chipset / Voodoo AGP adapters). 2018-05-06 16:31:56 +00:00
Volker Ruppert
3f45d44184 Added subsystem ID for Voodoo3 AGP with an existing VGA ROM.
Updated some comments.
TODO: full AGP support, LGPL'd VGABIOS for Banshee / Voodoo3
2018-05-06 06:13:57 +00:00
Volker Ruppert
211eefa8d5 Updated both MSVC workspace files for current SVN (added DDC files). 2018-05-04 21:21:51 +00:00
Volker Ruppert
4462ac7319 Fixed Banshee status reading via MMIO (unaligned access is allowed).
The Banshee AGP model is now basicly working (tested with Win98SE).
Started documentation updates about i440BX chipset and Banshee AGP.
2018-05-03 19:46:12 +00:00
Volker Ruppert
9bd54cc380 Some work on the i440BX chipset AGP support in the Bochs BIOS.
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:55:17 +00:00
Volker Ruppert
536f9ba094 Some work on the i440BX chipset AGP support in the Bochs BIOS.
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:54:31 +00:00
Volker Ruppert
7412ebc07b Added new macros BX_DEBUG_PCI_READ and BX_DEBUG_PCI_WRITE to unify the debug
output of PCI config space handlers.
Banshee: some PCI register fixes.
2018-05-01 15:54:37 +00:00
Volker Ruppert
92ce5c3846 Moved PIR table modification for the i440BX chipset from the memory code to the
BIOS init code and some related fixes and cleanups.
2018-05-01 07:05:28 +00:00
Volker Ruppert
e526d6c9d7 Moved PIR table modification for the i440BX chipset from the memory code to the
BIOS init code and some related fixes and cleanups.
2018-05-01 07:04:43 +00:00
Volker Ruppert
e781a8f998 Some PCI IRQ roouting changes for i440BX chipset support.
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
  the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
  for the i440BX chipset (TODO: this could be done by the BIOS itself after
  copying to shadow RAM).
2018-04-29 16:22:44 +00:00
Volker Ruppert
eeefe369d7 Some PCI IRQ roouting changes for i440BX chipset support.
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
  the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
  for the i440BX chipset (TODO: this could be done by the BIOS itself after
  copying to shadow RAM).
2018-04-29 16:20:58 +00:00
Volker Ruppert
69be05b2b5 Started preparing the Bochs BIOS for i440BX chipset support.
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:30:31 +00:00
Volker Ruppert
00ac6013f0 Started preparing the Bochs BIOS for i440BX chipset support.
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:29:41 +00:00
Stanislav Shwartsman
fcd9ce1634 fix compilation without x86_64 2018-04-15 14:22:16 +00:00
Stanislav Shwartsman
d000e21001 added MOVDIRI opcode implementation 2018-04-06 05:06:36 +00:00
Volker Ruppert
776e8270f6 Started preparing Bochs BIOS for the sector size option.
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
  commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
  calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:41 +00:00
Volker Ruppert
6739601a52 Started preparing Bochs BIOS for the sector size option.
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
  commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
  calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:24 +00:00
Stanislav Shwartsman
fd15b61d94 keep def of YMM/ZMM register even if AVX or EVEX are not compiled in and let reading/writing them to MEM 2018-04-04 19:31:56 +00:00
Stanislav Shwartsman
8c9f7f54b6 update CPUID definitions with recently published EAS-33 extensions document 2018-04-04 18:15:44 +00:00
Volker Ruppert
e63296ddca Added more default return values and improved debug output (i/o len). 2018-04-02 17:32:51 +00:00
Volker Ruppert
a086cdf08f Some work on the Voodoo Banshee emulation.
- Added default value for the video clock frequency to make sure that the
  vertical timer works.
- Changing vidDesktopStartAddr register when the video processor is on now
  forces a screen update.
2018-04-01 16:05:40 +00:00
Volker Ruppert
1aab0f9e31 If the base image of an undoable/volatile mode image has a builtin geometry,
the toplevel image inherits the base image settings.
2018-03-31 17:07:44 +00:00
Volker Ruppert
1855f22d2b Added sector size option in bximage for creating flat, sparse and growing mode
images. TODO: using ATA disk images with big sectors requires BIOS support.
2018-03-30 21:04:04 +00:00