BearOso
50f9f9eba1
Move S9xSyncSpeed call.
...
DMA can last multiple frames, and so can S9xMainLoop.
If we throttle outside of S9xMainLoop or only as we're exiting the
loop as is currently done, we zoom through multiple frames and
overrun the audio. Moving S9xSyncSpeed just after EndScreenRefresh
causes it to be called every frame.
This seemingly wasn't a problem because throttling with vsync *did*
happen every frame regardless. Oops.
2023-03-20 16:02:36 -05:00
BearOso
9972e2df56
Change S9xInterlaceField to an inline function.
2023-03-07 14:01:29 -06:00
BearOso
daf8fba09c
Remove extra variables for interlace field.
...
Keeping unsynchronized copies around is just asking for trouble.
Instead, use a macro to check the actual memory address.
2023-03-07 14:01:29 -06:00
Brandon Wright
e854a759f8
Fix Chou Aniki. Remove hack.
2019-03-09 17:16:54 -06:00
Brandon Wright
56af48c042
Reduced version of Vitor's fix for SA1 speed throttle.
2019-01-08 15:32:44 -06:00
Brandon Wright
bb66278585
Move S9xMovieUpdate to start of next frame.
2018-12-12 12:36:56 -06:00
Brandon Wright
68e13e9044
Remove useless 'register' storage class.
...
It's deprecated, and any compiler we use now ignores it.
2018-11-17 15:02:37 -06:00
Brandon Wright
5f56cadafb
Use a license stub everywhere.
...
This points to the full license in the root directory.
2018-11-15 17:31:39 -06:00
Brandon Wright
b79b94b675
Revert "Move render to HBLANK start."
...
This reverts commit 933c861063
.
2018-08-17 10:56:48 -05:00
Brandon Wright
933c861063
Move render to HBLANK start.
2018-08-17 10:23:20 -05:00
Brandon Wright
6ebe7b46d1
That didn't really help. Revert.
2018-07-04 12:44:33 -05:00
Brandon Wright
1041ef7aa1
Use 8 instead of 14, since it's closer to accurate.
2018-07-04 11:14:17 -05:00
Brandon Wright
9a80ecda2a
Use delay of 14 instead of 12 cycles for first NMI
2018-07-04 11:01:00 -05:00
Brandon Wright
87fc997fb4
Clear WAI at different location. Fixes Top Gear 3000.
2018-06-17 14:52:31 -05:00
Brandon Wright
4017727bdf
Divert IRQTransition for the moment. Increase time after WAI to 14 cycles.
2018-06-12 14:49:40 -05:00
Brandon Wright
e8afbb5e46
Use IRQTransition again.
2018-06-02 19:02:17 -05:00
Brandon Wright
756f370021
Go back to allowing writes to 4200 and vtimerpos to trigger immediately.
2018-06-02 18:44:13 -05:00
OV2
7d5128d294
Apply IRQ flag changes before triggering NMI ( #318 )
2018-06-02 23:24:18 +02:00
Brandon Wright
c4cf40c509
Some simplification.
2018-06-01 15:34:51 -05:00
Brandon Wright
718f580342
This was wrong.
2018-06-01 14:19:59 -05:00
Brandon Wright
1dd2501e98
The flag pushed on to the stack before IRQ is the updated one.
2018-06-01 14:05:00 -05:00
Brandon Wright
85b0cf0191
Proper for Marko AND Super Ghouls and Ghosts.
2018-05-31 15:03:49 -05:00
Brandon Wright
2c219815f9
Remove IRQPending hack.
2018-05-29 14:09:38 -05:00
Brandon Wright
78bc52cd8e
Add some debugging info. Don't reset timer when reading $4211.
2018-05-28 18:24:11 -05:00
Brandon Wright
09c4e97c32
Don't schedule recurring vtimer for current line immediately.
2018-05-28 11:25:07 -05:00
Brandon Wright
ca9ec5ff19
IRQExternal isn't susceptible to same delays.
2018-05-27 19:12:22 -05:00
Brandon Wright
c932d4e37a
Add IRQ transition.
2018-05-27 11:03:21 -05:00
Brandon Wright
ce2a685c89
Adjust timing.
2018-05-26 20:34:38 -05:00
Brandon Wright
c615c42199
Here, too.
2018-05-26 20:14:02 -05:00
Brandon Wright
5595e3cb96
Do HEventProcessing conditionally.
2018-05-26 20:12:44 -05:00
Brandon Wright
f57ba74547
More WAI fixing.
2018-05-26 18:16:12 -05:00
Brandon Wright
937eeab133
Fix Mortal Kombat II.
2018-05-26 18:08:03 -05:00
Brandon Wright
37954fe510
Fix some IRQ bits.
2018-05-26 17:02:57 -05:00
Brandon Wright
0d1bd3f5ae
Unbreak Battle Blaze. Rebreak Marko's Magic Football.
2018-05-26 13:18:01 -05:00
Brandon Wright
20bd60a3c6
Update copyright dates.
2018-05-25 15:44:52 -05:00
Brandon Wright
7dec8a1f9e
Use 0x0fffffff instead of 0xffffffff here.
2018-05-19 16:56:28 -05:00
Brandon Wright
d27d9b6dbd
Fix a couple IRQ problems.
2018-05-19 16:54:05 -05:00
Brandon Wright
f1cab4ab17
Change NextTimer to NextIRQTimer. Don't subtract a dot in interlaced mode.
2018-05-19 10:33:26 -05:00
Brandon Wright
1ff91f4224
Make sure to pull IRQLine during IRQ.
2018-05-18 15:48:42 -05:00
Brandon Wright
f6864c422f
Different IRQ handling.
2018-05-18 14:53:27 -05:00
Brandon Wright
aaae363257
Simplify NMI trigger.
2018-05-18 11:10:01 -05:00
Brandon Wright
8c47efb89a
Bound late NMI trigger to last half of scanline. Be more careful setting trigger position.
2018-05-17 16:24:51 -05:00
Brandon Wright
7f88063b84
Don't continuously skip over NMI triggers that happened late in the scanline.
2018-05-17 14:52:10 -05:00
Brandon Wright
e14a32dd8c
Add some NMI debugging info.
2018-05-17 14:52:10 -05:00
Brandon Wright
070d5e5dbf
Fix reset of NMI pending flag.
2018-05-02 10:00:27 -05:00
Brandon Wright
551e527784
Revert "Add a wait for threads when we hand away control. Probably not needed due to all the extra processing during end-of-frame."
...
This reverts commit e1a4ef93b6
.
2018-04-13 10:25:25 -05:00
Brandon Wright
e1a4ef93b6
Add a wait for threads when we hand away control. Probably not needed due to all the extra processing during end-of-frame.
2018-04-12 16:51:00 -05:00
Brandon Wright
76e25cbb6f
Revert "Also break out of S9xMainLoop in original location."
...
This reverts commit 8313c51e81
.
2017-11-24 14:01:05 -06:00
Brandon Wright
8313c51e81
Also break out of S9xMainLoop in original location.
2017-11-24 13:47:53 -06:00
Brandon Wright
10e0ef005d
Change where we break S9xMainLoop/Scan for input ("Brunnis lag fix")
2017-11-22 12:12:41 -06:00