Post Reply 
 
Thread Rating:
  • 24 Votes - 2.96 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Core rewrite
Author Message
spacy51 Offline
VBA-M Developer
*******

Posts: 451
Joined: Mar 2008
Reputation: 3
Post: #1
Exclamation Core rewrite
After having a nice chat with blargg on IRC, we both agreed that the current core architecture is like "spaghetti" with all the callbacks and global variables.

Additionally, blargg informed me, that "...maintaing GB emulation seems like a real waste, since Gambatte exists and is probably the most accurate GB emulator."
IMO, there are enough GB emulators out there, but VBA is the ONLY open source GBA emulator.


Having written most of the Qt GUI part until now, I feel like it is useless to rewrite the GUI but leave the core in this state. The current architecture prevents or makes it much harder to run multiple instances of it in different threads, and of course it is anything else than self-explaining how to use the cores.


So guys, what do you think about rewriting the GBA core additionally to the Qt GUI? I know it will be a lot of work, but I think the result would be much more pleasant than the current mess.
08-26-2008 06:40 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Zach Thibeau Offline
Administrator
*******

Posts: 251
Joined: Mar 2008
Reputation: 2
Post: #2
RE: Core rewrite
While the "mess" you say we need to rewrite may be tedious work but I would say go for it, I may not program much but when I do I like to keep a nice clean look for my code.

Emuskillet checking whats cooking in the emuscene | My Personal Blog
[Image: tealcsiler5bb.gif]
08-26-2008 06:49 AM
Visit this user's website Find all posts by this user Quote this message in a reply
mzk Offline
Junior Member
**

Posts: 3
Joined: Apr 2008
Reputation: 0
Post: #3
RE: Core rewrite
(08-26-2008 06:40 AM)spacy51 Wrote:  IMO, there are enough GB emulators out there, but VBA is the ONLY open source GBA emulator.
There's also the new ReasonableGBA, which is really good, and the GBA driver for MESS, which I haven't tried yet.

By the way, VBA-M is the only GBA emulator that works full speed on my crappy computer. Big Grin
08-26-2008 07:07 AM
Find all posts by this user Quote this message in a reply
Hard Core Rikki Offline
Former Administrator
******

Posts: 178
Joined: Apr 2008
Reputation: 6
Post: #4
RE: Core rewrite
Can't say I find it nicely-sounding (risking to break stuff, along probably with compatibility, in the rewrite doesnt sound like a pleasant thought. While a cleaner codebase is desirable, if functionalty, compatibility or reliability are sacrificed for it...).
Isnt the current state of the core already better than at 1.8 beta3? (other than being a mess, as you say?)

If the code for the current core remains available to be used just in case people prefer using it rather than a rewritten core, why not (if its left experiemental pre-alpha till ready for public testing. People would certainly prefer the betterperforming more reliable core (the internal design architecture does not matter to people other than devs after all, only performance, compatibility and reliability do)

VBA-M:
Developpers | To-do list | Latest releases

TODAY'S TOPICS
08-26-2008 07:09 AM
Visit this user's website Find all posts by this user Quote this message in a reply
spacy51 Offline
VBA-M Developer
*******

Posts: 451
Joined: Mar 2008
Reputation: 3
Post: #5
RE: Core rewrite
(08-26-2008 07:07 AM)mzk Wrote:  
(08-26-2008 06:40 AM)spacy51 Wrote:  IMO, there are enough GB emulators out there, but VBA is the ONLY open source GBA emulator.
There's also the new ReasonableGBA, which is really good, and the GBA driver for MESS, which I haven't tried yet.

By the way, VBA-M is the only GBA emulator that works full speed on my crappy computer. Big Grin



Ah thanks for the links. Maybe we can take a clean core form somewhere else Wink
08-26-2008 07:09 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Zach Thibeau Offline
Administrator
*******

Posts: 251
Joined: Mar 2008
Reputation: 2
Post: #6
RE: Core rewrite
I say rewrite it but keep it separate from the current code for testing purposes.

Emuskillet checking whats cooking in the emuscene | My Personal Blog
[Image: tealcsiler5bb.gif]
08-26-2008 07:45 AM
Visit this user's website Find all posts by this user Quote this message in a reply
spacy51 Offline
VBA-M Developer
*******

Posts: 451
Joined: Mar 2008
Reputation: 3
Post: #7
RE: Core rewrite
Of course. There's a reason SVN supports branches.
08-26-2008 08:22 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Boksha Offline
Junior Member
**

Posts: 7
Joined: Aug 2008
Reputation: 0
Post: #8
RE: Core rewrite
The core code itself may be a mess, but as far as I can see (which isn't that far; I've only browsed through the sources for a bit; most of it's way beyond me anyway) the interface to it seems reasonably clean, with just a few functions that get called from outside of the core files. Maybe you could keep the changes "under the hood" so to speak?
Keeping the same interface could mean you can keep improving on the Qt and MFC GUIs while using the old core (and maybe get a working Qt port with emulation soon), while at the same time being able to test a modified/rewritten core by directly plugging it into the existing MFC GUI to see if it works.
08-26-2008 11:39 AM
Find all posts by this user Quote this message in a reply
Squall Leonhart Offline
The Admin with the Gunblade
*******

Posts: 1,475
Joined: Mar 2008
Reputation: 15
Post: #9
RE: Core rewrite
I don't like the idea of removing GB support, but thats because i like to use as few emulators as possible. If development went that way, i'd support it regardless, but im just saying, i like as much support as possible.

Gambatte may be accurate and all, but i like the functionality of VBA, i would much prefer to expand on functionally, rather then remove it.

Thats just my input however.

Though maybe im reading into it wrong?. would keeping CGB support maintain the ability to play DMG games on VBA?

(This post was last modified: 08-26-2008 12:11 PM by Squall Leonhart.)
08-26-2008 11:48 AM
Visit this user's website Find all posts by this user Quote this message in a reply
blargg Offline
VBA-M Contributor
*****

Posts: 16
Joined: Aug 2008
Reputation: 2
Post: #10
RE: Core rewrite
Quote:Gambatte may be accurate and all, but i like the functionality of VBA, i would much prefer to expand on functionally, rather then remove it.
Gambatte has a clean API, so it would be possible to use it for GB emulation and keep the same front-end as VBA. It's really too bad that emulators in general are so closely tied to their front-ends, causing people to often have to choose between an accurate emulator with a lousy front-end, or a less-accurate one with a good front-end.

Quote:Though maybe im reading into it wrong?. would keeping CGB support maintain the ability to play DMG games on VBA?
Dropping pre-GBA support would cause everything other than GBA games to become unsupported, since they're all handled by the separate GB emulator core. DMG/CGB/SGB/etc. are all variants of the classic Game Boy.
08-26-2008 03:53 PM
Find all posts by this user Quote this message in a reply
deniseweird Offline
Junior Member
**

Posts: 35
Joined: Mar 2008
Reputation: 0
Post: #11
RE: Core rewrite
Core rewrite? Why not. I say go for it! As for open source GBA emulators, there is also mednafen: http://mednafen.sourceforge.net/

This emulator IS based on VBA though. But it does have improvements making it better than VBA. I do not know if the code is clean or not in mednafen, but you could check it out and see. The idea that Gambatte could replace the GB code sounds good to me too. Gambatte seems like a great emulator. I support the idea. Big Grin
(This post was last modified: 08-27-2008 12:02 AM by deniseweird.)
08-26-2008 11:56 PM
Find all posts by this user Quote this message in a reply
I.S.T. Offline
Grimlock will eat you now.
*****

Posts: 151
Joined: Mar 2008
Reputation: 1
Post: #12
RE: Core rewrite
Are the TAS enhancements in the VBAR planned to be incorporated at some point in time? If so, I'd keep the GB core, and redo the GBA core. If not, I dunno. >.>
08-27-2008 01:14 AM
Find all posts by this user Quote this message in a reply
Squall Leonhart Offline
The Admin with the Gunblade
*******

Posts: 1,475
Joined: Mar 2008
Reputation: 15
Post: #13
RE: Core rewrite
Mudlord and Spacy have apparently decided that it would be more worthwhile to cleanup and improve the existing code, then to rewrite entirely. Part of VBA's appeal is that it runs DMG - GBA, and the features it happens to include.

08-27-2008 01:14 AM
Visit this user's website Find all posts by this user Quote this message in a reply
SCHUMI4EVER Offline
Super Moderator
******

Posts: 152
Joined: Mar 2008
Reputation: 2
Post: #14
RE: Core rewrite
Hmm one thing though as far as I remember GB cheat codes (like game genie etc) don't work on VBA so that renders GB emulation in VBA rather useless to me as I always tend to go back and use it's predecessor VisualBoy instead. So I would not mind if GB support were removed.
I know the query has pretty much been resolved, but I just felt like adding my 2 cents anyways.
08-27-2008 06:44 AM
Find all posts by this user Quote this message in a reply
spacy51 Offline
VBA-M Developer
*******

Posts: 451
Joined: Mar 2008
Reputation: 3
Post: #15
RE: Core rewrite
Well, if someone really wants to do it, it shouldn't be too hard to add better cheat code support.
08-27-2008 07:32 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Zach Thibeau Offline
Administrator
*******

Posts: 251
Joined: Mar 2008
Reputation: 2
Post: #16
RE: Core rewrite
I won't touch it until I work some more on learning more C++ until then I am more than happy with recompiling

Emuskillet checking whats cooking in the emuscene | My Personal Blog
[Image: tealcsiler5bb.gif]
08-27-2008 01:38 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Squall Leonhart Offline
The Admin with the Gunblade
*******

Posts: 1,475
Joined: Mar 2008
Reputation: 15
Post: #17
RE: Core rewrite
(08-27-2008 06:44 AM)SCHUMI4EVER Wrote:  Hmm one thing though as far as I remember GB cheat codes (like game genie etc) don't work on VBA so that renders GB emulation in VBA rather useless to me as I always tend to go back and use it's predecessor VisualBoy instead. So I would not mind if GB support were removed.
I know the query has pretty much been resolved, but I just felt like adding my 2 cents anyways.

Cheats work in GB games O.o i have an entire list of Gameshark codes for pokemon/megaman1 which work perfectly

08-27-2008 01:53 PM
Visit this user's website Find all posts by this user Quote this message in a reply
emodel Offline
Junior Member
**

Posts: 1
Joined: Aug 2008
Reputation: 0
Post: #18
RE: Core rewrite
(08-26-2008 11:48 AM)Squall Leonhart Wrote:  I don't like the idea of removing GB support, but thats because i like to use as few emulators as possible. If development went that way, i'd support it regardless, but im just saying, i like as much support as possible.

Gambatte may be accurate and all, but i like the functionality of VBA, i would much prefer to expand on functionally, rather then remove it.

Thats just my input however.

Though maybe im reading into it wrong?. would keeping CGB support maintain the ability to play DMG games on VBA?

+1
We already have tons of emulators, and it really makes sense for a gb emu to handle the whole family, gb, gbc, gba, as one can play gb titles on gba.
More important, vgba is the only emu i found wich allow me to get a somehow accurate rendering of an lcd screen, using bilinearplus + motionblur blending + proper greenish palette.

PLEAAAASE keep it :'(
08-28-2008 02:17 AM
Find all posts by this user Quote this message in a reply
KunaiTeam Offline
Member
***

Posts: 50
Joined: Aug 2008
Reputation: 0
Post: #19
RE: Core rewrite
I was looking at the code earlier when preparing an OS X GUI (which I have not yet implemented, as real life has gotten in the way), and was surprised by the number of global variables. It's large, but it's not unmanageable. It certainly would speed up development to have a cleaner interface, so I'm for a core rewrite.

I like the fact that vba and vbam support DMG/GBC games, but since there are other emulators out there, I wouldn't be disappointed if it went away.

In any case, if support for the older games is removed, I would recommend designing the interface so that support for DMG/GBC games could be added in the future if someone wanted to take that on.

That's just my two cents.
08-28-2008 03:57 AM
Find all posts by this user Quote this message in a reply
Squall Leonhart Offline
The Admin with the Gunblade
*******

Posts: 1,475
Joined: Mar 2008
Reputation: 15
Post: #20
RE: Core rewrite
this core, as it is, is newer and more optimised then the original vba core. As it is, the developers dont have much experience with the GB hardware and programming it into software.... so Rewriting the core would be massive job to take on.

lol, everyone talking about how it has so much of this, and so much of that.

Well duh, its not a normal program, you aren't going to get GBA games going by writing an app which loads x86 data.

08-28-2008 05:42 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)

 Quick Theme: