Homebrew 3dsgba

  • Thread starter Thread starter dragonfromiso
  • Start date Start date
  • Views Views 56,660
  • Replies Replies 138
  • Likes Likes 16
Status
Not open for further replies.
^

This definetely has great potential. You were fully able to emulate the GBA.. just not at a playable speed. I know in minecraft theres a mod where you can setthe game speed, maybe you could do something similar to this.
Code:
function procCmd(cmd) {
    cmd = cmd.toLowerCase();
    if (cmd == "speed"){
        ModPE.setGameSpeed(100);
        print("Game Speed Set!");
    } 
}

Take out the if statement and the print statement. And this is in javascript if you cant tell. So maybe do something similar to this with the emulator.
 
  • Like
Reactions: Jockel
^

This definetely has great potential. You were fully able to emulate the GBA.. just not at a playable speed. I know in minecraft theres a mod where you can setthe game speed, maybe you could do something similar to this.
Code:
function procCmd(cmd) {
    cmd = cmd.toLowerCase();
    if (cmd == "speed"){
        ModPE.setGameSpeed(100);
        print("Game Speed Set!");
    }
}

Take out the if statement and the print statement. And this is in javascript if you cant tell. So maybe do something similar to this with the emulator.


facepalm.gif
 
^

This definetely has great potential. You were fully able to emulate the GBA.. just not at a playable speed. I know in minecraft theres a mod where you can setthe game speed, maybe you could do something similar to this.
Code:
function procCmd(cmd) {
    cmd = cmd.toLowerCase();
    if (cmd == "speed"){
        ModPE.setGameSpeed(100);
        print("Game Speed Set!");
    }
}

Take out the if statement and the print statement. And this is in javascript if you cant tell. So maybe do something similar to this with the emulator.
That might be crazy enough to potato
 
Okay I'm being serious. What's so fucking funny? I might not be as good at this shit as you guys, but you don't have to be dicks about it. Learn some social skills please.
 
  • Like
Reactions: Purple_Shyguy
I'm actually not a coder. I'll explain though. The emulator speed isn't slow because of some setting or missing code, it's slow because the emulator is still at an extremely early stage of development and thus extremely unoptimised. It's essentially already running at 100% speed as per the current limitations of the emulator.

Unfortunately, speeds ups can only come through optimisations of the emulator, not some arbitrary speed-up code like the above. If it was that simple, it would be the first thing people would do.
 
Well, it would already be known if making an emulator fast was just matter of using some magical setSpeed() function.


Since you brought up Minecraft, I think it's worth mentioning that Minecraft is time-based. The actual game speed is independent from the framerate it runs at.
 
Okay I'm being serious. What's so fucking funny? I might not be as good at this shit as you guys, but you don't have to be dicks about it. Learn some social skills please.
Twas worthy of a facepalm, nothing entirely personal. It was deserved though. If there was a set speed function that let you go over 100% your 3ds might catch fire. It's like running GTA V on a snes by setting "setspeed()" to 80,000,000.

The closest thing to a function that "sets speed" would probably be frame skipping.
 
  • Like
Reactions: loco365
Okay
Twas worthy of a facepalm, nothing entirely personal. It was deserved though. If there was a set speed function that let you go over 100% your 3ds might catch fire. It's like running GTA V on a snes by setting "setspeed()" to 80,000,000.

The closest thing to a function that "sets speed" would probably be frame skipping.
I see. That's okay then lol.

This is probably another retarded question, but have you tried looking at like PC GBA emulators to see how they run at full speed?
 
This emulator is actually based on a PC GBA emulator - it's a port of VBA-M. It runs at full speed on the PC because the code is already heavily optimised for that architecture and also the hardware itself is typically more powerful. The 3DS uses a completely different architecture (ARM, instead of x86) meaning much has to be recoded, and even the directly portable code will have to be changed, modified or optimised for the 3DS hardware. This takes time.
 
Okay
I see. That's okay then lol.

This is probably another retarded question, but have you tried looking at like PC GBA emulators to see how they run at full speed?
Speed has to do with hardware, so obviously, pcs has faster and better processors. Plus, a PC is open to developers, nobody has to RE and they usually have access to most everything thing the system has to offer.
 
Okay
I see. That's okay then lol.

This is probably another retarded question, but have you tried looking at like PC GBA emulators to see how they run at full speed?

As of now, the main reason PC emulators are full speed is because they are hundreds of times more powerful than the 3DS (no surprise there). As such, most PC's can handle interpretation of instructions relatively will, with no slowdowns at all, especially considering that the GBA is only 16MHz vs a 1.5+GHz PC. On the other hand, the 3DS is only 268MHz vs 16MHz GBA, so that's not a whole lot to work with. However, there may be an opportunity to advance this a lot in the future through dynamic recompilation, or dynrec.

Basically dynrec is where you translate instructions from one architecture to another. For Dolphin, this would be from PPC to x86. This is usually faster than interpretation since you can mass convert instructions and also cache frequently called routines and run it all natively. With the 3DS though, we have a HUGE advantage: We'd only have to recompile from ARM to ARM, which, in itself, is super easy, much easier than ARM to MIPS or PPC or x86. So we'd have a much better chance doing that and getting full speed, and that's actually more or less why AGB_FIRM exists, so that it can use recompilation over interpretation (although since it's a FIRM is more or less visualization since they can just map the needed memory areas of the GBA and handle rendering in another thread).
 
I know, and it really makes me cringe inside, but there's so many warnings that I haven't gotten around to looking at them yet. >.>
They are mostly macro-related. Fix the macros and almost all the warnings will disappear.

Or you could just remove -Wall :P
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum