Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,475,057
  • Replies Replies 6,048
  • Likes Likes 54
Can someone point me in the direction of how I can go about playing BMPV videos (as well as WAV files, but more importantly BMPV) from a .c source file alone (no LUA)?

I'm waaaay more familiar with working in just C, so I'd prefer a way to implement video without Lua.
 
Can someone point me in the direction of how I can go about playing BMPV videos (as well as WAV files, but more importantly BMPV) from a .c source file alone (no LUA)?

I'm waaaay more familiar with working in just C, so I'd prefer a way to implement video without Lua.

BMPV are very bad cause filesize is too big infact i created also JPGV format which is far away better then BMPV ( http://rinnegatamante.netsons.org/videos/test2.php - This demo refer to an old version of lpp-3ds with some mini-stuttering issue now solved). Anyway, sourcecode of JPGV and BMPV streaming can be found here: https://github.com/Rinnegatamante/lpp-3ds/blob/master/source/luaVideo.cpp
 
BMPV are very bad cause filesize is too big infact i created also JPGV format which is far away better then BMPV ( http://rinnegatamante.netsons.org/videos/test2.php - This demo refer to an old version of lpp-3ds with some mini-stuttering issue now solved). Anyway, sourcecode of JPGV and BMPV streaming can be found here: https://github.com/Rinnegatamante/lpp-3ds/blob/master/source/luaVideo.cpp

Thank you for the tip! I see these functions require a "lua_State *L" argument... what is this exactly? Like I said, I'm trying to use C-only implementation, and am clueless about Lua (even though the source code itself is in C++).
 
Thank you for the tip! I see these functions require a "lua_State *L" argument... what is this exactly? Like I said, I'm trying to use C-only implementation.

First you have to adapt the CSND callbacks to newer libctru syntax (unless you want to use my edited old libctru version.
lua_State is what official LUA intend for LUA stack.
Instead of lua_State you need to pass all the objects required from the function (for example the JPGV object or the filename and so on).
All the arguments you have to add can be found watching all the luaL_checkSOMETHING calls.
 
First you have to adapt the CSND callbacks to newer libctru syntax (unless you want to use my edited old libctru version.
lua_State is what official LUA intend for LUA stack.
Instead of lua_State you need to pass all the objects required from the function (for example the JPGV object or the filename and so on).
All the arguments you have to add can be found watching all the luaL_checkSOMETHING calls.

One more noob question, I'm getting an "unknown type name: Bitmap" and "unknown type name: BMPV" when compiling the project. I basically copied over the includes from your project and modified luaVideo to not work off of Lua. The error has to do with Graphics.h, which is included in luaVideo and is included with the source in its proper folder. What am I doing wrong?
 
I have been using blargSNES with youtubehax and I must say I'm impressed.
Though there are many games that don't work, the ones that work or are running perfectly or with minor flaws,
but still playable and running without slowdowns.
Kudos to Staplebutler(MegaMario), compared to what we had on DS, this is a very significant improvement,
I'm almost beating 100% Super Mario World, and I started yesterday.
 
I have a lot of trouble making sfillib work.
When I link it to my game I get some undefined references from png library.
When I link png library I get a message about VFP Registers for which in devkitpro forums they say
"If you get <file> uses VFP register arguments, <otherfile> does not, then make clean & make sure you rebuild everything with -mfloat-abi=hard"

I don't know how to rebuild png/zlib/jpeg (DevkitPro Portlibs) with the argument they suggest.
Also I have trouble while trying to build them under windows without that argument already.
Does anyone have the Portlibs needed by sfillib compiled with -mfloat-abi=hard ?
 
One more noob question, I'm getting an "unknown type name: Bitmap" and "unknown type name: BMPV" when compiling the project. I basically copied over the includes from your project and modified luaVideo to not work off of Lua. The error has to do with Graphics.h, which is included in luaVideo and is included with the source in its proper folder. What am I doing wrong?

Bitmap and BMPV are both structs used from lpp-3ds to push all needed info to LUA stack through a pointer address.
Graphics.c file is the 2D CPU Rendering library i wrote for lpp-3ds. You have to use also this library if you don't want to rewrite all the graphics functions. (And it's not the only one you need to use. You also need libjpg, libogg and vorbisfile from lpp-3ds to properly play a JPGV file).
 
I have a lot of trouble making sfillib work.
When I link it to my game I get some undefined references from png library.
When I link png library I get a message about VFP Registers for which in devkitpro forums they say
"If you get <file> uses VFP register arguments, <otherfile> does not, then make clean & make sure you rebuild everything with -mfloat-abi=hard"

I don't know how to rebuild png/zlib/jpeg (DevkitPro Portlibs) with the argument they suggest.
Also I have trouble while trying to build them under windows without that argument already.
Does anyone have the Portlibs needed by sfillib compiled with -mfloat-abi=hard ?

Answering my own question about DevkitPro Libraries:
https://gbatemp.net/threads/can-someone-zip-the-3ds-portlibs-for-me.392966/
 
Bitmap and BMPV are both structs used from lpp-3ds to push all needed info to LUA stack through a pointer address.
Graphics.c file is the 2D CPU Rendering library i wrote for lpp-3ds. You have to use also this library if you don't want to rewrite all the graphics functions. (And it's not the only one you need to use. You also need libjpg, libogg and vorbisfile from lpp-3ds to properly play a JPGV file).

I included all the source files in my project just as a base, to see what I can go without including. But even with all the files in your project copied into mine, I still get these errors.
 
Can someone make a DS backup cards? Sav and rom, if is only sav it's fine :yaysp:

I don't know if is difficult, but I want to make backups to mi sd card and don't take the ODS with R4 to make a server into my pc etc...
 
Can someone make a DS backup cards? Sav and rom, if is only sav it's fine :yaysp:

I don't know if is difficult, but I want to make backups to mi sd card and don't take the ODS with R4 to make a server into my pc etc...
IIRC there was an issue that on a 3DS the homebew would freeze when the cart was removed. Since Ironhax/Tubehax doesn't require its own cart, it should in theory be possible to port a DS save dumper that dumps over wifi, or perhaps code it to dump to SD.

Then again, I don't know if Tubehax/Ironhax has the correct access level for it anyways, so correct me if I'm wrong.
 
IIRC there was an issue that on a 3DS the homebew would freeze when the cart was removed. Since Ironhax/Tubehax doesn't require its own cart, it should in theory be possible to port a DS save dumper that dumps over wifi, or perhaps code it to dump to SD.

Then again, I don't know if Tubehax/Ironhax has the correct access level for it anyways, so correct me if I'm wrong.
TDVS might be able to do DS carts as well. But we will only know when Smealum releases it.
 
IIRC there was an issue that on a 3DS the homebew would freeze when the cart was removed. Since Ironhax/Tubehax doesn't require its own cart, it should in theory be possible to port a DS save dumper that dumps over wifi, or perhaps code it to dump to SD.

Then again, I don't know if Tubehax/Ironhax has the correct access level for it anyways, so correct me if I'm wrong.
Actually ninjhax 2.0 completely removes the issue by killing the original app's instance, thus the cart removal issue is no longer an issue since the actual code runs underneath other apps.

TDVS might be able to do DS carts as well. But we will only know when Smealum releases it.
This might be possible actually, a possible idea might be using 2.1's specific app takeover to take over an app which can access DS cart saves (Pokemon Bank possibly?), and then using it's services to dump the save. I'm not sure if anyone has looked into how DS saves are accessed yet though.
 
  • Like
Reactions: Seriel
Can anyone help me compile the 3DS SDL port?

I'm able to compile CTRULIB just fine after installing the "devkitProUpdater-1.5.4" autoupdater.
I've attached a screenshot of my setup and the errors I'm getting.

Thank you.
 

Attachments

  • IMG.jpg
    IMG.jpg
    353.7 KB · Views: 170
Last edited by dfsa3fdvc1,
Can anyone help me compile the 3DS SDL port?

I'm able to compile CTRULIB just fine after installing the "devkitProUpdater-1.5.4" autoupdater.
I've attached a screenshot of my setup and the errors I'm getting.

Thank you.
All of your examples have errors. You should use the msys shell for compiling. There is a link on the start menu.
Edit: also don't put your code under devkitpro. That is a good way to have all of your files deleted when there is an update.
 
All of your examples have errors. You should use the msys shell for compiling. There is a link on the start menu.
Edit: also don't put your code under devkitpro. That is a good way to have all of your files deleted when there is an update.

OK, so I created a W7x64 VM. The only things I have done on the VM are install Python 2.7 and 3.4 then "devkitProUpdater-1.5.4" autoupdater.
I made sure when I installed Python this time I selected "Add python.exe to system path".

It looks like the CTRULIB example finally successfully compiled with 0 errors and was done with MSYS.
Still having issues with the 3DSSDL

Here's a copy of my VM's systempath if that's relevant.
"c:\devkitPro\msys\bin;C:\Python34\;C:\Python34\Scripts;C:\Python27\;C:\Python27\Scripts;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\"

Attached images of my VM compiling both successful CTR compilation and the SDL errors I'm getting.
 

Attachments

  • VM.jpg
    VM.jpg
    278.7 KB · Views: 203
Last edited by dfsa3fdvc1,
OK, so follow-up to the previous post where I'm unable to compile SDL3DS on a fresh install of Windows I figured I'd give a shot on Ubuntu.

I can't even compile the CTRULIB examples. I have attached an image containing everything I did and the errors I'm getting. Can anyone either tell me how how to compile SDL3DS on any OS? Any computer? Can someone confirm that SDL3DS even works and that I'm not just wasting my time.

Please I really need help.
I'd really prefer that I'd get that Windows VM working with SDL3DS since I've already got CTRULIB working so I assume it'd be pretty easy to get SDL3DS working too but I'm open to anything even linux or even Mac.

Please help. I really have no idea what I'm doing wrong.
 

Attachments

  • linux_help.jpg
    linux_help.jpg
    691.5 KB · Views: 205
OK, so follow-up to the previous post where I'm unable to compile SDL3DS on a fresh install of Windows I figured I'd give a shot on Ubuntu.

I can't even compile the CTRULIB examples. I have attached an image containing everything I did and the errors I'm getting. Can anyone either tell me how how to compile SDL3DS on any OS? Any computer? Can someone confirm that SDL3DS even works and that I'm not just wasting my time.

Please I really need help.
I'd really prefer that I'd get that Windows VM working with SDL3DS since I've already got CTRULIB working so I assume it'd be pretty easy to get SDL3DS working too but I'm open to anything even linux or even Mac.

Please help. I really have no idea what I'm doing wrong.
Regarding ubuntu:
Can you type cd /home/ and then dir? There should be a devkit pro folder.
 
Regarding ubuntu:
Can you type cd /home/ and then dir? There should be a devkit pro folder.

Inside the home directory is a folder with my username and inside that folder is devkitpro. Included a picture.
I appreciate any help but I'd really really like to get my Windows VM working with 3DSSDL since that's the closest to being done and the OS I'm most comfortable with. Anyone able to load a VM up and show me what they do to get 3DSSDL to work. Because I screencapped every single thing I did on that install and didn't take all that long.
Actually, confirmation that 3DSSDL works for other people would also be nice because right now, I'm skeptical.
 

Attachments

  • cd.jpg
    cd.jpg
    99.4 KB · Views: 179

Site & Scene News

Popular threads in this forum