Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,475,692
  • Replies Replies 6,048
  • Likes Likes 54
make sure that the app doesn't quit directly after doing it's job.
If the apps quits, citra will crash
It doesn't, I get this error just before it crashes:
ZI1yUVk.png
 
I've been trying to get this working for hours, it crashes on citra & black screen my friend's 3DS. I got the XML descriptor too
Code:
console = Console.new(BOTTOM_SCREEN)
Socket.init()

client = Socket.connect('188.166.72.241', 80)

Socket.send(client, 'GET /3dsthem.es/api?lua&badges&q=sonic HTTP/1.1\r\n' ..
"Host: 188.166.72.241\r\nConnection: close\r\n\r\n")

Console.append(console, Socket.receive(client, 1024))
Socket.close(client)

Screen.waitVblankStart()
Screen.refresh()
Screen.clear(TOP_SCREEN)
Screen.clear(BOTTOM_SCREEN)
Console.show(console)

Screen.flip()

while true do end

EDIT: I can't find any requests coming from my friend's 3DS in my server access log, and apparently the buffer result was empty, no crash
 
Last edited by erman1337,
I've been trying to get this working for hours, it crashes on citra & black screen my friend's 3DS. I got the XML descriptor too
Code:
console = Console.new(BOTTOM_SCREEN)
Socket.init()

client = Socket.connect('188.166.72.241', 80)

Socket.send(client, 'GET /3dsthem.es/api?lua&badges&q=sonic HTTP/1.1\r\n' ..
"Host: 188.166.72.241\r\nConnection: close\r\n\r\n")

Console.append(console, Socket.receive(client, 1024))
Socket.close(client)

Screen.waitVblankStart()
Screen.refresh()
Screen.clear(TOP_SCREEN)
Screen.clear(BOTTOM_SCREEN)
Console.show(console)

Screen.flip()

while true do end

EDIT: I can't find any requests coming from my friend's 3DS in my server access log, and apparently the buffer result was empty, no crash

Sniff your wifi connection and check if 3DS correctly send a request and if it gets an acknowledgement.

Make sure you are passing the values in the right format (BGR): https://www.3dbrew.org/wiki/GPU/Internal_Registers#Fragment_lighting_registers

So, in this piece of code: https://github.com/devkitPro/3ds-ex...phics/gpu/textured_cube/source/main.c#L86-L94

Are the value for ambient,diffuse,specular stubb,B,G,R; stubb,R,G,B; R,G,B,A or B,G,R,A?
Also the emission values are shininess and three stubbs value?
 
I've just found out why I couldn't use sockets: I was using the unstable version. Now it gives the lua error "Failed connecting server." on Citra
 
  • Like
Reactions: Rinnegatamante
Worked like a charm :D
Does it exists a command-line program to convert a file/folder to a romfs file? Right now i used this https://github.com/SciresM/RomFS-Builder but i prefer to have a command-line ones so i can use it in a buildscript.
I don't bother with a RomFs file. I have a rsf configuration like this: https://github.com/Cruel/DrawAttack/blob/master/res/app/cia.rsf

I have RomFs hardcoded to "res/romfs" for that project, but you could also use something like $(APP_ROMFS) to supply it from command. So you aren't building a RomFs file and then bundling it together with a CIA, you're simply building the CIA directly.
 
It's been 2 years. Are these limitations still in effect? https://github.com/xem/3DShomebrew/wiki/Limitations

As far as I know, none of them are true anymore except for the Home button (unsure of O3DS being able to use 80/96 MB of RAM like Smash/MH4 though, but on N3DS you have access to 124MB). While running under the *hax payloads you can't access the Home Menu (leaving the L+R+Down+B "trick" aside). The Home button is instead used to take screenshots. However, while in CFW, CIA-based homebrew can detect the Home button and allow for the Home Menu to come up (or not to, if it's doing something critical).
 
Last edited by daxtsu,
Okay, i've been having a problem with creating my own cia files and I haven't been able to find a solution.

I'm using makerom and whatever cia file I generate can be successfully installed but never shows up on the home menu. Installing through FBI or dev menu both yield the same problem. What is even weirder is that it shows as correctly installed, any application that can list titles like system settings and FBI show it, and launching it through FBI it works fine. Is this related to having an invalid banner or something? Shouldn't there at least be a icon that shows up?

I've had this same problem I fixed it by using the latest version of makerom/bannertool and this template - https://github.com/thedax/3DSHomebrewTemplate
makerom - https://github.com/profi200/Project_CTR
bannertool - https://github.com/Steveice10/bannertool
 
  • Like
Reactions: thatbooisaspy
I want to implement a cyclic (...kind of) buffer for sound with ndsp, to ensure constant looping playback for files of basically any size.
Can I check the position in the buffer (ie. how many samples were already played)? I mean I went through the documentation, but there are no examples for ndsp, and the descriptions are quite cryptic for me.
The idea was to overwrite the lower half of the buffer when it goes over the half, and the upper half when it goes over again. Or is there a better solution?
 
Last edited by Spaqin,
I want to implement a cyclic (...kind of) buffer for sound with ndsp, to ensure constant looping playback for files of basically any size.
Can I check the position in the buffer (ie. how many samples were already played)? I mean I went through the documentation, but there are no examples for ndsp, and the descriptions are quite cryptic for me.
The idea was to overwrite the lower half of the buffer when it goes over the half, and the upper half when it goes over again. Or is there a better solution?

You can find a little dsp service sample here: https://github.com/CurryGuy/ndsp-example/blob/master/source/main.cpp

Anyway, that's the basic way on how to stream an audio. You can check another solution in my lua interpreter: https://github.com/Rinnegatamante/lpp-3ds/blob/master/source/luaSound.cpp#L1069-L1148

What it does is simply to create two wavebuf and put them in a non-loop dsp playback. Then when one is finished to play, it clears the finished ones, append a new piece of the audiobuffer to be reproduced and then re-insert it in the dsp queue.
 
Looks like it's too complicated for me, I totally can't get it to work :E I managed to write so much spaghetti I can't recognize what I wrote 15 minutes ago.

I'll give it a try sometime later, when I feel smarter and less depressed.
 
Does someone know if there are some changes to apply to executive code between libjpeg standard and libjpeg-turbo using libjpeg API? I tried just to switch from libjpeg.a to libjpeg.a caming from libjpeg-turbo and it resulted in a system crash.
 

Site & Scene News

Popular threads in this forum