What's new

GB Enhanced

LyonHrt

Dcemu.co.uk guy
any progress report on this, i've actually used this emulator quite a bit last few days, working on sml (had all the sprites anyway) did you ever come up with anchor points or similar solution to be able to expand on customizing? and any windows build coming soon :)
 
OP
S

Shonumi

EmuTalk Member
Well, as you can see here, there's always progress. My philosophy is that every day, something has to improve. Been doing that for almost 2 years now; haven't gone a day without at least 1 commit added to the code base :D

More specifically, most of the progress has been in other areas of the emulator. To name a few:

  • Netplay support for DMG/GBC games
  • GB Printer support
  • GB Mobile adapter support (GBE+ is the first GB emulator to offer native support for this device).
  • Limited GBC IR support
  • Lots of bug fixes for games
  • Vastly improved GBA sound quality and finally tackled a number of long-standing graphical issues (scaling/rotation for BGs and sprites).
  • Moved to SDL 2.0 and OpenGL 3.3. Scaling filters like xBR are available as shaders.

So, that's basically what I've been doing since April of last year. Nearly all of my efforts have been towards the core emulation, but I have devoted some time to Custom Graphics. A lot of little bugs in the GUI were crushed, and after some feedback, the UI was changed to be more user-friendly. Unfortunately, a small part of the hashing algorithm was changed, so some graphics dumped and edited with 1.0 won't be compatible with 1.1 (which will come out... on April 1st, 2017, as usual).

Rather than anchor points, I've decided to go with using the address of a tile in VRAM to optionally distinguish two separate tiles. Some tiles have the same graphics, but are simply located in two different memory locations. It works in practice, and for SML, it would allow the sky and the ground to be replaced separately.

Also in the works, the NDS core is up and running, although it's pretty much restricted to homebrew at this point, but at least it can do a few test ROMs correctly.
 
Last edited:

LyonHrt

Dcemu.co.uk guy
i've definitely played with it, and hope to really push its abilities with its modding, is there much restrictions to vram, as interesting how this can work in practice but as you can see still not really much joy there lol
However yeah i've been following each day practically, and is my go to gameboy/gba emulator lol
And any further graphic modding abilities i'll certainly try out, hopefully i can make some games very pretty.

But in the mean time i might as well actually do a full mario land pack in hd (6x) (hopefully be even better than what i did for super mario :fingerscrossed:)
 

Attachments

  • 148834309227691.jpg
    148834309227691.jpg
    72.7 KB · Views: 404
OP
S

Shonumi

EmuTalk Member
Oh, that looks very nice! Pretty impressive!

Unfortunately, some of the tiles in the "SUPER MARIO LAND" text are the same on the Game Boy (e.g. the right part of "M" is the same as the right part of "I"). There's not much I can do to get around this because it's a limit that was from the original hardware. That is to say, GBE+ can't replace "new" tiles that never existed. That's going to be a challenge for artists because you can't just copy+paste HD images into a game; it has to follow the tiling patterns the game actually uses. One solution here would be to make "M" and "I" the same color, and try to position M in such a way that lines up correctly.

Another issue I hope to tackle in the future for Custom Graphics is performance. Currently, all of the graphics a user wants to load up are stored in a big list, and searching that list can take a while if it gets too large. I'd like to see some multithreading applied some day to look up items in the list, also it'd be nice to pre-sort the list into smaller lists (hashes stored alphabetically).

LyonHrt said:
However yeah i've been following each day practically, and is my go to gameboy/gba emulator lol

Thanks! I thought I was probably the only one who used it on a day-to-day basis; I'm glad you like it. IMO, GBA games only really just got playable since I added scaling/rotating sprites. Many missing or broken effects are now taken care of. And the sound used to be horrible, but 48KHz does the job. Now I can comfortably play a lot of games without noticing 10 or 20 bugs that ruin the experience. One area for the GBA that I'm still not happy about is performance; the GBA core takes up a lot of CPU resources (mostly from trying to emulate the LCD). I'll have to rewrite most of the LCD code to optimize everything.
 
Last edited:

LyonHrt

Dcemu.co.uk guy
thanks for the quick reply, and yeah i'll get past the tile restrictions when i can, i'll still come up with a pretty logo, and yeah i can get the performance issues, not come up against it yet but then this pc isnt a slow coach, roll on the next release :)
 

LyonHrt

Dcemu.co.uk guy
definitely going somewhere now, although can't seem to get tiles and have custom graphics enabled at the same time, however the metas do help a great deal.

Oh and if you want to have a look at this pack for marioland, feel free to check it out https://github.com/lyonhrt/GBE-Plus-Projects
 

Attachments

  • 1555231202547.png
    1555231202547.png
    142 KB · Views: 464

LyonHrt

Dcemu.co.uk guy
That's amazing!

kudos to Shonumi, the more features that allow for the flexibility of being able to be add more graphical effects and more customization, the more you can basically forget it originally was on a bw handheld console, and allows you to just push yourself, (if you the emulator allowed it i would of had even more going on)!
I know some people dislike the idea of modding retro games, and being an old git myself, i actually consider retro, not to be graphics but gameplay, if nintendo brought out a 4k completely modernized marioland, but kept the classic gameplay i'd probably get it!
 
OP
S

Shonumi

EmuTalk Member
That's crazy and amazing. I'm glad that someone was able to actually make use of the features I added (and understand how they work. I haven't updated the PDF manual in a while). Great job!

It's funny to think that this only exists now because someone on the Dolphin forums suggested such a feature, but only in passing. So, thanks to a brief comment, my curiosity was sparked, and here we are :D

LyonHrt said:
definitely going somewhere now, although can't seem to get tiles and have custom graphics enabled at the same time, however the metas do help a great deal.

Yeah, that's something I haven't changed yet since GBE became GBE+. It's a remnant from when GBE didn't have a GUI, so when you ran it on the command-line, you either gave it the option to dump graphics or load graphics. Additionally, hashes for dumped graphics and loaded graphics come from the same list in C++, so when you dump graphics, this would have some weird effects on the ones currently loaded. However, that's not a big issue to workaround. I think I'll see what I can do about that in the next few days. Currently debugging tons of broken GBA games, so working on Custom Graphics again will be a nice change of pace :)

Just imagine if I could pull off the same features to replace the graphics on the GBA... Eventually that's where I plan on taking GBE+. We'll see what happens when we get there, I guess.
 

LyonHrt

Dcemu.co.uk guy
yeah it was trial and error on my approach, (i went over that pdf so many times!) And its fine, though i can see some put off by it, (and so many times the emulator has crashed!) But its slow but moving forward all the time!

And the demand i think is there, i'd love to see many systems get the same treatment (hmm neogeo? genesis.....list goes on! :drool:) and yep to my count since you started this topic you've had 68,023 views! And for a nes pack i did nearly 2 years ago thats had 26,951 views :eek:
 
OP
S

Shonumi

EmuTalk Member
Version 1.1 has been tagged on GitHub. Unfortunately, my Windows machine hates me, refuses to compile anything, so I can't provide a binary. If anyone else can get GBE+ compiled on Windows, let me know; I need a better setup. 1.1 runs perfectly fine on Linux.

Here's a Progress Report for all the work that's been done so far -> https://shonumi.github.io/articles/art4.html
 

LyonHrt

Dcemu.co.uk guy
Nicely done, saw your post on Reddit, is the Linux build available to download? and my windows is kinda compromised as well so won't attempt seeing if I can compile it right now :unsure:
 
OP
S

Shonumi

EmuTalk Member
No binaries for Linux, but that's the environment I use for everyday development. It should compile fine if you have CMake, SDL2, SDL2_net (optional) and Qt4 or Qt5 (also optional). I always make sure every commit at least compiles on my end, though I need to update my OS soon (Slackware).
 

LyonHrt

Dcemu.co.uk guy
No binaries for Linux, but that's the environment I use for everyday development. It should compile fine if you have CMake, SDL2, SDL2_net (optional) and Qt4 or Qt5 (also optional). I always make sure every commit at least compiles on my end, though I need to update my OS soon (Slackware).

Well finally fixed my little issue with windows (deleting and reinstalling can sometimes be the quicker option!) I'll try compiling later today hopefully I'll have time. Otherwise later this week, and I'll upload the build here.
 

LyonHrt

Dcemu.co.uk guy
What issues are you having compiling, have to admit, i seem to get stuck at 73% when compiling it :unsure: so not sure if i'm missing something here or its the same issues with mingw
 
OP
S

Shonumi

EmuTalk Member
I narrowed down the issue to OpenGL on Windows. Apparently opengl32.dll only supports 1.1; if you want to use something higher (GBE+ uses 3.3) you need to use your graphics driver or something. To do that from C++, something like GLEW needs to be used. One Linux, this step is completely unnecessary because linking to OpenGL libraries will always give you whatever your display drivers.

There are still some Qt5 related errors that I had to offer a patch for with 1.0. Qt stuff works fine with Qt4, though eventually I'll drop Qt4 support.
 

LyonHrt

Dcemu.co.uk guy
Ahh thanks I think it might of been qt5 error and I'll try with that and I'll look into the OpenGL as I'm sure that's where it failed for me, if I get any luck I'll post the binary here
 

LyonHrt

Dcemu.co.uk guy
hows the progress coming, i never did compile a windows build and lately not really spent much time at the computer, close to a new release? :)

Well i guessed right, a few hours later and it was released...
 
Last edited:

Top