Forum to discuss all matters relating to the MPC1000 and MPC2500 operating systems created by 'JJ' (all versions).
User avatar
By angel Sat Dec 04, 2010 12:24 am
DBMC wrote:I was looking at old docs on version 1. Based on those I am going to reverse engineer the jjos2xl file format by creating new PCMs in jj and comparing to Akai 1.0. I am going to start with simple stuff realizing that the more complex jj features in PGM will not be carried over nor are they relevant when imported into other applications.


It would be great if you share your research
By DBMC Sat Dec 04, 2010 1:47 am
Much of the information in PGM file seems to be the same between original and JJOS2XL.

Version is the biggest difference that keeps Maschine from trying to read the file any further.

You can change version to 1.0 (Current OS2XL is 4.0) and Maschine will read the file.

I have found other things and still working on decoding, but...

Main find is Chop value is found in what was padding in the end of the Pad attributes.

"Pad i, Sample j Data"

(Reference this http://www.mybunnyhug.com/fileformats/pgm/)

offset = (i * 0xA4) + (j * 0x18) + 0x17 Length = 1 is now the reference to NDC Chop!!! :D


Based on JJCHOP, I assume that you can read a NDC WaveFile and determine/enumerate NDC chop points info in existing file. If you could create the separate wave files (as JJCHOP does) and associate the new filenames with the correct pad and chop info in the PGM file this would be awesome.

Program files using NDC could be converted to destructive. Even using MPC, you could reduce memory size if you only want specific chops.
User avatar
By angel Sat Dec 04, 2010 9:32 am
DBMC wrote:Much of the information in PGM file seems to be the same between original and JJOS2XL.

Version is the biggest difference that keeps Maschine from trying to read the file any further.

You can change version to 1.0 (Current OS2XL is 4.0) and Maschine will read the file.

I have found other things and still working on decoding, but...

Main find is Chop value is found in what was padding in the end of the Pad attributes.

"Pad i, Sample j Data"

(Reference this http://www.mybunnyhug.com/fileformats/pgm/)

offset = (i * 0xA4) + (j * 0x18) + 0x17 Length = 1 is now the reference to NDC Chop!!! :D


Based on JJCHOP, I assume that you can read a NDC WaveFile and determine/enumerate NDC chop points info in existing file. If you could create the separate wave files (as JJCHOP does) and associate the new filenames with the correct pad and chop info in the PGM file this would be awesome.

Program files using NDC could be converted to destructive. Even using MPC, you could reduce memory size if you only want specific chops.

thanks DBMC, with this information is easy add the NDC information to a PGM program, but now I'm busy with my current studies, maybe later I can implement that feature in the jjchop
By DBMC Sat Dec 04, 2010 2:42 pm
I was able to use JJCHOP to create the separate waves and then hack the OS2XL .PGM file to change the names and remove chop info in PGM file. I was then able to reload into PGM into MPC sequence in place of the original NDC PGM and it played just like the original NDC file. I was also able to import PGM w/ samples into Maschine.

*Note: JJCHopped wave files still contains some chop info in them. I noticed this when I went into TRIM mode on MPC.
User avatar
By Sooty_G Sat Dec 04, 2010 8:50 pm
if you have question re: os2xl format/PGM files, etc... why not just contact JJ directly via his website? he may be willing to help you. better to get the info direct from the source instead of trying to reverse engineer it.
By DBMC Sat Dec 04, 2010 9:42 pm
Sooty_G wrote:if you have question re: os2xl format/PGM files, etc... why not just contact JJ directly via his website? he may be willing to help you. better to get the info direct from the source instead of trying to reverse engineer it.


I tried asking JJ and the told me "no". I think I have figured out enough to do what I want to do in a relatively short time.
By DBMC Thu Dec 23, 2010 4:17 am
Found out that BlueBox can open JJOS PGM file then saves it back to std Akai PGM file.
It can also do batch wave upload.

So instead of me hacking the files, I can use JJCHOP to chop the NDC into separate wavefiles and BlueBox to import and create the PGM file. It is pretty quick.

If you every get back to update JJCHOP, please consider showing existing NDC chops on file open and then one can dial back vs starting with none and adding them. Also, I think the last wave block is getting corrupted, but you can add an extra one and then ignore it.
User avatar
By angel Thu Dec 23, 2010 8:46 am
DBMC wrote:If you every get back to update JJCHOP, please consider showing existing NDC chops on file open and then one can dial back vs starting with none and adding them

is difficult to show this information, there are no references to the number of slices used, there are 32 slices with or without information, but no information on which of them are in use as I gather the new PGM file format.
User avatar
By angel Sun Aug 31, 2014 9:22 am
quartz wrote:OSx link is dead :(

fixed link
User avatar
By le rat Sun Aug 31, 2014 10:24 am
Thanks for the update :)
This save with midi file option looks nice to capture a groove. I'll give it a go.
User avatar
By angel Sun Aug 31, 2014 11:59 am
le rat wrote:Thanks for the update :)
This save with midi file option looks nice to capture a groove. I'll give it a go.


that was my main motivation for to make the jjchop
By quartz Sun Aug 31, 2014 3:56 pm
angel wrote:
quartz wrote:OSx link is dead :(

fixed link


Thanks! :)