Commit Graph

3944 Commits

Author SHA1 Message Date
Luke Usher 340a2bddfc
Merge pull request #846 from LukeUsher/disable-pixel-shaders
Implement Disable pixel shaders hack
2018-01-10 21:25:27 +00:00
Luke Usher 58e562b753 Add often requested hack to disable pixel shaders 2018-01-10 21:03:52 +00:00
PatrickvL 75a891ca50 Merge pull request #845 from LukeUsher/PCI
Skeleton PCI Device Support
2018-01-10 17:08:57 +01:00
PatrickvL cf94cf8d7b PCI : Move Xbox hardware initialization towards it's own file 2018-01-10 17:08:55 +01:00
patrickvl d01441ba86 X86 : One extra OUT marker 2018-01-10 17:08:53 +01:00
patrickvl fe85e53626 X86 : Refactored retrieval of operand addresses, allowing early detection of writes to immediate values (which are now logged and marked as an opcode-handling failure). 2018-01-10 17:08:51 +01:00
patrickvl fccf243cb7 X86 : EmuX86_Addr_Read can just return it's resultant value.
EmuX86_Opcode_ADD can write it's result to a register, of course.
2018-01-10 17:08:50 +01:00
patrickvl 3c4331ad3f X86 : Only fail opcode handling if operands can't be decoded.
Operand read or write failues won't bail out anymore.
Logging unhandled opcodes separate from opcode handling errors.
Log useless (internal) operand writes (these should never occur)
2018-01-10 17:08:48 +01:00
patrickvl e7f69b0aaa D3D : Prevent crashing on cube textures entering EmuUnswizzleTextureStages 2018-01-10 17:08:46 +01:00
patrickvl 68ad85a74c X86 : Like before, gracefully ignore unaligned accesses 2018-01-10 17:08:44 +01:00
patrickvl edfee9935d Simplified child-process debugging 2018-01-10 17:08:43 +01:00
patrickvl 3521300ad8 X86 Nv2A : Use consistent sizes. Also fixed succeeding OUT opcode. 2018-01-10 17:08:41 +01:00
patrickvl 370746412c X86 :
Merged all 8,16, 32 bit (and aligned) read and writes into single implementations.
Centralized retrieving (corrected) operand size.
Return failed writes.
Sped up all opcode-handlers that access operands twice, to retrieve the operand information only once.
2018-01-10 17:08:40 +01:00
patrickvl 48d958ae4a X86 : Merged al mem writes into one EmuX86_Mem_Write 2018-01-10 17:08:38 +01:00
patrickvl 6e49e049aa X86 : Merged al mem reads into one EmuX86_Mem_Read 2018-01-10 17:08:37 +01:00
PatrickvL 5fa62fa473 X86 : Avoid size-diverging (and later re-merging) of IO read and write calls 2018-01-10 17:08:35 +01:00
PatrickvL ec01f039a5 NVNet : Corrected bar order and a typo 2018-01-10 17:08:34 +01:00
PatrickvL 1b579e2c4b NVNet : Converted into a PCI device 2018-01-10 17:08:32 +01:00
PatrickvL 4d1225e181 X86 belongs in Hardware project-filter too. 2018-01-10 17:08:31 +01:00
PatrickvL 7717dd08df PCIDevice : Disabled unused symbols 2018-01-10 17:08:29 +01:00
PatrickvL 82ddba3536 PCIBus : Made IOWriteConfigAddress(), IOWriteConfigData() and IOReadConfigData() private, by moving their calls towards the PCIBus itself.
X86 : Forwarded 8 and 16 byte IO to PCI bus too.
SMBus : Deny non-byte-sized accesses.
2018-01-10 17:08:28 +01:00
PatrickvL 3754b3b338 SMC : Added LED sequences and HardwareModel, simplified PICVersionString 2018-01-10 17:08:26 +01:00
PatrickvL 3576d5c9e3 SMC : Added notes from Ergo720 2018-01-10 17:08:25 +01:00
PatrickvL d573d41f18 HalReadSMBusValue & HalWriteSMBusValue : Check for success 2018-01-10 17:08:23 +01:00
PatrickvL e1a9a95e0a SMC : Renamed device from PIC16LC (since we're only emulating it at a functional level, not low level). 2018-01-10 17:08:22 +01:00
PatrickvL a15220f9b8 Fleshed out SMC (PIC16LC) device 2018-01-10 17:08:20 +01:00
PatrickvL 54f3d1e615 PIC16LC (SMC) device stub added 2018-01-10 17:08:19 +01:00
PatrickvL dcd020a740 SMBus : Moved device-calls into ExecuteTransaction 2018-01-10 17:08:17 +01:00
PatrickvL b09031810b SMBus / SMDevice : Change QuickCommand 'read' argument into a bool 2018-01-10 17:08:16 +01:00
Luke Usher 170fec15d9 Fix an issue with MMIO decoding
The address field actually contains only the upper 28 bits of the memory address, so we need to shift it by 4.
2018-01-10 17:08:14 +01:00
PatrickvL 93dfbc4546 EEPROMDevice : Applied Luke's code review comments 2018-01-10 17:08:13 +01:00
PatrickvL 85393a63b3 Route HalReadSMBusValue and HalWriteSMBusValue through SMBus device 2018-01-10 17:08:11 +01:00
PatrickvL c630daacdc Introduced EEPROM device 2018-01-10 17:08:10 +01:00
PatrickvL 806266c08e PCIDevice : Fixed two off-by-one errors, and a small iterator-optimization. 2018-01-10 17:08:08 +01:00
PatrickvL 79c276ba75 SMBus : Implemented all device-forwarding functions 2018-01-10 17:08:07 +01:00
Luke Usher 9f6d18d24a Oops 2018-01-10 17:08:05 +01:00
Luke Usher dc58bf96ea Fix issues with MMIO 2018-01-10 17:08:04 +01:00
Luke Usher 3dc100e5f1 Add PCI/SMBus classes/base devices.
Note that these intentionally make use of standard types rather than Windows/Cxbx specifics like xbaddr...

These classes are designed to be platform and device independent
2018-01-10 17:08:02 +01:00
Luke Usher a6fa6ea62a Remove unused device.h/device.cpp 2018-01-10 17:08:01 +01:00
Luke Usher 53f48c2dc0 Fix an issue where HalReadWritePCISpace would not write to the correct addresses. 2018-01-10 17:07:59 +01:00
PatrickvL fdb8a2dafd Merge pull request #844 from x1nixmzeng/hle-cache-hash
Hash the HLE database so OOVPA changes force a rescan
2018-01-10 17:07:58 +01:00
x1nixmzeng 4e7a7b5e93 Added notes on the chosen hash 2018-01-10 17:07:56 +01:00
x1nixmzeng 19e0a0e5c5 Added notes on the chosen hash 2018-01-10 17:07:55 +01:00
x1nixmzeng 0fc07154f3 Updated to use a modern array size method 2018-01-10 17:07:53 +01:00
x1nixmzeng bc36bf0b54 Removed OOVPA count suffix 2018-01-10 17:07:51 +01:00
x1nixmzeng 13a2feb55c Hash the HLECache table
Workaround for #836
2018-01-10 17:07:18 +01:00
x1nixmzeng 7d124986fa Updated HLEData to store the table count, not size
Count was always inferred and OOVPATable is a constant size (as the
OOVPA type is a pointer)
2018-01-10 17:07:16 +01:00
Luke Usher d2edfb10b9 Prep for Pixel Shaders Disable Hack
- Implements error checking/default value enforcement on registry reads
- Adds a new option (currently does nothing) for enabling the hack.
2018-01-10 11:34:05 +00:00
PatrickvL 262ab1b5a5
Merge pull request #845 from LukeUsher/PCI
Skeleton PCI Device Support
2018-01-10 11:52:01 +01:00
PatrickvL 0d19738282 PCI : Move Xbox hardware initialization towards it's own file 2018-01-10 09:25:29 +00:00