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

YM2151 raw importer #74

Merged
merged 5 commits into from
Apr 14, 2019
Merged

YM2151 raw importer #74

merged 5 commits into from
Apr 14, 2019

Conversation

jpcima
Copy link
Collaborator

@jpcima jpcima commented Mar 28, 2019

I split RawYm2612 into a .cpp/.h pair, and I add the license headers.

In a work that will follow, I will make a simulator of OPM register protocol which structures similarly.

#71

@jpcima
Copy link
Collaborator Author

jpcima commented Mar 28, 2019

don't merge it yet, while I figure out the key-on correctly.

@jpcima
Copy link
Collaborator Author

jpcima commented Mar 28, 2019

The problem is maybe a generic one of the raw chips.
The files don't give instruments, or few, because key bits are 0 when analyzed. If note-on checking is skipped, instruments are obtained, (among numerous mute ones).

This is a vgm pack which has been tried.
https://vgmrips.net/packs/pack/strike-fighter-sega-y

@jpcima
Copy link
Collaborator Author

jpcima commented Mar 28, 2019

@Wohlstand VGM reader is bad. look at this case.

It encounters this data.
0xC0 | bbaa dd | Sega PCM, write value dd to memory offset aabb

It will meet this PCM opcode, not support it, and will treat following bytes as commands.

@jpcima
Copy link
Collaborator Author

jpcima commented Mar 28, 2019

Now OPM works. Next is to check the CI error.
While I think of it: support the VGZ files (which is vgm.gz)

@jpcima jpcima changed the title reorganize the code of RawYm2612 YM2151 raw importer Mar 28, 2019
@jpcima
Copy link
Collaborator Author

jpcima commented Mar 30, 2019

Fixed VGM import in some other cases.
Data offset is to interpret since the field where read, not beginning of file. (and $C is not a special value)
Otherwise, file reading can start with junk data at the incorrect position.

@Wohlstand Wohlstand merged commit 26a36e4 into Wohlstand:master Apr 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants