Commit Graph

73 Commits

Author SHA1 Message Date
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
02aa2d0c6a Use a lookup table. A little faster. 2019-03-06 20:17:07 -06:00
Brandon Wright
f2b5f26a35 Move interlace flags to S9xSoftResetPPU.
Windows is calling S9xGraphicsInit on BPP changes, and this
could reset the interlace interval.
2019-02-17 15:57:23 -06:00
Brandon Wright
d1e078e570 Only allow instantaneous IRQ when toggling IRQ completely. 2019-01-18 18:29:51 -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
e543702e24 Allow instant IRQ trigger from 4200 writes again. 2018-10-05 18:17:19 -05:00
bearoso
42d7b19361
Fix extra 4 cycles I left inaccidentally. 2018-09-09 21:58:20 -05:00
Brandon Wright
c61d81269a Timings.IRQTriggerCycles is 3.5 dot clocks. 2018-09-09 16:15:38 -05:00
lacastri
2142282f69
daffy duck irq non-reschedule 2018-09-08 18:49:42 -05:00
OV2
d3e21d7463 Move identical VRAMReadBuffer updates to inline function 2018-08-25 21:24:13 +02:00
OV2
1d25cbfeca
Merge pull request #412 from Dwedit/snes9x-master-fix-submission
Move `VRAMReadBuffer` from `IPPU` to `PPU`, then add to savestate
2018-08-25 21:22:41 +02:00
Dwedit
91ce0cf02a Move VRAMReadBuffer from IPPU to PPU, then add to savestate, tagged as version 11. Fixes RunAhead in Battle Grand Prix. 2018-08-25 14:16:52 -05:00
OV2
a8ab8bc1ba Ensure CPU.MemSpeed is correct when CPU.FastROMSpeed changes 2018-08-25 19:51:42 +02:00
Brandon Wright
e3216ec88e Don't allow IRQ to occur instantly when just writing $4200. 2018-08-14 17:33:03 -05:00
OV2
d2183af371 libretro: add fast snapshot support 2018-08-07 18:39:36 +02:00
Brandon Wright
ada43c7992 Don't break double-height modes. 2018-08-06 17:32:23 -05:00
Brandon Wright
37f6259f06 Fix Chrono Trigger bug where screen jumps. 2018-08-06 12:54:38 -05:00
turhope
4ed8a22f47
ppu.windowleft fix
some games incorrectly show rogue vertical line on column 0
2018-07-30 13:34:07 -05:00
Brandon Wright
893069da5f Pass OAM tests now. 2018-07-02 17:41:52 -05:00
Brandon Wright
6f00d63116 Also allow interlacing in Mode 7. 2018-06-26 03:46:39 -05:00
Brandon Wright
ff1925cc0a Disable interlace mode for bg modes not 5 or 6. 2018-06-25 18:02:10 -05:00
Brandon Wright
044ebbd057 Fix Umihara Kawase's brightness fluctuation. 2018-06-13 12:37:58 -05:00
Brandon Wright
db1d524917 Don't do anything when write to $4200 is the same. 2018-06-05 11:58:38 -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
55cf0c287f Edge case when setting vtimer only on same scanline 2018-06-02 23:24:18 +02:00
Brandon Wright
ac65e94df4 Use OpenBus here like we used to. 2018-06-02 14:40:50 -05:00
Brandon Wright
7faed1fa2b Use OpenBus for these two. 2018-06-01 18:55:15 -05:00
Brandon Wright
f70592df90 Don't use initial variable. 2018-06-01 15:05:58 -05:00
Brandon Wright
718f580342 This was wrong. 2018-06-01 14:19:59 -05:00
Brandon Wright
14c8b043ef Actually, I like the other fix better. We know the HDMA reads this value into the MDR as an intermediary, not that writing the address writes to OpenBus.
Revert "We definitely only know Speedy writes this address and it goes to open bus on hardware."

This reverts commit 6f5295225c.
2018-05-30 17:10:36 -05:00
Brandon Wright
6f5295225c We definitely only know Speedy writes this address and it goes to open bus on hardware. 2018-05-30 16:50:59 -05:00
Brandon Wright
53e76473ca Isolate Speedy Gonzales fix for now. 2018-05-30 16:40:21 -05:00
Brandon Wright
3063da79b8 Check for the short scanline on the timer scanline, not the current one. 2018-05-30 13:27:30 -05:00
OV2
6b871cd104 Use Timings.H_Max_Master when calculating cycles for next irq
(fixes #315)
2018-05-30 16:15:43 +02: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
d33c9eaad5 Fix case when vtimer and htimer are enabled and the timer would have triggered earlier on the current line. 2018-05-27 12:45:18 -05:00
Brandon Wright
c932d4e37a Add IRQ transition. 2018-05-27 11:03:21 -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
20bd60a3c6 Update copyright dates. 2018-05-25 15:44:52 -05:00
Brandon Wright
9b595b5b19 Return different MDR in some cases. 2018-05-22 18:49:20 -05:00
Brandon Wright
a74fe2f623 Fixed IRQ handling. Dumb me. 2018-05-19 18:12:42 -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
3553650469 Write OpenBus during S9xSetPPU. 2018-05-18 19:49:35 -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