71 Commits
Author SHA1 Message Date
booto 371e3f1021 VI: Adjust start/end of ACV region for fields
This wasn't changed when halfline counts were changed to 0-based. Also
included is a diagram showing an understanding of how the values in the VI
timing registers maps to the video signal.
2019-10-31 21:04:22 -04:00
booto c268aa3a46 SI: Reduce logging. 2019-08-28 22:16:41 -04:00
booto 62a2611925 SI: Clarify length fields for manual commands
Fix up the calculation of the length fields and check that the returned
response is the expected length. This touches many files because it
converts a parameter name from the SI_Device interface from 'length' to
'request_length'. Prior, this field seemed to be used as request length
sometimes, as response length sometimes, and usually just totally ignored.
2019-07-11 01:29:59 -04:00
booto d01220e69d SI: CMD_ORIGIN/CMD_RECALIBRATE gets 10 byte reply 2019-07-08 23:08:35 -04:00
booto ac809c36e1 SI: Convert SIPOLL's lines value to half lines
SI represents polling sample rate in lines, not half lines. It needs to be
multiplied by 2 for VI, which uses half lines.
2019-07-08 23:07:34 -04:00
booto 37919144c8 SI_DeviceGCAdapter: Stop it being detected as a steering wheel 2019-06-05 23:31:48 -04:00
booto bc8a4f99c7 VideoCommon: Constrain the array_base registers
The array_base registers as part of CP state do not seem to incorporate
the upper bits in the physical address they try to access.
2019-05-31 03:22:00 -04:00
booto c1baffa776 ARAM: further cleanup, use AddressSpace accessors 2019-05-30 21:46:18 -04:00
booto c4799e5977 Jit64: Make DoubleToSingle a common asm routine 2019-05-25 23:07:50 +01:00
booto 27cb407ecf PowerPC: Add Broadway's PVR (retail Wii) 2019-05-23 19:56:41 -04:00
booto c5a9a77684 clang-format: revert 'AfterCaseLabel' setting 2019-05-23 00:42:42 -04:00
booto 03d7fef5a6 ARAM: No ARAM backing DMA in wiimode 2019-05-21 22:23:42 -04:00
booto 70299f2505 ARAM: rework DMA
Changes include:
  * Take into account how different size settings interact
  * Do ARAM DMA transfers in chunks rather than all-at-once
2019-05-21 22:23:42 -04:00
booto 73c0a4ee81 DSP: Experiment with cleaning up ARAM accessor 2019-05-21 22:23:42 -04:00
booto 2ff0486335 Debugger/Memory: Add support for address spaces
Different address spaces can be chosen in the memory view panel.
 * Effective (or virtual): Probably the view people mostly want. Address
   translation goes through MMU.
 * Auxiliary: ARAM address space. Does not display anything in Wii mode.
 * Physical: Physical address space. Only supports mem1 and mem2 (wii
   mode) so far.
2019-05-02 21:14:30 -04:00
booto 1ab390c15f DTK: Report position in increments of 0x8000 2018-12-04 00:16:46 -05:00
booto 712f44edd9 lint: remove superfluous logging
Make lint script be silent unless there's a problem. This line doesn't
work anyway, trying to redirect to fd 0.
2018-10-05 19:35:46 -04:00
booto 3825e2e5ff SI: Add 16bit accessors for SI IO buffer
Dolphin has traditionally treated the SI IO buffer (128 bytes) as a set of
32 little endian u32s. This works out fine if you only ever read/write
using aligned 32bit accesses. Different sized accesses or misaligned reads
will mess it up. Byte swapping reads/writes will fix this up, but all the
SI devices that use the SI IO buffer need to be adjusted.
2018-09-11 22:19:13 -04:00
booto 168fdf814b Fix analog modes that use 4 bits for c-stick data
Also get rid of a load of unnecessary casts
2018-08-16 02:17:17 -04:00
booto da0927fe8f FifoPlayer: Actually exit on 'Stop' in dualcore
Quit the fifoplayer cpu idle loop if a shutdown has been requested
2018-08-09 01:08:21 -04:00
booto aef446697d GameList: QSortFilterProxyModel should provide strict weak ordering 2018-08-08 23:59:58 -04:00
booto 800c1570ea ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract. 2018-08-02 05:32:05 -04:00
booto f800f6343d BS2Emu: Don't do a DVDCopy when AppLdrMain returns 0 2018-08-02 01:30:25 -04:00
booto f88c46b4da Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
This option completely disabled the DCBZ instruction. Users are toggling
this option in dolphin forks and using that same problematic config when
launching dolphin. Removing the option from dolphin will let the config be
ignored.
2018-07-20 03:25:12 -04:00
booto e2e43b4896 CP: some bits in some of the HI registers cannot be set
The mask is slightly different for Wii and GCN so we need to work it out at runtime.
2018-07-12 20:15:27 -04:00
booto c880302c6b Prevent paired singles routines clobbering PC,SRR0
Paired single (ps) instructions can call asm_routines that try to update
PowerPC::ppcState.pc. At the time the asm_routine is built, emulation has
not started and the PC is invalid (0). If the ps instruction causes an
exception (e.g. DSI), SRR0 gets clobbered with the invalid PC.

This change makes the relevant ps instructions store PC before calling out
to asm_routines, and prevents the asm_routine from trying to store PC
itself.
2018-05-14 20:49:13 -04:00
booto 823fdda30c intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reserved 2018-05-08 17:25:33 +08:00
booto 8d1d8afd32 Clean up codehandler formatting 2018-02-03 13:09:31 +08:00
booto aae8634a58 Clean up codehandler a little; stash msr on stack to preserve 2018-02-03 13:07:25 +08:00
booto 83d18fc2fa Restore original MSR when returning from codehandler 2018-01-14 04:51:48 +08:00
booto 9c4621d2b5 Forgot to add to JitArm64.
Also adds DCBZOFF to JitArm64.
2017-01-29 22:05:07 -05:00
booto 2fbdf2a3ce Hack to stop dcbz/dcbi over low MEM1 trashing memory. 2017-01-28 18:04:44 -05:00
booto c889c81d8f 58 is 0x3a in hex, not 0x31 2017-01-26 01:52:10 +08:00
booto d16ca2e5c8 Load IOS from TMD when launching non-IOS title. 2017-01-25 01:11:48 -05:00
booto 3ba388138d Set up IOS RAM information area with real values. 2017-01-24 09:48:21 -05:00
booto 92278886b9 DiscIO: Use specified Wii region for discs 2016-01-15 03:35:10 +08:00
booto b89c79b9f2 Comment change to reflect what code does 2016-01-10 02:42:56 +08:00
booto a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
booto d9e921cc2c VI: set the JP bit of VI's DTV reg when needed
The "Force NTSC-J" option was broken by 480dbb22f2
 (i.e. field-timing). A side effect of this was that it exposed a bug
 where the JP region bit of VI's DTV reg was not automatically set for wads
 from the JP region.
2015-12-31 05:36:29 +08:00
booto 3899667c25 VI: wait until start of ACV to sample xfb addr 2015-12-14 10:44:54 +08:00
booto 6c28ea58ab AlsaSound: fix buffer type, clean up macros 2015-09-30 19:14:03 +08:00
booto ea6af0e98b VI: Fix vert beam position inaccuracy 2015-09-30 00:21:33 +08:00
booto 0e0fec3075 AI: reduce overhead of sample counter 2015-09-23 20:39:28 +08:00
booto d4344abd89 Revert "Merge pull request #2943 from booto/vi-enb"
This reverts commit 8dd80b8e97, reversing
changes made to c5979b47be.
2015-09-06 01:21:23 +08:00
booto 97f55c0cc9 VI: Less log spam in Release build 2015-09-04 17:08:19 +08:00
booto 28d788ba2c VI: Respect DisplayControlRegister ENB bit
When ENB is set to 0 (default), VI should not
generate clocks, and so shouldn't generate
output.
2015-09-03 04:13:32 +08:00
booto 5a32c3fba4 VideoCommon: xfb height calculation adjusted
Baten Kaitos allocates its XFBs from a tagged heap
structure. With the old calculation, too many lines
were being written so the tag of the allocation
after the XFB was being corrupted. Fixes crash
mentioned in this comment:
https://code.google.com/p/dolphin-emu/issues/detail?id=7734#c6
2015-09-03 03:57:03 +08:00
booto f6e4a8e680 FifoPlayer: Use VI derived timing, not hardcoded 60Hz 2015-09-01 20:24:42 +08:00
booto 8d6c39a89d VI: Adjust forced-progressive hack per magumagu's suggestion 2015-09-01 20:24:41 +08:00
booto acc9a74174 VI: Restore forced-progressive hack with option
Bugfix: TargetRefreshRate uses rounded result
NTSC's 59.94 was becoming 59 with integer division.
2015-09-01 20:24:40 +08:00
booto 480dbb22f2 VI: derive field timing from VI registers 2015-09-01 20:24:40 +08:00
booto 86dce8b0f7 VideoCommon: reduce level of debug output 2015-07-27 10:22:40 +08:00
booto 9d055ba5f2 Video: Trying to fix D3D/XFB disabled regression 2015-07-26 00:59:00 +08:00
booto efd250494d Video: stride in bytes rather than pixels 2015-07-25 02:48:56 +08:00
booto c43ae67b3b RealXFB sizes don't get scaled by IR
When calculating the size of the undisplayed margin in the case where
fbWidth != fbStride for RealXFB for displaying in the output window,
we do not scale by IR - RealXFB is implicitly 1x.
2015-07-25 01:52:13 +08:00
booto 2e28ed3291 Video: respect stride of efb copies to xfb 2015-07-25 01:52:12 +08:00
booto 6afdff6023 VideoCommon: loop bug in ShaderGenCommon.h debug 2014-10-25 01:52:31 +08:00
booto 7f76ad3edb dsp int timing tweak
this fixes a bug in GE9E5D that caused hangs on boot
2014-09-24 00:50:46 +08:00
booto 34bf0a4ab7 DSP: General cleanup. No behaviour change. 2014-08-14 09:45:05 +08:00
booto 72179f98b6 DSP: Use completion event for ARAM interrupt 2014-08-13 18:26:02 +08:00
booto adf2ae2ac9 DSP: Add minor delay to initial AIDMA interrupt
When AIDMA begins, the first thing it does is load the source address
and length into internal registers. It then triggers the AID interrupt.
Some begin the AIDMA process without all the data necessary for the
interrupt callback being set up already - they require a few more cycles
to set it up (the delay between the DMA being set to begin and the
interrupt firing). The value of this delay was approximated by tests on real
hardware.
2014-08-13 00:20:13 +08:00
booto a4bc15e7ba DSP: Do updates to DSP interrupt bits asap
This was being scheduled on the next possible event, which caused
timing issues (in FFCC, AI interrupt would fire before DSP interrupt)
2014-08-11 02:04:08 +08:00
booto 92064d1025 DSP: Fixes behaviour for audio dmas of length 0
This behaviour was tested on a real (wii) console.
2014-08-11 02:02:18 +08:00
booto 35dfe57bc1 DSP: copy audio dma samples as early as possible 2014-08-03 05:24:19 +08:00
booto 47ba8cc4c1 DSP: latch dma parameters 2014-08-02 05:59:36 +08:00
booto a6a4229865 DTK: Adjustments attempting to increase accuracy 2014-07-27 03:15:52 +08:00
booto 7d920bbb3a AudioCommon/Mixer: Allow input sample rate changes 2014-07-24 22:42:29 +08:00
booto 0d2bef2743 GCPadStatus: coalescing magic numbers into consts 2014-07-21 19:56:05 +08:00
booto 631a361cc8 GCPadEmu: stop sticks wrapping at extreme values 2014-07-19 19:22:05 +08:00
booto 9892c8ea54 numCyclesMinusOne to numCycles in GekkoOPInfo 2014-04-30 19:04:02 +08:00
booto a518a1cbdc buffer fixes found via cppcheck/tetsuo-- 2013-06-18 13:17:50 +08:00