Wiki
CaVE / FAQ
- What is the point of CaVE is and why do you make it?
- I downloaded this pre-made pack and...?
- What games can I use with CaVE/NSO?
- Can I add games in a batch all at once?
- Is there a limit to how many games I can add?
- Why is my N64 game colored red? Why wont my N64 game boot? Where do I get dtz files?
- How do I make a dtz?
- Why does the custom SNES game I added fail to load?
- Why does the Switch app crash when I load a game?
- Why wont the Switch app load?
- Why don't I see the custom games I just added, in the Switch app?
- Why don't I see the new officially added games when I update the app?
- Why do I see META_TITLE_COMMENT_**** instead of the games description?
- How do I use the Sync feature? I don't understand the terms and/or setup.
What is the point of CaVE is and why do you make it?
CaVE is a tool for you to add the games you know and love. It is NOT a tool for you to add entire collections consisting of hundreds of games you will never play.
I do not support ROM packs. Period.
I do not support having large collections. I don't prevent them, but I don't lift a finger to support them.
I downloaded this pre-made pack and...?
Nice Answer: Immediately uninstall that piece of trash, and create your own database with CaVE from scratch. That is the point of the program. Those pre-made packs are an insult to me and my work. I did not put in all of the work I did on these things, for such packs to completely obscure my efforts and contributions. Those things completely defeat the purpose of CaVE! Do not bring them up, ever!
Rude Answer: I don't support lazy entitled pieces of shit. Go fuck yourself.
What games can I use with CaVE/NSO?
Simple answer? Everything, including your favorite games, translations, and hacks.
But a simple answer is not accurate enough...
To explain why, first... the emulator code used in these NSO apps is not perfect. It is custom made, and does not have the refinement and versatility of a common fan created emu that has been in development for years. They were created from scratch, and iterated on only as far as to get the next game on the agenda working "good enough".
Knowing that... there are 4 classifications of games for these apps. Stock games. Previous VC releases. All other original games. Hacks/Translations.
Stock games of course work. But you don't need to be concerned with them.
Previous VC titles tend to work well because the current emulator code is derived from the code used for previous VC's.
All other original games... This is where it starts getting harder to define. Different games were made with different hardware/software features, and those features would only be supported if a game using them was officially released as a stock game.
Hacks/Translations fall into the same compatibility as the last category, but with the additional cavaet that they are more likely to do things that reduce the odds of the game remaining compatible. Often, expanding the size of the ROM, changing or forgetting to change the ROM's header, etc. And by their nature, they are made by amateurs of varying skill and quality, without the testing and debugging resources that the original games had.
Compatibility databases have been, and are being worked on to work with the Rating values displayed with each game. This however is mostly USA only at this time, and not available for every system. Hacks/Translation compatibility is not tracked like this because it would be too much work. By default... just test a hack/translation yourself. If it works, great! If it does not... Oh well.
Can I add games in a batch all at once?
No.
Follow up question: Why?
Answer: While a game may work, often it requires specific settings and data. There are hundreds of games for each system, and I can't possibly individually test and fill out data for all of them. You probably want box art, but I cant and wont distribute that with CaVE. For legal reasons and download size reasons.
This tool is meant for YOU to manage your database and customize. For you to add the games you know and love. Not hundreds and hundreds of games that you will never play.
Is there a limit to how many games I can add?
No, and yes. There's no hard fixed limit in the Switch app. But there is a soft limit. Each game creates data in the app's save file, and as a result increases a little to causing the app to load slower and slower. Each game and its art contributes to taking up more and more memory, and after so many games... things load slower, or start crashing. The rough limit for the save issue is around 280 or so, and I've seen reports for the general memory issue to be around 600 with SNES. But thankfully no one needs that many games! Most people won't even play more than 10-20, so adding many more beyond that is a waste of time, effort and space!
Why is my N64 game colored red? Why wont my N64 game boot? Where do I get dtz files?
Your N64 game is colored Red because it lacks a Meta Pack/DTZ file. It wont boot for the same reason.
A Meta Pack/DTZ file contains settings and hacks for the game that are required for Nintendo's emu code to play it, and need to be customized to each game.
If a Meta Pack/DTZ is available for a game, you will see a prompt to choose to download and install it. Otherwise, it should be considered non-working. Look at the Rating score. Even games with DTZ's may not work well.
How do I make a dtz?
A empty DTZ can be generated simply by trying to edit the DTZ (Edit Game Settings) of a game that does not yet have one.
But such a empty DTZ will not help the game work. The absolute minimum that a DTZ needs for a game to boot is at least 1 Idle Address set in the "Idle" tab. It may require more, but I have not seen it require zero.
To figure out a idle address that good enough to get the game to boot, you can defer to my Idle Address Guide (Advanced Users). But make no mistake. This is not a process that is for everyone. The disclaimer will say it all.
Beyond that... even if you have the correct Idle address(s), it still may not boot because it requires other settings. What settings? Who knows! Its game dependent, and that has to be figured out by you. Finally... a game simply may not work no matter what, because the it requires the emu code to be programmed more to support it.
Why does the custom SNES game I added fail to load?
Nintendo added a form of copy protection for NSO SNES. Without the Full Unlock patch, custom SNES games will crash when you try to launch them. Each update of the NSO SNES app will require a new corresponding version of the Full Unlock.
- Make sure the Full Unlock is installed on the Mods tab. Uncheck, Sync, recheck and Sync if you have to.
- There may be a mismatch between the filename and "rom" path reference in the titlesdb mismatch for the custom ROMs.
- Don't manually copy the database to your SD instead of using Sync Database. Manual copying is no longer officially supported in v1.5+.
CaVE v1.5 Beta:
There is a known issue with using SNES databases originally created with the v1.4 branch of CaVE, now being upgraded and managed by the beta. I have tried to figure the issue out and address it a few times, but seem to have failed thus far. It can come from 2 reasons. The sfrom file names do not match whats listed in the titlesdb file (The different being a "S-" as the beginning of the name), or a mismatch and failure to convert the images from the older xtx.z format to png and properly purge references of the older format.
You will either have to manually make sure and convert all file name, titlesdb references and images match, or remake the database.
Why does the Switch app crash when I load a game?
This can be for a couple of reasons. It can be because your game is not compatible, or not configured properly. For SNES for example, you need a Switch sfrom, and some games like ExHiROM ones don't work. For N64 for example, you may lack a properly configured DTZ, or the game flat out just wont work.
Why wont the Switch app load?
Getting stuck on the red logo screen? This is generally due to a flaw in either the lclassics.titlesdb, strings.lng, image xtx.z/.png files, or any of those and files such as ROM, dtz, sfromsig, etc missing or being flawed/corrupt.
If you have bypassed CaVE to modify the lclassics.titlesdb or strings.lng files yourself manually, you probably messed up the .json formatting. Often a missing/extra comma or quotation mark.
Perhaps your .png is in fact a .jpg or .webp with the incorrect extension for its true format.
Perhaps you accidentally deleted a file. Or perhaps when copying over your database folder and its contents, something got corrupt or somehow messed up and you didn't copy over everything.
You might be mixing mods and causing a conflict. This often happens with people using DisplayEx and Hide Player Icon/Background mods that DisplayEx is clearly stated to replace. These mods conflict, and thus you should disable the Hide mods.
If you are using a non-stock Mod, and just recently updated the app, its very possible that the mod now needs to be updated. Stay away from amateur mods that are poorly made and rarely updated. Stick to those from the CaVE Homepage, Patreon, GBATemp Thread and Discord Channel.
If you are using a modern version of the SNES app specifically, this could also be because you have a game that has been discontinued from the NSO service still in your database. Namely, Super Soccer. CaVE "should" remove these games from your database when you update to a version where they are discontinued. But its possible that through a bug or manual user action, it gets added back. When loading the database, it tries to load the image files for the game based on the database saying it exists... but the game does not exist... so it fails.
CaVE v1.5 Beta:
Additionally, with this beta there are new Advanced Mods. Particularly, DisplayEx and the stock Info mod.
If you encounter a loading screen that refuses to finish loading, and have DisplayEx enabled... try disabling it. If that works, report the issue to the tracker specifying the platform and version of the mod. This issue is still trying to be understood, but it relates to the resources the mod uses. Specifically, the colorhalftone_preview.png. Not the file itself, but some metadata about it... that makes absolutely no sense. At best, it seems like a caching issue, but there is no real way to prove or workaround that.
If this happens without DisplayEx, and its not any of the above reasons, then its the Info mod. The info mod is not listed in the mod manager or on the loading screen... because it IS THAT loading screen info. Occasionally, the loading screen tries to display before the Font resource thats used to display the text is loaded. The result will either be a textless loading screen freeze, or a textless letterbox format (black bars on the top/bottom) loading screen freeze. This is a issue I need to figure out how to permanently solve, but generally happens with lag and can be worked around by trying to load the app again.
Why don't I see the custom games I just added, in the Switch app?
This can be for several reason. Sometimes you just need to restart your Switch. More often however is that when Syncing the database to your SD card, the folder or lclassics.titlesdb file got corrupt.
Don't use Tinfoil's MTP responder to Sync your databases to your SD Card! It's terrible. What is verified as good is DBI's MTP responder/server, and TegraRcmGui's Memloader v3 / UMS Tool.
Why don't I see the new officially added games when I update the app?
They wont be visible until you update your custom database to include those games too. You have to add them manually from the "File > Add Game > Add Stock Game" menu.
If you have done that, you may need to restart your switch. Sometimes change wont show until you do.
Why do I see META_TITLE_COMMENT_**** instead of the games description?
This is often due to you having a different locale/language set on your Switch, than what you have selected in CaVE (Use Edit > Default Locale to select. Whats set for the active database is shown on the bottom bar). CaVE defaults to English (US), and applies that or whatever you select to all new databases created in v1.5. If you are loading a database in v1.5 for the first time, and did not properly select the correct locale when prompted to, this default will be applied to the database when you next save it.
How do I use the Sync feature? I don't understand the terms and/or setup.
To start with, your custom database exists in 2 locations. Your PC what runs CaVE, and on your Switch's SDcard.
Syncing in context to that is ensuring the copy on your SDcard is up-to-date with any changes to the copy on your PC.
To achieve this, CaVE allows for a few options. A MTP responder, SD card reader devices, and FTP server.
In simple terms, you run a app on your Switch to host either a MTP responder or FTP server. And through that your PC gets access to your SDcard while its still in your Switch.
A SD card reader, commonly a USB Mass Storage device, similarly grants access to the SD card on your PC. But is more cumbersome as it requires your Switch to be turned off so you can remove the card, and does not grant access to you Switches save NAND.
As far as MTP/FTP apps go, DBI is the most recommended. It offers both. Do not use Tinfoil. It's MTP code is garbage and corrupts the transferred files, leading to issues. But FTPD is supported. It just does not grant access to save NAND at the time of writing this.
MTP
- Connect your Switch to your PC through a USB cable.
- Run DBI
- Select "Run MTP responder"
FTP
- Ensure your Switch is connected to your local Wifi
- Find out the address of your Switch, and set it in CaVE with "Edit > FTP Settings" along with port 5000.
- Run DBI
- Select "Run FTP server"
- (Option based on need) Select "Browse SD card" for access to Exporting your database to your Switches SD card
- (Option based on need) Select "Browse saves" for access to importing/exporting your saves between your Switch's NAND.
Updated