Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

there needs to be a container format for games. #996

Open
GorillaSapiens opened this issue Dec 19, 2023 · 6 comments
Open

there needs to be a container format for games. #996

GorillaSapiens opened this issue Dec 19, 2023 · 6 comments
Assignees
Milestone

Comments

@GorillaSapiens
Copy link

it's almost 2024, and we're still passing around rom binaries like a bunch of savages. at least we're naming them *.a26 these days and not just *.bin. but we can do better.

there needs to be a container format. something along the lines of Java Jar files, a glorified *.zip, but with a different extension, with a predefined set of files inside.

files inside would be the rom file, a config file with the system type, bankswitching scheme, controllers used, number of players, etc... optional parts could be the user manual (scanned AND text version), scans of the box cover art, scans of cartridge labels, notes, trivia, whatever...

@thrust26 thrust26 self-assigned this Dec 19, 2023
@thrust26 thrust26 added this to the Prio 3 milestone Dec 19, 2023
@thrust26
Copy link
Member

This has been discussed multiple times. While the idea is good, there are multiple steps which have to be done:

  • Stella could easily define and support such a format, but that's not the right way to do it. There are other emulators (gopher2600, z26., Javatari, Mame, Libretro, Android, iOS...) and we should align with them. This had been started in the past (on a lower level), but never lead to results.
  • What should be the feature set of this software? All you listed above? Less, more? Which features are mandatory? Only the ROM? Who is the authority to define that?
  • Next are multi carts. These should be able to handle the new format too. This affects Harmony/Encore, Plus/UnoCart, Krokodile Cart, Starpath multicharger... Most likely this will require a transfer program (Windows, Linux, MacOS...), which extracts the ROM from the container.
  • A major problem is, who will convert and distribute the thousands of ROMs out there? There has to be software which does this as a batch. And volunteers, who will add the missing information. We need a easy to use software for multiple platforms (Windows, Linux, MacOS...) which also allows converting individual files.
  • Since this will never be completely done, emulators will still have to support raw ROMs.
  • ... most likely more which I forgot now.

IMO it is not on the Stella team to orchestrate the efforts (and we do not have enough time anyway). So who will organize this? You? Without anyone driving the project, I cannot see all of this happening anytime soon. Or only with major, continuous effort from multiple, interested sides.

Anyway, I can assure you that, when the final format is defined, Stella will support it.

@GorillaSapiens
Copy link
Author

GorillaSapiens commented Dec 20, 2023

i don't think it is necessary for Stella to "convert and distribute the thousands of ROMs out there". indeed this is probably a copyright minefield that YOU don't want to be responsible for. i think specifying the format and giving an example is enough. Are there any games in the public domain?

@thrust26
Copy link
Member

For the format many things have to be considered. It is not up to Stella to define the format to its own needs only.

I am sure there a many such games, especially homebrews

@thrust26
Copy link
Member

thrust26 commented Dec 27, 2023

Note: We are currently discussing this in detail with multiple parties involved. As soon as we have a result, I will post an update.

@GorillaSapiens
Copy link
Author

GorillaSapiens commented Jan 9, 2024

for reference, the MESS 7800 emulator has an .a78 format with a header containing information about the game. even something like this would be a far cry better than what we're seeing for 2600 games. see http://7800.8bitdev.org/index.php/A78_Header_Specification

@thrust26
Copy link
Member

thrust26 commented Jan 9, 2024

Yes, this is part of the ongoing (well, currently stalled) discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants