Commit Graph

84 Commits

Author SHA1 Message Date
EkeEke
f2a7b4cb8a [Core/SCD]
---------------
* added support for CUE files
* added CD-DA tracks emulation (needs CUE+BIN or ISO+WAV images)
* added CD fader emulation
* added CDD "Fast FW" & "Fast RW" commands emulation
* improved CDD TOC emulation (random freezes in Sonic CD, Switch/Panic, Final Fight CD and probably many others)
* improved PCM chip synchronization with SUB-CPU (missing speeches in Willy Beamish)
* fixed PCM chip emulation (random hangs in Snatcher, missing sound effects in Switch/Panic, Final Fight CD, Wonderdog...)
* fixed Word-RAM memory mode on soft-reset (missing logo gfx effects)
* fixed SUB-CPU access to unused areas when using PC-relative instructions (Final Fight CD first boss random crash)
* fixed CPU idle loop detection on memory mode register access (Pugsy CD first boss slowdown)
* fixed Mode 1 emulation (cartridge boot mode)

[Core/Sound]
---------------
* replaced FIR resampler by Blip Buffer for FM resampling
* modified SN76489 core for use of Blip Buffer
* improved PSG & FM chips synchronization using Blip Buffer
* added Game Gear PSG stereo support
* fixed SG-1000 specific PSG noise
* fixed YM2612 LFO AM waveform (California Games surfing event)
* fixed YM2612 phase precision
* minor optimizations to YM2612 core

[Core/Game Gear]
---------------
* added support for CJ Elephant Fugitive (recently released by SMS Power)
* added Game Gear extended screen option

[Core/Genesis]
---------------
* added support for a few recently dumped (but unreleased) games

[Core/General]
---------------
* improved ROM & CD image file loading
* various code cleanup

[Gamecube/Wii]
---------------
* added automatic disc swap feature
* removed automatic frameskipping (no use)
* improved general audio/video sync
* various code cleanup & bugfixes
2012-10-13 19:01:31 +02:00
EkeEke
70e96409c3 .added configurable size alignment for sound samples buffer 2012-07-15 17:41:09 +02:00
EkeEke
28775cc3aa [Core/SCD]
----------
* added Mega CD / Sega CD hardware emulation (incl. Sub 68K, CDD, CDC, PCM, GFX
rotation/scaling, etc)
* added .ISO & .BIN CD image file support
* added 512K backup cartridge RAM support
* added savestate support for CD games

NOTES:
~~~~~~
* to play CD games, original BIOS ROM files are required in /genplus/bios/
directory: unzip & rename them to bios_CD_U.bin, bios_CD_E.bin, bios_CD_J.bin
* CD audio tracks (CD-DA) are not supported (yet)

[Core/CPU]
----------
* modified 68k core for Mega CD / Sega CD support

[Core/VDP]
---------------
* improved DMA accuracy
* added support for 8-bit VRAM writes with undocumented code value (verified on
real hardware by Nemesis)

[Gamecube/Wii]
---------------
* modified Master System & Game Gear "BIOS" support (files should be named
bios_U.sms, bios_J.sms, bios_E.sms & bios.gg and copied to /genplus/bios
directory).
* replaced "Hard Reset" button by a Soft Reset for systems having a Reset button
(Mega Drive / Genesis & Master System)
* State & SRAM files are now only compressed when saving to Gamecube Memory
Cards
* various fixes & cleanup.

[Core/SCD]
----------
* added Mega CD / Sega CD hardware emulation (incl. Sub 68K, CDD, CDC, PCM, GFX
rotation/scaling, etc)
* added .ISO & .BIN CD image file support
* added 512K backup cartridge RAM support
* added savestate support for CD games

NOTES:
~~~~~~
* to play CD games, original BIOS ROM files are required in /genplus/bios/
directory: unzip & rename them to bios_CD_U.bin, bios_CD_E.bin, bios_CD_J.bin
* CD audio tracks (CD-DA) are not supported (yet)

[Core/CPU]
----------
* modified 68k core for Mega CD / Sega CD support

[Core/VDP]
---------------
* improved DMA accuracy
* added support for 8-bit VRAM writes with undocumented code value (verified on
real hardware by Nemesis)

[Gamecube/Wii]
---------------
* modified Master System & Game Gear "BIOS" support (files should be named
bios_U.sms, bios_J.sms, bios_E.sms & bios.gg and copied to /genplus/bios
directory).
* replaced "Hard Reset" button by a Soft Reset for systems having a Reset button
(Mega Drive / Genesis & Master System)
* State & SRAM files are now only compressed when saving to Gamecube Memory
Cards
* various fixes & cleanup.
2012-07-05 21:45:37 +02:00
ekeeke31
0beaccaea9 -added CHEATS_UPDATE macro definition (required by last commit)
-removed unused soundbuffer for all platforms
-renamed osd_input_Update to osd_input_update
2012-02-05 17:10:16 +00: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
d66d747d98 - annual code cleanup ;-)
- added port $3E emulation (SMS, GG)
- added SMS & GG BIOS support
- added an option to run BIOS without cartridge
- added separate ROM browsers for SG-1000, Master System, Game Gear & Mega Drive / Genesis
- changed Cheat menu icon
- moved ROM device selection (SD,USB,DVD) to menu options
- moved savestate compression/decompression out of emulator core
- removed useless background images & background color option
- prevented deletion of cheat files when no valid codes are found left
- added IOS patch on startup to fix Homebrew Channel network bug when <no_ios_reload> option is used







[GUI]
-
2012-01-15 19:51:27 +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
7cd0eb4a4b improved HINT accuracy in Master System Compatibility mode. 2011-04-28 00:13:23 +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
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
63617bf5a1 fixed VDP width change during active display (Golden Axe 3 intro) 2010-11-01 18:03:41 +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
2e2985bb1a fixed bug introduced in r489 (Z80 interrupt was never cleared) 2010-08-20 12:45:23 +00:00
ekeeke31
b82c22c2e9 improved Z80 interrupt timing accuracy 2010-08-19 13:22:12 +00:00
ekeeke31
54f1b14aa9 fixed audio/video synchronization in interlaced & progressive modes 2010-08-08 18:09:37 +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
84a395dbf3 fixed an error with Z80 reset from previous changes 2010-06-17 06:31:30 +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
f21a08ebfa [Core]
.improved Z80 bus reset accuracy
.improved Z80 locks & VDP access accuracy
.improved soft-reset accuracy
.adjusted Horizontal Counter timing in H32 mode (fixes Sonic 3D Blast 'bonus' levels)
.updated win32 port to compile with recent changes
.input code cleanup

[GCN]
.fixed soft-reset (reset switch should also works now)



IMPORTANT: Because of some internal changes, saved states from previous revisions are not compatible !
2010-05-30 18:42:03 +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
6617086d87 fixed some config/menu options 2010-05-17 10:55:37 +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
a590414754 improved PAL region auto-detection for some games
fixed auto-detected inputs not being properly initialized after ROM loads
some code cleanup
2010-03-22 14:03:58 +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
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
ac4de61944 code cleanup 2010-01-13 22:08:35 +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
fe055c2a2c .fixed I/O access issues with devkitpro r18
.updated OGG support (compatibility with last libtremor + threading fixes from Tantric)
.improved controller auto-detection 
.added experimental support for cartridge hot swapping, check System Options Menu
.improved reset (soft/hard) emulation accuracy


BEFORE COMPILING, REMOVE THE FOLLOWING FILES:

*from ($DEVKITPRO)/libogc/lib/cube & /wii
-----------------------------------------
libpng.a
libtremor.a

*from ($DEVKITPRO)/libogc/include
---------------------------------
/tremor
png.h
pngconf.h


DOWNLOAD & INSTALL THE FOLLOWING PORTLIBS in ($DEVKITPRO)/portlibs/ppc
(PPC versions, from http://sourceforge.net/projects/devkitpro/files/)
*libpng
*libtremor
2009-10-16 11:32:55 +00:00
ekeeke31
d129e7da94 code formatting 2009-10-06 08:05:18 +00:00
ekeeke31
45756f6b14 improved HBLANK flag occurence timing (fixes Mega Turrican Sky level)
improved emulation of CRAM writes during HBLANK
improved Wii RESET button behavior ("true" MD soft-reset)
2009-09-30 17:11:24 +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
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
8834abaa74 added configurable lowpass filter 2009-08-11 08:18:46 +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
5b888e725b added proper IO initialization routines
improved cartridge structure
added Lock-ON hardware emulation (Sonic & Knuckles)
added cartridge ROM mirroring support (required for Lock-ON emulation)
2009-08-06 18:31:05 +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
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
aa970d66a6 ~optimized 68k execution/interruptions
~re-enabled Address Error emulation
2009-06-05 17:31:46 +00:00
ekeeke31
a0fe59e1fc ~fixed VDP bug from last revision
~updated DOS & WIN32 ports to reflect recent changes
2009-06-02 18:12:31 +00:00
ekeeke31
32ac31a997 ~VDP code cleanup/optimization
+added VDP palette bit support
2009-06-02 17:02:06 +00:00