Homebrew [Release] freeShop - open source eShop alternative

  • Thread starter Thread starter TheCruel
  • Start date Start date
  • Views Views 2,154,047
  • Replies Replies 6,701
  • Likes Likes 229
Status
Not open for further replies.
Because it's faster this way, no need to request pics from eShop servers every time.

Same reason CIAngel doesn't have images/English names for Japanese titles; requesting that data on the fly is slow. Neither project wants to implement a bottleneck on usage, so there are sacrifices made in other places.
I understand.
By the way, forgive me if I'm wrong but doesn't the cache have to be manually updated, which is why games appear on CIAngel faster than freeShop?
 
Is Final Fantasy Explorers working for anyone? I get a black screen after exit Bahamut map.
 
  • Like
Reactions: shaneod
I wish there was a "Downoad CIA then Install" option :D That way I would keep both, lol. But its not that important, i really dont care. Im just looking forward to the next-final update of freeshop with the settings, and hopefully being able to download updates, that would be insane :)
freeShop is an eShop clone and there is no point to add CIA creation, if you want to make CIA files just use CIAngel.
 
I understand.
By the way, forgive me if I'm wrong but doesn't the cache have to be manually updated, which is why games appear on CIAngel faster than freeShop?
Yes, the cache is manually updated by the creator of freeShop, automatically downloaded by freeShop on your end.
 
freeShop is designed to be future compatible with title keys independent from any title key website. CIAngel relies on the caching of the 3ds title key site which doesn't cache half the info freeShop has.

Once I refactor some of the caching stuff, it will work for titles that don't exist on the 3ds title key website and any key dumps. I just haven't bothered with that yet since most people aren't interested.
 
Same reason CIAngel doesn't have images/English names for Japanese titles; requesting that data on the fly is slow. Neither project wants to implement a bottleneck on usage, so there are sacrifices made in other places.

After a quick look at cpp3ds/freeShop, I'd bet on-the-fly performance would be massively improved if this implemented a Connection: Keep-Alive header and Accept-Encoding: gzip. Most of the slow down for picking up that data is the build up and tear down of a socket for every query.
 
Strangely, Pokémon t(o)retta lab MAIN SYSTEM appears here, but not on CIAngel.
That is because its actual name is "ポケモントレッタラボ"

> Same reason CIAngel doesn't have images/English names for Japanese titles; requesting that data on the fly is slow.

--------------------- MERGED ---------------------------

freeShop is designed to be future compatible with title keys independent from any title key website. CIAngel relies on the caching of the 3ds title key site which doesn't cache half the info freeShop has.
We don't depend on the 3ds title key site itself, we depend on a JSON file that the developer of that site just happened to implement the same as we already had. You are right though, we lack info FreeShop has, but a lot of that info is useless for the current CIAngel implementation.
 
We don't depend on the 3ds title key site itself, we depend on a JSON file that the developer of that site just happened to implement the same as we already had. You are right though, we lack info FreeShop has, but a lot of that info is useless for the current CIAngel implementation.
I just mean that without the site you would also be making your own cache just like freeShop. People seem to think a cache isn't necessary for freeShop.

After a quick look at cpp3ds/freeShop, I'd bet on-the-fly performance would be massively improved if this implemented a Connection: Keep-Alive header and Accept-Encoding: gzip. Most of the slow down for picking up that data is the build up and tear down of a socket for every query.
That'd speed it up, I'll have to add that to cpp3ds. But there are still plenty of issues. Namely title fetching (for freeShop at least) spans 3-4 servers: icon server, two eshop servers (ninja/samurai), and image server (for DSiWare icons). Also I'd have to sacrifice some efficiently and RAM, especially with icons: my current caching checks icon hashes so that it will reuse the same icon data if multiple titles use it (differing regions all use same icon, and there are like 100 generic videos that use same icon). I also wouldn't be able to easily utilize compiling to sprite sheet and compressing using ETC1 on the 3ds.

It's fine for a few missing titles maybe, but ultimately takes much too long to generate.
 
Last edited by TheCruel,
I just mean that without the site you would also be making your own cache just like freeShop. People seem to think a cache isn't necessary for freeShop.


That'd speed it up, I'll have to add that to cpp3ds. But there are still plenty of issues. Namely title fetching (for freeShop at least) spans 3-4 servers: icon server, two eshop servers (ninja/samurai), and image server (for DSiWare icons). Also I'd have to sacrifice some efficiently and RAM, especially with icons: my current caching checks icon hashes so that it will reuse the same icon data if multiple titles use it (differing regions all use same icon, and there are like 100 generic videos that use same icon). I also wouldn't be able to easily utilize compiling to sprite sheet and compressing using ETC1 on the 3ds.

It's fine for a few missing titles maybe, but ultimately takes much too long to generate.

You're allowed 5 contexts at a time, IIRC, so you can parallel the crap out of fetching the data. It would definitely be a bit of a change to how you're doing things, but most of the performance impact can be reduced/eliminated just by using HTTP as it was intended.
 
eh only if this could just fetch the keys from the eshop like it does when you really buy a game we would not need titel keys and it would allow it to always have the lasted games as soon as they come out
 
eh only if this could just fetch the keys from the eshop like it does when you really buy a game we would not need titel keys and it would allow it to always have the lasted games as soon as they come out
I might be wrong but I think the server won't send you the ticket (therefore the titlekey) before you pay. And since you can't really spoof payment, you won't grab keys for free anytime soon.
 
  • Like
Reactions: I pwned U!
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum