Homebrew CaVE Database Manager - A SNES, NES, N64, Genesis Switch Online modding App

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Having issues with NES specifically. I have the other 5 custom databases running flawlessly. NES just hangs at the logo screen. Can only assume its to do with image formatting. Added my images to CaVE in xtx.z but still no joy.

Did you notice "EarthBound Begingings" in the Add Stock Games list, and click it? That is a bug right now. It's a duplicate. And if you add a duplicate entry it causes the JSON output of the lclassics.titlesdb to be seen as corrupt. If this is what happened for you, delete the entries and ensure you only re-add one. I'll get this bug fixed when I can.

EDIT:

Redownload cave to eliminate this issue from happening in the future. But you should still need to manually delete the earthbound entries and readd the one after.
 
Last edited by DarkAkuma,

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,431
Country
United Kingdom
Did you notice "EarthBound Begingings" in the Add Stock Games list, and click it? That is a bug right now. It's a duplicate. And if you add a duplicate entry it causes the JSON output of the lclassics.titlesdb to be seen as corrupt. If this is what happened for you, delete the entries and ensure you only re-add one. I'll get this bug fixed when I can.
Ah - yes I did. I’ll check it out later today and see if that’s the issue.

Thanks for your hard work dude :)

Edit: @DarkAkuma - I rebuilt my NES database without adding the second erroneous copy of Earthbound Beginnings - boots and works as expected.

Curiously, as soon as I add the remove player icon and background mods (v6 on your site), it falls over and hangs at the boot logo screen again.
 
Last edited by The_Chaotician,

SNES-Fan

Well-Known Member
Newcomer
Joined
Apr 16, 2022
Messages
45
Trophies
0
Age
48
Location
Dreamland
XP
1,077
Country
Germany
Has anyone tried injecting the complete romset of SNES, NES, Mega drive, ETC into NSO? Does it work well?
Of course not because it's absolutely senseless.
Just thinking about it is mindless.
No one has so few brain cells to try that.
But I'm sure there are a few unemployed idlers with enough time for trying.
 
Last edited by SNES-Fan,

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Has anyone tried injecting the complete romset of SNES, NES, Mega drive, ETC into NSO? Does it work well?

This is not injection!
This is not injection!
This is not injection!
This is not injection!
This is not injection!
This is not injection!

Please... people... stop using that idiotic term! NSO aside, its been technically used incorrectly for a long time. But with NSO specifically, theres no "technically" about it. Its used COMPLETELY INCORRECTLY and stupidly.

That out of the way... to build off SNESfans comment, I'm very vocal about my distaste for that. I even put it in the FAQ. No one needs the entire catalog of games for a system! CaVE is for people to play the games they know and love, not for people to add hundreds of games that they will NEVER play. The "I have to have the entire platforms game catalog available" mentality is moronic.

Further on this topic, there are games for each system that just wont work. NES? Unsupported mappers and light gun games. SNES? Unsupported special chips, light gun games and ExHiROM games. Etc. So adding the "complete romset" is again stupid.

Then theres limitations of the app itself. In making the SNES Preset Info Database, I made a custom database of the entire 720 licensed SNES games. While in the end... the app technically loaded, it was definitely not without issues. There is no firm number of max games the app will support, just various soft limits. The limit set with CaVE (280 I think?) is around the first soft limit. After that, various issues crop up. But as recent tests have shown, that limit may be even lower now. I cant even load my 720 game SNES database at all now, when I could before. Thee absolute max limit now for SNES is 670. Even getting to that requires trickery.
 

ElitePowerGamer

Active Member
Newcomer
Joined
Jan 7, 2017
Messages
34
Trophies
0
XP
505
Country
Canada
Has anyone gotten rumble to work on GBA? I'm trying to get rumble on Pokémon Pinball: Ruby & Sapphire specifically. Considering that the included Super Mario Advance 4 does have working rumble, it should be possible...?
 

ChabadaMan

Member
Newcomer
Joined
Sep 7, 2020
Messages
8
Trophies
0
Age
43
XP
53
Country
United States
Did a few testing overnight, the NES update likely changed something that's impacting the max number of games. I used to have a pack with 507 games, it was loading without any issue (except when closing the app).

Using dichotomy to speed up the process, I found that there is a new limit now at 455.

After that, at 456 games, the app would launch but no game would be playable (including the stock ones), starting a game would crash the app.
Adding even more games, displaying any game description with X would crash the app and no game would be playable.
Adding even further games, reaching 507, the app won't even launch anymore and would crash before displaying the game list.

I'm ok with having less games, but just sharing the info in case it's helping anyone.

I only have custom packs for NES and SNES, so haven't tried the other apps, but it's not causing any issue with the SNES pack, this new limit is only showing with the new NES update (6.4.0).
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Did a few testing overnight, the NES update likely changed something that's impacting the max number of games. I used to have a pack with 507 games, it was loading without any issue (except when closing the app).

Using dichotomy to speed up the process, I found that there is a new limit now at 455.

After that, at 456 games, the app would launch but no game would be playable (including the stock ones), starting a game would crash the app.
Adding even more games, displaying any game description with X would crash the app and no game would be playable.
Adding even further games, reaching 507, the app won't even launch anymore and would crash before displaying the game list.

I'm ok with having less games, but just sharing the info in case it's helping anyone.

I only have custom packs for NES and SNES, so haven't tried the other apps, but it's not causing any issue with the SNES pack, this new limit is only showing with the new NES update (6.4.0).

Thanks for the report.

I didn't think it would only be a lowered limit with SNES and GB/GBA, but its good to have confirmation.

I guess I havent posted my theory publicly on this thread, so I may as well now. Do it once for reference, so I dont have to keep repeating it.

I am fairly certain that the main issue with the soft game limit is... Images. Each game adds 2 images to memory. For SNES for example, one is 512x357, and one is 400x300. If you understand how gaming textures and RAM works, you would know that compression formats for a image are irrelevant. All such images are loaded into RAM in a raw 4 bytes per pixel format. And recently I have done some work on systematically decompiling the lua scripts that handle the menu, finding that yes, BOTH images are loaded into RAM when the app is first loaded.

So... doing some math you would find that a the SNES images take up 0.73MB and 0.48MB. That's 1.21MB per game. 670 right now is the exact absolute max I can load into SNES without the app refusing to load at all. So... 1.21MB X 670 = 810.7MB.

Now, while the Switch has 4GB of RAM, that doesnt mean that all of it is allocated and available. I don't know the specifics of its access limits. But I can say how coding is often done. In coding, you allocate a fixed amount of memory for your data. Generally above your theoretical maximum needs, but not SO FAR above that you are hogging and wasting too much RAM. 900-1000MB may be that max (assume the other 90-190MB are being used by other things of the app. Menu images, code, etc).

Now here is why GB/GBA seems to have a lower soft limit.

GB/GBA box images are 512x512. Not 512x357. One image takes up more RAM that SNES/N64 counterparts. 1.04MB instead of 0.73MB. So if you go by 810.7MB being the RAM limit for images... thats comes out to a theoretical soft limit of 533 for GB/GBA.

For NES the the box images are 359x512. Almost the same footprint as SNES. But I will point out that 670 is the max I could get to load in the app at all. Soft caps... can be defined differently. Like for example, 280 is the limit I added to CaVE simply because after that the save file can start having issues due to tracking sorting among other things. I think around 350-400 games when I was making my SNES Preset Database, is when I first started noticing instability of the app. Crashes here and there when loading the app or games. Maybe lag. That kind of stuff.

This is as far as I have cared to theorize and research this. But I can say that there is a test someone might be able to do to see if this holds true. That test being... to make a copy of their titlesdb, and remove all the "details_screen" lines. IDK, probably even just mass replacing the text "details_screen" with something else that the app will ignore would virtually delete the line. I know from viewing the decomp that if the line is not found, the app will simply ignore it and carry on. The app would end up loading half the images, and thus should have more RAM available to run stable. The only downside of course is that the screen where the details screen image would be displayed would be messed up.

This is the most I will ever help people with such oversized databases... But yea. If that works, that could be viable if you want more games and dont mind losing the title screen images. Or... you could try using smaller resolution images for your box art. Like 256x178 or something. Again, if you are fine with the trade off.

That said... don't. You dont need 9,001 games in your databases. Just add what you know and love, or what you think you might like and ACTUALLY PLAY. Seriously, if later you think of a game to play and its not in your database, you can then just add it with CaVE. This "one-and-done" mentality some people have is just lazy...
 

ChabadaMan

Member
Newcomer
Joined
Sep 7, 2020
Messages
8
Trophies
0
Age
43
XP
53
Country
United States
Thanks for the report.

I didn't think it would only be a lowered limit with SNES and GB/GBA, but its good to have confirmation.

I guess I havent posted my theory publicly on this thread, so I may as well now. Do it once for reference, so I dont have to keep repeating it.

I am fairly certain that the main issue with the soft game limit is... Images. Each game adds 2 images to memory. For SNES for example, one is 512x357, and one is 400x300. If you understand how gaming textures and RAM works, you would know that compression formats for a image are irrelevant. All such images are loaded into RAM in a raw 4 bytes per pixel format. And recently I have done some work on systematically decompiling the lua scripts that handle the menu, finding that yes, BOTH images are loaded into RAM when the app is first loaded.

So... doing some math you would find that a the SNES images take up 0.73MB and 0.48MB. That's 1.21MB per game. 670 right now is the exact absolute max I can load into SNES without the app refusing to load at all. So... 1.21MB X 670 = 810.7MB.

Now, while the Switch has 4GB of RAM, that doesnt mean that all of it is allocated and available. I don't know the specifics of its access limits. But I can say how coding is often done. In coding, you allocate a fixed amount of memory for your data. Generally above your theoretical maximum needs, but not SO FAR above that you are hogging and wasting too much RAM. 900-1000MB may be that max (assume the other 90-190MB are being used by other things of the app. Menu images, code, etc).

Now here is why GB/GBA seems to have a lower soft limit.

GB/GBA box images are 512x512. Not 512x357. One image takes up more RAM that SNES/N64 counterparts. 1.04MB instead of 0.73MB. So if you go by 810.7MB being the RAM limit for images... thats comes out to a theoretical soft limit of 533 for GB/GBA.

For NES the the box images are 359x512. Almost the same footprint as SNES. But I will point out that 670 is the max I could get to load in the app at all. Soft caps... can be defined differently. Like for example, 280 is the limit I added to CaVE simply because after that the save file can start having issues due to tracking sorting among other things. I think around 350-400 games when I was making my SNES Preset Database, is when I first started noticing instability of the app. Crashes here and there when loading the app or games. Maybe lag. That kind of stuff.

This is as far as I have cared to theorize and research this. But I can say that there is a test someone might be able to do to see if this holds true. That test being... to make a copy of their titlesdb, and remove all the "details_screen" lines. IDK, probably even just mass replacing the text "details_screen" with something else that the app will ignore would virtually delete the line. I know from viewing the decomp that if the line is not found, the app will simply ignore it and carry on. The app would end up loading half the images, and thus should have more RAM available to run stable. The only downside of course is that the screen where the details screen image would be displayed would be messed up.

This is the most I will ever help people with such oversized databases... But yea. If that works, that could be viable if you want more games and dont mind losing the title screen images. Or... you could try using smaller resolution images for your box art. Like 256x178 or something. Again, if you are fine with the trade off.

That said... don't. You dont need 9,001 games in your databases. Just add what you know and love, or what you think you might like and ACTUALLY PLAY. Seriously, if later you think of a game to play and its not in your database, you can then just add it with CaVE. This "one-and-done" mentality some people have is just lazy...

Thanks a lot for sharing.
I think that this makes sense.
I didn't check the size of the stock games boxart, but I did a quick diff between a NES 6.3.0 lclassics.titlesdb with stock games only and a NES 6.4.0 with stock games only also, and it seems that now boxarts are stored uncompressed, for all stock games.
Most of the lines look like the following pattern now (old 6.3.0 stock files on the left, new 6.4.0 new stock files on the right):

2608,2609c2641,2642 < "cover": "/titles/CLV-P-NAHJE/CLV-P-NAHJE.xtx.z", < "details_screen": "/titles/CLV-P-NAHJE/CLV-P-NAHJE00.xtx.z", --- > "cover": "/titles/CLV-P-NAHJE/CLV-P-NAHJE.png", > "details_screen": "/titles/CLV-P-NAHJE/CLV-P-NAHJE00.png",

It would be interested to check the file size between the xtx.z files and the png uncompressed boxarts.
That would confirm your theory and also the fact that I can't store as many games before crashing now.
 

mister_smang_n_watch

Well-Known Member
Newcomer
Joined
Mar 19, 2023
Messages
47
Trophies
0
Age
34
XP
162
Country
United States
Would Sakura Wars work with Zebra Engine? It's really the only Saturn game I want to play apart from maybe Grandia. SW is two disks and English patched. Looks like Cave only asks for one disk though.
 

Some Chump

Member
Newcomer
Joined
Sep 14, 2014
Messages
7
Trophies
0
Age
44
XP
115
Country
New Zealand
Gba games are not displaying the game description. Just shows "meta title comment..."
IMG_20230320_102536.jpg
 

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,431
Country
United Kingdom
Redownload cave to eliminate this issue from happening in the future. But you should still need to manually delete the earthbound entries and readd the one after.
Does this also solve the potential issue with the icon/background mods? I edited my most recent reply rather than double post so you may not have been notified.
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Thanks a lot for sharing.
I think that this makes sense.
I didn't check the size of the stock games boxart, but I did a quick diff between a NES 6.3.0 lclassics.titlesdb with stock games only and a NES 6.4.0 with stock games only also, and it seems that now boxarts are stored uncompressed, for all stock games.
Most of the lines look like the following pattern now (old 6.3.0 stock files on the left, new 6.4.0 new stock files on the right):

2608,2609c2641,2642 < "cover": "/titles/CLV-P-NAHJE/CLV-P-NAHJE.xtx.z", < "details_screen": "/titles/CLV-P-NAHJE/CLV-P-NAHJE00.xtx.z", --- > "cover": "/titles/CLV-P-NAHJE/CLV-P-NAHJE.png", > "details_screen": "/titles/CLV-P-NAHJE/CLV-P-NAHJE00.png",

It would be interested to check the file size between the xtx.z files and the png uncompressed boxarts.
That would confirm your theory and also the fact that I can't store as many games before crashing now.

This change from xtx.z to png is known, and why the latest update cave was delayed (I had to test things). I have not been attributing the soft limit change to that. I feel that recent versions of the apps code is taking up different footprint itself. Hence how SNES went from a max limit of over 720, to exactly 670. SNES still uses the same sized and format of images.

That said... the change from xtx.z to png could cause a change in the memory footprint. But if it did, it would be lower. The xtx format is a altered version of .dds, which itself is a raw texture format (the .z is what compresses it). But these formats use premade mipmaps. PNG does not. IIRC it has 6-7 levels of mipmaps. But just because png doesnt do mipmaps itself, doesnt mean that the app doesnt auto generate some. No clue.

Gba games are not displaying the game description. Just shows "meta title comment..."

This is almost always because you are using a different locale on your switch than you are using in CaVE. CaVE defaults to English (US). The "Back" button in your pic appears to be English, so maybe you are using English-GB on the switch? Or some mismatch.

The next most likely issue is that, you manually copied the files to your SD Card, and when doing so you didn't copy the "bootapp\resources\strings\<language>\strings.lng" file for some reason. Some people disregard the guide and dont just copy the root title id folder to the contents folder for some reason.

I think its about time I add this question to the FAQ... it comes up way to much...

EDIT:

Now added to the FAQ. Why do I see META_TITLE_COMMENT_**** instead of the games description?
 
Last edited by DarkAkuma,

Sir3Ball

New Member
Newbie
Joined
Mar 21, 2023
Messages
3
Trophies
0
Age
33
XP
30
Country
United States
Did you notice "EarthBound Begingings" in the Add Stock Games list, and click it? That is a bug right now. It's a duplicate. And if you add a duplicate entry it causes the JSON output of the lclassics.titlesdb to be seen as corrupt. If this is what happened for you, delete the entries and ensure you only re-add one. I'll get this bug fixed when I can.

EDIT:

Redownload cave to eliminate this issue from happening in the future. But you should still need to manually delete the earthbound entries and readd the one after.
I have been having the same exact issue and I've tried your suggestion above and still get the hang at load screen. I've also tried just removing Earthbound altogether and it still just hangs on the load screen.. I'd really like to avoid having to rebuild my custom database from scratch if possible. Any other ideas as to what might be causing the issue?
 

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,431
Country
United Kingdom
I have been having the same exact issue and I've tried your suggestion above and still get the hang at load screen. I've also tried just removing Earthbound altogether and it still just hangs on the load screen.. I'd really like to avoid having to rebuild my custom database from scratch if possible. Any other ideas as to what might be causing the issue?
I narrowed it down to the player Icon / Background removal mods. If you delete those from the folder you have in atmosphere/contents, the app stops hanging and loads properly (sans mods ofc).
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
I narrowed it down to the player Icon / Background removal mods. If you delete those from the folder you have in atmosphere/contents, the app stops hanging and loads properly (sans mods ofc).

Yea. I was made aware of this issue and updated those mods a couple days ago. You can simply redownload them and reinstall. In the future, I recommend that the first you try when encountering a unknown issue is uninstalling any mods. I dont use them, so I dont test them to know when they need to be updated. Deleting them and finding out it fixes the issue, then reporting as such helps me know to update them.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Att is displaying prices like it's an ingredients list now lol