drivePACK Editor software ... IN DEVELOPMENT...
drivePACK Editor is an open source Windows PC software that allows you to make the most of the drivePACK.

drivePACK Editor capabilities are:
    process, edit and store to a DRP file the ROM PACK content received in the comptuer from the drivePACK unit.
    send ROM PACK DRP files from the computer to the drivePACK unit to play them.
    view and edit the content of ROM PACK files with the included binary editor.
    send the ROM PACK files edited with the included binary editor to the drivePACK unit.
    convert ROM PACK files to different formats (.DRP, .BIN).
    view and edit the content of ROM PACK files wiht a binary editor.
    compose new themes and build them into new ROM PACK files / cartridges.
    and other...
   
Screens of the drivePACK Editor.

Edit a ROM PACK file in the computer and play it in a real CASIO keyboard.


drivePACK Editor binaries and source code
drivePACK Editor can be downloaded directly as an executable, or alternatively as a Visual Studio project from which it can be modified and compiled. The instructions to get the drivePACK executable and the source code are available in the license and downloads page.

drive PACK file format (.DRP) version 2
drivePACK editor software allows to create or to edit .DRP files. DRP files in the SD card can be read with the unit and then played on a real keyboad. The unit also stores the dumped ROM PACK cartridges information into DRP files in the SD card. DRP files can be copied to a computer to edit their information or to share them with other users.

Latest version of the .DRP file format is 2 which replaces the obsolete version 1. The main difference between the two versions is that the latest does not include the 0x01:Title metadata block and now all the information of the ROM ( cartridge name, titles names ... ) is contained in the 0x02: Information metadata block in a sort of XML on which the information is stored in text objects delimited by different tags (i.e. <ti>...</ti> ).

The DRP binary file format allows to keep within a single file all the relevant information of a ROM PACK cartridge. It consists on a HEADER followed by different METADATA_BLOCKS. These METADATA_BLOCKS may be present or not and allow to store:
- the title of the cartride.
- the relevant information of the cartridge, the names of the songs ...
- images related to the ROM PACK cartridge ( manual scans, cartridge label ... )
- the binary content of the cartridge with the songs program code.

The following is a more detailed explanation of each block:

HEADER: 11bytes:
*DRIVEPACK_FILE_VERSION: 11 bytes: string where byte[10] is '\0' : DRIVE_PACK file format version identificaton : [R][O][M][P][A][C][K][v][0][2][\0] (0x57,0x4F.0x4D.0x50,0x41.0x43,0x4B,0x76,0xXX,0xXX,0x00)

METADATA BLOCKS: 1 + 4 + n bytes
*1 + 4 + METADATA_BLOCK_SIZE
*METADATA_BLOCK_TYPE: 1 bytes: uint8: embeded metadata block 1 type: 0x2: Songs information data block, 0x3: ROM content data block, 0x4: Embeded image data block.
*METADATA_BLOCK_SIZE: 4 bytes: uint32: size of embeded metadata block 1 ( does not include the 1 METADATA type byte and the 4 METADATA SIZE bytes ).
*METADATA_BLOCK_DATA: n bytes ....

The content of different types of METADA BLOCKs is:

0x02: Information metadata block:
METADATA_BLOCK_TYPE: 1 byte = [02]
METADATA_BLOCK_SIZE: 4 bytes
METADATA_BLOCK_DATA: 0 to 0xFFFFFFFF bytes. Content of the "Info" block. The data on this METADATA_BLOCK consists on ASCII characters in a sort of XML format with the different text objects information rel in the ROM PACK, like the ROM PACK cartridge name, the list of the themes names and other...

These are the tags that can be found in the block ( other could be added ):
<rom_info>...</rom_info>: encompasses all the information within the information metadata block.
<ro_ti>...</ro_ti>: name of the ROM PACK cartridge (i.e. "RO-276 - TV TUNES")
<li_ti>...</li_ti>: contains the list with the titles of all the themes in the ROM PACK cartridge. Each title in the list is contained within the <ti>...</ti> tags.
<ti>...</ti>: there is an entry within this tags for the title of each theme in the ROM PACK cartridge.
<info>...</info>: other relevant information of the cartridge like the company who produced, or any other comment.

0x03: ROM content metadata block:
METADATA_BLOCK_TYPE: 1 byte = [03]
METADATA_BLOCK_SIZE: 4 bytes
METADATA_BLOCK_DATA: 0 to 0xFFFF bytes. Content of the "ROM" block. The data on this METADATA_BLOCK is the content of the ROM PACK cartridge with the melodies program. Each byte of that block corresponds to two consecutive nibbles. First bytes in the block are the lowest addresses nibbles, and last bytes in the block are the highest address nibbles. The 4 lowest bits of each byte correspond to the high nibble, and the 4 high bits correspond to the low nibble. So file content [12][34][56][78][9A][BC][DE]... would correspond to ROM content @0:[1], @1:[2], @2:[3], @3:[4], @4:[5] ,@5:[6] ... Note that compared to .BIN files, in .DRP files the nibbles of each byte are swapped, so what in the .BIN file is 0xA5, in the DRP file is 0x5A.

A detailed description of the ROM contente can be found in the page dedicated to the ROM PACK technical information.

0x04: Embeded image metadata block:
METADATA_BLOCK_TYPE: 1 byte = [04]
METADATA_BLOCK_SIZE: 4 bytes
METADATA_BLOCK_DATA: 0 to 0xFFFFFFFF bytes

The following image shows the organization of the content of a .drp version 2 file:

.drp file format example ( click on image to see complete information )

Contact
You can contact me here.
... this page was last updated by Tolaemon on 10-2023 ...
Creative Commons Licence