Commit Graph

3543 Commits

Author SHA1 Message Date
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
patrickvl f1a8689a43 X86 : One extra OUT marker 2018-01-10 09:23:26 +00:00
patrickvl 1be08faef7 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 09:23:26 +00:00
patrickvl 05c899a74e 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 09:23:26 +00:00
patrickvl e19cbdca17 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 09:23:26 +00:00
patrickvl 2ab9cbaf98 D3D : Prevent crashing on cube textures entering EmuUnswizzleTextureStages 2018-01-10 09:23:26 +00:00
patrickvl 44a1beecbe X86 : Like before, gracefully ignore unaligned accesses 2018-01-10 09:23:26 +00:00
patrickvl 6ecc0ed899 Simplified child-process debugging 2018-01-10 09:23:26 +00:00
patrickvl a782cbe216 X86 Nv2A : Use consistent sizes. Also fixed succeeding OUT opcode. 2018-01-10 09:23:26 +00:00
patrickvl 1ce536b12b 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 09:23:26 +00:00
patrickvl f41e04fd3a X86 : Merged al mem writes into one EmuX86_Mem_Write 2018-01-10 09:23:26 +00:00
patrickvl 639b91e483 X86 : Merged al mem reads into one EmuX86_Mem_Read 2018-01-10 09:23:26 +00:00
PatrickvL b9066e509f X86 : Avoid size-diverging (and later re-merging) of IO read and write calls 2018-01-10 09:23:26 +00:00
PatrickvL 3b4f1e4bb0 NVNet : Corrected bar order and a typo 2018-01-10 09:23:26 +00:00
PatrickvL 704c7c670c NVNet : Converted into a PCI device 2018-01-10 09:23:25 +00:00
PatrickvL 0a4413d939 X86 belongs in Hardware project-filter too. 2018-01-10 09:23:25 +00:00
PatrickvL e050552907 PCIDevice : Disabled unused symbols 2018-01-10 09:23:25 +00:00
PatrickvL 3c398e6af1 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 09:23:25 +00:00
PatrickvL 187707fd93 SMC : Added LED sequences and HardwareModel, simplified PICVersionString 2018-01-10 09:23:25 +00:00
PatrickvL 592c349cf7 SMC : Added notes from Ergo720 2018-01-10 09:21:24 +00:00
PatrickvL 2796de31d9 HalReadSMBusValue & HalWriteSMBusValue : Check for success 2018-01-10 09:21:24 +00:00
PatrickvL 509f8a5f11 SMC : Renamed device from PIC16LC (since we're only emulating it at a functional level, not low level). 2018-01-10 09:21:24 +00:00
PatrickvL f15a572bef Fleshed out SMC (PIC16LC) device 2018-01-10 09:21:24 +00:00
PatrickvL b44b433259 PIC16LC (SMC) device stub added 2018-01-10 09:21:24 +00:00
PatrickvL 80ef3b7951 SMBus : Moved device-calls into ExecuteTransaction 2018-01-10 09:20:52 +00:00
PatrickvL 40134bdd77 SMBus / SMDevice : Change QuickCommand 'read' argument into a bool 2018-01-10 09:20:52 +00:00