Homebrew Development

Discussion in '3DS - Homebrew Development and Emulators' started by aliak11, Jan 16, 2014.

  1. Kartik

    Kartik Gbatemp advanced fan

    Member
    339
    234
    Jun 6, 2015
    India
    github
    I think this error is being caused due to a single missing "/". In your main.cpp try changing save.storeSaveData("3ds/AoTHISave.xml") to save.storeSaveData("/3ds/AoTHISave.xml") & save.loadSaveDataFromFile("3ds/AoTHISave.xml") to save.loadSaveDataFromFile("/3ds/AoTHISave.xml");
    BTW:Nice Game!
     
    Last edited by Kartik, May 14, 2017
    MRJPGames likes this.


  2. MRJPGames

    MRJPGames Pretty great guy

    Member
    1,098
    713
    Aug 17, 2013
    Netherlands
    The Netherlands
    Thanks and thanks. But sadly enough it still doesn't work. Though it does still work in the emulator. I will be doing more debugging any suggestions are of course welcome!
     
  3. Kartik

    Kartik Gbatemp advanced fan

    Member
    339
    234
    Jun 6, 2015
    India
    github
    Well that's weird.I tried it and it was working for me on my 3ds...(A file named AoTHISave.xml should exist in the 3ds directory, right?)
     
    Last edited by Kartik, May 14, 2017
    MRJPGames likes this.
  4. MRJPGames

    MRJPGames Pretty great guy

    Member
    1,098
    713
    Aug 17, 2013
    Netherlands
    The Netherlands
    It now works! Maybe because I already had a file there it was weird at first? Anyways thanks a lot!
     
  5. Coto

    Coto GBAtemp Addict

    Member
    2,353
    403
    Jun 4, 2010
    Chile
    well I don't know if that linear memory description context is what i will describe but at least for gnu LD (linker) the virtual memory address is the intended memory region (IO mapped) a section should be pointed at, while the linear memory address is the physical memory (linear) the LD expects for contiguous relocated sections.

    malloc actually uses a heap approach, which is: the (physical memory end - linear address end pointer, or LMA ) as free space. messing with LMA end will certainly break newlib's malloc

    edit: typo, I meant linear memory address / virtual memory address, not allocation.
     
    Last edited by Coto, May 16, 2017
  6. cere_ender

    cere_ender Member

    Newcomer
    42
    3
    Jul 7, 2015
    Hi people. Any ideas for doing a Python interpreter?
     
  7. MRJPGames

    MRJPGames Pretty great guy

    Member
    1,098
    713
    Aug 17, 2013
    Netherlands
    The Netherlands
    You could look at lpp a lua intrepeter for the 3DS.
    Original post with opinions:
    Warning: Spoilers inside!
     
  8. catlover007

    catlover007 GBAtemp Regular

    Member
    158
    178
    Oct 23, 2015
    Germany
    I think someone already ported a Python interpreter to the 3DS, but never heared again of it. Later added: I was sniped, yes the primary scripting language on the 3DS is Lua.
    I'm not an expert in this stuff, but the linear memory I'm talking about, is a special memory region found in the architecture of the 3DS(https://www.3dbrew.org/wiki/Memory_layout#NATIVE_FIRM.2FSAFE_MODE_FIRM_Userland_Memory). It's managed in as heap by ctrulib(see the relevant code here: https://github.com/smealum/ctrulib/blob/master/libctru/source/allocator/linear.cpp). So I think we're talking about different "linear heaps", but I'm not exactly sure
     
    Last edited by catlover007, May 15, 2017
  9. kprovost7314

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,688
    883
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    Anyone knows if it's possible to move the camera in a set path in Citro3D (preferably C)?
     
  10. Strongfox

    Strongfox Newbie

    Newcomer
    3
    0
    May 3, 2017
    United States
  11. kprovost7314

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,688
    883
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    renhei, erman1337, Boogieboo6 and 2 others like this.
  12. elhobbs

    elhobbs GBAtemp Advanced Fan

    Member
    782
    292
    Jul 28, 2008
    United States
    Citra vs citro - close enough :)
     
    kprovost7314 likes this.
  13. Strongfox

    Strongfox Newbie

    Newcomer
    3
    0
    May 3, 2017
    United States
    i know right?
     
  14. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    any way to play brstm/bcstm files other than vgmstream? vgmstream plays them but the playback has horrible quality for some reason
     
    Last edited by erman1337, Jun 2, 2017
  15. MRJPGames

    MRJPGames Pretty great guy

    Member
    1,098
    713
    Aug 17, 2013
    Netherlands
    The Netherlands
    Wrong place, but as far as I know there is no other way on PC to play these files. Strange though that vgmstream doesn't give good quality audio for you. A while back I was also playing with these files (from one of the Professor Layton games for 3DS) and the audio quality was the same as on 3DS (though it sounded better with proper PC speakers).
     
  16. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    no i meant playing bcstms on my homebrew
     
  17. MRJPGames

    MRJPGames Pretty great guy

    Member
    1,098
    713
    Aug 17, 2013
    Netherlands
    The Netherlands
    Ah, didn't even know there was a vgmstream for 3DS, just looked it up, pretty cool. But then I don't know. Currently I just use WAVs for my audio, and that seems to be the most common way. You could do that (though it does use quite a bit of memory for longer clips).

    Also vgmstream seems to also have mpeg support and such, which might be worth a try, and is also easier to work with on PC that bcstms. But looking at the code I don't see any reason why bcstm wouldn't sound good or why mpeg would work better, but personally I would just prefer working with mpeg files. Or is there some reason you want to use bcstm files?
     
  18. TarableCode

    TarableCode GBAtemp Regular

    Member
    146
    131
    Mar 2, 2016
    Canada
    I'm not sure how to handle text rendering using a VBO...
    I would like to be able to draw text on both screens but it only works properly on one.

    pseudocode:
    Code:
    void RenderMainScreen( void ) {
       SetRenderTarget( main );
    
       AddText( 0, 0, "okay" );
       CallList( OurVBO );
    }
    
    void RenderSubScreen( void ) {
       SetRenderTarget( sub );
    
       AddText( 20, 20, "lol" );
       CallList( OurVBO );
    }
    
    The 3DS doesn't like this and both screens end up with weird text, or maybe just the upper one I don't remember since I tried 2 days ago.
    What is the proper way to handle having different text on each screen?

    Text/Font code starts here: https://github.com/TaraHoleInIt/minivmac-3ds/blob/master/src/3DSGLU.c#L519
     
    kprovost7314 likes this.
  19. catlover007

    catlover007 GBAtemp Regular

    Member
    158
    178
    Oct 23, 2015
    Germany
    I think you'r problem is that GPUs work asynchronous.
    You just give it a command list and the GPU process it. So if you give it a command that it should render VBO x then later change the content of VBO x and say it should render it again, then you might render either the last or a mix of both contents of the VBO. Because the GPU starts renderering after you gave it the commands(so after the C3D_FrameEnd call).
     
    Last edited by catlover007, Jun 4, 2017
  20. TarableCode

    TarableCode GBAtemp Regular

    Member
    146
    131
    Mar 2, 2016
    Canada
    That's what I figured, what is the best way to go about having different text on both screens?
    I looked into having 2 vertex buffers but didn't see how you would tell the GPU to use a different one.