18 Commits
Author SHA1 Message Date
SourMesen e391fd8f9a Code: Add auto-formatting rules for C++ (clang-format) and enforce in CI via "clang-format" and "dotnet format" (#78)
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"

* fix ui format warnings
2026-04-30 06:03:55 -07:00
Sour 735e428bf0 PCE: Fixed bug in indirect zero page wrapping logic
Indirect zero page reads at $20FF would have been affected by this, but odds are that games never do this
2025-07-03 20:08:32 +09:00
Sour c1fe01129d PCE: CPU accuracy improvements based on hardware captures
-Replaced dummy reads with idle cycles where needed
-Fixed order of operation for some instructions
-Fixed IRQ timing (was 10 cycles, should be 8)
-Tweaked VDC timings to match test roms after the IRQ timing changes
2025-06-30 22:00:58 +09:00
Sour b84d4f23cf PCE: Improved VRAM read/write delays
Not perfect, but a lot closer than before. Matches hardware results pretty well in most scenarios, but most of it is guesswork
Fixed Wonder Momo and seems to not have any negative impacts on other games
2023-12-23 13:28:21 +09:00
Sour 7298c236c5 PCE: Fixed timer IRQ regression that caused a freeze in After Burner 2 2023-12-22 14:19:42 +09:00
Sour 094d433709 PCE: Fixed regression that caused incorrect audio in Order of the Griffon
Timer IRQ appears to behave slightly differently from VDC IRQs, the previous fix for Jackie Chan+Final Soldier broke Order of the Griffon. This fix allows all 3 games to work properly.
2023-08-07 23:20:28 +09:00
Sour 01c65c3549 PCE: Fixed shaking in Final Soldier & Jackie Chan
Both games do CLI followed by LDA $0000 in their IRQ handler. The old logic would prevent an additional IRQ from firing after the LDA, because the LDA acknowledges the IRQ.  But at this point, the CPU already processed the IRQ and will execute it anyway (the acknowledge is too late because it occurs on the last cycle of the instruction).  Both games rely on this behavior, otherwise the IRQ handler's logic is executed too fast and the shaking occurs depending on the timing of the timer irq vs the rcr irq
2023-04-01 17:17:18 -04:00
Sour 152abf690b Rename stdafx.h to pch.h 2022-09-08 21:29:52 -04:00
Sour 63b255d696 PCE: Refactor memory manager 2022-09-03 10:35:49 -04:00
Sour 0cd37936fa PCE: Added option to randomize power on state or not (only affects CPU and MPR for now) 2022-08-24 20:19:33 -04:00
Sour 05180385ab PCE: Implemented save states 2022-07-20 18:49:25 -04:00
Sour 529508d8d5 PCE: Use 1-byte operands for zero page addressing, fixed/improved effective address display 2022-05-19 18:44:57 -04:00
Sour 2b5416221a Fixed some TODOs, minor refactoring for tile viewer 2022-04-30 20:42:26 -04:00
Sour 07d0701673 Fixed disassembly for some instructions 2022-04-21 20:41:10 -04:00
Sour 2c0c551116 PCE performance tweaks 2022-04-15 13:31:44 -04:00
Sour 21e1b4064c Fixed BRK behavior 2022-04-15 11:29:02 -04:00
Sour d5d61b0472 Debugger - Memory mappings, predictive breakpoints, disassembly fixes/improvements, refactoring 2022-04-10 16:07:53 -04:00
Sour 191304e025 wip - everything to review 2022-04-06 18:37:35 -04:00