Homebrew 3dsgba

  • Thread starter Thread starter dragonfromiso
  • Start date Start date
  • Views Views 56,658
  • Replies Replies 138
  • Likes Likes 16
Status
Not open for further replies.
The file selector is buggy on long names...
It seems the text drawing routine is drawing out of bounds (and overlapping into the framebuffer for the current back-frame causing a flickery effect)

Yeah had some issues with that using some things from the Maybe-Intro set.
With that said it still seems to load up most of what I tested.
 
Wow. Since this is a port of the decently-accurate VBA-Next and not written from the ground up, this should have relatively accurate emulation from the get-go!
Sound should be a matter of hooking up Libretro's sound interface to the 3DS one. Speed will be a bit harder.

Speed will most definitely be the issue here, especially with it being based on VBA which is known more for it's accuracy rather than it's speed. There's a few tricks you can do to increase speed, like removing idle loops (which I just added an initial commit for, albeit without many idle loops specified as of yet), but that will only take us so far. With Pokemon Emerald it only *just* increased the speed a tiny bit, but it did help. Frame skipping would also help a lot, although it makes it look much worse.
 
The file selector is buggy on long names...
It seems the text drawing routine is drawing out of bounds (and overlapping into the framebuffer for the current back-frame causing a flickery effect)


Fixed. Names now do not wrap/overlap and horizontally scroll if they are too long.

As for sound, it'll be implemented once I figure out how to properly use the CSND interface. >.<
 
I'd hate to be <that> guy but, anyone got a cia version of this compiled?
I'd love to try out some of Quirky's homebrews :O
 
  • Like
Reactions: Margen67
yeah but, relying on the built in AGB_FIRM also means you loose the potential for extra features like save states cheats etc etc and your stuck with whatever compatibility AGB_FIRM has....one of the reasons i always prefer homebrew emulators over the VC injects, if its built from the ground up you have more freedom to add features than if you rely on VC injections....yeah it (virtual console AGB_FIRM injections) would probably work better off the bat, but some games would probably have issues and there would be no real way to fix compatibility...lets just have both coz we are greedy ;) (not that i have seen any movement from gateway regarding the GBA support they mentioned, but i suppose they have their plate full elsewhere atm )

ok then, decompile agb_firm and build it back up better? ;)
(sure, it's more work than recreating it)
 
I also agree that building from the ground up is better than relying on AGB_FIRM. While I understand that there's no need to reinvent the wheel, it is important to have a code base that doesn't rely on Nintendo. It is important to have a code that is open, rather than relying on Nintendo to maintain the base code.

I'm surprised that porting TempGBA hasn't been attempted. A port already exists for the PSP.
 
  • Like
Reactions: Codename
I also agree that building from the ground up is better than relying on AGB_FIRM. While I understand that there's no need to reinvent the wheel, it is important to have a code base that doesn't rely on Nintendo. It is important to have a code that is open, rather than relying on Nintendo to maintain the base code.

I'm surprised that porting TempGBA hasn't been attempted. A port already exists for the PSP.


TempGBA uses recompilation, which I believe can't be done under Ninjhax yet. Although, I did try it at one point before realizing this.
 
Speed will most definitely be the issue here, especially with it being based on VBA which is known more for it's accuracy rather than it's speed. There's a few tricks you can do to increase speed, like removing idle loops (which I just added an initial commit for, albeit without many idle loops specified as of yet), but that will only take us so far. With Pokemon Emerald it only *just* increased the speed a tiny bit, but it did help. Frame skipping would also help a lot, although it makes it look much worse.
especially with it being based on VBA which is known more for it's accuracy rather than it's speed.
VBA which is known more for it's accuracy rather than it's speed
it's accuracy

:rofl:
 
what the fuck
isnt the nintendo 3ds officially powerful enough to run a GBA GAME?
? ?? ? ? ?????? am i missing something
 
Dude, the emulator hasn't even been out for a week.
Not to mention that the VC GBA games don't really use an emulator. The Ambassador games, more or less, run on the processor directly. "Hey, processor. Look at this GBA ROM. This is code. Start executing it."

But with an emulator like this it's more like:
  1. Hey, processor. Look at this emulator. This is code. Start executing it.
  2. Hey, emulator, look at this GBA ROM.
  3. Now look at this byte.
  4. Now execute some code, depending (in an extremely complex way) on the contents of that byte.
  5. Go to step 3.
There's an entire additional level of indirection.

I'm actually damned impressed that 3DSGBA is this quick so early.

---

On tangential note, I had thought about W^X/NX bit issues on the 3DS, but I had assumed ninjhax would nullify them. Even though there's no basis for that assumption, when you actually think about it.

Damn. And I was just starting to try to screw around with JIT before I came across this thread. In my entire life, I have never been so anxious for an update to memory-management functions!

In smea we trust.
 
I'd hate to be <that> guy but, anyone got a cia version of this compiled?
I'd love to try out some of Quirky's homebrews :O


Hmmm, so that's a no?

Edit: Sorry, was supposed to edit, not reply.
 

nope, that is partially true.

VBA-M emulates critical parts such as timers (sluggish), IRQ and DMA (at interruptable levels), VCOUNT and HBLANK (0x04000000) bit 5 interval access, which basically emulates memory accesses to OAM while HBLANK period occurs. Not to mention background modes and tiled OAM stuff that exists on GBA/NDS 2D engines, that isn't really out there on other hardware. DISPCNT has to be emulated as well to support correct Window modes / background layer priority.

not to mention envelopes are done through software (hardware timers or frequency LUTs can be used for that anyway) and other parts as well.
 
Updates already?! Awesome!
Questions:
Do I still need a file called boot.gba to run this?
Can I put rooms in their own folder yet?
Yeah the update has a file browser so you can make folder named gba and keep em there. No need to rename the em.
 
  • Like
Reactions: Margen67
Wouldn't a gpSP or TempGBA port fare a lot better? Sure getting VBA-next isntead would be quite awesome, but I have my doubts if the 3DS is truly capable of pulling it off
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum