Commit Graph

52 Commits

Author SHA1 Message Date
twinaphex
4c33d7af7c Revert "(Xbox 1) Fixed Xbox 1 crash - the problem was that there are (non-static)"
This reverts commit 86254071be.
2012-08-20 21:05:37 +02:00
twinaphex
25786020d2 Revert "(Xbox 1) Fixed sound - never, ever name non-static inline functions"
This reverts commit 00d98cee9c.
2012-08-20 21:05:25 +02:00
twinaphex
00d98cee9c (Xbox 1) Fixed sound - never, ever name non-static inline functions
the same in disparate source files - they must all be named uniquely
2012-08-17 00:20:22 +02:00
twinaphex
86254071be (Xbox 1) Fixed Xbox 1 crash - the problem was that there are (non-static)
inline functions being declared in two source files - ym2413.c and
ym2612.c. A call to set_sl_rr in ym2612.c would jump to the inline
function declared in ym2413.c and completely crashihng the app.

Both functions in the input files have now been uniquely named to
avoid conflicts. There might be more conflicts up ahead (sound is still
not correct), but at least games run now
2012-08-16 23:57:31 +02:00
EkeEke
ca9173cc58 [YM2612] fixed LFO AM modulation waveform (California Games) 2012-08-03 01:16:27 +02:00
ekeeke31
cab4ecba99 [Wii/Gamecube]
* added an option to set VDP mode (PAL/NTSC) independently from console region.
* added an option to select console master clock frequency (PAL/NTSC/AUTO): emulation now run at selected frequency when VSYNC is disabled.
* added an option to force VSYNC disabled.
* improved screen scaling.

[Core]
* moved INLINE definition to macros.h
* removed unused typedef from osd_cpu.h
* cleanup include files
2012-01-31 22:50:54 +00:00
ekeeke31
09c02fd693 fixed C89 remaining incompatibilities + various code cleanup 2012-01-15 19:59:13 +00:00
ekeeke31
05d375533a Removed long int use for portability on 64-bit platforms 2011-09-25 10:21:44 +00: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
8af85558d0 .fixed YM2413 context restore when changing options
.added YM2413 context to Master System savestates
.removed support for older savestates format (1.3.x, 1.4.x), use 1.5.0 to convert old savestates to new (1.5.x) format
2011-04-30 12:56:01 +00:00
ekeeke31
d0eab7d8d9 added YM2413 emulation in Master System compatibility mode 2011-04-29 13:24:33 +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
ef8efa2c10 improved savestate stability & compatibility 2011-02-23 19:14:55 +00:00
ekeeke31
edf479a257 masked interrupts during float operations 2010-12-04 17:11:13 +00:00
ekeeke31
31d476948b improved YM2612 DAC/accumulator accuracy 2010-11-01 18:00:43 +00:00
ekeeke31
7d04780880 disabled interrupt during YM2612 table initialization to prevent pow() function returning wrong values: fixes random sound issues on game startup 2010-09-16 11:36:09 +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
670df571ea code cleanup 2010-07-02 23:03:05 +00:00
ekeeke31
7880c09c4e added USB2 support through Hermes IOS202 (mload) 2010-04-23 12:31:07 +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
0c3e9c601c fixed YM2612 Timers bug: fixes "Langrisser Hikari II"/"Der Langrisser II" (Sega logo) 2010-02-21 18:33:58 +00:00
ekeeke31
c2dce7520a fixed YM2612 reset values 2010-01-27 07:13:04 +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
ac4de61944 code cleanup 2010-01-13 22:08:35 +00:00
ekeeke31
dcefd321a6 modified YM2612 operators/channels clipping (need confirmation)
improved LFO timing accuracy
various YM2612 core cleanup & additional comments
2009-11-05 08:53:47 +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
f2e43c9f8f fixed backup memory support in Bill Walsh College Football (this game uses I2C EEPROM saves)
modified Action replay (Pro) memory map
2009-08-11 17:25:38 +00:00
ekeeke31
c0179e7ed4 fixed YM2612 output limiter
modified resampler frame length calculation
2009-08-09 16:10:44 +00:00
ekeeke31
cfa4a08211 fixed m68k 32 bits writes at memory boundaries
fixed UKM3 memory map being incorrectly reseted
added LFO current steps to YM2612 context
fixed IO reinitialization in controllers menu
2009-08-09 09:33:48 +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
c8c71b9bff fixed LFO implementation (YM2612)
fixed regression with EG update being done too early (YM2612)
2009-07-24 16:55:32 +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
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
72ec155b38 ~ fixed a regression that broke STOP instruction behavior
~ modified LFO implementation to make it handles signed displacement value correctly (is that correct ? still need to be verified against real hardware)
2009-06-16 15:51:29 +00:00
ekeeke31
0c8c30e3a2 +fixed LFO implementation according to Nemesis description (UNTESTED, need feedback) 2009-06-15 16:23:12 +00:00
ekeeke31
256d534ea6 ~fixed ASND support, DSP task is now allocated only once.
~fixed oggplayer memory leak (LWP queue was not closed properly)
~do no use VSYNC callback for emulation synchronization anymore, (always uses DMA interrupt regardless the video mode)
2009-06-15 08:07:48 +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
b1f11ed311 ~ fixed YM2612 channel connections when loading savestate
~ optimized VDP renderer buffers size
~ fixed directories automatic creation
+ added game screenshot feature
+ added game screenshot support in ROM File browser
+ improved Controller menu icons
+ added new images for the new Controller menu
- removed unused images
2009-05-01 12:56:48 +00:00
ekeeke31
e15ff1c3bd updated credits 2009-03-16 18:56:59 +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
b75d86889e 2009-02-25 17:04:29 +00:00
ekeeke31
00a61b4762 code cleanup 2008-12-11 17:38:29 +00:00
ekeeke31
6749058dad updated SDL and DOS versions 2008-08-21 20:34:00 +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