Commit Graph

306 Commits

Author SHA1 Message Date
ekeeke
0060708ad3 Merge branch 'master' of https://github.com/ekeeke/Genesis-Plus-GX 2019-05-08 08:22:22 +02:00
ekeeke
aa9300d581 [Core/SG] fixed state loading for games using external RAM 2019-05-08 08:19:30 +02:00
feos
e4d2e04f48 require HOOK_CPU definition in cpuhook.c 2019-04-25 20:27:02 +03: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
5f8156ef72 [Core/MD] fixed ROM size detection when enabling/disabling SRAM on power-on (fixes SRAM support in Hardball 95, NBA Hang Time and other 3MB games with SRAM mapped at 0x300000) 2019-03-29 01:51:23 +01:00
ekeeke
74e54f7041 Merge branch 'master' of https://github.com/ekeeke/Genesis-Plus-GX 2019-03-23 14:32:58 +01:00
ekeeke
d927c6e4cb [Gamecube/Wii] fixed compilation errors/warnings with latest devkitPPC (r24) 2019-03-23 14:32:34 +01:00
ekeeke
b1ccc1aaba [Core/CD] improved CD hardware reset timing accuracy on software reset 2019-03-23 14:01:43 +01:00
ekeeke
76d6fb87a2 [Core/CD] increased CD access latency (fixes "Aisle Lord (J)") 2019-03-23 13:56:50 +01:00
ekeeke
cae62cd675 [Core/CD] fixed Main-CPU/Sub-CPU synchronization edge case 2019-03-23 13:55:44 +01:00
ekeeke
31a15eaf7c [Core/MD] fixed SSF2 mapper size limit 2019-03-23 13:52:43 +01: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
e819af4553 [Core/MS] fixed savestate when Boot ROM is running 2019-03-23 13:43:55 +01:00
ekeeke
33328c7abb [Core/MD] fixed savestate when Boot ROM is running 2019-03-23 13:41:56 +01:00
tokumeiwokiboushimasu
fbc949cc47
Build fixes
With gcc-8.2.1 on Fedora29, there are the errors below.

../core/z80/z80.c:470:21: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80op,op);
                     ^
../core/z80/z80.c:471:21: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80cb,cb);
                     ^
../core/z80/z80.c:472:21: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80dd,dd);
                     ^
../core/z80/z80.c:473:21: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80ed,ed);
                     ^
../core/z80/z80.c:474:21: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80fd,fd);
                     ^
../core/z80/z80.c:475:25: error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 PROTOTYPES(Z80xycb,xycb);
                         ^
make: *** [Makefile.sdl2:183: build_sdl2/z80.o] Error 1
2019-02-26 00:12:22 +09:00
ekeeke
32079418a9 [Core/MD] fixed SRAM power-on state with games larger than 2MB (Duke Nukem 3D, Triple Play 96, Triple Play - Gold Edition) 2019-01-26 18:33:41 +01:00
ekeeke
5c0c613bbc [Core/IO] fixed regression with 6-buttons control pad emulation (fixes Duke Nukem 3D) 2019-01-21 23:24:36 +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
ekeeke
49f5a227bd [Core/CPU] fixed Z80 core compilation warnings (unused variable) 2019-01-09 01:07:19 +01:00
ekeeke
edf6abad3f [Core/IO] added short description of I/O ports (credits to Charles MacDonald for original documentation) 2019-01-09 00:59:40 +01:00
ekeeke
0b75d4ba74 [Core/CD] improved accuracy of Word-RAM byte writes (verified on schematic) 2019-01-09 00:54:59 +01:00
ekeeke
e075526f71 [Core/MS] added Missile Defense 3D [Proto] to internal database 2019-01-09 00:52:45 +01:00
ekeeke
39c3c6634b [Core/CD] improved CDD status codes description & added support for (unused ?) error request code 2018-08-31 01:52:31 +02:00
ekeeke
d539061d99 [Core/CD] added support for Wondermega & Wondermega M2/X'Eye specific fader hardware (fixes CD-DA issues and freeze when using Wondermega, Wondermega M2 or X'Eye BIOS) 2018-08-30 18:37:12 +02:00
EkeEke
d71a8a2fc5 Merge branch 'master' of https://github.com/ekeeke/Genesis-Plus-GX 2018-08-11 23:42:09 +02:00
EkeEke
ee4494a815 [Core/IO] improved 6-buttons controller emulation (fixes 'ToeJam & Earl in Panic on Funkotron') 2018-08-11 02:09:13 +02:00
Clownacy
7a4e30d27e [Core/CD] fix libFLAC compilation on MinGW-w64
Without autotools, fseeko cannot be detected automatically, so we cheat
a little.
2018-07-09 18:53:09 +01:00
Vladimir Kononovich
191665c8d1 Visual Studio 2017 sdl2 solution. 2018-06-30 20:51:37 +03:00
EkeEke
724015c5a5 [Core/CD] fixed CHD data initialization (fixes potential crashes when loading non-CHD CD image files after 10MB ROM file) 2018-06-27 01:42:03 +02:00
EkeEke
ae28f87402 [Core/MS] improved region detection (fixes BIOS support with Japanese games) 2018-06-21 00:28:57 +02:00
nukeykt
3aae6e4f09 [Core/Sound] Nuked OPN2: removed discrete ym3438 core 2018-02-01 00:01:03 +09:00
nukeykt
06b3950d73 [Core/Sound] accurate YM2612/3438 status read emulation on invalid port 2018-01-29 13:24:13 +09:00
EkeEke
fee2bc8c28 [Core/Sound] added accurate YM2612 status & BUSY flag emulation for MAME core (verified on discrete and ASIC-integrated chips) 2018-01-07 16:44:14 +01:00
EkeEke
d0aa36acc3 [Core/CPU] improved 68K/Z80 synchronization 2018-01-07 16:24:28 +01:00
EkeEke
902dc4c4c0 [Core/Sound] added (optional) YM2612 DAC distortion emulation in MAME core & removed configurable YM2612 DAC resolution (deprecated) 2017-12-22 20:43:28 +01:00
EkeEke
b62ce884b8 [Core/Sound] added nuked YM3438 core to SDL port and fixed some GCC warnings 2017-12-22 20:37:58 +01:00
EkeEke
46f3e640e8 [Core/SG] improved SG-1000 cartridge memory mapping (fixes Safari Hunting crash when accessing unmapped ROM area) 2017-12-13 23:09:29 +01:00
nukeykt
eff16f5a81 [Core/Sound] Nuked OPN2: Minor PCM mode tweak. 2017-10-10 23:51:58 +09:00
ekeeke
5ec1cd099f Merge pull request #184 from bkoropoff/overclock-tidy
[Core] Improved CPU overclock granularity and added (optional) sprite limits removal support (bkoropoff)
2017-10-10 10:46:16 +02:00
Brian Koropoff
fe21bb5950 Tidy up overclock code
Also use full available precision for overclock ratio.
2017-10-07 17:24:37 -07:00
EkeEke
5c7eb1a55d [Core/Sound] fixed compilation warnings with Nuked core 2017-10-07 00:49:14 +02:00
nukeykt
64356591d6 [Core/Sound] Nuked OPN2: fix envelope generator increment calculation 2017-10-06 00:25:16 +09:00
Brian Koropoff
e0ef0902e9 Add option to remove per-line sprite limits 2017-10-04 22:24:31 -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
ekeeke
2345d98b69 Merge pull request #181 from libretro/master
[Core/CPU] add optional 68K and Z80 overclocking
2017-10-04 11:19:10 +02: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
nukeykt
573120e4f6 Nuked OPN2: requested changes 2 2017-09-29 22:37:13 +09:00
nukeykt
405db5d9f4 Nuked OPN2: requested changes 2017-09-29 18:01:03 +09:00
nukeykt
51f802b2cc Nuked OPN2: ASIC YM3438 & YM2612 emulation 2017-09-29 01:45:49 +09:00
nukeykt
27a77147aa Nuked OPN2: optimize detune calculation 2017-09-28 19:54:12 +09:00
nukeykt
6a23a42540 Nuked OPN2: minor tweaks 2017-09-28 17:00:31 +09:00
ekeeke
e2774c7b8a Update ym2612.c
[Core/YM2612] minor optimizations
2017-09-27 13:58:22 +02:00
nukeykt
eb457641a8 Nuked OPN2: Don't attack if key is off 2017-09-26 20:36:07 +09:00
nukeykt
13ab2aafbc Nuked OPN2: Fix LFO PM 2017-09-26 19:23:43 +09:00
ekeeke
3d8bd155a7 [Core/Sound] fixed EG counter loopback behavior (verified on real YM3438 die by nukez) 2017-09-26 10:25:48 +02:00
twinaphex
accc1c030e Use stdint.h instead of inttypes.h - fixes MSVC < 2010 2017-09-26 04:18:19 +02:00
twinaphex
ba28a28b7e Fix Emscripten 2017-09-26 00:49:48 +02:00
ekeeke
3fc3a57b26 [Core/68k] fixed NBCD insruction when using register operand 2017-09-25 01:09:09 +02:00
nukeykt
1768a34144 Nuked OPN2: requested changes 3 2017-09-24 01:47:50 +09:00
nukeykt
757a6e0c1f Nuked OPN2: requested changes 2 2017-09-23 21:17:05 +09:00
nukeykt
1c6fa9fdb6 Nuked OPN2: requested changes 2017-09-23 20:26:26 +09:00
nukeykt
0128f345b5 Add nuked opn2 as alternative core 2017-09-23 12:52:45 +09:00
EkeEke
00a79db64e [Core/CD] fixed cooked Mode-1 (ISO) sectors access in CHD files 2017-09-23 00:14:43 +02:00
notaz
5d13ccbe3f [Core/SVP] fix pointer arithmetic on 64bit (#171)
I don't want broken version of my code to linger around.
2017-09-21 09:24:50 +02:00
EkeEke
94103569ff [Core/VDP] allow active screen width to be modified during first two lines (Bugs Bunny in Double Trouble) 2017-09-20 16:45:50 +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
f6f4556533 [Core/Sound] fixed 3-Band EQ implementation 2017-09-19 15:26:50 +02:00
EkeEke
5a3cfbc1b9 [Core/CD] implemented proper CHD file virtualization 2017-09-19 15:00:03 +02:00
EkeEke
31906b20cf [Core/Sound] fixed PSG noise channel bug 2017-09-19 12:21:41 +02:00
EkeEke
3a0ec7e895 [Wii] fix compilation issue caused by libretro patch to libchdr 2017-09-19 12:19:28 +02:00
twinaphex
12fde25a68 Fix one compilation error for MSVC 2003 Xbox 1 - size_t is defined
in stddef.h
2017-09-17 19:32:52 +02:00
twinaphex
e23498aece Remove msvc 2003/2010 solutions 2017-09-17 19:32:52 +02:00
twinaphex
da80349f9c Update 2017-09-07 02:18:14 +02:00
twinaphex
2dfa1317b0 Update libchdr 2017-09-06 19:07:42 +02:00
EkeEke
05dc8faa04 [Core/CD] added (optional) CHD image file support 2017-08-27 16:42:31 +02:00
EkeEke
f5e425b92a [Core/CD] fixed CD hardware buffer initialization when using dynamic memory allocation 2017-08-15 11:00:47 +02:00
EkeEke
f5c826731d [Core/CD] fixed track relative time computation during pregap 2017-08-15 10:59:10 +02:00
EkeEke
147ad71a3c [Core/VDP] fixed FIFO timings when switching H32/H40 mode while display is active 2017-07-15 13:03:58 +02:00
EkeEke
63b0d6a4c1 [Core/IO] increased Sega Mouse latency (fixes mouse support in Star Blade) 2017-07-15 13:00:49 +02:00
EkeEke
07f333b1ed [Core/MD] added (very basic) emulation of Flashkit MD hardware 2017-07-06 01:16:58 +02:00
EkeEke
2a19462f0d [Core/CD] added support for platform-configurable CD file virtualization 2017-06-30 13:42:47 +02:00
EkeEke
4017d379e6 [Core/VDP] improved DMA timing accuracy during blanking (verified on real hardware by Mask of Destiny) 2017-06-24 15:59:44 +02:00
EkeEke
38ffc317cb [Core/VDP] improved FIFO emulation accuracy 2017-06-05 23:52:03 +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
0fc6a09b1d [Core/MD] fixed 68k read memory handler 2017-04-14 21:26:58 +02:00
EkeEke
4c04c8f719 [Core/Sound] minor YM2612 optimization 2017-04-09 19:31:40 +02:00
EkeEke
8f15c1d43b Merge branch 'master' of https://github.com/ekeeke/Genesis-Plus-GX 2017-04-09 19:13:01 +02:00
EkeEke
62c1d82145 [Core/Sound] fixed Timer B overflow handling 2017-04-09 19:12:21 +02:00
EkeEke
116b001fb2 [Core/Sound] fixed YM2612 LFO PM implementation (block & keyscale code should not be modified by LFO) 2017-04-09 18:54:02 +02:00
ekeeke
cc056b92db [Core/Sound] fixed PSG power-on latched register (verified on VA4 MD1 hardware)
Initial test that indicated power-on latched register was noise attenuation register was flawed because it wasn't done after a "cold" power-on. It appears the latched value is not totally reseted when doing a quick power off/on cycle (which was done with initial test) and would keep last value being set.
2017-04-02 21:40:24 +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
a62c6f9ffe [Core/Sound]
* fixed YM2612 self-feedback regression introduced in 1.7.1
* fixed YM2612 one-sample extra delay on operator1 output
2017-03-28 16:19:55 +02:00
EkeEke
b78ce06728 [Core/Sound] improved accuracy of SN76489 core 2017-03-28 16:15:45 +02:00
EkeEke
e7e231955c [Core/SG-1000] added support for Star Soldier & Pippols SMS Power dumps 2017-03-28 16:08:31 +02:00
ekeeke
7c7332b7b7 Fixed comments alignment 2017-03-21 14:01:14 +01:00
Alberto Fustinoni
fb7a085994 VS compatibility edits 2017-03-21 10:52:23 +09:00
Sérgio Benjamim
641fb280bc Revert "Adding ToadKing copyrights on changed files"
This reverts commit b0ee59c26f, this was not in Twinaphex fork.
2017-02-12 16:41:12 -02:00
EkeEke
61b10c57e2 [Core/Sound] rewrote PSG core from scratch & replaced deprecated "PSG boot noise" option with optional Hiqh Quality PSG resampling 2017-01-12 08:14:56 +01:00