Commit Graph

51 Commits

Author SHA1 Message Date
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
62c1d82145 [Core/Sound] fixed Timer B overflow handling 2017-04-09 19:12:21 +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
9bb64c47f9 [Core/Sound] rewrote PSG core from scratch & replaced deprecated "PSG boot noise" option with optional Hiqh Quality PSG resampling 2016-12-18 23:36:59 +01:00
EkeEke
17a64572e7 [Core/CD] fixed WAV file detection to support files generated by Audacity/FFmpeg/libavformat with RIFF header metadata chunks 2016-09-09 16:03:41 +02:00
EkeEke
60bb5edb17 [Core/CD] fixed access to Sub-CPU "read-only" communication registers (fixes Round 5 Boss freeze in Streets of Rage / Sega Classics Arcade Collection) 2016-09-07 23:01:40 +02:00
EkeEke
446d9aa61f [Core/CPU] fixed Z80 interrupt duration (fixes music running too fast in Bomb on Basic City homebrew) 2016-08-16 00:02:33 +02:00
EkeEke
1dac828fb5 [Core/MD] improved SVP memory handlers accuracy (fixes Virtua Racing debug mode) 2016-07-09 19:46:22 +02:00
EkeEke
38753afaa5 [Core/CD] improved CDD "play" command accuracy (fixes "Snatcher" Act 2 starting cutscene) 2016-07-03 15:52:17 +02:00
EkeEke
9365ac2b55 [Core/VDP] improved VDP status timing accuracy 2016-05-01 20:21:45 +02:00
EkeEke
6c9b42f768 [Core/VDP] fixed Master System II extended video modes sprite parsing (fixes Mega Man 2 demo) 2016-04-10 17:06:22 +02:00
EkeEke
862e44f098 [Core/MS] fixed 4MB ROM support 2016-03-30 17:35:00 +02:00
EkeEke
6b1d80b6a0 updated HISTORY.txt 2015-10-19 19:20:25 +02:00
EkeEke
f9e74075ad [Core/CD] fixed AUDIO tracks length calculation when using separated files (WAV/OGG/BIN) with INDEX pause defined in CUE file 2015-08-26 23:52:19 +02:00
EkeEke
9476daf1e9 [Core/IO] improved XE-1AP controller emulation 2015-08-26 23:32:25 +02:00
EkeEke
f55688de19 .updated HISTORY.txt to reflect all changes since 1.7.4
.synced README with Bitbucket repository
2015-07-14 19:13:44 +02:00
EkeEke
44fdb80c3c added HISTORY.txt and LICENSE.txt 2013-09-08 17:27:42 +02:00
ekeeke31
62f1204476 ----------------------
Genesis Plus GX 1.6.0 
----------------------

[Core/Sound]
---------------
* added YM2413 emulation in Master System compatibility mode.
* fixed SN76489 noise boost initialization.
* minor YM2612 core optimizations.

[Core/VDP]
---------------
* added accurate emulation of SG-1000, Master System (315-5124, 315-5246) & Game Gear VDP.
* added support for all TMS9918 rendering modes.
* improved Mega Drive VDP timings accuracy in Master System Compatibility mode.
* fixed color palette initialization.
* fixed shifted sprites rendering in Mode 4.
* modified pixel rendering support (pixel depth is now forced at compilation time).

[Core/CPU]
---------------
* optimized 68k core (rewrote 68k interrupt handling, removed multiple CPU types support & unused code) for 5~8% speed improvment

[Core/IO]
---------------
* added accurate emulation of Master System (315-5216, 315-5237, 315-5297) & Game Gear I/O controllers.
* added Terebi Oekaki tablet emulation.
* improved Mouse emulation (fixes mouse support in Cannon Fodder).
* improved Justifier emulation (fixes gun support in Lethal Enforcers 2).
* improved 6-Buttons control pad emulation (fixes Duke Nukem 3D)
* modified lightgun emulation to use common key inputs for all devices.
* 2-buttons controller is now picked by default for Master System games.

[Core/MD]
---------------
* added copy-protection hardware emulation for some new dumped games (Tiny Toon Adventures 3, Mighty Morphin Power Rangers & The Battle of Red Cliffs).
* added Game Toshokan in EEPROM database (verified on real cartridge).
* fixed Micro Machines 2 - Turbo Tournament EEPROM size (verified on real cartridge).
* modified SRAM banswitch hardware emulation to be more compatible with some hacks.

[Core/MS]
---------------
* added Cyborg Z to Korean mapper database.

[Core/GG]
---------------
* added 93C46 EEPROM emulation (Majors Pro Baseball, World Series Baseball & World Series Baseball 95).

[Core/General]
---------------
* added support for .mdx ROM format.
* added Game Gear & SG-1000 ROM support.
* added accurate emulation of SG-1000, Master System (I, II) & Game Gear hardware models for 100% compatibility.
* updated to new Genesis Plus license (see http://cgfm2.emuviews.com/)
* removed DOS port
* various code cleanup.

[Gamecube/Wii]
---------------
* IMPORTANT: cheats, screenshots & save files are now stored in console-specific directories (ex: /snaps/md, /cheats/ms, /saves/gg, ...)
* added 8-bit Action Replay & Game Genie codes support (for Master System & Game Gear games).
* improved audio/video synchronization for PAL games in 50Hz TV modes (now use VSYNC like NTSC games in 60hz modes).
* improved gun cursor positioning accuracy.
* improved horizontal scaling & screenshots rendering in H32 mode.
* fixed a bug with ROM file extension handling that would affect cheats, snapshots, sram & savestate files.
* removed ARAM/injected ROM support (unused).
* removed WPAD_ and PAD_ update from VSYNC callback.
* increased GCC inlining limits for some speed improvment.
* compiled with devkitPPC r24 & libogc 1.8.7.
2011-08-07 17:49:46 +00:00
ekeeke31
651e91ece6 Reverted to r598 2011-07-13 22:49:52 +00:00
ekeeke31
7924f83b3d Deleted public repository 2011-07-13 11:44:38 +00:00
ekeeke31
ab4638144c [Core/VDP]
---------------
* added support for Master System compatibility mode (Z80 ports access mode), incl. Mode 5 rendering.
* added Mode 4 rendering for both Genesis & Master System modes.
* added alternate BG planes rendering functions (should be faster on PPC architectures).

[Core/IO]
---------------
* added support for Master System compatibility mode (Z80 ports access mode).
* added Master System peripherals emulation (Control Pad, Paddle, Sports Pad & Light Phaser).
* added XE-1AP (analog controller) emulation.
* added Activator emulation.

[Core/Extra]
---------------
* added support for all known Master System cartridge mappers.
* added copy-protection hardware emulation for a few MD unlicensed games: fixes 777 Casino (crash when talking to bunny girls).
(NB: most of those unlicensed games seem to have been already patched by ROM dumpers, main purpose is documenting them)
* added support for Top Shooter arcade board controller. (A=Shoot, B=Bet, C/RIGHT=Coins, START=Start, hold UP on startup to enter service mode)
* improved King of Fighters 98 mapper emulation (registers address decoding is now 100% accurate)
* fixed Game Genie when several codes affect same ROM address.
* fixed EEPROM types for Brian Lara Cricket & NBA Jam TE (verified on real cartridges)

[Core/General]
---------------
* added Master System compatibility mode emulation (automatically enabled when loading ROM file with .sms extension).
* improved savestate stability & compatibility (support for old 1.4.x savestates is preserved)
* various code cleanup & comments.

[Gamecube/Wii]
---------------
* fixed cheat codes handling when several codes affect same ROM address.
* improved input controller detection on menu exit.
* improved key remapping dialog box to match emulated device
* changed Menu key for Gamecube controller to allow MODE button mapping
* fixed DVD not being unmounted on swap (memory leak)

[Wii only]
---------------
* added USB mouse support for Sega Mouse emulation
* compiled with latest libogc: improves USB compatibility & fixes stability issues with Wiimotes.
2011-03-31 22:11:05 +00:00
ekeeke31
35b1a164bd Finalize 1.4.1 2010-12-04 17:18:34 +00:00
ekeeke31
d3116defa7 Bump up version 1.4.0 2010-11-01 18:19:46 +00:00
ekeeke31
28d112c03d updated changelog 2010-08-27 07:45:23 +00:00
ekeeke31
9f4806a37d finally implemented accurate column-based vertical scroll mode (verified on real hardware) 2010-08-19 12:11:51 +00:00
ekeeke31
cd14774e03 [Z80] fixed state of CPU registers on reset: fixes missing sound in Defender/Defender 2 (Williams Arcade Classics) 2010-08-08 17:28:11 +00:00
ekeeke31
c7e2dad7b4 2010-08-05 19:14:09 +00:00
ekeeke31
21e263dd25 improved 2-cell vscroll emulation accuracy (fixes Cutie Suzuki no Ringside Angel left-most column) 2010-07-30 21:26:06 +00:00
ekeeke31
c44daa134b minor input code cleanup & fixes
it's now possible to change the input configuration when J-CART is detected: this let you play 6-player mode in Super Skidmarks by connecting 4-WayPlay
2010-07-28 12:01:03 +00:00
ekeeke31
daf11963b1 .added pixel-accurate emulation of mid-line display on/off (Nigel Mansell World Championship PAL, Ren & Stimpy's Invention PAL,...)
.improved sprite processing accuracy (fixes Power Athlete / Deadly Moves)
.optimized sprite rendering
2010-06-28 22:49:17 +00:00
ekeeke31
682dd53a38 additional memory handler code cleanup 2010-06-14 19:20:05 +00:00
ekeeke31
12606da28e .improved mid-frame screen changes (fixes Bugs Bunny in Double Trouble)
.improved VDP FIFO timing accuracy
.improved Z80 interrupt accuracy
.modified CPU Hard Reset start cycles
2010-06-10 07:57:18 +00:00
ekeeke31
2c2f760f44 .optimized memory footprint
.improved hardware initialization (fixes Ultimate Mortal Kombat Trilogy)
.improved soft-reset emulation
.fixed some menu bugs on Gamecube
2010-05-28 12:08:00 +00:00
ekeeke31
5078244cd1 added proper HV Counter latch support, as verified on real hardware (fixes Sunset Riders intro) 2010-05-17 10:59:47 +00:00
ekeeke31
44073ca30e implemented new save manager menu (multiple slots, snapshots, slot deletion...)
miscellaneous improvement to GUI engine
2010-05-06 12:59:43 +00:00
ekeeke31
ed11eb0133 [Core/VDP]
* improved sprites processing accuracy.
* fixed VBLANK transition line checks.
* code cleanup and (minor) optimizations.

[Core/Sound]
* increased FM internal sample size to 32-bit to avoid overflow when adding channels.
* added preliminary emulation of YM2612 DAC precision (can be configured to match real console output).
* added configurable roll-off for FIR filtering in High-Quality FM mode.

[Wii]
*added support to enable/disable Video Encoder Trap Filter: can help reproducing "color blending" as on a real Genesis (composite video only).
*added support to configure Video Encoder gamma correction.
2010-02-28 19:55:43 +00:00
ekeeke31
3cef34ffa4 fixed audio/video resynchronization when video settings are changed during frame execution 2010-01-27 23:53:20 +00:00
ekeeke31
2b78421402 [Core]
------

* improved 68k accuracy (initial reset timing + auto-vectored interrupts handling).
* modified Z80 & 68k cores to directly use external cycle count instead of intermediate counters.
* improved Z80 & 68k cpu execution/synchronization accuracy, now use Master Clock as common clock reference.
* improved PSG & FM chips synchronization with CPU execution (fixed point precision).
* completely rewrote sound output processing & mixing: sound chips are now clocked with exact output frame rate
to ensure 100% smooth video & audio playback, with no lag or skipping, while still rendering an accurate number
of samples per frame. This will also make fast-forward implementation (video AND sound) more trivial.
* improved color accuracy in VDP highlight mode to match results observed on real hardware.
* improved sprites processing timing accuracy: fixes (un)masked sprites in Mickey Mania (3D level), Sonic 2 (VS mode).
* improved horizontal blanking & HINT/VINT occurrence timing accuracy, as measured on real hardware.
* improved H-Counter accuracy in 40-cell mode, as measured on real hardware.
* optimized Z80 bus status signals
* usual code cleanup

[GCN/WII]
---------
fixed ASNDLIB exit when returning to game
fixed audio/video startup sync
modified audio back-end engine according to new audio processing core (see above)
2010-01-24 11:41:53 +00:00
ekeeke31
46758ce339 improved audio accuracy (input samplerate is now adjusted according to emulated framerate) 2009-12-30 15:24:12 +00:00
ekeeke31
b40bcf31d1 * fixed 2-Cell vertical scrolling when column 0 is shifted.
* added support for 2-Cell vertical scrolling in Interlaced 2 mode.
* improved Z80 core accuracy
2009-09-03 17:02:29 +00:00
ekeeke31
f2e93d4949 updated Z80 core to last version (fixes IM0 interrupt timing + some BIT instructions)
added John Madden Football 93 in EEPROM database (fixes backup support)
initiated ROM database for cartridges that uses SRAM (some ROM headers are definitively wrong !), need more...
2009-08-18 16:45:09 +00:00
ekeeke31
e0737ff395 fixed Savestates
reverted SN76489 core changes (problem with Sonic 2 first level music, more investigations needed)
2009-08-05 07:02:09 +00:00
ekeeke31
f404e9eaa9 Fixed Game Genie option menu
Added more EQ options in audio menu
2009-07-30 07:15:54 +00:00
ekeeke31
d112fb72a2 +added Game Genie hardware emulation (Game Genie ROM is now fully supported) 2009-07-29 15:34:25 +00:00
ekeeke31
9800c00f5a ~modified RGB565 color palette 2009-07-03 16:18:16 +00:00
ekeeke31
4835860232 ~improved DIVU/DIVS/MULU/MULS timing accuracy (68k core)
~optimized 68k execution
~reverted recent changes to LFO phase modulation, need more testing (ym2162 core)
2009-06-23 16:38:29 +00:00
ekeeke31
aa970d66a6 ~optimized 68k execution/interruptions
~re-enabled Address Error emulation
2009-06-05 17:31:46 +00:00
ekeeke31
1cfb7e6f44 +implemented Blip Buffer linear interpolation in SN76489 core
+optimized SN76489 core
+added configurable SN76489 Noise boost
+added savestate version check
2009-05-27 14:07:14 +00:00
ekeeke31
7b7fa4123d ~fixed H32/H40 modes transition
~fixed overscan horizontal width in both modes
+added MessageBox support [GUI engine]
2009-05-19 16:14:43 +00:00