1. Flame

    Flame Me > You
    Moderator

    Joined:
    Jul 15, 2008
    Messages:
    5,808
    this is an amazing project. and it has some much potential too.
     
    peteruk likes this.
  2. stranno

    stranno GBAtemp Fan
    Member

    Joined:
    Feb 17, 2013
    Messages:
    395
    Country:
    Spain
    • Fixed 16 bit FIFO transfers in sdmmc.c (thanks @PoroCYon).
    • Fixed MCU events (thanks to @SonoSooS).
    New commits.
     
  3. Dartz150

    Dartz150 Yet another Onii-chan
    Member

    Joined:
    May 5, 2010
    Messages:
    2,183
    Country:
    Mexico
    Just tried the latest commit, no significant improvements for the end user but to see it advancing step by step each day is really nice!
     
  4. AleronIves

    AleronIves Advanced Member
    Newcomer

    Joined:
    Nov 17, 2016
    Messages:
    84
    Country:
    United States
    If I might ask a dumb question, how is the screen scaling accomplished when the ARM7 is running the game? Is the ARM9 doing it? Also, GBARunner2 displays games 1:1 by default, right? (It definitely isn't 360x240, since there are borders on all sides.)
     
  5. Sono

    Sono cripple piss
    Developer

    Joined:
    Oct 16, 2015
    Messages:
    2,393
    Country:
    Hungary
    The GPU is doing it, which is controlled by the ARM11, because the GPU is only mounted to the ARM11.
    In Nintendo's own implementation they are using the capture card's upscaler which has slightly worse upscaling quality, but they are still using the GPU to rotate the screen and to display the "Do you want to return to the HOME Menu?" popup.

    As for why GBARunner2 can't stretch to fill the screen is because it's just copying GBA graphics data directly to DS graphics hardware (mounted to the ARM9 only) because they are almost completely the same, but neither hardware can stretch the output because they are somewhat dumb hardware, and they only output fix amounts of pixels almost directly to the LCD.
     
    fmkid, AleronIves and peteruk like this.
  6. AleronIves

    AleronIves Advanced Member
    Newcomer

    Joined:
    Nov 17, 2016
    Messages:
    84
    Country:
    United States
    Oh, interesting. Are the limits of the scaling already known in terms of what kinds of algorithms can be used, i.e. is bilinear the only type of scaling possible?

    I wasn't lamenting the lack of stretching; I think GBA games look better without it. I was just wondering if GBARunner2 was displaying GBA games 1:1 or if they were stretched to DS resolution, or something. Games look crisp, so my assumption was 1:1.
     
  7. Sono

    Sono cripple piss
    Developer

    Joined:
    Oct 16, 2015
    Messages:
    2,393
    Country:
    Hungary
    With GPU only linear (looks better than MTX's output) and nearest (which looks worse than MTX's output) are possible with the GPU.

    The capture card (MTX) can do some basic filters, but they look bad due to limited internal precision in the matrix calculations.

    Yes, that's because graphics are not emulated, it's just doing minor tweaks of the GBA graphics data to accomodate for the different screen resolution.
     
    Last edited by Sono, Aug 27, 2020
  8. ghjfdtg

    ghjfdtg GBAtemp Advanced Fan
    Member

    Joined:
    Jul 13, 2014
    Messages:
    769
    Country:
    Also noteworthy that you get the crappy DS mode scaling on top of GBARunner2 if you don't disable it by holding START/SELECT.
     
    Sono likes this.
  9. BETA215

    BETA215 GBAtemp Regular
    Member

    Joined:
    Dec 30, 2014
    Messages:
    150
    Country:
    Argentina
  10. ghjfdtg

    ghjfdtg GBAtemp Advanced Fan
    Member

    Joined:
    Jul 13, 2014
    Messages:
    769
    Country:
    Goomba works but the hardware can only offer 32 KB of SRAM so games requiring big saves will not work.
     
  11. AleronIves

    AleronIves Advanced Member
    Newcomer

    Joined:
    Nov 17, 2016
    Messages:
    84
    Country:
    United States
    You mean nds-bootstrap, right? GBARunner2 doesn't respond to those buttons at startup.
     
  12. Thingley

    Thingley Member
    Newcomer

    Joined:
    Jul 6, 2019
    Messages:
    11
    Country:
    United Kingdom
    I've only ever used GBArunner from Twilight menu. Just hold start as you select the Twilight menu icon from the 3ds screen to stop it from scaling just as you would if you were using NDS flashcard, then use GBArunner from there.

    Have to admit, this project has made me stop using it as much. It's so much quicker to launch games using this script.
     
  13. Sono

    Sono cripple piss
    Developer

    Joined:
    Oct 16, 2015
    Messages:
    2,393
    Country:
    Hungary
    No. He most likely meant that DS upscaling is used for GBARunner2 as oposed to GBA upscaling, so the image looks worse. And by holding START/SELECT you disable upscaling, and GBARunner2 will run at 1:1pixel size, although the image will be really small.
     
    Rahkeesh likes this.
  14. AleronIves

    AleronIves Advanced Member
    Newcomer

    Joined:
    Nov 17, 2016
    Messages:
    84
    Country:
    United States
    Oh, I didn't know you could do that when launching TWM. Thanks for the tip. Is the type of scaling used in DS mode known?
     
  15. Sono

    Sono cripple piss
    Developer

    Joined:
    Oct 16, 2015
    Messages:
    2,393
    Country:
    Hungary
    Yes. Look at TWPatcher, it has patches for retail TWL_FIRM until a homebrew replacement is made.
     
    AleronIves likes this.
  16. n00bsaib0t

    n00bsaib0t GBAtemp Regular
    Member

    Joined:
    Feb 12, 2015
    Messages:
    155
    Country:
    United States
    This is pretty cool, but what is the purpose of doing it as a firmware like this instead of making it like Nintendont on WiiU where we can load it up and just use a button command or home button to get back to the home menu? That’s almost how GBA VC injects are, except the injects are one game rather than a launcher for the games, so it seems like that part was already implemented.
     
  17. Sono

    Sono cripple piss
    Developer

    Joined:
    Oct 16, 2015
    Messages:
    2,393
    Country:
    Hungary
    Easy: because this isn't a WiiU, it's a 3DS. Because GBA mode on the 3DS uses real GBA hardware, we have to reboot into this special mode to be able to use the real hardware. Trying to do this in 3DS mode will crash the 3DS, and that's both a hardware and software limitation.
     
    fmkid, peteruk, ghjfdtg and 3 others like this.
  18. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    8,437
    Country:
    United Kingdom
    Plus a nice added bonus is that you can get this loaded and be playing your game quicker than it takes just the 3ds sysmenu to load. Which is a good thing.
     
    Thingley and Sono like this.
  19. ghjfdtg

    ghjfdtg GBAtemp Advanced Fan
    Member

    Joined:
    Jul 13, 2014
    Messages:
    769
    Country:
    You could boot into the FIRM from HOME menu by using "A9SP" and a compatible bootloader like fastboot3DS or GodMode9. Other than that yeah. GBA mode can't be entered from userland homebrew (3dsx or CIA). You have to reboot.
     
    Sono likes this.
  20. n00bsaib0t

    n00bsaib0t GBAtemp Regular
    Member

    Joined:
    Feb 12, 2015
    Messages:
    155
    Country:
    United States
    Nintendont uses real hardware as well, so “because this is a 3DS” doesn’t answer my question at all. Obviously I’m aware that it’s done because of the way the two consoles are made, but “the 3DS isn’t a WiiU” doesn’t even begin to explain why, it just comes off as dickish.
    GBA VC games enter it though and are installed via CIA, and I’m pretty sure they reboot to enter it and reboot when you exit. This is why I’m asking this question. What is the purpose of doing it the way it is done instead of the way GBA VC games do it which theoretically should let you boot into a menu to select games. DS mode basically has Nintendont style functions though Twilight Menu so it seems like GBA mode should be able to support it as well using a GBA VC title as the entry point.

    I know there is a reason it done this way, a GBA VC game would be an obvious entry point so if it’s not being used for this then there is a reason, but the reasons given don’t make sense to me because if you crash the 3DS booting into GBA mode from the 3DS menu then the GBA VC games wouldn’t work.
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - OPEN_AGB_FIRM, discussion, thread