English Version French Version

MIDIbox64E Change Log

Last Release: V2.2e @ 2012-12-30



  • V2.2e
    • Banks are now loaded with twice the speed as before
    • corrected SNAPSHOT_AT_POWERON option takes optional DIN SR mapping into account
    • corrected SNAPSHOT_AT_POWERON option (current pot/button positions are sent as intended)

  • V2.2d
    • mk_syx now part of the release package
      (-> tools/mk_syx directory)
    • added some meta handler examples
      (-> meta_examples directory)

  • V2.2c
    • Update for MIOS V1.9g
      No change in application itself.

  • V2.2b
    • Application can now be compiled for PIC18F4620 as well.
      No change in application itself.

  • V2.2
    • a patch mode has been implemented which can be selected as an alternative option to the common "bank" mode in main.asm
      In patch mode, each BankStick contains only one bank configuration (means: encoder/pot/button/label setup), but 128 snapshots! This allows you to prepare one configuration for your MIDI gear, and to store/recall/morph up to 128 scenes.
    • there are two new SysEx commands for storing/restoring patches
    • patches and banks can be changed from external with a "Program Change" command. The channels are specified in main.asm. Default: Channel 16 - Banks; Channel 15: Patches
    • some minor bugfixes and improvements

  • V2.1
    • three new SysEx commands have been implemented to simplify the configuration data up- and download. It's a block oriented format and therefore doesn't require delays between every byte anymore. This means, that data uploads can now also be realized without the use of MIDI-Ox so long the SysEx tool allows to insert delays between every block ("Delay after F7") - it should be 750 mS - thats the same requirement like for MIOS uploads.
      More infos can be found here.
    • the mk_syx.pl script has been updated to support the new upload format. It can be downloaded from here.
    • Bankswitching now significantly faster
    • support for a datawheel (rotary encoder) as replacement for the left/right button. To enable it, set DEFAULT_ENC_DATAWHEEL to 0 - connect the rotary encoder to pin 4 and 5 of the first DIN shift register, connect the exec button to pin 7 and the snapshot button to pin 6
    • experimental support for AIN/MF modules
      Although MIDIbox64E has been designed for rotary encoders, it can now also handle with up to 64 pots/faders or up to 8 motorfaders.
      Pots and faders are mapped to the "encoder" entries 64-128. Example: if group width is 16, and group 1 is selected, encoders are using Entry 1-16, and pots are using entry 64-(number of pots)
    • new hardware setup file for "MIDIbox NG"
      -> setup_midibox_ng.asm
      (8 encoders, 8 motorfaders, 8 touchsensors, 64 buttons)
    • new hardware setup file for "MIDIbox SEQ"
      -> setup_midibox_seq.asm
      (16 encoders + 1 datawheel, 44 buttons)

  • V2.0 - MIOS based version - MIDIbox16E renamed to MIDIbox64E
    • the complete MIDIbox16E firmware has been ported to MIOS and is now running on a PIC18F452. For new projects it's recommended to switch to the PIC18F452 because of the higher flexibility, but also the update of an existing MIDIbox to MIOS makes sense due to the new features - just only the processor and the crystal have to be changed.
    • biggest improvement: MIDIbox64E can handle with up to 64 rotary encoders and LEDrings!
    • all 128 virtual pots and 64 button entries stored in a bank can be updated by incoming MIDI events
    • the previous "subbank" mechanism which divided the 128 encoder entries into 8 "banks within banks" has been renamed to "pages" The width of a page is free definable. This means, that all 128 encoder entries can be controlled by MB64E with a single encoder (low-cost solution) as well as with up to 64 encoders!
    • Note that Serge's vmidibox16e editor (which has been developed for the PIC16F version) can also interact with the new implementation.
      The transfer rate has to be set to a value less than 150, otherwise the dump won't be received completely. This isn't a bug in MIOS, but a problem related to the PIC18F which can only save 64 bytes at once in the internal flash memory (the PIC16F saves 2 bytes (14 bit) at once).
    • Beside of the MIDI Learn function, MIDI events can now also be edited directly
    • Support for on-screen editing of pot lables and banknames
    • up to 8 BankSticks can be handled by the firmware now (-> up to 64 banks)
    • the DEFAULT_BANKSTICK_CS setting in main.asm allows you to select a dedicated EEPROM for your application or disable the BankStick support at all. This feature is especially usefull when different applications are used with the MIDIbox
    • banks can be copied
    • A morphing function has been added which allows to fade smoothly between two pot scenes: the current pot positions and the pot positions saved in a snapshot (bank)
    • Encoder events can now be triggered via Remote:
      F0 00 00 7E 43 [d]9 00 [pot] [value] F7
      ([d] = device number (0-7),
      [pot] = pot number (0-63),
      [value] = pot value (0-127)
    • Button events (also menu buttons) can now be triggered via Remote:
      F0 00 00 7E 43 [d]9 01 [button] [value] F7
      ([d] = device number (0-7),
      [button] = button number (0-63),
      [value] = button value (0=pressed, 1=depressed)
    • Special Functions can now be triggered via Remote:
      F0 00 00 7E 43 [d]9 02 [sfbn] [sfbp] [value] F7
      ([d] = device number (0-7),
      [sfbn] = special function number (0-127),
      [sfbp] = special function parameter (0-127),
      [value] = button value (0=pressed, 1=depressed)
    • A software implemented MIDI Rx/Tx LED function has been integrated
    • the MIDIbox64E tutorial has been updated
    • the LCD screen can now be centered for various displays, the cursor positions have to be configured in main.asm (search for DEFAULT_YOFFSET_LINE*)
    • the predefined MIDI channels stored in the bank can now be overwritten by a global channel
    • various default setup_*.asm files are included in this release which are preconfigured for the original MIDIbox16E, MIDIbox NG and MIDIbox SID hardwares

  • V1.03
    • Now support for 40 buttons and 32 LEDs like known from MIDIbox64
    • Each encoder can be assigned to a "fast" or "slow" flag separately within the encoder configuration menu or via SysEx (see the updated mk_syx script).
    • The new "Select Parameter" SFB allows to select parameters on-the-fly without bankchange. More details can be found in the MIDIbox16E tutorial.

  • V1.02
    • New SysEx command "Switch Bank" allows to change a bank via MIDI (see also midibox16e_sysex_implementation.txt). It will be used by one of the next releases of Serge's editor to access all banks via remote. The feature could also be usefull in conjunction with sequencer software like Logic Audio to switch to a bank depending on the selected Song, Window, VST PlugIn (as far as the software supports such an automization).
    • New SysEx command "Partial Write" allows to write quickly into particular memory locations (see also midibox16e_sysex_implementation.txt). It's a feature especially for the editor.
    • Note: a complete setup file for Serge's Editor can now be found here.

  • V1.01
    • Pin Assignments of Port C (Encoder Input, LED-rings output) have been changed to get the firmware compatible with the MIDIbox Hardware Platform.

  • V1.00
      Initial version.
      Following Features have been implemented:
    • Rotary Encoder Handler with interpolator (double resolution)
    • 8 internal banks
    • BankStick support (+4*8=32 banks with every BankStick)
    • support for 2*16 display
    • support for (optional) LED-Rings with up to 16*16 LEDs
    • 4 customizable LED-Ring patterns in every bank
    • Menu with 2 cursor and 1 exec button
    • Different Display Modes
    • Named Events (requires BankStick)
    • Snapshot Button with Save/Recall behaviour
    • MIDI Learn Mode for every encoder
    • MIDI Learn for Single encoder, automatic row channel, automatic row add
    • Meta Events allow you to define SysEx strings and more
    • MIDI Merger
    • Exchange setups via SysEx
    • min/max values for encoders
    • Sending absolute values: xx xx [from min to max]
    • Sending relative events: xx xx 40 +/- speed
    • Sending relative events: xx xx 00 +/- speed
    • Sending relative events: xx xx 40 +/- 1
    • Sending relative events: xx xx 00 +/- 1
    • Sending relative CC events: CC Inc/Dec xx
    • Progressive Mode for Encoders (faster turns: higher inc/dec)
    • "Fast" Button to enable the progressive mode
    • "Slow" Button
    • 20 MIDI Trigger Buttons with optional special functions
    • different button behaviour like on MIDIbox Plus
    • optional MIDI event filter for the merger


Last update: 2017-04-09

Copyright 1998-2017, Thorsten Klose. All rights reserved.