GBARunner2

By Gericom, Dec 4, 2016 545,492 3,036 100

  1. Dodain47

    Dodain47 GBAtemp Psycho!
    Member

    Joined:
    Jan 1, 2017
    Messages:
    3,045
    Country:
    Austria
    Well, then maybe i can continue testing Games with my Flashcard after all.:D

    You said you are using the DevkitARM Version R41 for compiling. Is this Version more stable than the later Version?
     
  2. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    No, I just still haven't updated it (I think I had some issues with older projects idk). You can keep using the newer version if you like.

    Edit: I committed the irq fix to github so you can give it a try. Also, if you didn't know yet, you can resync the sound with X if it is a bit delayed.
     
    Last edited by Gericom, Feb 4, 2017
    ProjectgamerBr, zfreeman and Dodain47 like this.
  3. Dodain47

    Dodain47 GBAtemp Psycho!
    Member

    Joined:
    Jan 1, 2017
    Messages:
    3,045
    Country:
    Austria
    I tested these Games with the Updated Sound fifo Experiment Version from 2017/02/04:


    CT Special Forces 2 - Back to Hell (E):
    Almost Full Speed with some Slowdown. No Audio. Much Noise. Some Gfx Glitches. Very Playable. Same as before.

    Donkey Kong Country (E): I completed the First World. Almost Full Speed with some Slowdown. The Audio improved a lot. There is still much Slowdown in the Second Level and the Water Level of the First. Playable.

    Donkey Kong Country 2 (E): I played until the First Water Level. The Audio improved a lot. There is a bit more Slowdown than before I think. Playable.

    Donkey Kong Country 3 (E): I played the First Two Levels. Much Slowdown. The Audio has much Noise and stuttering. Playable. The Same as before.

    Doom (E): The Game is very Slow. You can hear many randomly playing Sound Samples. Some Gfx Glitches. Playable. Same as before.

    Gekido Advance (E): Almost Full Speed. The Audio has much Slowdown. Some Gfx Glitches. The Game runs a bit faster now. Very Playable.

    Metroid Fusion (U): You can hear a crackling Noise. The Game freezes during the Introduction. Unplayable.

    Metroid Zero Mission (E): You can hear a crackling Noise. The Game freezes after either collecting the Morph Ball or leaving the Room. Unplayable.

    Tak - The Great Juju Challenge (E): Full Speed. No Audio. You can hear a crackling Noise. Some Gfx Glitches. Very Playable. Same as before.

    Wario Ware Inc Mega Minigame Mania (E): Full Speed. No Audio. You can hear a crackling Noise. Some Gfx Glitches. Very Playable. Same as before.


    Donkey Kong Country 1&2 have improved Audio. Gekido Advance runs a bit faster now.


    You can find the Updated Version below.
     

    Attached Files:

  4. Melter

    Melter GBAtemp Regular
    Member

    Joined:
    Mar 31, 2011
    Messages:
    159
    Country:
    United States
    Wow just came across this, this looks awesome!

    so is this a GBA emulator or does it run on the DS' native GBA hardware?

    I have been waiting for something like this so I can finally play GBA games on my DSi XL!
     
  5. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    It's not an emulator but it does not run in gba mode either. It's what they call a hypervisor. It uses the DS hardware (which is for a large part very similar to the gba) and provides an additional layer that tries to emulates stuff that's not the same.
     
  6. Melter

    Melter GBAtemp Regular
    Member

    Joined:
    Mar 31, 2011
    Messages:
    159
    Country:
    United States
    I'll take it! I hope you manage to work out the issues. Can't wait!

    Out of curiosity, is it not possible to create some sort of homebrew that would force the DS into GBA mode and run GBA roms natively? Similar to TWLoader on the 3DS?
     
  7. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    That's not possible sadly. It's not possible to map memory to the gba slot. And even if it was possible, the ds would never have enough memory to hold a whole gba rom. I am curious though if there wouldn't be some way to keep the arm9 running in gba mode
     
  8. Melter

    Melter GBAtemp Regular
    Member

    Joined:
    Mar 31, 2011
    Messages:
    159
    Country:
    United States
    ah I see.

    I'm trying to build the source with devkitpro, but I'm getting build errors due to undefined references:

    Code:
    C:\GBARunner2-master>make
    make -C arm7
    make[1]: Entering directory `/c/GBARunner2-master/arm7'
    linking GBARunner2-master.elf
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0xd0): undefined reference to `__arm7_lma__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0xe0): undefined reference to `__arm7_start__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0xe4): undefined reference to `__arm7_end__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0xf8): undefined reference to `__arm7i_start__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0xfc): undefined reference to `__arm7i_end__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0x100): undefined reference to `__twl_bss_start__'
    c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/6.3.0/../../../../arm-none-eabi/lib/ds_arm7_crt0.o: In function `arm7lma':
    (.crt0+0x104): undefined reference to `__twl_bss_end__'
    collect2.exe: error: ld returned 1 exit status
    make[2]: *** [/c/GBARunner2-master/arm7/GBARunner2-master.elf] Error 1
    make[1]: *** [build] Error 2
    make[1]: Leaving directory `/c/GBARunner2-master/arm7'
    make: *** [arm7/GBARunner2-master.elf] Error 2
    
    C:\GBARunner2-master>
    any suggestions?
     
  9. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    I've no idea. Maybe try using an older version of devkitpro.
     
  10. metroid maniac

    metroid maniac An idiot with an opinion
    Member

    Joined:
    May 16, 2009
    Messages:
    1,800
    Country:
    The DSi has enough memory to load the majority of GBA ROMs into main memory, except for the dozen or so 32MB ROMs. But then main memory isn't mapped to ARM7 at all in GBA mode so you can't use it directly, so it'd only be useful with some hypervisor like GBARunner2.
    GBATek says that when entering GBA mode you manually disable interrupts and halt on ARM9, so maybe you could try just not doing that? But I don't much see what the point is.
     
  11. Dodain47

    Dodain47 GBAtemp Psycho!
    Member

    Joined:
    Jan 1, 2017
    Messages:
    3,045
    Country:
    Austria
    I had the same Problem with devkitARM_r47.

    devkitARM_r45 works for me.
     
  12. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    I did some tests, but I am not sure if the ARM9 might be powered off anyway by the hardware when switching to gba mode. Also because the bus speed changes. The only reliable place you could execute code from would be itcm, but I am not sure how you should test then if the code runs, because I am not sure if you would be able to use the bus in a relyable way and if the display registers are still mapped to the arm9 or not
     
  13. metroid maniac

    metroid maniac An idiot with an opinion
    Member

    Joined:
    May 16, 2009
    Messages:
    1,800
    Country:
    Could ARM9 trigger one of ARM7's interrupts? If you only need to know that ARM9 is alive that might be enough.
     
  14. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    That would not work, because the arm7 irq controller is in compatibility mode and would probably not respond. It would also require bus access, but maybe the arm9 bus is not changed and only the arm7 bus runs slower. I have no idea. I am currently trying to buy an IS-NITRO-EMULATOR. If I manage to get one, I can probably do some tests with it.
     
  15. Dodain47

    Dodain47 GBAtemp Psycho!
    Member

    Joined:
    Jan 1, 2017
    Messages:
    3,045
    Country:
    Austria
    I have tested these Games with both 2017/01/30 Master branch and Sound fifo Experiment Version from 2017/02/04:


    Hagane no Renkinjutsushi - Meisou no Rondo (Eng.Patch 0.01): Full Speed. Very Good Audio. Some Gfx Glitches. Very Playable.

    Hagane no Renkinjutsushi - Omoide no Sonata (J): Full Speed. Very Good Audio. Some Gfx Glitches. Very Playable. The Audio has more Noise in the Master branch Version.

    Wakeboarding Unleashed featuring Shaun Murray (E): Sram patching required to boot the Game. The Game freezes on the Licensed by Screen. Unplayable.

    Whac-A-Mole (U): I completed Stage 1 Level 1. Full Speed. Very Good Audio. Some Gfx Glitches. Very Playable.

    Who Wants to Be a Millionaire (E): The FMV´s are messy. Full Speed. Good Audio with some Noise. Some Gfx Glitches. Very Playable.

    Who Wants to Be a Millionaire - 2nd Edition (E): The FMV´s are messy. Full Speed. Good Audio with some Noise. Some Gfx Glitches. Very Playable.

    Who Wants to Be a Millionaire Junior (E): The FMV´s are messy. Full Speed. Good Audio with some Noise. Some Gfx Glitches. Very Playable.

    Wild Thornberrys Movie (UE): I tested some Minigames and the Story Mode. Full Speed. Very Good Audio. Some Gfx Glitches. Very Playable.

    Wild Thornberrys Chimp Chase (UE): Almost Full Speed with some Slowdown. Good Audio with some Noise and stuttering. Some Gfx Glitches. Very Playable. The Game freezes in the Master branch Version.

    Wild (UE): I completed the First Tutorial. Full Speed. Good Audio with some Noise and stuttering. There is some Noise during saving. The Gameboy Sounds are missing. Some Gfx Glitches. Very Playable.


    Clearly the Sound fifo Experiment Version is now superior to the Master branch. For testing purposes, I´ll be using the Sound fifo Version from now on.
     

    Attached Files:

    Last edited by Dodain47, Feb 5, 2017
  16. Melter

    Melter GBAtemp Regular
    Member

    Joined:
    Mar 31, 2011
    Messages:
    159
    Country:
    United States
    I'm getting a red top screen and white bottom screen with the word "TEST" showing up. anyone know what I'm doing wrong? This is both with the version I built as well as the last two builds uploaded on the gbatemp wiki.

    DSiXL on R4i Gold 32gb FAT32 microSD.
     
  17. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    Nice! In that case I'll merge the fifo experiment into master later today.
    Does your sd card have 4kb clusters? If not, please try that. I know there are problems with some cards, but not with the R4i iirc. To be sure you could try the arm7 branch too, but it's a bit behind. I'm planning on implementing it using a #define or something.
     
  18. bakawun

    bakawun GBAtemp Regular
    Member

    Joined:
    Jan 10, 2017
    Messages:
    227
    Country:
    Luxembourg
    We're pretty much telling everyone to format every card into 32kb cluster sizes.
    Is there a good reason to use 4kb?
     
  19. Gericom

    OP Gericom GBAtemp Maniac
    Member

    Joined:
    Jun 30, 2011
    Messages:
    1,358
    Country:
    Netherlands
    It is faster with gbarunner2 atm. It also gave problems in the past, but I think those were solved.
     
  20. bakawun

    bakawun GBAtemp Regular
    Member

    Joined:
    Jan 10, 2017
    Messages:
    227
    Country:
    Luxembourg
    Hopefully you will be able to make 32kb cluster size be optimal at some point.

    I have something else for you.
    Did you know Higan is the 2nd most accurate gba emulator?

    It's fully open source and written in such a way to help understand what is happening on the hardware level.
    most of the source can be found here: https://gitlab.com/higan/higan/tree/master/higan/gba
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - GBARunner2,