Citra: eliminate the need to dump the system archives and fonts

Created on 22 Mar 2017  路  11Comments  路  Source: citra-emu/citra

this issue is more of an annoyance than anything for the end user, citra contributors and anyone who helps out in the forums.

discussion and details kindly provided by @JayFoxRox here

https://community.citra-emu.org/t/how-much-further-to-go/732/14?u=ravenhome.

Most helpful comment

@SigmaVirus End users are most likely either inexperienced or malicious, but regardless of what their intent is, system files are, as @JayFoxRox mentioned in the forum post, something that should've already been done ages ago. I mean, for gods' sake dolphin-emu/dolphin has had an HLE IOS since it started supporting the Wii.

And, the purpose of emulating a system is to preserve its legacy, yeah? How hard is it to get the system files now? Trivial; hell, I just got a 2DS off eBay for $40. But what about in a year? Five years? Ten? Twenty? Should we really wait until then to do this? Or do we want to end up like the Original Xbox's emulation scene? (That is, in disrepair and desperately hoping to find some glimpse of technical documentation buried in a developer unit's NAND.)

I am in no way supportive of piracy (especially after having been on the other side of that conversation as a game developer myself), but should we purposefully cripple the project because of it? No! Sure, some may believe it to be a "legal guard rail", if you will, but I'd argue that it's just the opposite in the long run. The fact that it depends on IP to boot a great majority of games and homebrew, would just motivate more piracy in the future, when a 3DS is not as common a commodity.

The days of being forced to decide to either dump your own BIOS/fonts/whatever and risk ruining your hardware, or scour less-than-reputable websites for a copy should be ended as soon as possible. When presented with this choice, the end user will always pick the green button that reads "Download Now!", so why should we force a na茂ve user to pirate these to experience history in the future, when it is our (granted, volunteer) job to facilitate the preservation and reproduction thereof?

All 11 comments

If I have to guess, the end users getting errors about missing files and then comes crying about it is probably by 99,99% pirates that doesn't even own a 3DS or the games to begin with.

These so called files is present on every 3DS out there and it's funny when you think about it, how come people can "dump" their games but fail to dump the necessary files for Citra.
If you can dump the games you sure can dump the files too.

In order to even dump the games you have to own a 3DS but somehow people without a 3DS that cries about missing files manage to do it anyway.
Fascinating!

I think I have made my point very clear here and the Citra team doesn't need to do anything about this.
People that don't own a 3DS, well tough luck!

@SigmaVirus End users are most likely either inexperienced or malicious, but regardless of what their intent is, system files are, as @JayFoxRox mentioned in the forum post, something that should've already been done ages ago. I mean, for gods' sake dolphin-emu/dolphin has had an HLE IOS since it started supporting the Wii.

And, the purpose of emulating a system is to preserve its legacy, yeah? How hard is it to get the system files now? Trivial; hell, I just got a 2DS off eBay for $40. But what about in a year? Five years? Ten? Twenty? Should we really wait until then to do this? Or do we want to end up like the Original Xbox's emulation scene? (That is, in disrepair and desperately hoping to find some glimpse of technical documentation buried in a developer unit's NAND.)

I am in no way supportive of piracy (especially after having been on the other side of that conversation as a game developer myself), but should we purposefully cripple the project because of it? No! Sure, some may believe it to be a "legal guard rail", if you will, but I'd argue that it's just the opposite in the long run. The fact that it depends on IP to boot a great majority of games and homebrew, would just motivate more piracy in the future, when a 3DS is not as common a commodity.

The days of being forced to decide to either dump your own BIOS/fonts/whatever and risk ruining your hardware, or scour less-than-reputable websites for a copy should be ended as soon as possible. When presented with this choice, the end user will always pick the green button that reads "Download Now!", so why should we force a na茂ve user to pirate these to experience history in the future, when it is our (granted, volunteer) job to facilitate the preservation and reproduction thereof?

@anodium thank you, I've been meaning to write a paragraph with the exact same explanation you provided but always slacked off.

the preservation point you made gets the spotlight , in a couple of years from now the 3ds will be an ancient hardware (it is already dying with the release of the switch, soon most major titles will move there and the interest in the 3ds console will die down). getting it won't become easy and you would have to rely on finding it with some previous owner selling it for about 4 times its original price for how rare it is. most people would download the files anyway at that point.

the same thing happened to epsxe . they now have an HLE bios included since a legal ps1 bios is something pretty much impossible for most people to obtain at this point. and i am positive when i say that most people who used epsxe never dumped an actual ps1 bios from a console that they own.

it seems that i wrote the paragraph anyway.

You both make valid points but whether or not, getting the original consoles is not the emulator authors problem and never have been.
They are not obligated to make "fake" BIOSes and "files" to get things running but yet some authors do and I don't like it at all.
Why?

Emulation isn't supposed to be a free ride but somehow it has been for years and it angers me.
I've spent thousand of dollars on games, consoles and dumpers just to have what I have today on my setup and then I still have to look at endless of piracy posts/threads on the web and forums.

My opinion will always be, if you don't own it then it's not your's to emulate.

I don't care if people don't have the economics to buy a console or game as it's not my problem nor the emulator authors.
If you don't own it well it sucks being you!

My name has been dropped here twice so I'll also add my 2 cents:

I fully agree with @SigmaVirus . However: I still think we should have had these files a long time ago (but for different reasons than previously mentioned).

Here is why:

  • We do HLE and implement most of the OS which is contained on the 3DS, for completeness this should include data files which are necessary to run games.
  • Game dumping / backups are also documented elswhere, nowhere do they mention that one needs system files. The whole "you need system files" is exclusive to Citra. We live in a world of HLE and emus-including-bioses. Emu users don't expect that they need more files from a real 3DS. This is mostly a user experience / annoyance issue but in my opinion it's an important one.
    We get a ton of support requests about this. The instructions how to get these files, which games need them etc. are not clear. Ideally we wouldn't need such docs at all if we have proper recreation files.
    (If we still have good docs / tools for advanced users to dump original files this is even better)

Offtopic: For the same reason I feel Citra should ship with a "roms" folder which contains a simple homebrew to test if Citra works properly (testing OpenGL3.3 and audio possibly). This way users would instantly see how the games-list works as the list would not be empty on first boot. Furthermore they know that if they add a game to the "roms" folder that it will show up in the list and work out of the box.

I like this* a lot better than hiding (or even a messagebox) a message like "you need to dump system files" and linking to a scary wiki article.
At that point every user (even those legitimately dumping their own games!) will just google for the files and download them with a handful of clicks. This way the problem comes around at us and drags us into copyright violations and other shady shit.

I don't really care about preservation in this respect because if you are going to pirate your games in 10-20 years you can also pirate the system files (which will probably be bundled with the emu then).
If you back up / preserve your games now you can also preserve your system files now. So, to me, this all comes down to the usability / user experience issue.


*running out-of-box + showing users how the emu works + giving tools to test the emu + ...

I want to bring up another problem of this topic. Take system archive 00010402 for example. It is essentially a table of all countries, with their name, location and state/province list. All the data in this archive is based on _facts_. We are able to collect these country information ourself, and to rebuild the archive using our own parser tool, but it is very likely to end up with an archive with content exactly the same as the original one - now how the copyright issue is determined in this case?


JayFoxRox: these things are also affecting the glyph-width LUTs etc in the font files [just protected by different laws]
I'd say: let's build tools so we can show we can generate them [= we did not just copy them] but otherwise not care if it's exactly the same file

^ :+1:

@wwylele According to the U.S. Copyright Office, "Copyright does not protect facts, ideas, systems, or methods of operation, although it may protect the way these things are expressed." Citation: https://www.copyright.gov/help/faq/faq-protect.html

Later on in that same page they use recipes as an example: "A mere listing of ingredients is not protected under copyright law. However, where a recipe or formula is accompanied by substantial literary expression in the form of an explanation or directions, [...]"

Archive 00010402 is literally just a listing of all countries, and therefore cannot be copyrighted. The fact that we can reproduce an identical copy of the file with no knowledge of the actual contents is a testament to its inability to be copyrighted.

Just to make sure, I wonder if there's any lawyers that can volunteer to give us some legal advice. I think the Free Software Foundation has some?

Okay, I'm sorry for posting this here, but I have to.
I have been searching on Google for many days, but it does not help.
I need to dump the system font from a 3DS. I have a custom font installed, but I have a friend without a font installed, so I want to dump her font so I can revert to stock font. How can I do this?
I DO NOT NEED A SHARED_FONTS.BIN!!!!!! Whenever I look on google about dumping fonts I only see crap about shared fonts. I just need a cia containing the stock font. I know that it it illegal to distribute, but how can I dump it?

@SirNapkin1334 Sorry, but this isn't even citra related, and what you are trying to do, which is to transferring copyrighted content with your friend, is still likely illegal , so we can't help you here anyway.

And please don't reply to this. Just ask somewhere else.

Limited commentary to collaborators to reduce noise.

If you wish to open a support issue, please visit our forums.

Instructions on how to dump the necessary system archives are available on our wiki.

We have implemented our own versions of all the archives by now

Was this page helpful?
0 / 5 - 0 ratings