NeoGensPlusGX Xbox

From GameBrew
NeoGensPlusGX
Neogenplusgx2.png
General
AuthorXtecuterX73, Madmab
TypeConsole
Version2
LicenseMixed
Last Updated2023/10/13
Links
Download
Website

NeoGensPlusGX is a multi-core emulator for Sega Genesis/Megadrive, 32X, SegaCD/MegaCD, Sega Master System, Game Gear, SG-1000, SC-3000, SF-7000 and MK3.

This emulator is based off of two emulator cores, which are Gens (Neogenesis) v25.19b and Genesis Plus GX v1.15b.

  • Genesis Plus GX core is by EkeEke. Initially ported by A600 to SDLx.
  • Mangled and converted to x-port (Madmab Edition) and DirectX by Madmab and XtecuterX73.

Features

  • Genesis Plus GX Core:
    • Emulates Sega Genesis/Megadrive, SegaCD/MegaCD, Sega Master System, Game Gear, SG-1000, SC-3000, SF-7000, MK3 Emulator.
    • Can run the entire Genesis / Mega Drive game library (including all unlicensed & pirate available dumps).
    • Can run a majority of Master System games (through Power Base Converter backwards compatibility).
    • Provides very accurate emulation of SG-1000, Game Gear & Master System consoles hardware for 100% compatibility with the respective software libraries and available ROM dumps.
    • NTSC filter with selectable modes Composite, S-Video, RGB and custom. Runs full speed too, with no slow down to emulation.
    • Custom filter options are
      • Sharpness - Adjust edge contrast enhancement/blurring.
      • Resolution - Adjust image resolution.
      • Artifacts - Adjust artifacts caused by color changes.
      • Fringing - Adjust color resolution reduction.
      • Bleed - Adjust artifacts caused by brightness changes.
    • Support for numerous input devices. 2-buttons, 3-buttons & 6-buttons Control Pads, Sega Team Player & EA 4-Way Play multitaps, Sega Mouse, Sega Paddle Control, Terebi Oekaki tablet, Sega Sports Pad, Sega Light Phaser, Sega Menacer, Konami Justifiers, Sega Activator and XE-1AP analog controller.
    • Mouse Y-Axis Inversion
    • Virtua Racing playable
    • Banking & copy protection devices used in all known unlicensed/pirate cartridges. This should make alot of "non-working" games in NeoGenesis playable now.
    • Game Genie & Action Replay hardware emulation.
    • Sonic & Knuckles “Lock-On” hardware emulation.
    • Support for ROM image up to 10MB (Ultimate MK3 hack).
    • Configurable sound mixer (FM/PSG levels) and filtering (Low-Pass filter & 3-Band equalizer).
    • Selectable console region. (Auto, Europe, USA or Japan)
    • System Lockups let you enable/disable emulation of illegal address access. Needed for some demo's and homebrew.
    • System TMSS let you enable/disable TMSS emulation and Genesis BIOS support.
    • Lock-On let you enable/disable cartridge Lock-On emulation. ( Game Genie, Action Replay, Sonic & Knuckles ).
    • TV Mode let you change the default video signal type. ( Auto, Pal or NTSC).
    • High-Quality FM, when enabled, let you emulate the FM synthesizer chip at its original frequency.
    • FM Volume let you adjust the volume ratio of the emulated FM synthesizer chip. (0~200%).
    • PSG Volume let you adjust the volume ratio of the emulated PSG chip (0~200%)
    • PSG Boost Noise, when enabled, let you boost the noise channel volume of the PSG chip. This might make some games sound more accurate but, most of the time, it’s generally better to leave it disabled.
  • NeoGenesis Core:
    • Support for Sega 32x.
    • Support CUE/ISO/MP3 image.

Installation

Bios should be placed in the bios folder:

  • 32x_g_bios.bin (size 256)
  • 32x_m_bios.bin (size 2048)
  • 32x_s_bios.bin (size 1024)
  • areplay.bin (size 32768)
  • bios_CD_E.bin (size 131072)
  • bios_CD_J.bin (size 131072)
  • bios_CD_U.bin (size 131072)
  • bios_CD_U_101.bin (size 131072)
  • bios_J.sms (size 8192)
  • bios_md.bin (size 2048)
  • bios_U.sms (size 8192)
  • ggenie.bin (size 1024)
  • mcd2_200.bin (size 131072)
  • mcd_101.bin (size 131072)
  • scd2_200.bin (size 131072)
  • sk.bin (size 2097152)
  • sk2chip.bin (size 262144)

User guide

Read the Readme-NeoGenesis.txt for all news regarding the Neogenesis core up to v25.14b.

Read the Readme-GenesisPlusGX.txt for all news regarding the Genesis Plus GX core up to v1.07b.

FAQS

Q. Can I use my old Neogenesis saves?

Yes. Simply rename your saves directory to "NeoGensPlusGX". Also be sure to rename "NeoGenesis.ini" to "NeoGensPlusGX.ini".

You will also need to reconfigure your "saves directory to point to the new location. This can be done from within the emulator "Configuration -> Change Default Directories".

Or you could manually edit the ".ini" file with a text editor. You might also have to change other default directories depending if they are not relative to the "D:" directory.

Q. I select a game but it keeps on loading the Neogenesis core!

If you elected to keep your original Neogenesis saves directory (see above question).

A game with a save configuration will still use Neogenesis as the core.

You can change this by pressing X when selecting a game and manually changing the core.

Q. I set the core to Genesis Plus GX for my Sega CD image but it keeps on reverting back to NeoGenesis for the core. Why?

Chances are the Sega CD image you are selecting is a "Cue/ISO/MP3" combination which Genesis Plus GX currently does not support.

So the interface automatically selects NeoGenesis for your confusion, uh I mean convenience.

Q. How do I get the Pier Solar CD soundtrack to play?

If you want to hear the music tracks for Pier Solar. Rename the FIRST track to match the name of your ROM image.

So if your rom is named "Pier Solar.bin" then rename the FIRST track of the cd image to "Pier Solar.iso".

This currently only works if both images are on your xbox hard drive.

Q. What do I do about UMKT?

The UMKT specific Neogenesis core is still there if you need it.

However I would suggest using the Genesis Plus GX core.

Q. Genesis Plus GX is known to be able to play SMS and GG games. Can I play these?

Yes but there is minimal madmab edition support ATM until I decide what to do about this.

No special controller support yet.

Screenshots

neogenplusgx3.png

neogenplusgx4.png

neogenplusgx5.png

neogenplusgx6.png

Media

XBOX CLÁSICA - NeoGensPlusGX (v1b07) (Gabbers77)

Known issues

If you run a Sega CD game and then run a game with 68000 overclock set to Yes (Zero Wing), the game will freeze for brief periods of time (enough to drop the framerate to 20fps).

Changelog

NeoGensPlusGX v2

  • Version bump.
  • Updated to madmab edition interface CFv1b42. See "Interface Changelog.txt" One fix of note to the interface.
  • Fixed issue where the xbox would freeze ( get stuck in a loop ) when going to the favorites or game select menu on first load if your xbox controller analog sticks were out of calibration! Yes it was a nasty little logic error in my already over convoluted showscreenshot code... :lol: but that bug has finally been squashed! It was a tough one to track down but I finally got it.
  • Fixed a long standing bug in the CD cache code that would crash the emu if the cache size was not evenly divisible by the sector size.
  • Fixed issue where selecting a cue/iso/mp3 combination was not defaulting to the Neogenesis core like it should be.
  • Fixed issue where setting "Autostart Last Played Game" to Yes would cause the emulator to either crash on game exit or not properly return to the correct current directory (depending on which version of NeoGenesisPlusGX you were using).
  • Fixed issue when launching a game with a cut file would cause the emulator to either crash on game exit or not properly return to the correct current directory (depending on which version of NeoGenesisPlusGX you were using).
  • Added CHD to the default emu filter list. Pushed BIN to the end of the list for easy removal if you use redump images.
  • Added in support for CHD files local and networked! (both cores)
  • Note to self: had to reverse the orders of functions called in lzma_codec_free cause the first one was killing the allocator needed to be released on the second one.
  • Country tables were reversed for the Neogenesis and the Genesis Plus GX core.
  • Fixed issue where synopsis info was not displaying for CD games. Also fixed an issue where the CD ID was not displaying properly. I'm not sure if this affects other emulator cores.
  • Now displays global message "Using default game configuration." when default game configuration is set and no game configuration is found.
  • No game exit transition displayed when game is autolanched.

Neogenesis v26:

  • Hooked up the fader for CDDA volume in Neogenesis. The functionality was there but never utilized. Now music will fade out when a game transitions instead of abruptly starting or stopping like it used to.
  • Overal CDDA volume can be controlled from the in-game menu and is saved with each game config for ultimate sound balancing capabilities!
  • Fixed issue where running cue/iso/mp3 off the xbox local drive was causing the wrong audio tracks to be played.

Genesis Plus GX v2:

  • (internal) finally got off my bumm and rewrote all of the xbox streaming code ( samba, relax, ISO ) in cdd.c so that it would be easier to update cdd.c in the future. Updating it was beginning to become a massive headache!
  • There is a weird issue with SMS games ( Sonic The Hedgehog ) having really bad tearing when scrolling. It only happens in an HD mode ( 720p, 640p, 1080i? ) and if framerate is not being displayed. It has something to do with the xbox not refreshing at exactly 60hz in HD modes. I couldn't quite figure it out so I implemented a hack to fix the tearing issue until the problem can be solved.
  • Added new "Sound Configuration" option. "Master System FM (YM2413) [Auto, Off, On]" to allow you to force FM sound on for ROM hack, etc that are not auto detected by the Neogenesis Plus GX core.

Genesis Plus GX v2:

  • Added in support for iso / ogg CD images ( Genesis Plus GX core only ). Works rather well on network shares!
  • Port A and Port B Devices now default to Control Pad 3 button since not all games are compatible with 6 button and only a few use 6 button anyways.
  • Fixed issue where setting the Default Game Configuration was causing havoc when SMS or GG games were selected. Causing all kinds of weird issues like control input not working or incorrect accurate pixel settings being selected for sms/gg games among other things.
  • Fixed selectable Port A and Port B devices for SMS/GG. Please note that currently only Control Pad 2 Button is fully supported for sms/gg.

List of update commits:

  • [CHD]
    • Fix crash loading CHD on some ARM boards (minimal changes).
  • [Core/68k]
    • Fixed NBCD insruction when using register operand.
  • [Core/CD]
    • Increased minimal latency (fixes BIOS freeze when CD latency is disabled in emulator settings).
    • Fixed CDD position reset when disc is stopped (fixes random freezes in Spiderman vs Kingpin when switching between audio tracks).
    • Improved GFX timing accuracy (fixes "Night Striker" crashing after completing a game.
    • Improved GFX processing accuracy to halt it while Word RAM is allocated to Main CPU in 2M mode.
    • Fixed 32x32 pixels stamp index masking during GFX operation (fixes display issues with Chuck Rock II).
    • Fixed track relative time computation during pregap.
    • Fixed CD hardware buffer initialization when using dynamic memory allocation.
    • Added support for Wondermega & Wondermega M2/X'Eye specific fader hardware (fixes CD-DA issues and freeze when using Wondermega, Wondermega M2 or X'Eye BIOS).
    • Improved CDD status codes description & added support for (unused ?) error request code.
    • Improved accuracy of Word-RAM byte writes (verified on schematic).
    • Fixed Main-CPU/Sub-CPU synchronization edge case.
    • Increased CD access latency (fixes "Aisle Lord (J)").
    • Improved CD hardware reset timing accuracy on software reset.
    • Improved WAV file detection/support.
    • Optimized accesses to CDC RAM on little-endian platforms.
    • Added support for CD-ROM Mode 2 (Form 1 & 2) image files (fixes EBXA disc support in Wonder Library).
    • Improved CUE file parsing (fixes issue with CUE files mixing single-track and multiple-tracks files).
    • Fixed reported CDD status after CD play command when seek time is emulated (fixes music playback delay in Bari Arm).
    • Incremented CD_PLAY status delay by one CDD interrupt (fixes regression freeze in Annet Futatabi introduced by previous change).
    • Improved Timer interrupt timings and CDD interrupt accuracy (fixes audio stutters during Popful Mail FMV).
    • Fixed loading issue when backup RAM cart is filled with non-zero data.
    • Added support for first revision of Sewer Shark (no audio track).
    • Optimized CUE and CHD file detection.
    • Fixed word access to CDD control register (fixes spurious audio track playback on startup with Mode 1 patched games using MSU-MD driver).
    • Improved CDD status report accuracy (fixes track looping with Mode 1 patched games using MSU-MD driver).
    • Fixed CD communication registers state on peripheral reset (fixes SUB-CPU side initialization in MSU-MD sample demo and some Mode 1 patched games using MSU-MD driver).
    • Improved CD audio savestate and CD file seeking (in preparation for MegaSD support).
    • Fixed track index when decoding CUE file MegaSD specific loop commands.
    • Added configurable CD-DA and PCM outputs mixing volume.
    • Added setting to enable/disable CD access time simulation both currently not implemented in the madmad interface.
  • [Core/CPU]
    • Fixed 68k timings of BCHG, BCLR, BTST Dn,#Imm and Dn,Dm instructions when bit number is less than 16 (cf. Yacht.txt).
    • Fixed 68k timings of CHK, TRAP, TRAPV, LINEA and LINEF exceptions (cf. Yacht.txt).
    • Improved 68K/Z80 synchronization (reverted.. kills sound for Earthworm Jim).
    • Fixed Z80 core compilation warnings (unused variable).
    • Fixed 68k timing of BTST Dn,#Imm instruction (verified by Flamewing in original microcode).
    • Fixed M68K STOP instruction edge case (case where STOP instruction unmasks pending interrupt).
    • Fixed sub 68K DIVU instruction timings.
    • Added Z80 wait-states on 68k bus access (fixes Remute RedEyes demo).
    • Fixed 68k timings of ANDI.L #Imm,Dn, ADDQ.W #Imm,An and TAS instructions (cf. Yacht.txt) + corrected typo in BTST Dn,#Imm instruction timings on SUB-CPU side.
  • [Core/IO]
    • Improved 6-buttons controller emulation (fixes 'ToeJam & Earl in Panic on Funkotron').
    • Added short description of I/O ports (credits to Charles MacDonald for original documentation).
    • Fixed regression with 6-buttons control pad emulation (fixes Duke Nukem 3D).
  • [Core/MD]
    • Fixed SRAM bankswitching for games also using ROM bankswitching (fixes Astebros).
    • Fixed soft-reset in X-in-1 pirate games.
    • Improved Realtec mapper accuracy (verified on real cartridge hardware).
    • Fixed Realtec mapper behavior on soft-reset and with TMSS hardware.
    • Fixed MegaSD audio sample counter still getting updated while audio playback is paused (fixes #471).
    • Reduced savestate size when both Mega CD and MegaSD hardware are detected (fixes savestates with MSU-MD games that have "SEGA MEGASD" in ROM header).
    • Fixed SRAM power-on state with games larger than 2MB (Duke Nukem 3D, Triple Play 96, Triple Play - Gold Edition).
    • Fixed savestate when Boot ROM is running.
    • Fixed SSF2 mapper size limit.
    • Fixed ROM size detection when enabling/disabling SRAM on power-on (fixes SRAM support in Hardball 95, NBA Hang Time and other 3MB games with SRAM mapped at 0x300000).
    • Optimized SRAM word accesses on big-endian platform.
    • Added support for more RADICA dumps.
    • Added support for new X-in-1 pirate mappers.
    • Added support for Triple Play 96 & Triple Play - Gold Edition real Mask ROM dumps.
    • Added Rock Heaven / Rock World pirate cartridges protection emulation.
    • Added emulation of "Micro Machines USA" on-board TMSS bypass logic hardware (fixes lockout when TMSS Boot ROM is enabled).
    • Improved SVP chip auto-detection (based on SVP reverse-engineering from https://github.com/jdesiloniz/svpdev/wiki/Internal-ROM).
    • Added SRAM support for games larger than 8MB.
    • Fixed Game Genie / (Pro) Action Replay lock-on support with ROM larger than 8MB.
    • Added support for MegaSD CD hardware overlay (MD+ hacks) and extended SSF2 / ROM write mappers. Not selectable in interface but emu will auto detect if you are running an MD+ image.
    • Fixed MegaSD edge case occurring when 'play' command is sent while previous track fade out is still in progress.
    • Added automatic PAL region setting for Wiz'n'Liz European ROM dump.
    • Fixed MegaSD edge case when another 'pause' command is sent while fade out is still in progress.
    • Improved MD+ audio track loopback transitions master.
    • Added detection of CHD image files when loading MSU-MD (CD Mode 1) or MD+ (MegaSD) ROM files ( Please note: Always select the .MD file. The MD, cue and CHD file should all have the same exact name or the CHD won't be detected or loaded ).
    • Fixed Memory Mode, Timer and Font Color registers byte access at even address (verified on real hardware, cf. Krikzz's mcd-verificator).
    • Disabled Boot ROM loading automatic detection when Mode 1 is enabled.
    • Fixed Boot ROM level 4 interrupt vector upper word value.
    • Fixed byte access address range to Font Data registers.
  • [Core/MS]
    • Added support for latest Korean x-in-1 mappers (credits to Ben Sittler and Omar Cornut at smspower.org for mappers reverse-engineering and description).
    • Added missing GG-MS games in internal game database.
    • Improved region detection (fixes BIOS support with Japanese games).
    • Added Missile Defense 3D [Proto] to internal database.
    • Added support for latest SMS Power ROM dumps.
    • Added support for Out-Run 3D prototype (dumped by SMS Power).
    • Add Power Strike II to internal database as 50Hz game.
    • Added Street Battle (Proto) to Korean mappers database.
    • Added GG-MS games incompatible with EU/US Master System BIOS to internal game database.
    • Fixed disabled slot returned value.
    • Added support for new Korean xx-in-1 mapper (128 Hap, Game Mo-eumjip 188 Hap).
  • [Core/GG]
    • Added support for latest SMS Power ROM dumps.
  • [Core/SG]
    • Added support for SG-1000 II hardware with 8KB RAM extension adapter. Fixes MSX2SMS hacks? Magical Kid Wiz (Tw), The Castle (Tw), Rally-X (Tw) and Road Fighter (TW).
    • Improved SG-1000 cartridge memory mapping (fixes Safari Hunting crash when accessing unmapped ROM area).
    • Fixed state loading for games using external RAM.
  • [Core/Sound]
    • Disabled PSG output on Mark III hardware when FM output is enabled (verified with real FM sound unit hardware).
    • Fixed MAME YM2413 core operator output when EG is off (fixes issue #448, sound issue in Monser World II title screen)
    • Fixed EG counter loopback behavior (verified on real YM438 die by nukez).
    • Added accurate YM2612 status & BUSY flag emulation..
    • Accurate YM2612/3438 status read emulation on invalid port.
    • Replaced configurable YM2612 DAC quantization by configurable YM2612 chip model emulation (discrete, ASIC-integrated or enhanced). (YM2612 Type: ?? option not selectable yet ).
    • Added DAC distortion emulation for discrete YM2612 chip model
    • Added accurate status & BUSY flag emulation for discrete and ASIC-integrated YM2612 chip models (verified on real hardware).
    • Improved 9-bit DAC quantization accuracy for discrete and ASIC-integrated YM2612 chip models (verified on YM2612 die).
    • Reverted change made to FM chip synchronization on CPU reads (fixes TMNT Tournament Fighters broken music when using Nuked core + Overdrive II demo music desyncing too fast with MAME/Nuked cores).
    • Add nuked ym2413 core.. currently not accessible yet but I may add it into the interface later on.
    • Fixed carrier/modulator phase reset after channel Key ON (fixes MS BIOS music )
    • Fixed MAME YM2413 core instruments ROM (verified on YM2413B die, cf.)
    • Fixed MAME YM2413 core EG resolution bits (verified on YM2413B die, cf.)
    • Fixed MAME YM2413 core EG "dump" rate (verified on YM2413 real hardware, cf.)
    • Fixed MAME YM2413 core EG behavior for fastest attack rates (verified on YM2413 real hardware, cf.)
    • Fixed MAME YM2413 core EG behavior when SL = 0 (verified on YM2413 real hardware, cf.)
    • Improved MAME YM2413 core EG sustain phase transition comparator accuracy (verified on YM2413 real hardware, cf.(
    • Fixed MAME YM2413 core EG updates being 2x faster after EG resolution change and improved EG increment steps accuracy (verified on YM2413 real hardware, cf.)
    • Improved MAME YM2413 EG transitions accuracy (verified against NUKED source ).
    • Updated nuked ym2612/ym3438 core to version 1.0.10 (fixed sound issues in Stormlord).
    • Fixed MAME YM2612 core potential issue with SSG-EG inverted attenuation level on Key OFF.
    • Improved MAME YM2413 core EG attack phase algorithm accuracy (verified on YM2413 real hardware, cf.) and EG increment table consistency.
    • Fixed overflow bug in MAME YM2413 core when using attack rate 14.3 (introduced in previous commit).
    • Fixed Nuked YM2413 core attack phase rates 11.1 to 11.3 (cf. nukeykt/Nuked-OPLL#6).
    • Fixed edge case in MAME YM2413 core when Key-Off occurs with envelope already off.
  • [Core/SVP]
    • Fixed pointer arithmetic on 64bit.
  • [Core/VDP]
    • Fixed address/code potential corruption by one-instruction… execution delay after HV interrupts activation (fixes #477).
    • Improved HBLANK flag timing accuracy (verified on real hardware by Nemesis).
    • Added support for background color changes during HBLANK when display is disabled (fixes #462, incorrect line at the bottom of screen for Yuu Yuu Hakusho - Makyou Toitsusen).
    • Enchanced per-tile vertical scroll implementation code present but not implemented in game config yet.

NeoGensPlusGX v1b10 Fixed

  • Corrected a problem created by the fix in CFv1b29 which caused 480i mode for PAL60 users to have the wrong refresh rate. Whoopsie.
  • Added pixel perfect modes for 720x480, 720x576 and 640x576.

Genesis Plus GX v1.15b:

  • Updated to madmab edition interface CFv1b30. See "Interface Changelog.txt".
  • Changes to the screenshot code to account for new directory layout when using "Extras menu" screenshot options.
  • Thunder Force III was hanging due to the improved fifo timing accuracy and later fixed by an update, see below core changes.
  • Pier Solar was not working in previous build but appears to be working now (may be due to the fifo timing fixes)
  • Rewind was causing framerate issues with some games when running in 720p mode. (Example: Beginning of Sonic 3 Angel Island Zone). Fixed.

Core updated to all changes up to 09/20/17. See below changelog.

  • [Core/IO]
    • Increased Sega Mouse latency (fixes mouse support in Star Blade).
  • [Core/Sound]
    • Fixed PSG noise channel bug.
    • Fixed 3-Band EQ implementation.
  • [Core/VDP]
    • Allow active screen width to be modified during first two lines (Bugs Bunny in Double Trouble).
    • Improved VDP status read timing accuracy (fixes 'Marvel Land' demo mode).
  • [Core/CD]
    • Fixed CD hardware buffer initialization when using dynamic memory allocation.
  • [Core/MD]
    • Added (very basic) emulation of Flashkit MD hardware.

Neogenesis v25.19b:

  • No changes.

External links

Advertising: