Commit Graph

30 Commits

Author SHA1 Message Date
feos
0c45a8a8ab
use UNLIKELY() macro (#554) 2024-04-20 20:16:54 +02:00
ekeeke
47761b9b8f [Core/MD] added basic emulation of 68k bus access refresh delays (fixes Super Airwolf graphical glitch during intro & some Krikzz's mcd-verificator timing tests) 2024-02-21 19:50:08 +01:00
ekeeke
405c54555e [Core/CPU] improved 68k auto-vectored interrupts acknowledge cycle timing accuracy (fixes Pacman 2 - New Adventures crashes during Pac-Jr minigame levels transitions) 2024-02-20 18:54:00 +01:00
ekeeke
6b1dfa1cef [Core/CPU] improved 68k MOVEM instruction accuracy (implements extra read cycle from memory as verified on real hardware, cf https://gendev.spritesmind.net/forum/viewtopic.php?t=2010) 2024-02-20 15:01:34 +01:00
ekeeke
79bd0e7582 [Core/CD] improved Main-CPU & Sub-CPU idle loop detection (fixes cases where ADDQ instruction is used in tight counter incrementing loop) 2024-02-05 23:28:18 +01:00
ekeeke
9f25226536 [Core/CD] improved emulation of Word-RAM access limitations in 2M mode (fixes regression in Mortal Kombat) 2024-01-16 14:00:21 +01:00
ekeeke
6cc8bbc277 [Core/CD] added emulation of Word-RAM access limitations in 2M mode (fixes graphical issues in Marko's Magic Football) 2023-11-18 19:38:33 +01:00
ekeeke
70cfbd909f [Core/CPU]
- fixed 68k timings of BCHG, BCLR, BTST Dn,#Imm and Dn,Dm instructions when bit number is less than 16 (cf. Yacht.txt)
- fixed 68k timings of CHK, TRAP, TRAPV, LINEA and LINEF exceptions (cf. Yacht.txt)
2023-01-06 09:03:30 +01:00
orbea
0f9d57d6b8
Fix -Werror=strict-prototypes (#466)
This will be required for upcoming gcc and clang versions.

Reference: https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240
2022-10-11 23:10:06 +02:00
ekeeke
c6d1e5ac38 [Core/CD] added optional (platform-specific) SUB-CPU address error exceptions emulation (currently activated for libretro & SDL Windows ports only) 2021-10-09 18:53:59 +02:00
ekeeke
299724791e [Core/CPU] fixed 68k timings of ANDI.L #Imm,Dn, ADDQ.W #Imm,An and TAS instructions (cf. Yacht.txt) + corrected typo in BTST Dn,#Imm instruction timings on SUB-CPU side 2020-08-15 00:29:20 +02:00
ekeeke
03c5fa58f4 [Core/CPU] improved debug logging 2020-04-04 15:30:46 +02:00
ekeeke
48e3321261 [Core/CPU] fixed sub 68K DIVU instruction timings 2019-11-25 17:17:26 +01:00
vadosnaprimer
b24541938a move cpuhook to a core/debug 2019-04-24 19:55:31 +03:00
vadosnaprimer
d1e7cd6bea add CPU hooking functionality
can be used by a frontend to implement breakpoints or tracelogging
currently hooked: M68K executing/reading/writing, VDP reading/writing (only for MegaDrive)
2019-04-21 20:35:38 +03:00
ekeeke
c953707ef5 [Core/CPU] fixed M68K STOP instruction edge case (case where STOP instruction unmasks pending interrupt) 2019-03-23 13:46:23 +01:00
ekeeke
50dfa94a67 [Core/CPU] fixed 68k timing of BTST Dn,#Imm instruction (verified by Flamewing in original microcode) 2019-01-09 01:08:28 +01:00
Brian Koropoff
fe21bb5950 Tidy up overclock code
Also use full available precision for overclock ratio.
2017-10-07 17:24:37 -07:00
Brian Koropoff
f3e0641b1b Allow more fine-grained overclocking
Some games can benefit from a little overclocking but start behaving
strangely at 2x.  Make the internal overclock ratio a fixed point
number and add 3 fractional settings.
2017-10-04 22:07:45 -07:00
Brian Koropoff
2135365d5c Add experimental overclock option.
This reduces all cycle costs by half for the primary CPU.  There
is a delay upon loading before overclocking is applied as a
workaround for some games that detect PAL/NTSC systems by counting
cycles in a frame at startup.
2017-10-03 16:46:17 -07:00
ekeeke
3fc3a57b26 [Core/68k] fixed NBCD insruction when using register operand 2017-09-25 01:09:09 +02:00
EkeEke
527fd6ecd8 [Core/VDP] improved VDP status read timing accuracy (fixes 'Marvel Land' demo mode) 2017-09-20 10:53:08 +02:00
EkeEke
ee0fd881f6 [Core/CPU] removed 68k stack access optimizations to prevent unintentional (or intentional) ROM corruption 2017-05-08 16:35:05 +02:00
EkeEke
9810f9d34b [Core/CPU] minor optimization to 68k read/write handlers 2017-05-08 15:59:32 +02:00
EkeEke
5a74df31ee [Core/CPU] fixed 68k undocumented behaviors for ABCD/SBCD/NBCD instructions (thanks to flamewing for his test ROM) 2017-03-30 15:02:15 +02:00
EkeEke
fa8929eb3d [Core/CPU] improved 68k auto-vectored interrupts acknowledge cycle timing accuracy (fixes background color corruption during Bubsy cutscenes) 2016-08-15 21:53:12 +02:00
EkeEke
79570c7d4e [Core/Misc] fixed code formatting 2016-05-01 20:04:40 +02:00
EkeEke
406ee5e6bc [Core/Misc] code cleanup 2015-10-17 19:12:32 +02:00
EkeEke
2236072ce9 [Core/MCD] improved Main-CPU & Sub-CPU idle loop detection (fixes "Super League CD") 2013-10-21 00:09:50 +02:00
EkeEke
aede1b9299 rearranged core & back-end specific code (part 2) 2013-06-17 22:31:31 +02:00