tasemulators / genesis-plus-gx Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ekeeke/genesis-plus-gx
An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
License: Other
This project forked from ekeeke/genesis-plus-gx
An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
License: Other
Note that GameGear games don't need overscan to be enabled, or rather they need it to be disabled because it doesn't make sense for a handheld. So while the option is one for all 3 systems, GG needs to be an exception of some kind and ignore it.
Necessary for camhack encodes (and Sonic TASing if it ever happens) where you need to see your character at all times.
Originally reported by @ScHlAuChi on Discord. There doesn't appear to be a related issue filed upstream, nor in BizHawk's tracker (this core is new after all).
Repro:
SHA1:DE6A32A548551553A4B3AE332F4BF98ED22D8AB5
in EmuHawk
SHA1:8AB4EA406A0503B09C1BD89E3217C5735B36EBED
, which will show the incorrect behaviour as early as frame ~50—though I had to hardcode GPGX for GG roms as the core preference wasn't being respected.Affects:
master
at TASEmulators/BizHawk@ee0c0a8Doesn't affect:
master
at TASEmulators/BizHawk@ee0c0a8Camhack needs the world to remain in the non-runahead state, so all objects need to have their memory values frozen while we're forcing the camera to go to where the character is.
If the character is way ahead, it takes dozens of invisible frames, because in genesis Sonic games we can't just poke camera to jump to where we need it, it has to be moving there gradually or everything breaks.
So while all this is happening, we need to ensure the world remains frozen so the camera doesn't display things in different places by the time it gets there. Then this could be exposed as a gpgx-exclusive lua function.
My idea has always been having internal memory hooks on the addresses we need to freeze, and on every write occurring from the core, we'd write it back to what it's frozen at immediately.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.