Commit Graph

42 Commits

Author SHA1 Message Date
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
ef8efa2c10 improved savestate stability & compatibility 2011-02-23 19:14:55 +00:00
ekeeke31
a4cfc2a77a [Core/VDP]
---------------
* improved VBLANK flag accuracy, as observed on real hardware.
* improved DMA operations accuracy, writes are now performed on a scanline basis: fixes Gaiares (flickering title screen).
* improved DMA Fill timing accuracy.
* fixed DMA with bad code values: fixes Williams Arcade Classics (corrupted gfx after soft reset).
* fixed horizontal resolution changes during HBLANK: fixes Bugs Bunny in Double Trouble (2nd stage).
* fixed Vertical Counter in interlace mode 1, as observed on real hardware.
* fixed horizontal border width, as observed on real hardware.
* various code improvments & optimizations.

[Core/Extra]
---------------
* improved savestate format: added DMA, SVP, cartridge mapping & internal registers state informations
* improved unlicensed ROM mappers emulation
* added Chinese Fighters III mapper support
* added Top Fighter mapper support
* fixed Barver Battle Saga mapper support
* fixed cartridge hardware soft-reset (Game Genie, SVP, ...)
* fixed Game Genie registers byte reads
2010-12-04 17:13:55 +00:00
ekeeke31
b8506f31b7 .implemented new SN76489 core, using Blargg's blip linear implementation
.improved sound chips input clock precision (float->double)
2010-08-24 12:48:40 +00:00
ekeeke31
b09509edb8 minor code cleanup 2010-08-10 19:54:35 +00:00
ekeeke31
54f1b14aa9 fixed audio/video synchronization in interlaced & progressive modes 2010-08-08 18:09:37 +00:00
ekeeke31
84a395dbf3 fixed an error with Z80 reset from previous changes 2010-06-17 06:31:30 +00:00
ekeeke31
2917f63aa2 reverted back to signed long (32-bits) FM samples [fixed] 2010-04-21 12:50:29 +00:00
ekeeke31
2dc6874e33 reverted FM buffer to use "short int" instead "long int" since it broke sound when High-Quality FM was disabled 2010-04-19 12:21:40 +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
9eadfc41b3 fixed compilation issue in previous revision (configurable roll-off has not yet been submitted) 2010-02-17 08:51:17 +00:00
ekeeke31
27d3fc5328 improved FM & PSG chip synchronization when using resampling (fixes buffers overflow issues and problems with DAC timings that occured with previous "fix") 2010-02-15 14:02:37 +00:00
ekeeke31
0f1850ec6e fixed potential buffer overflow when using resampling (FM High-Quality mode). 2010-02-12 13:27:09 +00:00
ekeeke31
f44d38b537 fixed YM2612 reset on "soft reset"
small optimizations & fixes in FIR resampler code
2010-01-27 07:20:44 +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
a2ece6f81b improved Pro Action Replay emulation (still not working completely)
added cycle-accurate YM2612 reset handler
some fixes in FIR resampler
2009-08-14 16:46:19 +00:00
ekeeke31
0d58ff65e0 fixed sound issues in PAL mode when HQ YM2612 is enabled (modified FIR resampler ratio)
fixed video glitches in games that switch video horizontal width.
fixed BIOS infinite loop on hard reset
2009-08-14 13:54:15 +00:00
ekeeke31
dbc4d02fea ~implemented faster/better FIR resampler, removed libsamplerate
~fixed some memory leaks with Blip Buffer
~reverted previous change regarding frame synchronization: always use VSYNC when switched to 60hz (fix video issues in interlace mode 2)
~optimized cell rendering (less byte swapping)
~fixed savestate file version checking
2009-07-22 17:25:41 +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
b08e66855a +added proper license/copyright stuff
~modified file headers
~separated GUI engine from menus
2009-05-13 14:26:55 +00:00
ekeeke31
99e00b8fe3 [~]fixed ym2612 context restore
[~]small fixes to SSG-EG emulation (should be finally fine !)
2009-02-28 17:49:31 +00:00
ekeeke31
4eb8d17acf [-]removed Gens YM2612 core support
[~]fixed YM2612 context restore 
[+]improved YM2612 emulation accuracy (BROKEN)
2009-02-25 16:53:28 +00:00
ekeeke31
6f65ac3f15 fixed audio/video synchronization, preliminary GX gui implementation 2009-02-22 19:57:41 +00:00
ekeeke31
43fd560e55 optimized some float/int conversions, added -fomit-frame-pointer flag 2009-01-28 16:43:15 +00:00
ekeeke31
e774dc03ae tiny emulation speedup (restored) 2009-01-06 19:07:41 +00:00
ekeeke31
0e86a15c09 fixed crash issue 2008-12-20 20:36:37 +00:00
ekeeke31
840a370418 new sync using audio DMA 2008-12-18 22:34:55 +00:00
ekeeke31
00a61b4762 code cleanup 2008-12-11 17:38:29 +00:00
ekeeke31
41ffdefb1d various modifications 2008-10-12 19:56:35 +00:00
ekeeke31
7b4ec49188 fixed some warnings in render.c, switched to -O3 optimization (no performance increase for Virtua Racing however), modified libsamplerate default when Virtua Racing is running to gain some fps 2008-09-25 17:53:44 +00:00
ekeeke31
deec7ecd2f adjuster HCOUNT/HINT timings, improved fast menu scrolling, removed unused SRC algorithms 2008-09-13 15:37:15 +00:00
ekeeke31
fbbd1d6057 improved YM2612 emulation 2008-09-11 16:15:58 +00:00
ekeeke31
189157a408 fixed audio buffer allocation, added icon for SDL/win32 version 2008-08-25 19:38:03 +00:00
ekeeke31
a5f6f5d9c2 moved FM timers back to integer, fixed libsamplerate warnings 2008-08-19 20:04:21 +00:00
ekeeke31
0db46554ef added libsamplerate support, improved zipped rom loading, improved SSG-EG support 2008-08-17 20:17:49 +00:00
ekeeke31
8a2d4a03ff added experimental resampling (Secret Rabbit Code) 2008-08-14 15:41:17 +00:00
ekeeke31
fb15609c9e restored from bountysource 2008-08-07 12:26:07 +00:00
ekeeke31
16cdbc33d2 added cycle accurate sample generation 2007-08-20 19:44:24 +00:00
ekeeke31
254124dbca 2007-08-20 09:43:42 +00:00
ekeeke31
59d5d78af5 2007-08-16 16:02:24 +00:00
ekeeke31
217ca8de3f 2007-08-10 20:34:06 +00:00