Commit Graph

469 Commits

Author SHA1 Message Date
Twinaphex
64f496e81f Removed this from old 1.6.0 - tried to see if it effected audio
issues
2012-07-10 05:45:41 +02:00
Twinaphex
04998786ca Don't assume slash is appended at the end of the system dir 2012-07-10 05:44:32 +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
f502dd48c7 compatibility fixes for libogc 1.8.11 2012-05-03 11:28:20 +00:00
ekeeke31
3f0547776b -fixed configured overlay setting not being applied on first start
-added left/right as page up/down keys in ROM browsers
2012-05-02 18:40:38 +00:00
ekeeke31
6743bac508 [SMS/GG] fixed uninitialized memory writes bug (fixes games accidentally writing to ROM area) 2012-04-12 22:05:07 +00:00
ekeeke31
fcfd294d84 [gamecube] finally ok ? ^^ 2012-04-11 23:29:05 +00:00
ekeeke31
befc2b8f0a [gamecube] better implementation of progressive mode user switch ? 2012-04-10 19:03:32 +00:00
ekeeke31
bbdea720d3 bugfixes from previous changes 2012-04-09 13:35:45 +00:00
ekeeke31
659c46f083 [gamecube] proper fix for previous issue, disclaimer is also now displayed with configured video mode
[gamecube/wii] disabled disclaimer screen if auto-played ROM has been loaded
2012-04-09 09:28:39 +00:00
ekeeke31
2dd6e86c1c [gamecube] fixed progressive video mode setting not being properly restored on startup 2012-04-09 09:09:59 +00:00
ekeeke31
868f14dc44 . adjusted synchronization between PSG & FM cores (better avoid generating additional samples) 2012-04-08 17:54:02 +00:00
ekeeke31
39dc73d406 . improved PSG core runtime accuracy
. improved PSG & FM cores synchronization at the end of frame
2012-04-07 17:15:38 +00:00
ekeeke31
18a04500bc . code formatting 2012-04-07 17:13:52 +00:00
ekeeke31
9f6c9b83aa . modified ASNDLIB handling
. added support for configurable menu key combo on gamecube controllers, also C-Stick is now always used by default as additional menu key.
.[wii] forced wiimote & classical controllers HOME button( port #1 only) as default menu keys, even when not configured as input devices 
.[gamecube] added switchable progressive video mode when component cable is detected (hold B on startup to switch mode, default is 480p).
2012-04-07 16:44:38 +00:00
ekeeke31
d042eebd83 [SMS] fixed number of pages for ROM sizes which are not a factor of page size 2012-04-05 21:26:06 +00:00
ekeeke31
c294796fdc [win32] minor fixes 2012-04-05 21:18:00 +00:00
ekeeke31
936bb81bc0 [SMS] added proper support for new released dump Nemesis 2012-03-31 11:05:38 +00:00
ekeeke31
85119edc2d .added support for yet unreleased korean games from SMS Power
.(re)enabled external RAM by default for 32k ROM
2012-03-10 20:32:16 +00:00
ekeeke31
c33273fa02 .fixed VDP register reset state on SG-1000
.improved SG-1000 default memory mapping
.added support for SG-1000 RAM extension adapters (both types) and recent SMS Power dumps using them
2012-03-10 19:57:19 +00:00
ekeeke31
e47ffcad81 fixed PICO ROM loading and region detection 2012-02-28 22:22:07 +00:00
ekeeke31
3e8897d331 reverted IOS patch (became useless with HBC 1.1.0 release) 2012-02-28 21:10:56 +00:00
ekeeke31
2708e69f79 [SMS] added support for last SMS Power! dumps (Janggun-ui Adeul / Street Hero) 2012-02-24 17:38:52 +00:00
ekeeke31
3dee74358e .improved scaling when 16:9 correction is enabled 2012-02-12 21:15:09 +00:00
ekeeke31
38dcd29a66 added CUSTOM_BLITTER define, no need for NGC specific rendering code inside core anymore 2012-02-05 19:37:20 +00:00
ekeeke31
a45cf8861f portability fix for Linux build 2012-02-05 17:43:16 +00: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
83d4312e3c added random RAM pattern initialization on Mark-III & Japanese Master System (fixes "Alibaba and 40 Thieves" & "Block Hole") 2012-02-05 17:00:50 +00:00
ekeeke31
cca17c642f fixed pixels input & output for NTSC filters 2012-02-01 22:55:42 +00:00
ekeeke31
67bed12429 added RGB555 pixel output support to NTSC filters 2012-02-01 00:37:11 +00:00
ekeeke31
aae753a9e7 removed useless HW_DOL define 2012-02-01 00:28:34 +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
96452ac75b -added support for 4-Pak All Action (SMS), thanks to Omar Cornut for mapper reverse-engineering 2012-01-23 21:24:24 +00:00
ekeeke31
d0ca4f7a06 added more restrictive EEPROM-based games database 2012-01-17 21:35:51 +00:00
ekeeke31
85f745b5ef faster scrolling using L/R or +/- buttons in ROM browsers 2012-01-17 21:34:30 +00:00
ekeeke31
e808eaf9fa added ISP register to savestate: fixes savestate for games running in User mode 2012-01-16 21:09:55 +00:00
ekeeke31
09c02fd693 fixed C89 remaining incompatibilities + various code cleanup 2012-01-15 19:59:13 +00:00
ekeeke31
238382d8a8 optimized sound chips update functions 2012-01-15 19:57:59 +00:00
ekeeke31
873870b4a1 optimized 68k core using prebuild const tables 2012-01-15 19:56:30 +00:00
ekeeke31
b051d03f86 BIOS support (continued) 2012-01-15 19:55:22 +00:00
ekeeke31
892abc8589 fixed default manual scaling for Master System 2012-01-15 19:54:19 +00:00
ekeeke31
a77ee50ecd - moved savestate compression/decompression out of emulator core (continuing) 2012-01-15 19:53:25 +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
05d375533a Removed long int use for portability on 64-bit platforms 2011-09-25 10:21:44 +00:00
ekeeke31
3fdf086bad Fixed 32-bit integer type definition for portability on 64-bit platforms 2011-09-25 10:06:55 +00:00
ekeeke31
e8d4ed6d17 added support for some korean games recently dumped by SMS Power (Super Boy 3, Knightmare II - The Maze of Galious) 2011-09-25 10:05:08 +00:00
ekeeke31
e0c88d2fb0 [Core/VDP]
-added support for nametable registers writes during HBLANK: fixes The Adventures of Batman & Robin (graphical issues during 2nd Boss fight)
-added support for VSRAM writes during HBLANK in 2-cell VSCROLL mode: fixes The Adventures of Batman & Robin (graphical issues during 2nd Boss fight)
2011-08-15 15:37:13 +00:00
ekeeke31
9b0d4d6a9c .improved emulation of 32k bankswitch hardware used by a few unlicensed games
.added support for a few recently dumped unlicensed games
2011-08-15 15:29:28 +00:00
ekeeke31
c07e7ae644 -removed unused files 2011-08-07 18:10:19 +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
714e55aa06 improved gun cursor positioning 2011-06-30 12:30:13 +00:00
ekeeke31
6ebfda53d5 fixed SRAM initialization bug (introduced in r582) 2011-05-30 19:36:18 +00:00
ekeeke31
4a39669a8d improved Sega Mouse emulation (fixes Cannon Fodder mouse support) 2011-05-01 11:43:33 +00:00
ekeeke31
57c5d89380 amplified YM2413 default output by 2 2011-04-30 15:23:45 +00:00
ekeeke31
b088d33ce0 type changing for portability 2011-04-30 15:22:45 +00:00
ekeeke31
e46c46e2ff fixed YM2413 option not always being correctly displayed 2011-04-30 13:00:25 +00:00
ekeeke31
b0999e0be3 .fixed PSG Noise Boost on init
.minor optimizations to SN76489 core
2011-04-30 12:58:14 +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
b6bc325353 modified SRAM/ROM mapper default behavior (not 100% correct but at least this prevents Sonic Megamix from crashing because of wrong coding while remaining compatible with games actually using the mapper) 2011-04-28 18:54:39 +00:00
ekeeke31
a834e63ce4 adjusted PAL framerate 2011-04-28 18:17:57 +00:00
ekeeke31
751e922638 added missing stuff about framerate reinitialization in r580 2011-04-28 00:23:24 +00:00
ekeeke31
7cd0eb4a4b improved HINT accuracy in Master System Compatibility mode. 2011-04-28 00:13:23 +00:00
ekeeke31
ea8228be66 . disabled SRAM on power on when ROM & SRAM are sharing same memory area 2011-04-28 00:12:30 +00:00
ekeeke31
03f154f7af . added Game Toshokan in EEPROM database (verified on real cartridge)
. fixed EEPROM size for Micro Machines 2 - Turbo Tournament (verified on real cartridge)
2011-04-28 00:11:22 +00:00
ekeeke31
f9beafa96c .fixed ROM file extension detection (again)
.improved audio/video synchronization for PAL games in 50Hz TV modes (now use VSYNC like NTSC games in 60hz modes)
2011-04-28 00:09:40 +00:00
ekeeke31
8ef3139f9e fixed ROM file extension detection 2011-04-08 12:07:20 +00:00
ekeeke31
cf7332859c fixed broken OS ROM support 2011-04-08 12:04:31 +00:00
ekeeke31
cb7990cc3f removed unused files 2011-03-31 22:13:52 +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
f34b8d4557 * added support for Top Shooter (custom arcade board using modified Genesis hardware)
* added emulation of a few additional unlicensed game copy protections (fixes 777 Casino crashing randomly)
(NB: it appears that most of those unlicensed games were already patched by ROM dumpers, emulating copy protection hardware only for documentation)
2011-02-23 19:25:39 +00:00
ekeeke31
03c3f9c135 improved input controller detection on menu exit 2011-02-23 19:19:48 +00:00
ekeeke31
5567576861 fixed cheat codes handling when multiple codes affect identical ROM address 2011-02-23 19:17:21 +00:00
ekeeke31
ef8efa2c10 improved savestate stability & compatibility 2011-02-23 19:14:55 +00:00
ekeeke31
4f7bfcb0c9 updated win32 changelog (1.4.1) 2010-12-04 17:56:23 +00:00
ekeeke31
35b1a164bd Finalize 1.4.1 2010-12-04 17:18:34 +00:00
ekeeke31
14f79ab792 Updated Win32 porting code 2010-12-04 17:16:55 +00:00
ekeeke31
24e84a7951 [Gamecube specific]
---------------
* fixed audio input frequency, now use exact audio hardware samplerate, as measured on my Game Cube (~48044 Hz),

[Wii specific]
---------------
* fixed USB drive not being detected when application is loaded from USB (HBC), thanks to Tantric for the tips.
2010-12-04 17:16:32 +00:00
ekeeke31
39920979d2 [Gamecube/Wii]
---------------
* added message box when inputs config uses disconnected controllers.
* added message box when settings are reseted to default on startup.
* fixed default inputs configuration.
* fixed memory leak in Cheat Menu causing spurious resets.
* added an option to enable/disable automatic cheat activation
* increased max number of cheat codes
* optimized cheat codes requiring RAM patching.
* improved default horizontal scaling to better match output from a real Mega Drive

[Gamecube specific]
---------------
* fixed inverted keys in cheat menu.

[Wii specific]
---------------
* added the possibility for any wiimotes to be used as input device, regardless of the connected expansion controller.
2010-12-04 17:15:36 +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
edf479a257 masked interrupts during float operations 2010-12-04 17:11:13 +00:00
ekeeke31
9e1c7d6ce8 fixed config.ini being always reinitialized 2010-11-02 12:22:23 +00:00
ekeeke31
d3116defa7 Bump up version 1.4.0 2010-11-01 18:19:46 +00:00
ekeeke31
c8014f5b4d modified legal disclaimer 2010-11-01 18:14:45 +00:00
ekeeke31
d14026a6fe -redesigned cheats manager menu, added Action Replay codes support
-added libiso9660 support
-improved ROM browser and history
-fixed missing MODE button support on Game Cube controller
2010-11-01 18:13:17 +00:00
ekeeke31
e0aa2d00c8 .added PRO Action Replay hardware emulation 2010-11-01 18:08:24 +00:00
ekeeke31
39eaa853be .fixed gamepad initial state (Gouketsuji Ichizoku / Power Instinct, Samurai Spirits / Samurai Shodown)
.improved gamepad emulation accuracy
2010-11-01 18:05:14 +00:00
ekeeke31
63617bf5a1 fixed VDP width change during active display (Golden Axe 3 intro) 2010-11-01 18:03:41 +00:00
ekeeke31
032bd764ab changed default SVP clock speed 2010-11-01 18:01:51 +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
f7ccaffa9f .added support for Pocket Monsters II ROM banking protection
.improved emulation of copy protection hardware used in some unlicensed games (now bypass all checks in Mulan & Pocket Monsters II)
2010-08-27 07:41:10 +00:00
ekeeke31
9db9a8056f .added support for Mulan ROM banking protection 2010-08-26 23:54:43 +00:00
ekeeke31
fd53f3f568 .prevented TMSS register access when TMSS/BIOS is disabled (fixes some unlicensed game developed with Tomsoft Studio SEGA Kit)
.added random starting cycle value for 68k/Z80
2010-08-26 22:31:52 +00:00
ekeeke31
c2d54eb63a Added missing files 2010-08-24 12:52:46 +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
88e7fb847a fixed current DVD directory not being saved when changing ROM device
removed unused USB2 code
2010-08-24 12:43:34 +00:00
ekeeke31
2e2985bb1a fixed bug introduced in r489 (Z80 interrupt was never cleared) 2010-08-20 12:45:23 +00:00