Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,475,016
  • Replies Replies 6,048
  • Likes Likes 54
I feel awful asking a question like this... I know the "right" answer is RTFM and try it yourself, but still... I can't give it a go just yet and maybe somebody has already tried it.

Has anybody found success building 3DS homebrew on a Linux environment?

I've fucked with devkitpro and Cygwin and friends on Windows plenty of times. It always seems to bring me misery. For me, trying to write and (more importantly) compile C on Windows tends to bring pain, whereas Linux brings joy. So, has anybody here gotten a working 3DS toolchain on Linux?

T-thanks...


You're one of the users I keep seeing around all of these ninjhax/homebrew threads. And one of the ones who seem to actually be interested in homebrew, where "homebrew" isn't just a euphemism for "playin mah 'backup' ROMzorz lol", and you seem like a cool person. Several people here seem like they're cool people--they know who they are.

I guess I just wanted to say--to you and everybody who actually cares about homebrew--cheers! I'm excited to have a chance at being a part of maybe not-fucking-up the scene; the 3DS could have a good one. :grog:
Checkout http://3dbrew.org/wiki/Setting_up_Development_Environment

I have posted instructions for Linux there.
 
A n64 emulator on the new 3ds will be awesome. The future of 3ds homebrew is so exciting!!!
 
Guys should we define some kind of graphics design guide line? Something like this: http://www.google.com/design/spec/material-design/introduction.html

I think that a standard design applied to every homebrew around here would be great. We should choose how the status bar should be, buttons, colors (if the background is blue, the status bar has to be dark blue, for example) and everything else!
 
  • Like
Reactions: MemoryController
Guys should we define some kind of graphics design guide line? Something like this: http://www.google.com/design/spec/material-design/introduction.html

I think that a standard design applied to every homebrew around here would be great. We should choose how the status bar should be, buttons, colors (if the background is blue, the status bar has to be dark blue, for example) and everything else!
That would be great, as long as we go for modern or flat im okay :)
 
  • Like
Reactions: AlbertoSONIC
Yeah i agree. Something like Android Lollipop's Material Design...
126a4d496878a10176b58c8a4e855a40.jpg
 
  • Like
Reactions: filfat
An UI lib would be convenience but I think devs should be encouraged to create their own UI instead. This is a game console, not a smartphone. There's no need to make every app exactly like each other.
 
  • Like
Reactions: NEP and filfat
An UI lib would be convenience but I think devs should be encouraged to create their own UI instead. This is a game console, not a smartphone. There's no need to make every app exactly like each other.
True, but it would make it easier to use for the end user. Anyways im going to go for one design and stick with it for all the future hb Projects i might be working on :)
 
Odd little quirk I just ran into that might help some people.
I was having mysterious issues with "make" failing, even on things that built before.

Turns out that even using the very latest devkitPro updater, and despite the tutorials saying `just install devkitpro from the latest installer` you actually need to manually expand the list and tick the box under devkitarm to get libctru. It IS NOT checked by default like everything else, even when devkitarm is, and won't be installed unless you change it yourself.
 
I'm trying to compile BlargSnes and so far I've pretty much had every type of error you can possibly imagine :P

I've (probably) sorted them already but I just hit one I can't imagine how to sort now. Any clues on what I'm doing wrong?
Am I using the wrong version of aemstro_as.py? Or anything else?
$ make -f ../marcusvm/Makefile
final.vsh
python /aemstro_as.py /home/marcusvm/data/final.vsh ../final.vsh.shbin
Traceback (most recent call last):
File "C:/Users/USER/Downloads/3DS/Toolchain/msys/aemstro_as.py", line 464
, in <module>
parseLine(dvlb.getDVLP(), dvle, line, False)
File "C:/Users/USER/Downloads/3DS/Toolchain/msys/aemstro_as.py", line 442
, in parseLine
dirList[name](dvlp, dvle, r.group(2))
File "C:/Users/USER/Downloads/3DS/Toolchain/msys/aemstro_as.py", line 353
, in parseConst
dvle.addConstantF((int(s[0],0), float(s[1]), float(s[2]), float(s[3]), float
(s[4])))
File "C:/Users/USER/Downloads/3DS/Toolchain/msys/aemstro_as.py", line 45,
in addConstantF
self._const.append((const[0]<<16, toFloat24(const[1]), toFloat24(const[2]),
toFloat24(const[3]), toFloat24(const[4])))
File "C:/Users/USER/Downloads/3DS/Toolchain/msys/aemstro_as.py", line 10,
in toFloat24
s=f[3]>>7
TypeError: unsupported operand type(s) for >>: 'str' and 'int'
make[1]: *** [final.vsh.o] Error 1
make: *** [build] Error 2

marcusvm@L1BFCHV ~
$

EDIT:
Will it be the python version I'm using? I'm using 2.7.8. Do I need 3.4 to compile 3DS homebrews?
 
I'm trying to compile BlargSnes and so far I've pretty much had every type of error you can possibly imagine :P

I've (probably) sorted them already but I just hit one I can't imagine how to sort now. Any clues on what I'm doing wrong?
Am I using the wrong version of aemstro_as.py? Or anything else?

EDIT:
Will it be the python version I'm using? I'm using 2.7.8. Do I need 3.4 to compile 3DS homebrews?

I'm pretty sure you need to use 3.4 with aemstro
 
  • Like
Reactions: mvmiranda
Urgh, another python version. I just installed 2.7 the other day for something else. Guess it can keep my laptop busy while I try and sleep. Actually fuck it, will leave it until I can be bothered to check out backward compatibility n shit. Can compile the examples that don't use shaders, so I doubt it will be immediately necessary for my first simple stuff.
 
Hey I have a quick question. I'm trying to write homebrew in c++, I was writing it in C but I'm not to comfortable with C, and I'm having trouble with my compiler and the function "u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* height);" . basically I want to draw to the bottom screen so I use screenBottom = gfxGetFramebuffer(GFX_BOTTOM, GFX_BOTTOM, NULL, NULL); and it doesn't work. can anyone point me in the right direction? please?

--edit

I'm sorry. I am a little tired basically what i want to do is clear the frame buffer not draw on the screen. using c++
 
Hey I have a quick question. I'm trying to write homebrew in c++, I was writing it in C but I'm not to comfortable with C, and I'm having trouble with my compiler and the function "u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* height);" . basically I want to draw to the bottom screen so I use screenBottom = gfxGetFramebuffer(GFX_BOTTOM, GFX_BOTTOM, NULL, NULL); and it doesn't work. can anyone point me in the right direction? please?

--edit

I'm sorry. I am a little tired basically what i want to do is clear the frame buffer not draw on the screen. using c++

Hello,
take a look at this function: http://xem.github.io/3DShomebrew/doxygen/gfx_8c.html#aa8cba9e292462f55e7e90cea5ff79e26

Its job is to clear the 3 framebuffers (top left top right and bottom)


Try to use the 3rd line to clear bottom only.

http://xem.github.io/3DShomebrew/doxygen/gfx_8c_source.html#l00144
 

Site & Scene News

Popular threads in this forum