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

Add documentation for *SETTING.DAT files #24

Open
Holzhaus opened this issue Feb 16, 2022 · 5 comments
Open

Add documentation for *SETTING.DAT files #24

Holzhaus opened this issue Feb 16, 2022 · 5 comments
Labels
help wanted Extra attention is needed

Comments

@Holzhaus
Copy link
Contributor

The PIONEER directory contains these files:

  • DEVSETTING.DAT
  • DJMMYSETTING.DAT
  • MYSETTING.DAT
  • MYSETTING2.DAT

These apparently allow the device to configure itself according to the preferences of the DJ that the plugged in device belongs to.

Some very basic reverse engineering of the format has been done here: https://github.com/Holzhaus/rekordcrate/pull/27/files#diff-811635f5c64ddc67c4db2a60451b9d96feec1542bb4728595586c7c51ff25003R17-R32

@brunchboy
Copy link
Member

Thanks for sharing this information. If someone has time to create a pull request with new sections of the documentation covering these, it will be integrated more quickly. Otherwise, I will take a crack at it sometime when I am not behind on other projects and life in general. 😄

@brunchboy brunchboy added the help wanted Extra attention is needed label Feb 17, 2022
@Holzhaus
Copy link
Contributor Author

I think i reversed most of the MYSETTING.DAT and MYSETTING2.DAT files. You can have a look at https://github.com/Holzhaus/rekordcrate/pull/32/files.

Basically, all of the SETTING.DAT files have the following structure: https://holzhaus.github.io/rekordcrate/rekordcrate/setting/struct.Setting.html

The actual meaning of the data depends on the file, but there are a lot of single-byte enums. Also, all used fields seem to be >= 0x80, so the first bit maybe indicate if a field contains data.

@Holzhaus
Copy link
Contributor Author

Ok, DJMMYSETTING.DAT has been reverse-engineered as well. Only DEVSETTING.DAT is missing.

@brunchboy
Copy link
Member

Nice, thanks for keeping me updated!

@evanpurkhiser
Copy link

Just saw your rust library @Holzhaus, awesome work on this. So great to see there's still so much of a community around reversing pioneers complicated file formats :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants