iron_horse wrote:In case anyone needs a simple way to convert .mkxl_all files to .mkxlp_all I knocked up a python script that does exactly that (on my mac, or if you have python installed on windows). Cut/paste the python code below into a file (for example kconvert.py) and run it using: python kconvert.py inputfilename outputfilename
Code: Select all
# Python2 (might work on python3, not tried it) # # Convert .mkxl_all files to .mkxlp_all format (minor byte change) # # From info on http://www.korgforums.com/forum/phpBB2/viewtopic.php?t=87208&sid=f7399b5d9092db496a82ef99d1c4f526 # # # Arguments: input-filename output-filename # def fixData(start): end = start+4 if "".join(data[start:end]) != '6140': raise AssertionError('Expected 6140 but not found at '+str(start)) data[start+3] = '1' # #--- Main program import sys import os.path if len(sys.argv) != 3: print('Usage: <script> inputFilename outputFilename') sys.exit(1) inputFilename = sys.argv[1] outputFilename = sys.argv[2] if os.path.isfile(outputFilename): raise AssertionError('Output file already exists, please delete it first') if not os.path.isfile(inputFilename): raise AssertionError('Input file not found') # File is small so read it in one go data = open(inputFilename, "rb").read() data = list(data) fileLength = len(data) # First two chunks to change are only a few bytes apart fixData(0) fixData(32) for start in range(64, fileLength, 528): fixData(start) with open(outputFilename, 'w') as f: f.write("".join(data))
I'm only getting "The file has invalid ID". I'm trying to get the free patches for the Microkorg XL to my XL+, any ideas?