Homebrew Development

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

  1. Snailface

    Snailface My frothing demand for 3ds homebrew is increasing

    Member
    10
    Sep 20, 2010
    Engine Room with Cyan, watching him learn.
  2. Ericthegreat

    Ericthegreat Not New Member

    Member
    9
    Nov 8, 2008
    United States
    Vana'diel
    I do not doubt they can do it, but how much money has gateway really made? The only way they'll have a chance at making a lot more is if they get it working on the newest firmwares.
     
  3. gamesquest1

    gamesquest1 Nabnut

    Moderator
    21
    GBAtemp Patron
    gamesquest1 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Sep 23, 2013
    I don't want to get into the whole gateway thing in the homebrew thread again, but it's surely better to have people with money behind them looking into things, I'm sure they have made a nice bit of money from their card, it would stand to reason they would be looking to expand the compatibility to higher firmwares.......will they do it? Who knows but I'm sure they wouldn't mind dropping a bit of money to look into it further
     
  4. seagal112

    seagal112 Advanced Member

    Newcomer
    3
    Apr 22, 2014
    mercluke and hippy dave like this.
  5. CalebW

    CalebW Fellow Temper

    Member
    4
    Jun 29, 2012
    United States
    New Mexico
  6. mocalacace

    mocalacace GBAtemp Fan

    Member
    4
    Sep 28, 2008
    United States
    127.0.0.1
    Hey guys, I've taken CalebW's Breakout3DS and made it much less laggy. It was originally updating and writing every block location, to the screen, during the main loop. I have changed this so it will only update the brickset when you break a brick. It lags a little when you break a brick, but it is much better than before. I intend to make it only update the block that is hit, but I need to look at the code a little more to do this. Until then here is an updated launcher.dat and main.c if you want to run it or take a look at it.


    edit1: I was able to make it only update the last hit block. The game is running very smooth, perhaps even too fast. You may want to decrease the ball velocity to make it more playable. The only problem I have ran into is when you hit blocks backtoback it sometimes wont update the frame in time and there will be a ghost brick. (that will disappear if your ball moves over it).
    As always, I may have broke some parts of the game I did not intend to.

    Enjoy :D
    https://www.dropbox.com/sh/men815yxgfwpa8h/AAArohz41jO_ybdol23DDLqva

    edit2: I also have a question about running homebrew as I am still fairly new to the 3DS scene

    I can compile the ARM11 code with CTRUlib, but I'm given a homebrew.elf/homebrew.3ds, there is no way to load these with the current ROPloader and I need Gateway?
     
  7. Vappy

    Vappy GBAtemp Advanced Maniac

    Member
    9
    May 23, 2012
    When smealum releases ssspwn he'll probably include the ability to load homebrew in that format.
     
  8. dubbz82

    dubbz82 GBAtemp Advanced Maniac

    Member
    7
    Feb 2, 2014
    United States
    Yep. That's the problem, to support that format, you have to support the companies that make the rom loading carts (actually ONLY gateway at this point can load them even...)
     
  9. mocalacace

    mocalacace GBAtemp Fan

    Member
    4
    Sep 28, 2008
    United States
    127.0.0.1
    In ARM9 homebrew can you use multiple threads to split the workload on the processor?
     
  10. Kane49

    Kane49 GBAtemp Fan

    Member
    3
    Nov 4, 2013
    Gambia, The
    It never worked for me, it did however work in ARM11 Mode
     
  11. cracker

    cracker Nyah!

    Member
    8
    Aug 24, 2005
    United States
    From 3dbrew's info it seems only the ARM11 is capable of threads and processes (or at least allowed).
     
  12. Bond697

    Bond697 Dies, died, will die.

    Member
    4
    Jun 7, 2009
    United States
    CT
    no, you can do it on the arm9 just fine.
     
  13. Gadorach

    Gadorach Electronics Engineering Technologist

    Member
    6
    Jan 22, 2014
    Canada
    Canada
    Assuming you write your own thread handler, I can't see it not being possible. I haven't looked into the ARM9 CPU though so I have no idea if it natively supports it. It can't hurt to try though, just don't expect it to be as fast as the ARM11, or as capable. The best case would probably be to get both going at the same time, both the ARM9 and ARM11, running together. I imagine one could offload stuff like sound processing to the ARM9 for a PS1 emulator or N64 emulator, thus making them a bit more feasible. Anyway, it would be neat to see someone attempt it, but we'll probably need better GPU control first, or any rendering would eat the CPU(s) too much to be feasible for anything 3D related.
     
  14. mocalacace

    mocalacace GBAtemp Fan

    Member
    4
    Sep 28, 2008
    United States
    127.0.0.1
    I've managed to port over 2048. The pause function doesn't work yet and the score doesn't display properly. To start a new game press Start or lose.


    https://github.com/iamn1ck/3048
     
    Ericthegreat likes this.
  15. bartimeaus91

    bartimeaus91 Stanza Blot Burls Rocks. Meaningless? Maybe not.

    Banned
    1
    Apr 4, 2014
    United States
    Nice. Any chance of a .3ds build? Well. I suppose it would be better if the score is fixed first.
     
  16. cracker

    cracker Nyah!

    Member
    8
    Aug 24, 2005
    United States
    You're using draw_string for oldgamescore and gamescore at the same position.

    Here is a pause function I whipped up quick if you want to use it.
    Code:
    void pause() {
    
    	while (!(button_press & BUTTON_START)){	} // prevent returning right away
    	
    	//draw pause message
    	
    	
    	while ((button_press & BUTTON_START)){	} // loop until start is pressed
    
    }
     
    Coto likes this.
  17. mocalacace

    mocalacace GBAtemp Fan

    Member
    4
    Sep 28, 2008
    United States
    127.0.0.1
    I tried to draw_rect over the area where I was displaying the score in order to update it too, but that didn't work either. The only way the score isn't a bunch rewritten pixels is when you start a new game. And thanks for the pause loop, I'll try to fix that today.

    The score now updates correctly, I had to write a bigger rectangle over the score. Also I'm very interested in running emulators on the 3DS, any chance we can get the source for GB and NES emulators? Do these only run in ARM11?
     
  18. cracker

    cracker Nyah!

    Member
    8
    Aug 24, 2005
    United States
    Most emulators are open source. The only reason I can think of to port a NES emulator is to add 3D to it. nesDS is a great emulator that doesn't really need a vanilla port. I haven't tried GameYob so I can't say what benefit a 3DS port would have besides 3D.
     
  19. dubbz82

    dubbz82 GBAtemp Advanced Maniac

    Member
    7
    Feb 2, 2014
    United States

    For starters, not having to have the ds rom cart wedged in your system whenever you wanna play it? Particularly if it's released in Launcher.dat format, or if someone finds a way to load .3ds homebrew from the SD card.
     
  20. cracker

    cracker Nyah!

    Member
    8
    Aug 24, 2005
    United States
    Well yeah that is a small bonus but it only takes 5 seconds to swap cards.
     
Loading...