This site is dedicated to the drivePACK and the ROM PACK cartridges:
   - About drivePACK.
   - drivePACK basic guide.
   - CASIO ROM PACK technical information.
   - drivePACK Editor software.

About drivePACK
drivePACK is a CASIO ROM PACK cartridge emulator that works as a memory unit for the 80's and 90's CASIO keyboard models that had ROM PACK cartridges support. Here you will also find other usefull technical information related to the CASIO ROM PACK cartridges.
drivePACK allows to:
    load ROM PACK cartridge files (.DRP) from the SD card and play them on a real CASIO keyboard.
    dump ROM PACK cartridges and store them in files in the SD card (.DRP).
    play keyboard ROM PACK cartridges received from a computer through USB.
    dump existing ROM PACK cartridges and send them to a computer through USB.
    and other...

The drivePack unit.
drivePACK can be used as a standalone device thanks to its 170x128p color screen and user-friendly interface, or as computer peripheral thanks to its USB connection and the 'drivePACK Editor' software. drivePACK also allows to create, load, dump, save, send or receive songs to and from a computer. 'drivePACK Editor' software is a Windows PC software that has been developed with the purpose of facilitating content editing and creating new themes for keyboards with ROM PACK cartridges support.

drivePACK inserted in the ROM PACK slot of a PT-380

But... what are ROM PACK cartridges?
ROM PACK cartridges are a type of memory cartridges used by some CASIO music keyboards from the 80s and early 90s. These cartridges contain melody programs that can be played on CASIO ROM PACK compatible music keyboards (they have a special slot for them usually in the top right corner). A single cartridge may contain multiple melodies, which the user can select by pressing one of the piano keys to play or practice them in different ways on the keyboard, depending on whether the "auto play," or "melody guide" mode is selected.

The "auto play" mode allows to play and listen in the keyboard the selected ROM PACK theme. The "melody guide" mode is intended to help to learn how to play the selected ROM PACK melody: the LEDs over the keys light or blink to indicate the next keys of the keyboard to press while the keyboard plays the backing track. The implementation of this mode may vary on different keyboard models, but in one way or another, all the models allow you to adjust the difficulty level. Some models also rate your performance once you have finished playing the selected theme.

ROM PACK cartridge front and back view.

A ROM PACK cartridge inserted in a SK-8 keyboard.

drivePACK hardware
The drivePack hardware consists of 2 parts: the main unit and the read/write head, both are connected through a 20 wires flat cable.

drivePack: read/write head and the main unit.
The main unit is formed by 2 PCB boards: the base board with the 32bits microcontroller( Microchip/Atmel ATSAMD51 ), the power supply and the SD card slot, and the hat board with the user interface controls ( buttons, encoder, LCD ... ) and signal adapters ( 3.3/5V transceiver ). The base board hardware design is based on Metro M4 board.

Main unit base and hat board.
The read/write head simply serves as the mechanical adaptation and electrical connection between the CASIO keyboard and the main unit.

Read/write head.

Different prototypes of the drivePACK main unit.

drivePACK firmware
The firmware of the drivePACK has been developed in C and ARM assembly language using Microchip Studio environment. C has been used in most part of the code, and ARM assembly only in the parts that require precisse timmings and high speed response to grant the maximum performance and minimum latencies. This applies to routines that emulate the cartridge and require fast read and write operations on the data/addresses bus. This could have been ideally done with a CPLD or small FPGA but it would have increased the complexity and cost of the PCB.
drivePACK project license
Unless otherwise stated by the copyright holder, the software, hardware design, and any other content of the drivePACK project is distributed under by-nc-sa 4.0 license . You can build your own unit, or use any information here provided as you want while you follow the by-nc-sa 4.0 license conditions. If you are planning to use any part of the design with a potentially commercial use, please contact me in advance.

Limitation of Liability: In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the author be liable for any damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the software (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if the author has been advised of the possibility of such damages.
In the cases it applies, using the information here provided implies accepting the license.

 • Hardware: following information corresponds to the hardware of the project:
 • Firmware: the firmware of the project is available here.
 • Software: the code of the drivePACK Editor Windows PC software is available here.
You can get latest news of the project on my personal Twitter account. You can also contact me at this email.
... this page was last updated by Tolaemon on 10-2023 ...
Creative Commons Licence