Hawk-832 cpu upgrade Korg Poly800

BIAM

.
Lid sinds
13 september 2005
Berichten
2.259
Locatie
040
De opvolger van de Hawk800 upgrade, de Hawk832 komt er aan en staat nu gepland in 2024.
:okdan:

Dit zal de poly800 een stuk volwassener maken.


23-08-20-02-13-003.jpg


QUOTE:

Sound Generation and Control​


  • Arpeggiator with various modes.
  • Tremolo - LFO1/LFO2 modulate DCO1/2 volume.
  • Two LFO's (LFO1 and LFO2) and two super LFO's (SLFO3 and SLFO4). All four LFO's have triangle, sawtooth, sine, square PWM, random sample and hold waveforms. All waveforms can also be inverted. EG3 routing too.
  • LFO free running modes.
  • LFO1 and LFO2 delay type select - cycle on note onset until delay or no cycle until delay expires.
  • LFO2 sync to MIDI clock.
  • EG3 retriggering sync by MIDI clock.
  • Note triggered sequencer transpose and MIDI sequencer transpose too.
  • Resonance modulation by LFO's and the envelope generator.
  • LFO1 frequency modulated by SLFO3. LFO2 frequency modulated by SLFO4.
  • LFO1 modulation depth modulated by SLFO3 (or EG3).
  • Random sample and hold waveform clocked by the on board seq. or MIDI clock.
  • Random sample and hold waveform clocked by sequencer repeat.
  • DCO harmonics can now be modulated by any of the four LFO's.
  • Portamento mono mode with slide rate parameter stored per patch.
  • Portamento unison mode

MIDI Controls, Modulations and Utilities​


  • MIDI controllers (special and NRPN) for all original and extended parameters.
  • MIDI standard controllers implemented for LFO1 rate, VCF cutoff and resonance depth.
  • MIDI controllers for setting Poly, Hold, Chord and Portamento modes.
  • MIDI sustain controller send and receive.
  • MIDI SYSEX single patch dump send and receive.
  • MIDI SYSEX bulk patch send and receive.
  • MIDI EX-800 SYSEX dump receive (sequencer and patches).
  • MIDI Poly-800 MK2 SYSEX patch dump receive (patches only).
  • MIDI user initiated SYSEX HAWK-800 bulk dump all patches.
  • MIDI SYSEX save running patch into current selected patch.
  • Selectable Omni On, Off or Auto on power up.
  • Keyboard MIDI TX channel selection (1-16 or no MIDI TX).
  • Joystick MIDI TX channel selection (1-16 or no MIDI TX).
  • MIDI soft thru of all messages.
  • Sequencer MIDI time code send on/off.
  • Chord mode synchronization SYSEX send - if cascade sync mode is selected then pressing the chord key will send a SYSEX message to set up the chord progression table. This allows a slave unit such as an EX-800 to operate in chord mode with the same chord structure as the master unit.
  • MIDI patch bank selection (1 of 4).
  • MIDI note on velocity sensitivity where VCF and envelope generator parameters can be influenced by incoming MIDI note velocity data.
  • Portamento unison mode.

User Controls, Settings and Functions​


  • Local keyboard control on/off.
  • Local joystick control on/off.
  • Extended playing range on/off (increases the playing range by two octaves while ignoring the parameters 11 and 21).
  • Cascade mode (for when you have two Poly's or a Poly and an EX800. One unit plays odd notes and the other plays evens).
  • Cascade sync mode (the master unit sends SYSEX patch dumps to the slave as well as setting the Poly mode and patch number. This ensures that your slave unit plays exactly the same sounds as the master).
  • Poly mode is stored and recalled with patches.
  • Bend depth stored per patch.
  • You can send the global parameters from the Poly 800 to another Poly-800 or EX800.
  • A global parameter is now available that allows setting the keyboard MIDI note velocity.
  • Local sequencer control on/off so that you can send the Poly 800 sequence to another synth via MIDI.
  • A global parameter now allows keyboard MIDI transmit octave shift up or down 3 octaves.
  • You can cancel out of a patch write by pressing the write button (instead of reaching around the back and fiddling around for the write enable switch).
  • All user patches, globals and sequencer data are stored directly in flash memory so that you no longer need ANY backup battery.
  • Sustain pedal operation. The original "step up" jack now also operates as a sustain pedal with patch control over decay and release times as well as sustain hold point.
  • Joystick parameter editing and patch section. You can now change the operation of the joystick to edit patches and select patches.
  • The Up/Down data keys also operate as patch up/down selectors when in Program mode.
  • Four banks of 64 patches (for all kits shipped from June 2009 onward) giving the HAWK-800 256 patch storage in flash memory (no backup batteries are required).
  • All notes off panic button (with MIDI TX too).
  • Portamento unison mode.
 

Quote;

HAWK-832 Project Progress Updates​

Below are the progress updates for the HA-832 project. Check back regularly to see new updates.

January 2024​

All of the the HAWK-832 interfacing to the Poly800 hardware has been proven out in testing (excluding the sequencer/arpeggiator clock interrupt which has to wait until I get updated HAWK-832 modules to work with. The prototype modules I am working with now can't work with the sequencer interrupt due to a timer mapping problem that required rerouting the sequencer interrupt pin). And I now have working analog to digital operation and envelop generator signal generation. At this time, I'm assessing the work program to decide which components of the software will be developed next. Once the list of modules is developed, I'll post them here. I am also toying with the idea of posting the code onto github so that other contributors can help to speed up the software development process.
 

Quote;​

February 2024​

So before beginning the task of rewriting the entire Poly-800 software in C. I figured I had better break down the effort into stages so that I can monitor progress along the way. Here are the major project steps:

Major Project Milestones and Activities

  • Initial Design and Feasibility Study (2019)
  • Hardware Prototype Development (2019 and 2020)
  • Develop the HAL Firmware (mostly done in 2023)
  • Prove out performance (mostly done in 2023)
  • Finalize Hardware Design/HAL (prototype checked out in 2023)
  • Flash Memory Read/Write Operations - flash.c (January/February 2024). Because flash memory is the last piece of the hardware puzzle.
  • User Interface - userin.c, global.c, patch.c. Getting the basic input/output working will help with all of the other tasks.
  • Running Patch Management - patch.c. Being able to copy and edit patches will be crucial in testing the sound generation features.
  • Sound Generation - lfo.c, envelope.c, velocity.c, polyMain.c, eg_mg (various).
  • Sound Operation - userin.c
  • MIDI General Operation - midiin.c
  • MIDI Note Operation - midinote.c
  • MIDI Controller Operation - midicc.c
  • MIDI System Exclusives - sysex.c
  • Arpeggiator - arp.c
  • Sequencer - seq.c
  • Unit Testing
  • Beta Testing
  • Kit Manufacture
  • Documentation
  • General Product Release
As can be seen above, the number and types of activities is significant. And the sheer number of lines of code that need to be re/written makes this project less than trivial. But at this point in time, I am hoping that I can complete the entire project in no more than 500 hours. If that time estimate is correct, and at 10 hours per week, that will take the project into early 2025. If I am lucky, the 500 hours estimate is more than enough. In which case, I might even be able to have the kit ready for Christmas 2024. It would be great if I could have it ready in December 2024.
 
quote;

February 24th 2024​

I've made some progress with the user input (keypad and buttons) handlers and have some of the patch and parameter selection and editing working. Before I proceed further into that part of the code, I worked up a table that shows the proposed patch parameters and global parameters for the HAWK-832.The table is shown below. Many of the parameters are taken from the HAWK-800, which in turn are taken from the original Poly-800. There are so many new parameters in the HAWK-832 that they will have to be handled in P1, P2, P3 and GL/P4 user input modes. Please feel free to review the parameters and provide feedback.Keep in mind that whether a parameter (and thus, feature) makes it into the finished product depends on it being viable to implement. So for example, I plan on implementing six LFO's (4 LFO and 2 SLFO) and four envelope generators (which in practice actually means 10. 8 for each voice and two to act as operators.If it can be managed, I would even like to add another fifth envelope generator. We shall see. It will be necessary to perform testing during the implementaiton to see if all of those operators can be implemented while also maintaining a high performance profile. One of the drawbacks of the original Poly-800 and HAWK-800 are the sluggish attack/decay waveforms and the variable timings at note onset. First and foremost, it will be crucial that we get excellent EG waveforms. Additional LFO's and EG's are of secondary importance. You can hover over the red squares to see details of each parameter (I will complete them over the coming weeks).


February 28th 2024​

A quick update on new navigating and patch editing features:
  • Button Repeating - The keypad buttons and Program/Parameter buttons all repeat when held down. Just like the existing parameter value up/down buttons. This should help a little bit with the constant button bashing that happens when working with the Poly-800.
  • Independent Bank Hold - Each of the four modes (program select, and parameter bank selects P2, P3, and Global/P4) all retain their bank hold states independently of each other.
  • Independent Parameter Bank Selected Values - Also for each of the four modes, each retains their own selected parameter number values. This makes it easier to navigate through the parameters.
  • Program Most Significant Digit Increment/Decrement while Bank Hold is Enabled - Program select bank hold allows most significant digit selection using up/down buttons. This one is a little obscure and may not be particularly useful. I'll keep or drop it depending upon user feedback.
  • The three features above are all intended to improve the ease of programming the Poly 800. If you think they would make things harder, more confusing, or otherwise problematic, do please let me your thoughts.
  • Save Global Parameters save the global parameters by pressing the Write Button and then pressing the Bank Hold Button. Globals are NOT saved when a patch is saved.
  • Lock/Unlock Patch allows blocking the editing or overwriting of each patch.
  • Save a Patch into Another Patch in a Different Patch Bank - This is a nine step process so it's about as hard as it gets. Here goes:

    There is a patch (the source patch) that you intend to use for editing and then want to save it to a patch in a different patch bank (the destination patch).

    First, (and before you start editing any patch) make sure that the destination patch is unlocked:
    Step 1) Go to global mode and select the bank (1-4) of the destination patch.
    Step 2) Go to program select mode and punch in the destination patch number (11-88 ).
    Step 3) Go to parameter mode P3, select parameter 88, and set the data value to zero (patch unlocked). Then press the write button (patch is now saved unlocked).

    Second, go to the source patch (now you can do your editing as desired):

    Step 4) Go to global mode and select the bank (1-4) of the source patch.
    Step 5) Go to program select mode and punch in the source patch number (11-88 ). The source patch is the patch that you wish to edit/copy before copying it to the destination patch.
    Step 6) Make any desired edits to the source patch.

    Third, write the source patch to the destination patch:

    Step 7) Go to global mode and select the bank (1-4) of the destination patch.
    Step 8 ) Go to program select mode and press the write button.
    Step 9) Then punch in the destination patch number (11-88 ).

    When the write completes, the current selected patch will be the destination patch. If you try to write to a destination patch that is locked, the write will fail and write mode will display flashing two bars "--". You can then punch in a different patch to write to or press the write button again to cancel the write.
    Note that after the write (successful or cancelled) the patch bank is still set to the destination. So don't forget to select the desired patch bank again (another step!).
 
Back
Top