Commit graph

23 commits

Author SHA1 Message Date
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
2f3ccc92c3 PCE: Fixed CPU bug that caused memory flag to not be restored properly by RTI
If any IRQ occured immediately after SET, returning from the IRQ would have the memory flag cleared, which caused the next instruction to behave completely differently from what was intended.
This caused issues in Ankoku Densetsu because it uses SET a lot and has the timer IRQ running constantly
2023-04-04 22:10:08 -04: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
7108bdde36 Refactoring - Moved some leftover files out of the root folder 2022-09-08 21:48:49 -04:00
Sour
152abf690b Rename stdafx.h to pch.h 2022-09-08 21:29:52 -04:00
Sour
240e045f99 Debugger: Lua - Added selectDrawSurface API (+ Linux compilation fixes) 2022-08-02 23:25:41 -04:00
Sour
05180385ab PCE: Implemented save states 2022-07-20 18:49:25 -04:00
Sour
5e31200cf3 Debugger: Refactor/fix logic to determine size of value to display along with the effective address 2022-07-13 21:51:51 -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
9d226d6588 Linux: Fixed build, fixed some clang warnings 2022-05-09 20:53:56 -04:00
Sour
509d67c539 Performance improvements 2022-04-16 16:31:02 -04:00
Sour
2c0c551116 PCE performance tweaks 2022-04-15 13:31:44 -04:00
Sour
d5d61b0472 Debugger - Memory mappings, predictive breakpoints, disassembly fixes/improvements, refactoring 2022-04-10 16:07:53 -04:00
Sour
15028eee56 Fixed block transfer instructions altering flags at the end 2022-04-09 20:30:08 -04:00
Sour
2ef5e3ca82 Implemented decimal mode 2022-04-09 17:12:10 -04:00
Sour
2b51ba3f55 PPU - scrolling tweaks 2022-04-08 19:04:14 -04:00
Sour
be2474553e Implement SET instructions 2022-04-08 00:37:36 -04:00
Sour
9d9a648050 Simplify PCE cpu code, fixed some wrapping issues, etc. 2022-04-07 23:43:16 -04:00
Sour
4092aae1d5 Fixed most op code timings 2022-04-07 22:50:21 -04:00
Sour
a600726a95 Power on state, irq/brk, unofficial nops, set/t flag 2022-04-07 19:47:06 -04:00
Sour
191304e025 wip - everything to review 2022-04-06 18:37:35 -04:00