Commit Graph

49 Commits

Author SHA1 Message Date
17e64b75a5 VideoInterface: Fix panic alert on interlaced fields.
For some reason this was only showing up in video software.

Not sure why.
2016-08-29 23:08:23 +12:00
35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
32239f500c VideoInterface: Fix registers not being initialized
VideoInterface::Preset was not initializing all registers, this is a problem
because it leaks register settings across games. Xenoblade Chronicles does
not like m_DisplayControlRegister having random bit patterns in it.
2016-04-17 09:35:22 +10:00
365baeccb4 Only force progressive if we are currently in an interlaced video mode
The NES games on the Zelda Collecters Edition disk use a XFB which is
only 256 pixels wide, but has a stide of 640 pixels.

This fits our definition of a interlaced xfb, as a second line of data
could fit in the extra space. The solution is to check that we are
actually in a interlaced video mode before activating the force
progressive hack.
2016-04-06 05:12:53 +12:00
00cc59e83a VideoInterface: Fix comment typo 2016-02-21 09:39:01 +01:00
fdf6fb47e0 VideoInterface: specify internal linkage on local variable 2016-01-21 19:25:21 -05:00
f45e1bff37 VideoInterface: Change a global into a translation-unit local variable 2016-01-21 00:39:24 -05:00
42e9927bca VideoInterface: Fix code style/indentation 2016-01-19 20:16:18 -05:00
f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
c49a82bf0a Rework aspect ratio calculations.
They are now based on signal timings rather than pixels, as it
didn't make a lot of sense to do things with pixels.

Now handles all 240i/240p/480i/480p modes without any special
casing.

Despite the diffrent equaions, this should result in the exact same aspect
ratio as the previous code.
2016-01-09 14:30:46 +13:00
9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
14e6720f22 Fix warning in VideoInterface 2016-01-05 11:54:04 -06:00
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
3899667c25 VI: wait until start of ACV to sample xfb addr 2015-12-14 10:44:54 +08:00
867a1beb9f Added some headers to allow Dolphin to compile in my environment. 2015-10-06 19:09:57 -05:00
696d6eae09 Merge pull request #3108 from lioncash/cstyle-array
ChunkFile: Provide additional helpers for C-style arrays
2015-10-01 01:55:54 +02:00
c6678687b0 ChunkFile: Provide additional helpers for C-style arrays
Gets rid of magic numbers in cases where the array size is known at compile time.
This is also useful for future entries that are stack allocated arrays as these
functions prevent incorrect sizes being provided.
2015-09-30 19:45:46 -04:00
ea6af0e98b VI: Fix vert beam position inaccuracy 2015-09-30 00:21:33 +08:00
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
97f55c0cc9 VI: Less log spam in Release build 2015-09-04 17:08:19 +08:00
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
8d6c39a89d VI: Adjust forced-progressive hack per magumagu's suggestion 2015-09-01 20:24:41 +08:00
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
480dbb22f2 VI: derive field timing from VI registers 2015-09-01 20:24:40 +08:00
739ede2242 Fix code to comply with coding style 2015-07-31 20:00:36 -04:00
0faba3b018 Changed the aspect ratio settings to account for NTSC/PAL pixel aspect ratios and VI scaling. 2015-07-31 19:58:02 -04:00
6d2f85f183 Removed the ability for PAL televisions to be set to progressive mode. 2015-07-10 10:26:24 +10:00
c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
4cb01673a0 Remove now useless NumFields Function which always returned 1. 2015-02-10 00:48:06 +13:00
8f416821ad Remove VBeam Speedhack. 2015-02-09 23:10:30 +13:00
4d1face540 Fix indentation 2015-01-07 21:51:47 +01:00
32e5043b29 WIP XFB scaling.
Still an ugly mess.
2014-09-19 12:33:15 -05:00
71cb09f1ca Merge pull request #1027 from rohit-n/change-include
Include CommonTypes.h instead of Common.h.
2014-09-10 00:35:16 -05:00
f93aa7087c Kill Core::g_CoreStartupParameter. 2014-09-09 00:24:49 -04:00
fbc64984ca Include CommonTypes.h instead of Common.h. 2014-09-08 15:39:58 -04:00
7aff56bef5 Implement the correct method for determining field order.
Based on advice from tueidj we implement this method based on how
TVs actually determin the field order.

Removes spammy messages about "Invalid field order"
2014-07-17 23:56:23 +12:00
c01ac18d4d VideoInterface: clean up naming and bitfields.
Matching the hardware more closely will hopefully make this code easier to
read.
2014-05-05 11:01:15 -07:00
2db2f3dce9 VideoInterface: accurate XFB width and height.
What we call "fbWidth" here is really the stride, but I'll fix that in a
followup.
2014-05-05 11:01:14 -07:00
31cfc73a09 Fixes spacing for "for", "while", "switch" and "if"
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
c89f04a7c5 clang-modernize -loop-convert
and some manual adjustments
2014-03-09 21:11:59 +01:00
2afe215271 Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
6c4ee1753a Fix some vertical alignments
ie. uses spaces for alignment.
2014-02-16 20:12:05 -05:00
92f8d93e96 Remove the old MMIO access "interface". 2014-02-16 19:22:40 +01:00
f1dba04be7 MMIO: Port the VI MMIOs to the new interface. 2014-02-16 19:22:39 +01:00
34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00