Comments (6)
Might be possible although it has never been done with Mega Drive emulation and implementation is specific to each emulated console so it can't be reused from other emulators.
Anyway, that would likely require rewriting a lot of the emulator rendering process, making it less accurate in the end and it's really not something I am interested in.
from genesis-plus-gx.
@ekeeke The method used in GBE+ doesn't decrease accuracy.
from genesis-plus-gx.
I don't really care, it still requires to break the way the emulator is actually fetching pixels from tiles in VRAM memory and require to increase the number of rendered lines. Also, just because it's something that has been done with basic systems such as GB, NES or SMS does not mean it's as much easy to do with more complex systems, where a higher number of tiles can be used / loaded through the games, as well as being flipped/rotated/etc ... Similarly, for games that do tricky effects by changing stuff mid-line or on a line basis, those fixed HD tiles wouldn't do any good.
It also seems it requires pre-making your own HD tiles for each games specifically and that's not something I'm interested in doing (or even using) since it seems a very painful thing to do, especially with systems such as Mega Drive where games can use a huge amount of tiles, modify them on the fly, etc.
Anyway, I personally like the way older pixel design looked better and feel this HD feature is just some hyped gimmick that only a few people will care about, maybe experiment with it a little to have some fun or show off to their friends then drop out once they realize nobody is making complete tilesets for more games and that it doesn't make those games "better" ;-)
from genesis-plus-gx.
It also seems it requires pre-making your own HD tiles for each games specifically and that's not something I'm interested in doing (or even using) since it seems a very painful thing to do, especially with systems such as Mega Drive where games can use a huge amount of tiles, modify them on the fly, etc.
Well it's best to leave making custom tiles to end-users if Genesis-Plus-GX will ever get such feature I don't expect you making them yourself.
Perhaps @shonumi can explain in more detail how it works, if it breaks anything and if special effects are doable.
I don't really care, it still requires to break the way the emulator is actually fetching pixels from tiles in VRAM memory and require to increase the number of rendered lines.
Similarly, for games that do tricky effects by changing stuff mid-line or on a line basis, those fixed HD tiles wouldn't do any good.
from genesis-plus-gx.
I am not sure why you keep insisting, I already said I was not interested in modifying the emulator to support this and I really don't need to be lectured how it is done on different systems, I think I understand quite well how this could work and what would be the limitations (at least for tile-based systems and Genesis in particular).
Another thing you don't seem to understand (since you keep quoting or linking random emulator projects as if it was some key piece of information to get things started) is that each emulated hardware is different, i.e Genesis does not work the same as GBA, etc... so the way it is done on other emulated systems is quite (if not completely) irrelevant.
from genesis-plus-gx.
I'm not going to say much, but I'll just touch upon the method I came up with. Basically, an emulator just hashes any tile it comes across in VRAM, stores it in a list, then continually matches this hash to a separate list of hashes pointing to graphical replacements. It's essentially the 2D version of custom textures in Dolphin or PJ64/Mupen64Plus. That's glossing over a lot of details, but that's the gist of it.
Supporting this feature requires substantial hooks into the emulated video code, "deep hooks" as byuu has called it. It's not something that I would casually add on. If you don't have the framework for it, this feature can become very invasive very quickly. And by far, the biggest factor is maintaining GUI code to extract the tiles.
Personally, I don't thing people should be bothered to replicate what I've done. Every emu-dev should follow whatever course he/she wants. I don't push my method on others, but I don't turn away questions. I'd actually rather have people wait until I can finish publishing my findings (there are a lot of challenges to getting it working just right).
About system complexity, in theory, this method should work on most 2D tile based consoles. Fancy stuff, even the scaling/rotation and alpha-blending on the GBA will work. I can't speak about the Genesis. What I do know won't work are some things that aren't tiles at all (Super Metroid's power bomb, other HDMA effects on the SNES and GBA, and bitmap modes). Performance is also currently an area of struggle.
The theory behind my work isn't set, and it'll evolve later. But anyway, I'm not the pushy type. Let's let this project follow its own course.
from genesis-plus-gx.
Related Issues (20)
- PAL Master System Games Forced At 60fps HOT 4
- Support for .7z? HOT 2
- Mouse does not work with SGDK homebrew HOT 2
- BreakThru! (USA) (Proto) for Game Gear doesn't work HOT 1
- [Gamecube] Request: Allow L and R to be read as a button press HOT 1
- PCM chip's RAM unaligned access on DMA write HOT 1
- Update Nuked-OPN2 sound core HOT 1
- [Wii] delay based netplay HOT 1
- Update Nuked-OPLL sound core
- Mortal Kombat (Sega CD) hangs while loading HOT 3
- Faster Sega CD Playback on GameCube? HOT 3
- Game Gear games has borders while Borders enabled HOT 1
- Snatcher - Issues with audio and freeze HOT 9
- Loading games from HDD says "file too large", i have the bios on the hdd and a bunch of games, all in .bin and .cue format, and when i open a small game, it crashes, any help? HOT 3
- Light Crusader (Russian Translation) doesn't save in game HOT 4
- A lot dma fill fails in vdp port access test rom HOT 1
- set rom default rom path HOT 1
- [RetroArch] Stuttering while playing Ultimate Mortal Kombat 3 HOT 2
- [GC] Possible to run the Menu in Interlaced mode? HOT 2
- [RetroArch/BizHawk] Port 1 controls Players 1/3/4 even if no multitap present in any of ports in Mega Bomberman HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from genesis-plus-gx.