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)
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 uint 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.

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][0][\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: 1:Title data block, 2: Songs information data block, 3: ROM content data block, 4: 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:

0x01:Title metadata block:
METADATA_BLOCK_TYPE: 1 byte = [01]
METADATA_BLOCK_SIZE: 4 bytes
METADATA_BLOCK_DATA: 0 to 0xFFFFFFFF bytes. Content of the "Title" block. The data on this METADATA_BLOCK consists on ASCII characters with the title of the ROM PACK.

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 with the list of the different titles in the ROM PACK, or with any other informative text.

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.

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 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