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

Sega Smash Pack I and II PC #35

Closed
zZeck opened this issue Sep 26, 2022 · 11 comments
Closed

Sega Smash Pack I and II PC #35

zZeck opened this issue Sep 26, 2022 · 11 comments

Comments

@zZeck
Copy link
Contributor

zZeck commented Sep 26, 2022

I figured out the format awhile ago
Do you want a PR for it?
I also wrote code to encode roms FOR the collection just to see the limitations of the old emulator.

@shawngmc
Copy link
Owner

Sure, if you want to make a PR for it, that'd be great.
If you want, I can add a stub module on the develop branch, or you can just base it off the task_template.py.

I unfortunately don't have the Smash Pack titles, so I won't be able to test it myself.

@shawngmc
Copy link
Owner

@zZeck Does your code also cover Sega Puzzle Pack?
https://en.wikipedia.org/wiki/Sega_Smash_Pack

@zZeck
Copy link
Contributor Author

zZeck commented Sep 26, 2022

I didn't realize that existed. I suspect the only difference will be the encoding string. The other two both use encoding strings related to the pack name. I ordered it cheap on ebay. We'll see.

Do you have any interest in the encoding code? It's rather interesting to see how old emulators work with titles sometimes.
I fired up ristar in the smash pack II emulator and it crashed spectacularly.

It's also useful for testing the decoder, to also write an encoder, so you can roundtrip stuff and see if it comes out the same. Haven't looked if you have tests. Just a thought.

I could include checksums of the input files, and expected checksums of the decoded files so people with them can verify. Also could include some random data to use as a test for people who don't.

@shawngmc
Copy link
Owner

Hmm.... - the encoding doesn't fit nicely in the CLI as it is right now.

If you want to add that code in there (uncalled), that would be OK for now. Prepping a game for a specific emulator is a more niche type of task, but let me think about how I'd make that work with existing syntax.

@zZeck
Copy link
Contributor Author

zZeck commented Oct 3, 2022

Puzzle pack arrived today. Decoder works for it as well. Only difference is the encoding string.

@zZeck
Copy link
Contributor Author

zZeck commented Oct 8, 2022

Still working on this.

I will match the naming stuff from the steam genesis task. There is one ROM that I believe is different, which is the strange beta Super Shinobi in Smash Pack 1. Are the names you used following a convention from somewhere?

@shawngmc
Copy link
Owner

shawngmc commented Oct 9, 2022

Not really. I probably should figure out non-MAME naming conventions at some point, but all address that later.

@zZeck
Copy link
Contributor Author

zZeck commented Oct 9, 2022

I am thinking I should be adding 4 tasks and some kind of helper file with the decode logic. The kvq rom files are located in these directories by default. Task names would be drmbm, columnsiii, ssp, sspii. (I do not know why the puzzle pack has separate programs and installers for the two games, but that's how they did it)

C:\Sega\Dr. Robotnik's Mean Bean Machine\MyGames
C:\Sega\Columns III\MyGames
C:\Sega\Sega Smash Pack\MyGames
C:\Sega\Sega Smash Pack II\MyGames

@shawngmc
Copy link
Owner

shawngmc commented Oct 9, 2022

That sounds good to me. I've been doing some restructuring (see the develop branch), and moving a lot of the data to a separate metadata.json.

For the naming, might I recommend spp_drmbm and spp_columnsiii?

@shawngmc
Copy link
Owner

shawngmc commented Oct 9, 2022

For the helper class, might I recommend src/lib/archive/kqa.py ?

@zZeck
Copy link
Contributor Author

zZeck commented Jan 6, 2023

Smash Pack I & II and Puzzle Pack now supported!

@zZeck zZeck closed this as completed Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants