Designing a homebrew directory

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
Posts: 22018
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)

Designing a homebrew directory

Post by tepples » Wed Jan 22, 2020 9:59 am

Emulators don't include ROMs for legal reasons, and homebrew doesn't get enough visibility. I propose to feed two birds with one scone.

Has anyone here used the "Homebrew Browser" app for the Wii console? It's sort of like a Wii Shop or an App Store for Wii homebrew. I ask because I'm considering writing a spec for a service that emulators could use to download NES homebrew. The browser would read some sort of index file from a server, containing program names and descriptions and URLs and metadata and the like.

Then the question becomes designing an index file and the process to populate a repository in order to solve what I see as three key problems:

Help users find what they want
The index file would need to have some sort of category scheme so that the user doesn't have to scroll through a thousand unrelated things. How might this be organized?

Display enough information about each work
This isn't much of a problem for an emulator that runs on a PC or a modern console. But if someone decides to push it a little farther than emulators to make an Internet-connected cartridge for the console, another problem I foresee is that decoding PNG, the Internet standard format for indexed color images, might pose a problem for a CPU that weak. Screenshots might have to end up scaled down, color reduced, and in some specialized format.

Ensure someone doesn't upload something that could get the server operator in trouble
The browser could be set up such that the user can add a repository's base URL. Then the repository administrator decides whether to accept it or send it back for changes. There'd need to be some sort of means of submission for this.

The Game Boy scene may have done something similar by the name "Homebrew Hub".

Posts: 1314
Joined: Mon Sep 27, 2004 2:57 pm

Re: Designing a homebrew directory

Post by Drag » Wed Jan 22, 2020 6:31 pm

That sounds like a pretty nice idea, I can see it being really useful on a platform like RetroArch. Maybe that would be a good place to start?

User avatar
Posts: 461
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil

Re: Designing a homebrew directory

Post by nesrocks » Wed Jan 22, 2020 7:09 pm

I proposed something similar for mesen, I think. We really need something like that! <- Follow me on twitter! Thanks!

Posts: 815
Joined: Sun Feb 07, 2016 6:16 pm

Re: Designing a homebrew directory

Post by Sour » Wed Jan 22, 2020 7:36 pm

Yea, it's been discussed here before:

Though, like I mentioned on Discord, doing this properly is tricky for a number of reasons.

-Essentially implies asking every author whether or not they want their game on the list (not asking someone would be rude, forgetting to include a particular title would also potentially upset people when they find out about it, etc.)
-Keeping the hosted rom versions up-to-date would be time consuming (distributing an old build while the author is still working on the game is just making it harder for them)
-Avoiding all possible copyright issues (e.g I wouldn't want mesen to start loading & display screenshots from games that infringe on some copyright) - this can probably be pretty hard to ensure, and on its own may be enough for me to avoid this kind of feature entirely, to be honest.
-Whoever ends up hosting the data also ends up with the responsibility of potentially infecting users with malware (e.g gain access to the webhost, add maliciously crafted .nes file to exploit security bug in emulator X, profit.)

Obviously, you could ignore all of these and call it a day, but then when someone gets upset, or something does somehow go wrong, will you take the responsibility for it? :p

User avatar
Site Admin
Posts: 3861
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis

Re: Designing a homebrew directory

Post by Memblers » Wed Jan 22, 2020 8:15 pm

There is this thread too, which includes a database project (MIT licensed):

Also, this was mentioned: -

I've been meaning to make a thread about my latest project but haven't yet, but anyways my NES has internet access through libcurl. The next version of the GTROM bootloader will have internet access, and eventually I'd like to be able to browse a list of NES homebrew stuff on the NES, even if not every game is loadable. It should be possible to port the program to PowerPak, EverDrive (or any cart, data I/O is through the controller port). I still have a lot to do to make it all work, but there has been progress.

User avatar
Posts: 386
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong

Re: Designing a homebrew directory

Post by Gilbert » Wed Jan 22, 2020 8:37 pm

I remember the PSP emulator PPSSPP has the feature in downloading homebrew directly, which can be handy for honest people who don't pirate games people using a mobile phone to play the games. Maybe we can take that as a reference.

Post Reply