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

Search for multiple sound tables #42

Closed
dogtopus opened this issue Jan 7, 2022 · 4 comments
Closed

Search for multiple sound tables #42

dogtopus opened this issue Jan 7, 2022 · 4 comments
Milestone

Comments

@dogtopus
Copy link

dogtopus commented Jan 7, 2022

In Mother 1+2, there are 2 separate sound tables present in the ROM, one for each game. Currently agbplay only detects the first table (Mother 2) and ignores the second one (Mother 1). By patching the SongTable::locateSongTable() to always return 0xf71c34 and it seems to play fine.

It also seems like that if I just let the original SongTable::locateSongTable() to search everything until the end it will eventually find the second table as well. So maybe just change it to return an array and have the song list use 2 indices (i.e. table index and song index) to represent a song would fix this.

This might also work with other multicart titles (given that more of them exist).

@ipatix
Copy link
Owner

ipatix commented Jan 8, 2022

Interesting, so far I have never seen games that do this. I'll think a bit about it and how it's best to get implemented. Feel free to remind me in case this get's delayed.

@dogtopus
Copy link
Author

Ping.

@ipatix
Copy link
Owner

ipatix commented Feb 22, 2024

Will be done with agbplay 2.0 #68

@ipatix
Copy link
Owner

ipatix commented Jun 24, 2024

I'll close this for now. It is merged and the next agbplay version in the works already has support for it.

@ipatix ipatix closed this as completed Jun 24, 2024
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