[Gamecube/Wii] finalized 1.7.4

This commit is contained in:
EkeEke 2013-06-21 15:14:00 +02:00
parent e40093793d
commit 11d275e2f8
4 changed files with 318 additions and 67 deletions

View File

@ -68,7 +68,7 @@
/*************************************************/
#define VERSION "Genesis Plus GX 1.7.3"
#define VERSION "Genesis Plus GX 1.7.4"
#define NO_SYNC 0
#define SYNC_VIDEO 1

View File

@ -6,6 +6,208 @@ All recent changes were backported from the GX version (Gamecube/Wii port), main
Please look at http://code.google.com/p/genplus-gx/ for more infos.
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.4 (21/06/2013) (Eke-Eke)
---------------------------------------------------------------------------------------------------------
[Core/SCD]
---------------
* fixed access to read-only registers on Main-CPU side ("Batman Returns" platform level freeze)
* fixed & improved emulation of PRG-RAM write protection register ("Lunar Eternal Blue" japanese version freeze)
* improved SUB & MAIN-CPU synchronization ("Dracula Unleashed" freeze when using US Model 2 BIOS)
* improved CPU polling detection
* improved CDD emulation & added CD drive access time for SEEK command ("Panic!/Switch" intro missing scene)
* added missing reinitialization of MAIN-CPU PRG-RAM bank on reset
* added .OGG audio tracks support through LIBTREMOR
[Core/Sound]
---------------
* fixed YM2612 configurable DAC depth emulation
* improved Low-Pass filter
* added optional "MONO" output mode
[Core/VDP]
---------------
* fixed FIFO access timings when using invalid write code value ("Clue" menu)
* fixed DMA Copy with undocumented code value ("Fatal Labyrinth" end sequence)
* minor code fixes & optimizations
[Core/CPU]
---------------
* optimized 68k stack read/write functions
* fixed broken 68k address error emulation
* fixed 68k interrupt behavior (prevents interrupts from being executed multiple time when 68k is halted)
* fixed Z80 registers initial state, added proper initialization when using PBC (verified on real hardware by Charles McDonald)
[Core/MD]
---------------
* fixed SRAM incompatibilities between BIG ENDIAN & LITTLE ENDIAN platforms (note: this breaks old .srm files with LITTLE ENDIAN platform ports)
* added support for a few recently dumped unlicensed games
* added auto-detection of byte-swapped ROM files
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.3 (26/11/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------
no win32/SDL port changes
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.2 (24/11/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------
[Core/SCD]
---------------
* added default TOC for Shadow of the Beast II (prevent hangs when audio tracks are missing)
* fixed CD-DA fader muting
* fixed PCM channels panning on reset
* fixed backup RAM file management when using disc swap with Mode 1 cartridge
* incremented CD drive read latency: fixes Space Adventure Cobra (freeze when opening coffin at 2nd morgue scene)
* improved CDD emulation accuracy: fixes Snatcher (freeze at the end of Act 2) & various CD player bugs
* improved MAIN-SUB memory map mirroring in SCD mode (verified on real hardware by Charles McDonald)
* implemented cycle-accurate "stopwatch" register emulation
[Core/Sound]
---------------
* fixed broken PSG noise frequency
* fixed incorrect Game Gear PSG stereo emulation
* implemented cycle-accurate Game Gear PSG stereo
[Core/VDP]
---------------
* fixed broken VDP DMA from SVP ROM latency (graphic errors in Virtua Racing)
[Core/MD]
---------------
* added Super Mario World 64 (unlicensed) cartridge hardware emulation
[Core/Input]
---------------
* added automatic detection for CD games with Justifier/Menacer support
* improved Justifier/Menacer emulation
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.1 (13/10/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------
[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
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.0 (01/07/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------
[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
* optimized 68k core using prebuild const tables
[Core/VDP]
---------------
* improved DMA accuracy
* improved accuracy of nametables register & VSRAM writes during HBLANK: fixes "The Adventures of Batman & Robin" (graphical issues during 2nd Boss fight).
* added support for 8-bit VRAM writes with undocumented code value (verified on real hardware by Nemesis)
[Core/Sound]
---------------
* improved synchronization between SN76489 & YM2162 cores.
* improved accuracy of SN76489 core timings.
[Core/MD]
---------------
* added support for some recently dumped unlicensed games.
* improved emulation of 32k bankswitch hardware used by a few unlicensed games.
* fixed behavior of Z80 banked reads from 68k RAM (verified on real hardware).
* fixed support for 128K Pro Action Replay ROM.
[Core/MS]
---------------
* added support for all recent korean ROM dumps by SMS Power.
* added emulation of korean multi-game mapper (4-Pak All Action)
* added pseudo-random RAM pattern initialization on Mark-III and Japanese Master System (fixes "Alibaba and 40 Thieves" & "Block Hole")
* added port $3E emulation & internal BOOTROM support (Master System & Game Gear only).
[Core/General]
---------------
* added an option to set VDP mode (PAL/NTSC) independently from console region.
* added an option to select original system master clock frequency (PAL/NTSC/AUTO), emulation will run at selected frequency when VSYNC is disabled.
* fixed 68k context loading/saving (Sol Deace).
* fixed C89 incompatibilities for better portability.
* removed use of "long int" type for portability on 64-bit platforms.
* moved savestate zlib compression out of emulation core (for ports that don't use it).
* various optimizations.
[Gamecube/Wii]
---------------
* removed ROM load device selection from Load Menu: default ROM device must now be configured in menu settings.
* added specific load buttons, browsers & saved paths for each systems, this also fixes slowdowns caused by screenshot loading when browsing from slow devices.
* added support for left/right buttons as page up/down keys in ROM browsers
* added right analog stick as default "return to menu" key for Gamecube controllers
* added alternate remappable menu key combo for Gamecube controllers
* added an option to disable VSYNC (emulator is synced with audio hardware instead of video).
* added an option to boot system from "BIOS", with or without cartridge.
* added 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.
* compiled with devkitPPC r26 & libogc 1.8.11.
[Gamecube]
----------
* improved progressive mode support when component cable is detected (hold B during startup to switch menu video mode configuration)
---------------------------------------------------------------------------------------------------------
[07/08/2011] version 1.6.0 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

View File

@ -6,7 +6,7 @@ Copyright Charles MacDonald
Some portions copyright Nicola Salmoria and the MAME team
All rights reserved.
Copyright (c) 2006-2011 Eke-Eke
Copyright (c) 2006-2013 Eke-Eke
All rights reserved.
Redistribution and use of this code or any derivative works are permitted
@ -41,8 +41,41 @@ POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------------------
TREMOR library is distributed under the following license:
NTSC Filter, Blip Buffer and FIR Resampling libraries are distributed under the
Copyright (c) 2002, Xiph.org Foundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------------------
NTSC Filter and Blip Buffer libraries are distributed under the
terms of the GNU Lesser General Public License

View File

@ -1,15 +1,26 @@
----------------------------------------------------------------------------
Genesis Plus
----------------------------------------------------------------------------
DISCLAIMER:
THIS IS A VERY BASIC & UNSTABLE PORT WHICH ONLY PURPOSE
IS TO SHOW HOW TO USE GENESIS PLUS GX CORE & INTERFACE IT
WITH SDL IN PARTICULAR. BUILDS ARE NOT MEANT TO BE REALLY
USED FOR ANYTHING ELSE BUT EASIER CORE DEBUGGING ON WINDOWS.
PLEASE DO NOT DISTRIBUTE WIN32 BINARIES WITHOUT THIS NOTICE.
END USERS SHOULD PREFERABLY USE LIBRETRO PORT WITH RETROARCH.
----------------------------------------------------------------------------
Genesis Plus (Windows Port)
----------------------------------------------------------------------------
based on the original version 1.3
by Charles Mac Donald
WWW: http://cgfm2.emuviews.com
version 1.6
version 1.7.4
backported from Genesis Plus GX
by Eke-Eke
WWW: http://code.google.com/p/genplus-gx
E-mail: ekeeke31@gmail.com
What's New
@ -21,35 +32,42 @@
Features
---------
* accurate SG-1000, Mark-III, Master System (I & II), Game Gear, Genesis & Mega Drive emulation (incl. backwards compatibility modes)
* NTSC (60Hz) & PAL (50Hz) hardware emulation
* accurate emulation of SG-1000, Mark-III, Master System (I & II), Game Gear, Genesis / Mega Drive, Sega / Mega CD hardware models (incl. backwards compatibility modes)
* NTSC (60Hz) & PAL (50Hz) video hardware emulation
* accurate CDD, CDC & GFX chip emulation (Sega/Mega CD)
* CD-DA fader emulation (Sega/Mega CD)
* Mode 1 cartridge support (Sega/Mega CD)
* highly accurate 68000 & Z80 CPU emulation
* highly accurate VDP emulation (all rendering modes, HBLANK, DMA, FIFO, HV interrupts, undocumented registers, display mid-line changes…)
* cycle-accurate YM2612 & YM2413 emulation (FM synthesis is done at the original frequency, using FIR resampling)
* cycle-accurate chip synchronization (68000/Z80/YM2612/SN76489)
* highly accurate VDP emulation (all rendering modes, mid-line changes, undocumented registers,…) & timings (HBLANK, DMA, FIFO, HV interrupts,…)
* sample-accurate YM2612,YM2413, PSG, & PCM emulation (all sound chips are running at the original frequency)
* cycle-accurate chip synchronization (68000s/Z80/YM2612/PSG/PCM)
* high-quality audio resampling using Blip Buffer
* basic hardware latency emulation (VDP/68k, Z80/68k)
* full overscan area (horizontal & vertical colored borders) emulation (optional)
* accurate TMSS model emulation incl. internal BIOS support (optional)
* Blargg's software NTSC filters support (optional)
* PICO emulation (partial)
* full overscan area emulation (horizontal & vertical color borders)
* optional Game Gear extended screen mode
* internal BOOT ROM support (Master System, Genesis / Mega Drive, Sega / Mega CD)
* optional TMSS hardware emulation (Genesis / Mega Drive)
* support for Blargg's software NTSC filters
* preliminary PICO emulation
* support for raw (.bin, .gen, .md, .sms, .gg & .sg) and interleaved (.smd & .mdx) ROM files
* support for CUE+BIN, ISO+OGG & ISO+WAV CD image files
* 2-buttons, 3-buttons & 6-buttons controllers emulation
* Sega Team Player & EA 4-Way Play multitap adapters emulation
* Sega Light Phaser, Menacer & Konami Justifier lightguns emulation
* Sega Team Player & EA 4-Way Play multitaps emulation
* Sega Mouse emulation
* Sega Activator emulation
* XE-1AP emulation
* Sega Paddle & Sports Pad emulation
* Terebe Oekaki emulation
* J-Cart adapter support(Micro Machines & Pete Sampras series, Super Skidmarks)
* SVP DSP emulation (Virtua Racing)
* SRAM support (up to 64kB)
* I2C (24Cxx) and MicroWire (93C46) EEPROM emulation (all known chips)
* ROM bankswitch hardware emulation (Super Street Fighter 2)
* SRAM bankswitch hardware emulation (Phantasy Star 4, Legend of Thor, Sonic the Hedgehog 3)
* emulation of banking & copy protection devices used in all known unlicensed/pirate cartridges
* emulation of all known Master System & Game Gear cartridge mappers
* native Game Genie & Action Replay hardware emulation
* Lock-On hardware emulation
* Sega Paddle Control & Sports Pad analog emulation
* Terebi Oekaki tablet emulation
* Sega Light Phaser, Menacer & Justifiers lightgun emulation
* Sega Activator & XE-1AP analog controller emulation
* SVP DSP (Virtua Racing) emulation
* J-Cart adapter (Micro Machines & Pete Sampras series, Super Skidmarks) emulation
* Backup RAM (max. 64KB), I2C (24Cxx), SPI (95xxx) & MicroWire (93C46) EEPROMs emulation
* Sega/Mega CD RAM cart (max. 512KB) emulation
* “official” ROM bankswitch hardware (Super Street Fighter 2) emulation
* “official” backup RAM bankswitch hardware (Phantasy Star 4, Legend of Thor, Sonic the Hedgehog 3) emulation
* support for all known unlicensed/pirate cartridges bankswitch & copy protection hardware
* emulation of all known Master System & Game Gear cartridge mappers” (incl. unlicensed Korean ones)
* Game Genie & Action Replay hardware emulation
* Sonic & Knuckles “Lock-On hardware emulation
* support for ROM image up to 10MB (Ultimate MK3 hack)
@ -71,10 +89,10 @@
F2 - Toggle Fullscreen/Windowed mode
F4 - Toggle Audio (Turbo mode must be disabled first)
F6 - Toggle Turbo mode (Audio must be disabled first)
F7 - Load Savestate (game.gpz)
F8 - Save Savestate (game.gpz)
F9 - Toggle VDP mode: PAL(50hz)/NTSC(60hz)
F6 - Toggle Turbo mode (Audio must be disabled first)
F7 - Load Savestate (game.gpz)
F8 - Save Savestate (game.gpz)
F9 - Toggle VDP mode: PAL(50hz)/NTSC(60hz)
F10 - Soft Reset
F11 - Toggle Border emulation
F12 - Toggle Player # (test only)
@ -85,46 +103,44 @@
A SRAM file (game.srm) is automatically saved on exit and loaded on startup.
Credits and Acknowlegements
---------------------------
Credits
--------
Core(s) improvements & additional features by Eke-Eke
Original code by Charles MacDonald
Modified Genesis Plus GX code by Eke-Eke (http://code.google.com/p/genplus-gx )
Original Z80 core by Juergen Buchmueller
The Genesis emulator authors: Bart Trzynadlowski, Steve Snake, Stef, Notaz, AamirM
Original Musashi 68k core by Karl Stenerud
Original YM2612/YM2413 cores by Jarek Burczynski & Tatsuyuki Satoh
Original SN76489 core by Maxim
Original SVP core by Notaz
Blip Buffer & NTSC Video filter libraries by Shay Green (Blargg)
3-Band EQ implementation by Neil C
TREMOR VORBIS decoding library by Xiph.org
Zlib by Jean-Loup Gailly & Mark Adler
Aknowledgements
----------------
The following emulator authors: Bart Trzynadlowski, Steve Snake, Stef, Notaz, AamirM
The regular people at spritesmind.net and smspower.org.
The MAME team for the CPU and sound chip emulators.
Maxim for his SN76489 emulator.
Nemesis for his researches about the YM2612 and VDP.
Nemesis for the researches on the YM2612 and VDP.
Notaz for his SVP emulator.
Tasco Deluxe for the documentation of Realtec mapper.
Tasco Deluxe for his documentation of Realtec mapper.
Haze for his reverse-engineering of most unlicensed games protection.
Shay Green (Blargg) for his FIR Resampler & NTSC Video Filter.
Neil C for his 3-Band EQ implementation.
Jean-Loup Gailly and Mark Adler for their useful zip library.
Contact
-------
Eke-Eke
E-mail: ekeeke31@gmail.com
WWW: http://code.google.com/p/genplus-gx
Legal
-----
See license.txt for licensing terms.
Haze for the reverse-engineering of many unlicensed games protection.