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

research how to reverse engineer mirage sound parameters #19

Closed
mogrifier opened this issue Jun 19, 2021 · 2 comments
Closed

research how to reverse engineer mirage sound parameters #19

mogrifier opened this issue Jun 19, 2021 · 2 comments

Comments

@mogrifier
Copy link
Owner

See what is changeable over MIIDI. Can write code to send changes. Save changes to disk. Compare to original (use software to find/show differences). Differences will show changes made. Not impossible, but tedious. Overall intent is create sounds from wavsyn (set all params) and write to the disk image. That is, a visual editor for Mirage for the sounds (patches).

@mogrifier
Copy link
Owner Author

mogrifier commented Jun 20, 2021

MASOS has byte offset tables into various control blocks mapped to parameters. Writing this to an image is more than feasible, it is simple.

36 bytes per program. See program parameter block definition. Now, where does it get written exactly? The program data for a single sound is 625 bytes (this covers wavesample definition, segment list(?), and programs 1-4 ) and is read/written to over MIDI in a big chunk. I am assuming it is stored in order exactly on the disk.

The data is stored at the beginning of the data for each sound. Track 2, 15, 28, 41, 54, 67 in sector 0, which is a 1024 byte sector.

Tracks are always 5,632 bytes. So track 2 starts at 11264. Programs start at byte 481 of the first sector of each sound.

@mogrifier
Copy link
Owner Author

done. my blog has a more detailed analysis suitable for use by a developer in making a visual editor for programs.

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

1 participant