#172854 - ritz - Mon Mar 08, 2010 5:16 pm
I am in agreement with wintermute's lastest posts about ARGV, filesystems, etc. that I'm sure most of you have read as well. Perhaps users here reading this could go to their particular card's forum and post a suggestion or bug report in regards to ARGV support and exit-to-menu support missing. I would suggest linking here: http://wiki.devkitpro.org/index.php/Homebrew_Menu for the firmware guys to refer to. Also, in your homebrew projects, how about a text/splash screen describing the problem when ARGV isn't found and to report this to the card's firmware support? And yea, we should drop abandoned libraries (EFS). This will cause grief in the future (well, and now too).
I currently run libfat 1.0.4 with EFS for performance reasons and for card compatibility. I do check for ARGV first and use that if exists, but do the EFS card searching thing if that fails (I've never liked that).
However, I'm going to move to the toolchain supplied libfat version, drop EFS and go to libfilesystem. I'm not very good with low level type stuff but I'll try to figure out a "patch-submittable" way to optionally not use the new caching in libfat introduced in 1.0.5 (this really slows things down for me). I'll add the splash screen about ARGV too. No more card searching with abandoned code.
Now, if some *significant* homebrew were to do the ARGV text/splash screen we would see some early success with most cards.
My two cents.
#172857 - sverx - Mon Mar 08, 2010 5:32 pm
Ok, I first read about hbmenu the last week. I downloaded and I'm checking it. It looks like it works (on my R4), but needs some refinements. Then, if an homebrew now stops working, who should I complain? To the hb author or to hbmenu author or both? (for instance Bunjalloo 0.8 is one that failed to start... or maybe I've got to move the nds to the same folder of the other files, I still didn't check this :| )
Last but not least: how do I access argv[] from my code? I guess there's a source code example somewhere... where? :)
#172860 - ritz - Mon Mar 08, 2010 5:51 pm
I would think the intended way to access argv is through main():
Code: |
int main (int argc, char **argv)
{
if (argc && argv && argv[0])
printf("%s", argv[0]);
return 0;
} |
#172868 - wintermute - Mon Mar 08, 2010 9:54 pm
Sorry, I kind of forgot that a lot of DS homebrew devs might not be familiar with argv. Just added a quick example on the wiki page.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#172870 - SteveH - Tue Mar 09, 2010 1:49 am
sverx wrote: |
Ok, I first read about hbmenu the last week. I downloaded and I'm checking it. It looks like it works (on my R4), but needs some refinements. |
Yeah the current hbmenu is rather lacking in some ways. but it is getting a face lift soon from what I've seen in the IRC channel
sverx wrote: |
Then, if an homebrew now stops working, who should I complain? To the hb author or to hbmenu author or both? (for instance Bunjalloo 0.8 is one that failed to start... or maybe I've got to move the nds to the same folder of the other files, I still didn't check this :| ) |
Initially I'd say the hb auther for not testing with a working hbmenu, since this is the way that we want all future hb code to run, I'd say that if the code does not work with the hbmenu then it needs to be looked at by the hb dev to see why it fails.
sverx wrote: |
Last but not least: how do I access argv[] from my code? I guess there's a source code example somewhere... where? :) |
#172871 - headspin - Tue Mar 09, 2010 2:52 am
Instead of it failing when argv support isn't detected, how about displaying the following [Images not permitted - Click here to view it]?
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game
#172872 - ritz - Tue Mar 09, 2010 4:06 am
Hey, that's cool headspin. I like it. Maybe wintermute can set up a redirect on devkitpro.org/hbmenu to go to his wiki page about it. It's a nice short URL - easy to remember.
#172873 - the kid in the clock - Tue Mar 09, 2010 5:29 am
it seems like it might put even more pressure on the cart people if you kept a list of carts that work - or don't work - on that page.
#172876 - SteveH - Tue Mar 09, 2010 11:15 am
Now that image right there is one brilliant solution to all this...
Just need that added into the compile process for the next devkitARM (or r30 as that's sort of like a major release number)
ritz wrote: |
Hey, that's cool headspin. I like it. Maybe wintermute can set up a redirect on devkitpro.org/hbmenu to go to his wiki page about it. It's a nice short URL - easy to remember. |
Why a redirect? If it's done as a page on the site then only WinterMute can edit that list, if it's on a Wiki then it might end up like wikipedia...
the kid in the clock wrote: |
it seems like it might put even more pressure on the cart people if you kept a list of carts that work - or don't work - on that page. |
Yup, it would be nice to see error reports on the cart maker's support forums linking to that image XD
#172878 - wintermute - Tue Mar 09, 2010 11:48 am
Heh, just because it's a wiki doesn't mean just anyone can edit it :p
Redirect in place.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#172879 - sverx - Tue Mar 09, 2010 1:06 pm
headspin wrote: |
Instead of it failing when argv support isn't detected, how about displaying the following image? |
cool! :D
#172880 - kusma - Tue Mar 09, 2010 2:13 pm
Cool idea, but I'm wondering if sending people to a page called "hbmenu" after telling them their firmware seems a little bit illogical. Perhaps a page called "devkitpro.org/firmware" would be easier to understand/remember for people who doesn't know the issue in advance?
#172881 - Lazy1 - Tue Mar 09, 2010 3:04 pm
For non-programmers the message could be a bit unclear.
Maybe something like:
"This application requires an update from your cart manufacturer."
"Visit http://blah for more information."
#172882 - Dwedit - Tue Mar 09, 2010 3:17 pm
Rule #1 of error messages, if you make your error message look like the health warning screen, people will intentionally go out of their way to try to NOT read it.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#172883 - ritz - Tue Mar 09, 2010 3:26 pm
the kid in the clock, kusma, and Lazy1 make good points.
Dwedit wrote: |
if you make your error message look like the health warning screen, people will intentionally go out of their way to try to NOT read it |
lol, true... I thought that screen looked a little familiar but I couldn't put my finger on it.
#172886 - vuurrobin - Tue Mar 09, 2010 8:56 pm
I like the image, but I think the message is unclear. why would somebody ask for an update just because a program supports argv. the problem isn't that the program supports argv, but that the cards firmware doesn't support it. it also doesn't mention homebrewmenu anywhere, but still links to a page about it. I would also suggest people to use the homebrewmenu, since that is easier for them.
I think that this would be a better message:
"Your flashcards firmware doesn't support the argv protocol. Please use the homebrewmenu or contact your flashcard manufacturer for an update. For more information, see www.devkitpro.org/hbmenu ."
I think it would also help to at least email some card manufacturers. if 1 or 2 starts supporting it, the rest should follow soon to not stay behind.
_________________
my blog:
http://vuurrobin.100webcustomers.com/
#172887 - headspin - Tue Mar 09, 2010 10:58 pm
It's intentionally vauge so people visit the webpage for more info. If WM sets up a webpage he can list cards that are compatible, where to download hbmenu, why argv is important and so on. Really the idea is to get people visiting the website and to make it look like old devices are failing in some way so that manufacturers have more incentive to update their hardware.
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game
#172893 - sverx - Wed Mar 10, 2010 1:10 pm
Ok, which carts do already support argv in their native firmware, then?
#172895 - Ludo6431 - Wed Mar 10, 2010 2:29 pm
Acekard 2/2i/RPG supports now the new argv address ( http://www.normmatt.com/forum/viewtopic.php?t=302&f=8 ) thanks to AKAIO 1.6 RC1.
_________________
Sorry for my poor english, I'm french.
#172896 - kusma - Wed Mar 10, 2010 3:32 pm
...But is AKAIO the native firmware for any of the Acecards, or is it just a replacement? That is, what ships with the Acecards?
#172897 - wintermute - Wed Mar 10, 2010 5:08 pm
Quite a lot of cards don't ship with anything, you're left to download the "firmware" and copy it to SD yourself. Both my AK2i and my R4i came like that.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#172900 - Ludo6431 - Wed Mar 10, 2010 9:23 pm
kusma wrote: |
...But is AKAIO the native firmware for any of the Acecards, or is it just a replacement? That is, what ships with the Acecards? |
WM is right, and moreover the official website promote that unofficial loader (see : http://www.acekard.com/download.php).
_________________
Sorry for my poor english, I'm french.
#172903 - kusma - Thu Mar 11, 2010 12:05 am
Ludo6431 wrote: |
kusma wrote: | ...But is AKAIO the native firmware for any of the Acecards, or is it just a replacement? That is, what ships with the Acecards? |
WM is right, and moreover the official website promote that unofficial loader (see : http://www.acekard.com/download.php). |
Uhm, you didn't seem to get it: You didn't answer the question, you answered what you WANTED the question to be.
#172905 - Ludo6431 - Thu Mar 11, 2010 1:06 am
1. kusma wrote: |
...But is AKAIO the native firmware for any of the Acecards, or is it just a replacement? |
If the AKAIO is an Ludo6431 wrote: |
unofficial loader |
that means it isn't the kusma wrote: |
native firmware |
and it's a .
2. kusma wrote: |
That is, what ships with the Acecards? |
WM wrote: |
Quite a lot of cards don't ship with anything |
Ludo6431 wrote: |
WM is right |
so nothing ships with the Acekards.
_________________
Sorry for my poor english, I'm french.
#172910 - kusma - Thu Mar 11, 2010 11:00 am
Ludo6431 wrote: |
<pointlessly copped up quotes> |
Please forgive me for being a bit harsh yesterday, but I think the answer to sverx' original question is that currently no carts ships with argv-support in their native firmware (but I do not know for sure, as I haven't researched a lot of carts).
That Acecard promotes a replacement firmware that does is very good, and surely makes Acecard one of the best options.
But it wasn't what the question was about (AFAICT), and I suspect that just asking the user to upgrade his firmware (as headspin's suggested warning-screen did) would make a lot of people try the latest OFFICIAL firmware, and not AKAIO. Surely, more information could be put on the devkitpro-wiki, but there being a link on the warning-screen doesn't mean that everyone will try it. Users are notoriously bad at reading error-messages, especially after reading the first line ;)
#172944 - sverx - Fri Mar 12, 2010 10:22 am
kusma wrote: |
I think the answer to sverx' original question is that currently no carts ships with argv-support in their native firmware |
Thanks. I've also understood it's so, unfortunately. So we've got to convince one of (the bigger of) them and we'll get them all sooner or later?
#172956 - kusma - Fri Mar 12, 2010 6:29 pm
sverx wrote: |
Thanks. I've also understood it's so, unfortunately. So we've got to convince one of (the bigger of) them and we'll get them all sooner or later? |
I think they need an incentive bigger than "it implements unknown standard x" to throw money and development resources at it... like some popular-enough DS software requiring it. It's kind of a chicken-and-egg problem; who bothers to spend a lot of time writing some solid software that might not be runnable at any decent card (and that they can't test)? AKAIO and Hbmenu are clearly the solution to that, though.
#172963 - wintermute - Fri Mar 12, 2010 10:17 pm
It's not like they actually have to throw money & development resources at it ( and I'm pretty sure they have a *lot* of the former - one of the UK retailers who got jailed recently had 26K R4 cards in stock). An article I was reading the other day suggested that 90% of DS owners own a pirate card which shocked the hell out of me.
Hbmenu is open source, it works on the cards I've managed to find a means to replace the menu on and it implements the argv & exit functionality. Obviously it'll be a little more attractive once we get the akaio gui in there but I'm really not sure what else we can do.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#172968 - kusma - Sat Mar 13, 2010 3:24 am
wintermute wrote: |
It's not like they actually have to throw money & development resources at it ( and I'm pretty sure they have a *lot* of the former - one of the UK retailers who got jailed recently had 26K R4 cards in stock). An article I was reading the other day suggested that 90% of DS owners own a pirate card which shocked the hell out of me.
Hbmenu is open source, it works on the cards I've managed to find a means to replace the menu on and it implements the argv & exit functionality. Obviously it'll be a little more attractive once we get the akaio gui in there but I'm really not sure what else we can do. |
Every change costs money and development resources, even if the code is already written. You still have to do integration, QA and packaging - which can often amount to a lot more than the coding.
Also, having a lot of money doesn't mean that one wants to spend it on thing that doesn't clearly increase the market-value of their product. Especially if what you said about 90% of all DS-owners holds true; there's certainly not anywhere near 90% of the DS-owners that run home-brew software (my guess would be in the 5-10% range), so it'd most likely be money out the window from a marketing point of view.
#172969 - wintermute - Sat Mar 13, 2010 12:30 pm
I love the way you operate from the assumption that these companies have professional standards :p
Something to consider though ... adding support for homebrew applications improves the legal position of their product.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#173040 - the kid in the clock - Tue Mar 16, 2010 8:53 pm
cyclods has just fixed up their argv support - it's firmware 1.58 beta 2. http://www.teamcyclops.com/forum/showthread.php?t=13126
#173041 - Ludo6431 - Tue Mar 16, 2010 8:59 pm
EDGE too (version 1.9) : http://www.edge-ds.cn/
_________________
Sorry for my poor english, I'm french.
#173043 - Lazy1 - Tue Mar 16, 2010 10:58 pm
I emailed the m3 team for information about their funky firmware format but haven't received any response yet.
Not expecting one either though, sadly.
#173054 - wintermute - Thu Mar 18, 2010 12:59 am
#173057 - sverx - Thu Mar 18, 2010 9:21 am
Time to update the http://www.devkitpro.org/hbmenu page with these details?
(exit to menu is still missing btw?)
#173060 - SteveH - Thu Mar 18, 2010 12:58 pm
Does anyone know if the CylcoDS, Edge and Akaio updates support the Exit to menu features as well?
#173061 - Stephanie - Thu Mar 18, 2010 1:32 pm
I read that Normatt is going to add the exit to menu function to Akaio, but don't know when. It's not in 1.6rc1.