Commit graph

49 commits

Author SHA1 Message Date
Sour
4ce300877d PCE: Fixed memory mappings for save ram
Save ram is not mirrored across the entire 8kb, can only be accessed in the first 2kb
This fixes Death Bringer corrupting save ram when trying to start a new game
2025-02-01 18:01:15 +09:00
Sour
e52fa70944 Debugger: Source View - Improve active row behavior when multiple mirrors exist
+ Automatically move to current address when clicking on the source view tab (so that the active row is shown after manually loading a symbol file, etc.)
2024-12-07 20:00:24 +09:00
Sour
2aa9cc5908 PCE: Fixed save ram size (2kb instead of 8kb)
+ only create .sav file if game actually writes to save ram
2024-09-20 21:53:36 +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
1df7d9aeac Debugger: Added freeze address option in memory viewer 2022-09-25 19:56:02 -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
63b255d696 PCE: Refactor memory manager 2022-09-03 10:35:49 -04:00
Sour
6d00765c4a PCE: Timer refactoring + added to register viewer 2022-09-03 00:20:45 -04:00
Sour
a85c1ce5a5 PCE: Implemented bram (save ram) read/write protect flag + refactoring to move some cd-rom specific code 2022-09-02 18:56:47 -04:00
Sour
f820904596 PCE: Reduce performance overhead of SF2 mapper/arcade card 2022-09-01 10:33:12 -04:00
Sour
f05260ad90 PCE: Optimize Exec() logic with templates/logic to avoid calls when not needed, etc. 2022-08-31 22:30:07 -04:00
Sour
0de17a6df1 Debugger: MemoryType::Register refactoring 2022-08-29 20:29:12 -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
1e1e5432d0 PCE: Fixed out-of-bounds memory access caused by PSG not running for a long time (e.g during a block transfer that extends long past the end of a frame)
Run PSG at the start of vblank (instead of only running it on the next instruction after vblank)
2022-08-24 00:50:48 -04:00
Sour
240e045f99 Debugger: Lua - Added selectDrawSurface API (+ Linux compilation fixes) 2022-08-02 23:25:41 -04:00
Sour
623892d6c3 Fixed ram init logic to ensure the correct config option is used when loading a game 2022-07-25 22:04:44 -04:00
Sour
05180385ab PCE: Implemented save states 2022-07-20 18:49:25 -04:00
Sour
63cbe9bd73 Debugger: Instruction progression (+ step 1 cpu cycle for snes/sa1/pce) 2022-07-08 00:09:01 -04:00
Sour
6b285f0a2a PCE: Fixed some debugger TODOs 2022-05-26 23:34:41 -04:00
Sour
b5acc90d64 PCE: Fixed cdrom ram mappings 2022-05-25 19:01:18 -04:00
Sour
c307f06449 PCE: Implement card ram for Populous + refactoring 2022-05-18 19:06:29 -04:00
Sour
e137a3f979 PCE: Arcade card support 2022-05-18 18:23:34 -04:00
Sour
0a6a8e92b2 PCE: SuperGrafx support 2022-05-15 20:35:56 -04:00
Sour
6d0fb13cdc PCE: Rename PPU to VDC 2022-05-13 18:02:25 -04:00
Sour
e1c45afdb8 PCE: Split VCE into its own class 2022-05-13 17:38:37 -04:00
Sour
b9ff79149a PCE: Added options to select console/cdrom types + option to enable the cdrom fully for hucard games + option to disable cdrom save ram for hucard games 2022-05-12 21:42:18 -04:00
Sour
9d0e6f5e39 PCE: Added disable sprite/bg + remove sprite limit options 2022-05-11 22:52:48 -04:00
Sour
9d226d6588 Linux: Fixed build, fixed some clang warnings 2022-05-09 20:53:56 -04:00
Sour
e855d0466e PCE: Add support for cheat codes 2022-05-09 18:16:16 -04:00
Sour
851a643895 PCE: Save ram for CD games 2022-05-01 20:22:43 -04:00
Sour
d18e5312ec PCE: Minor memory manager tweaks 2022-05-01 16:16:59 -04:00
Sour
e2d250a3ff PCE: Fixed visible flag in sprite viewer, fixed some debugger todos 2022-05-01 13:59:20 -04:00
Sour
66c8e281dd Config UI, 6-button controller, turbo tap 2022-04-30 14:02:48 -04:00
Sour
a2a527af8a Improved VDC/VCE timings (horizontal) - no sprites 2022-04-23 13:46:56 -04:00
Sour
dd45012a1c Improved scroll latch timing, RCR + vertical blank IRQ timing, fixed missing extra CPU clock for VDC/VCE reads/writes 2022-04-18 14:43:13 -04:00
Sour
b363506b59 Fix behavior in slow mode 2022-04-17 20:46:10 -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
ab023e0a9a Allowing loading CUE files, refactor mappings, implement bram, allow viewing cdrom memory in debug tools, etc. 2022-04-15 12:14:29 -04:00
Sour
ed2c5fa0ba wip 2022-04-14 19:15:46 -04:00
Sour
8d55f9c2cd Implement PSG, fixed VDC timing to be 1365 master clocks per scanline 2022-04-12 00:38:41 -04:00
Sour
d5d61b0472 Debugger - Memory mappings, predictive breakpoints, disassembly fixes/improvements, refactoring 2022-04-10 16:07:53 -04:00
Sour
db5f1fecad Refactored mappings, add support for SF2 2022-04-09 16:44:39 -04:00
Sour
a600726a95 Power on state, irq/brk, unofficial nops, set/t flag 2022-04-07 19:47:06 -04:00
Sour
a8f133876d Implement MPR read buffer 2022-04-07 17:39:11 -04:00
Sour
df1accdb83 Implement io buffer 2022-04-06 19:44:03 -04:00
Sour
191304e025 wip - everything to review 2022-04-06 18:37:35 -04:00