Homebrew [Release] FTP-GMX - Customize Your FTBrony

  • Thread starter Thread starter Vorpal Blade
  • Start date Start date
  • Views Views 44,666
  • Replies Replies 90
  • Likes Likes 24
My instructions and files are up to date in git; If any of you guys are having any additional errors shoot me a PM and I'll be happy to help :).

In a turn of events, the creator of ftbrony mtheall is taking out the bronyness himself and even renamed his application ftpd; I don't know what graphics (if any) he plans on implementing from this point on.

Hello, I have downloaded version of the linker .3DS unfortunately the application is not running.

Code:
FTP-GMX V2.2
Waiting for wifi...

I see the 3DS look light but turns WIFI for nothing

Gateway Ultra v3.7.1 - OLD 3DS XL.
@Joom stated some tips on those with connection issues here. I'm not too savvy with firewall blocking and stuff like that so I wish you luck with it :(

Thanks for this! Any way to change the sound Ftbrony makes when highlighted/selected/launched?
/extra/default.wav is the highlight sound (launch sounds will be theme sound effects). Making a working sound file can be very tedious. This post helped me, though it was still a lot of trial and error :P
 
  • Like
Reactions: D34DL1N3R
EDIT: Figured it out. :)

I get the following errors when building. Any help would be greatly appreciated.

$ make
make[1]: Entering directory `/c/users/xxxxx/desktop/FTP-GMX-master'
console.c
arm-none-eabi-gcc -MMD -MP -MF /c/users/xxxxx/desktop/FTP-GMX-master/build/conso
le.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=har
d -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/users/xxxxx/desktop/FTP-GMX-master/inc
lude -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/
devkitPro/portlibs/3ds/include -I/c/users/xxxxx/desktop/FTP-GMX-master/build -DA
RM11 -D_3DS -c /c/users/xxxxx/desktop/FTP-GMX-master/source/console.c -o console
.o
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c: In function 'print_tcp_t
able':
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:73:10: error: unknown typ
e name 'SOCU_TCPTableEntry'
static SOCU_TCPTableEntry tcp_entries[32];
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:81:8: warning: implicit d
eclaration of function 'SOCU_GetNetworkOpt' [-Wimplicit-function-declaration]
rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:81:27: error: 'SOL_CONFIG
' undeclared (first use in this function)
rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:81:27: note: each undecla
red identifier is reported only once for each function it appears in
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:81:39: error: 'NETOPT_TCP
_TABLE' undeclared (first use in this function)
rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:86:36: error: 'SOCU_TCPTa
bleEntry' undeclared (first use in this function)
for(i = 0; i < optlen / sizeof(SOCU_TCPTableEntry); ++i)
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:88:27: error: 'entry' und
eclared (first use in this function)
SOCU_TCPTableEntry *entry = &tcp_entries;
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:95:14: error: 'TCP_STATE_
CLOSED' undeclared (first use in this function)
case TCP_STATE_CLOSED:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:97:14: error: 'TCP_STATE_
LISTEN' undeclared (first use in this function)
case TCP_STATE_LISTEN:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:99:14: error: 'TCP_STATE_
ESTABLISHED' undeclared (first use in this function)
case TCP_STATE_ESTABLISHED:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:101:14: error: 'TCP_STATE
_FINWAIT1' undeclared (first use in this function)
case TCP_STATE_FINWAIT1:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:103:14: error: 'TCP_STATE
_FINWAIT2' undeclared (first use in this function)
case TCP_STATE_FINWAIT2:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:105:14: error: 'TCP_STATE
_CLOSE_WAIT' undeclared (first use in this function)
case TCP_STATE_CLOSE_WAIT:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:107:14: error: 'TCP_STATE
_LAST_ACK' undeclared (first use in this function)
case TCP_STATE_LAST_ACK:
^
c:/users/xxxxx/desktop/FTP-GMX-master/source/console.c:109:14: error: 'TCP_STATE
_TIME_WAIT' undeclared (first use in this function)
case TCP_STATE_TIME_WAIT:
^
make[2]: *** [console.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/users/xxxxx/desktop/FTP-GMX-master'
make: *** [all] Error 2
 
Last edited by D34DL1N3R,
I made an icon, banner, bottom with a Nintendo font theme. Cia attached. :)

1dxYO3P.png
 

Attachments

Last edited by D34DL1N3R,
Couldn't compile..

Code:
C:\Users\Leo\Desktop\FTP-GMX-master>make
make[1]: Entering directory `/c/Users/Leo/Desktop/FTP-GMX-master'
app_banner.png
app_bottom.png
app_icon.png
console.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Leo/Desktop/FTP-GMX-master/build/console.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=hard -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/Users/Leo/Desktop/FTP-GMX-master/include -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/Users/Leo/Desktop/FTP-GMX-master/build -DARM11 -D_3DS -c /c/Users/Leo/Desktop/FTP-GMX-master/source/console.c -o console.o
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c: In function 'print_tcp_table':
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:73:10: error: unknown type name 'SOCU_TCPTableEntry'
   static SOCU_TCPTableEntry tcp_entries[32];
          ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:81:8: warning: implicit declaration of function 'SOCU_GetNetworkOpt' [-Wimplicit-function-declaration]
   rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
        ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:81:27: error: 'SOL_CONFIG' undeclared (first use in this function)
   rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
                           ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:81:27: note: each undeclared identifier is reported only once for each function it appears in
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:81:39: error: 'NETOPT_TCP_TABLE' undeclared (first use in this function)
   rc = SOCU_GetNetworkOpt(SOL_CONFIG, NETOPT_TCP_TABLE, tcp_entries, &optlen);
                                       ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:86:36: error: 'SOCU_TCPTableEntry' undeclared (first use in this function)
     for(i = 0; i < optlen / sizeof(SOCU_TCPTableEntry); ++i)
                                    ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:88:27: error: 'entry' undeclared (first use in this function)
       SOCU_TCPTableEntry *entry  = &tcp_entries[i];
                           ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:95:14: error: 'TCP_STATE_CLOSED' undeclared (first use in this function)
         case TCP_STATE_CLOSED:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:97:14: error: 'TCP_STATE_LISTEN' undeclared (first use in this function)
         case TCP_STATE_LISTEN:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:99:14: error: 'TCP_STATE_ESTABLISHED' undeclared (first use in this function)
         case TCP_STATE_ESTABLISHED:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:101:14: error: 'TCP_STATE_FINWAIT1' undeclared (first use in this function)
         case TCP_STATE_FINWAIT1:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:103:14: error: 'TCP_STATE_FINWAIT2' undeclared (first use in this function)
         case TCP_STATE_FINWAIT2:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:105:14: error: 'TCP_STATE_CLOSE_WAIT' undeclared (first use in this function)
         case TCP_STATE_CLOSE_WAIT:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:107:14: error: 'TCP_STATE_LAST_ACK' undeclared (first use in this function)
         case TCP_STATE_LAST_ACK:
              ^
c:/Users/Leo/Desktop/FTP-GMX-master/source/console.c:109:14: error: 'TCP_STATE_TIME_WAIT' undeclared (first use in this function)
         case TCP_STATE_TIME_WAIT:
              ^
make[2]: *** [console.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/Users/Leo/Desktop/FTP-GMX-master'
make: *** [all] Error 2

C:\Users\Leo\Desktop\FTP-GMX-master>
 
I made an icon, banner, bottom with a Nintendo font theme. Cia attached. :)

1dxYO3P.png

why speed so dramatic difference between 2.2 ftp-gmx version and original 2.2 ftbrony, by mtheall

this is my test

file = Dr. Mario - Miracle Cure.cia
size = 64 MB

Speed alway 1.5 MB/s - 2.2 FTP-Gmx Nintendo theme by @D34DL1N3R


Screen Shot 2016-02-29 at 4.11.17 PM.png


Speed 700-800 KB/s - 2.2 original FTPD from here by mtheall

Screen Shot 2016-02-29 at 4.17.55 PM.png


i test many times on same environment
 
  • Like
Reactions: D34DL1N3R
I'm also interested to know why this one is faster. What changes were made, aside from graphics?
 
  • Like
Reactions: leorod199
I'll go ahead and admit I'm a turbonoob when it comes to compiling, but I was wondering if this makes any sense to anyone as to why I can't build:

Code:
C:\Users\Adrian\Desktop\FTP-GMX-master>make
make[1]: Entering directory `/c/Users/Adrian/Desktop/FTP-GMX-master'
app_banner.png
app_bottom.png
app_icon.png
console.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Adrian/Desktop/FTP-GMX-master/build/console.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=hard -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/Users/Adrian/Desktop/FTP-GMX-master/include -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/Users/Adrian/Desktop/FTP-GMX-master/build -DARM11 -D_3DS -c /c/Users/Adrian/Desktop/FTP-GMX-master/source/console.c -o console.o
ftp.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Adrian/Desktop/FTP-GMX-master/build/ftp.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=hard -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/Users/Adrian/Desktop/FTP-GMX-master/include -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/Users/Adrian/Desktop/FTP-GMX-master/build -DARM11 -D_3DS -c /c/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c -o ftp.o
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c: In function 'list_transfer':
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c:1849:25: error: request for member 'attributes' in something not a structure or union
       if(dir->entry_data.attributes & FS_ATTRIBUTE_DIRECTORY)
                         ^
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c:1854:35: error: request for member 'fileSize' in something not a structure or union
       st.st_size = dir->entry_data.fileSize;
                                   ^
make[2]: *** [ftp.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/Users/Adrian/Desktop/FTP-GMX-master'
make: *** [all] Error 2
 
I'll go ahead and admit I'm a turbonoob when it comes to compiling, but I was wondering if this makes any sense to anyone as to why I can't build:

Code:
C:\Users\Adrian\Desktop\FTP-GMX-master>make
make[1]: Entering directory `/c/Users/Adrian/Desktop/FTP-GMX-master'
app_banner.png
app_bottom.png
app_icon.png
console.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Adrian/Desktop/FTP-GMX-master/build/console.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=hard -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/Users/Adrian/Desktop/FTP-GMX-master/include -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/Users/Adrian/Desktop/FTP-GMX-master/build -DARM11 -D_3DS -c /c/Users/Adrian/Desktop/FTP-GMX-master/source/console.c -o console.o
ftp.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Adrian/Desktop/FTP-GMX-master/build/ftp.d -g -Wall -O3 -mword-relocations -march=armv6k -mtune=mpcore -mfloat-abi=hard -DSTATUS_STRING="\"FTP-GMX v2.2\"" -I/c/Users/Adrian/Desktop/FTP-GMX-master/include -I/c/devkitPro/libctru/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/Users/Adrian/Desktop/FTP-GMX-master/build -DARM11 -D_3DS -c /c/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c -o ftp.o
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c: In function 'list_transfer':
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c:1849:25: error: request for member 'attributes' in something not a structure or union
       if(dir->entry_data.attributes & FS_ATTRIBUTE_DIRECTORY)
                         ^
c:/Users/Adrian/Desktop/FTP-GMX-master/source/ftp.c:1854:35: error: request for member 'fileSize' in something not a structure or union
       st.st_size = dir->entry_data.fileSize;
                                   ^
make[2]: *** [ftp.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/Users/Adrian/Desktop/FTP-GMX-master'
make: *** [all] Error 2
It's due to recent changes in libctru API. I have just made this PR: https://github.com/FloatingStar/FTP-GMX/pull/1
 
  • Like
Reactions: Ridge

Attachments

Last edited by Ridge,
Updated ftp-depony 2.2!

Thanks again @Shadowtrance for that Makefile code, I was able to implement it smoothly with subtle changes.


The Micro SD Management uses SMB to network, so you couldn't enable FTP just by looking and changing some of the code. Though on the topic of aesthetics, it would be pretty neat to have SD Management's GUI with ftp code under it. Not sure how to approach a project like this. Also I don't think we are allowed to modify and distribute the SD Management.cia (though that won't stop us from distributing it if we do :rolleyes:)
 
So...weird bug. I have no idea why it would do this, but no other homebrew CIAs I've used do this so it must be the cause...
If I load this up (CIA version), then exit, then go and load up yellows8's Homebrew Launcher (the installable CIA)...it instead loads up the 3DS Download Play app. Exiting via home menu button appears to freeze the system, or at least doesn't work. When I power off and then back on, Homebrew Launcher works until I boot up the ftp-gmx CIA.

To make it more interesting, it seems to ONLY be affecting the Homebrew Launcher out of everything I tried. Things work fine...until HBL, then you need to restart to get it to load correctly.

It's incredibly weird and I was pretty taken aback by it earlier (it was quite the WTF moment, as you could imagine). Any ideas? lol
 
Last edited by 9thSage,
So...weird bug. I have no idea why it would do this, but no other homebrew CIAs I've used do this so it must be the cause...
If I load this up (CIA version), then exit, then go and load up yellows8's Homebrew Launcher (the installable CIA)...it instead loads up the 3DS Download Play app. Exiting via home menu button appears to freeze the system, or at least doesn't work. When I power off and then back on, Homebrew Launcher works until I boot up the ftp-gmx CIA.

To make it more interesting, it seems to ONLY be affecting the Homebrew Launcher out of everything I tried. Things work fine...until HBL, then you need to restart to get it to load correctly.

It's incredibly weird and I was pretty taken aback by it earlier (it was quite the WTF moment, as you could imagine). Any ideas? lol

I have exactly the same Problem pretty annoying when you need to enter HBL after FTP.
 
I have exactly the same Problem pretty annoying when you need to enter HBL after FTP.

I'm not sure whether it's related or not, but I also have problem loading FireEmblem Fates (CIA version) after exiting FTP-GMX.

It doesn't always happen, but I noticed the system freeze every time I tried to load FE:Fates after exiting FTP-GMX.
 
I found that it must be connected with libsf2d when i delete the code and 'make' the projekt I can use FTP exit it and then Launch HBL and it succeed. No more 3DS Download Play app and then freeze.
 
I found that it must be connected with libsf2d when i delete the code and 'make' the projekt I can use FTP exit it and then Launch HBL and it succeed. No more 3DS Download Play app and then freeze.

Would you mind sharing the CIA? I don't know how to build/compile it myself.
 

Site & Scene News

Popular threads in this forum