Skip to content

1hedu/Hackme-Rockit-1.13-paraphonic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rockit Firmware v1.13

3-Voice Paraphonic Upgrade for HackMe Rockit Synthesizer

Transform your mono Rockit into a 3-voice paraphonic beast with intelligent voice allocation across DCO1, DCO2, and future external osc.


What's Included

This complete build package contains:

Core Files

  • rockit_paraphonic.c - Voice allocation engine
  • rockit_paraphonic.h - Header file
  • All original Rockit 1.12 source files - Ready to compile

Build System

  • Makefile - Complete build configuration
  • main_patch.txt - Modifications needed for eight_bit_synth_main.c
  • midi_patch.txt - Modifications needed for midi.c

Documentation

  • README.md - This file
  • INTEGRATION_GUIDE.md - Detailed setup instructions
  • QUICK_REFERENCE.md - Usage guide and example patches
  • CHECKLIST.md - Implementation tracker

Voice Allocation Modes

Mode 1: Low Note Priority

MIDI CC 102: Values 0-42

  • Always plays the 3 lowest notes pressed
  • Perfect for: Bass lines, stable chord voicings
  • Example: Press C-E-G-B → plays C, E, G

Mode 2: Last Note Priority

MIDI CC 102: Values 43-84

  • Plays the 3 most recently pressed notes
  • Perfect for: Lead melodies, dynamic playing
  • Example: Press C-E-G-B → plays E, G, B

Mode 3: Round Robin

MIDI CC 102: Values 85-127 (DEFAULT)

  • Each new note cycles to the next voice
  • Perfect for: Arpeggios, rhythmic patterns, texture
  • Creates movement and variation

Modifications Summary

Files Modified:

  1. eight_bit_synth_main.c

    • Added #include "rockit_paraphonic.h"
    • Added paraphonic_init() call in main()
  2. midi.c

    • Added #include "rockit_paraphonic.h"
    • Modified NOTE_ON handler to call paraphonic_note_on()
    • Modified NOTE_OFF handler to call paraphonic_note_off()
    • Added CC 102 handler for mode switching

Files Added:

  • rockit_paraphonic.c
  • rockit_paraphonic.h

Files Updated:

  • Makefile (added rockit_paraphonic.c to CSRCS)

Technical Specifications

MCU: ATMEGA164P/644
Code Size: ~2KB additional flash
RAM Usage: ~100 bytes additional
Max Polyphony: 3 voices
Note Stack: 16 notes deep
Latency: Sub-millisecond voice allocation


Build Requirements

Software:

  • avr-gcc compiler
  • avrdude programmer software
  • Make (or use Arduino IDE with modifications)

Hardware:

  • AVR programmer (USBasp, Arduino as ISP, etc.)
  • HackMe Rockit synth
  • MIDI interface to Respeaker
  • I2C DAC on Respeaker configured for CV out

Example Patches

"Juno Pad" (Classic warm pad)

  • Mode: Round Robin
  • Pre-delay: 40ms, 30% mix
  • Chorus: Moderate depth, slow rate (0.3 Hz)
  • Tube: Light drive before booster
  • Result: Rich, moving pad with wide stereo

"Bass Monster" (3-oscillator bass)

  • Mode: Low Note Priority
  • All oscillators slightly detuned
  • Pre-delay: Minimal (10ms, 10% mix)
  • Tube: Heavy drive after booster
  • Result: Massive bass that stays locked to root

"Lead Synth" (Expressive solo voice)

  • Mode: Last Note Priority
  • Filter envelope: Fast attack (10ms), medium decay
  • Pre-delay: 100ms, 20% mix
  • Chorus: Light depth, faster rate (1 Hz)
  • Result: Lead voice with delay doubling

See QUICK_REFERENCE.md for more patches!


Customization

Change Default Mode

Edit rockit_paraphonic.c, line 62:

para_state.mode = MODE_ROUND_ROBIN;  // Change to MODE_LOW_NOTE or MODE_LAST_NOTE

Change Mode Selection CC Number

Edit rockit_paraphonic.c, line 343:

if(uc_data_byte_one == 102)  // Change 102 to your desired CC number

Adjust Note Stack Size

Edit rockit_paraphonic.h, change:

unsigned char note_stack[16];  // Change 16 to desired size (8-32 recommended)

Documentation

Must Read:

  1. main_patch.txt - Required code changes for eight_bit_synth_main.c
  2. midi_patch.txt - Required code changes for midi.c
  3. INTEGRATION_GUIDE.md - Complete integration walkthrough

Reference:

  • QUICK_REFERENCE.md - Mode guide, patches, tips
  • CHECKLIST.md - Implementation tracker

License

GNU GPLv3 - Same as original Rockit

This means you can:

  • Use this firmware in your builds
  • Modify it as needed
  • Sell synths running this firmware
  • Share your modifications

Attribution:

  • Original Rockit: Matt Heins / HackMe Electronics
  • Paraphonic firmware: [1d4r3k]
  • Juno architecture inspiration: Roland Corporation

Credits

Paraphonic Firmware: [1d4r3k]
Based On: HackMe Rockit by Matt Heins

Special thanks to the open-source synth DIY community!


Support & Contact

Issues? Check the troubleshooting section above.

Questions? Read the documentation files:

  • INTEGRATION_GUIDE.md for setup help
  • QUICK_REFERENCE.md for usage guide
  • CHECKLIST.md for implementation tracking

Still stuck? The code is well-commented - read through it!


Ready to Build!

  1. Read main_patch.txt and midi_patch.txt
  2. Apply the patches to the source files
  3. Run make
  4. Program your Rockit with make program
  5. Send MIDI CC 102 to switch modes
  6. Make some thick, lush, paraphonic sounds!
  7. Sell it and fund the next project! 💰

Version: 1.0
Date: November 2025

About

Modern continuation of the HackMe Rockit firmware (v1.13). Bug fixes, enhancements, and stability updates for the original AVR hardware.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors