superOS-101 is custom firmware for a drop-in replacement of the Roland SH-101's original CPU, a Toshiba TMP80C49. Unlike the TB-303, TR-606, and TR-808, which share the NEC µPD650 and therefore share one replacement board, the SH-101 needs its own CPU board and its own firmware, designed from a clean sheet.
The firmware reproduces the original CPU's electrical behavior exactly: the DAC and multiplexer protocol that generates every control voltage in the synth, the keyboard and panel scan, and the gate, clock-reset, and portamento signals. On top of that foundation it re-implements the SH-101's musical features, keyboard, arpeggiator, and 100-step sequencer, against the fully disassembled original ROM as reference.
The Combined Edition holds two complete operating systems in one chip: superOS-101 and 80C49 mode, an emulation of the original SH-101 CPU running the genuine Roland mask ROM. You can switch between them from the panel at any time. See the Combined Edition chapter.
Controls are written as they appear on the panel: the function buttons LOAD PLAY DOWN UP&DOWN UP HOLD KEY TRANSPOSE, the RANGE switch (16′ / 8′ / 4′ / 2′), the TRANSPOSE switch (octave down / middle / up), and the envelope TRIG switch (GATE / GATE+TRIG / LFO). The keyboard has 32 keys, F to high C.
A combination such as HOLD + KEY TRANSPOSE means: hold both controls at the same time.
The keyboard plays monophonically over its 32-key range, with the pitch CV following the original's confirmed 1 V/octave numeric model, so tuning and scaling match a stock SH-101 exactly.
When more than one key is held, the envelope TRIG switch selects which note sounds, as on the original:
In the LFO position the LFO is restarted on each new key press, so an LFO-triggered envelope always starts its cycle in step with your playing.
| Switch | Function |
|---|---|
| RANGE 16′ / 8′ / 4′ / 2′ | VCO octave. Sets the range CV in exact 1-octave steps, matching the original's values to the bit. |
| TRANSPOSE down / middle / up | Shifts the whole keyboard one octave down or up. While a sequence plays it picks the row of the performance keys instead (see Performance Modes). |
| TRIG GATE / GATE+TRIG / LFO | Envelope trigger mode; also selects note priority (see The Keyboard) and, in LFO, restarts the LFO on new keys. |
Press UP, DOWN, or UP&DOWN to turn the arpeggiator on in that direction; press the same button again to return to normal keyboard play. Hold any group of keys and the arpeggiator steps through them, one note per clock (the LFO, the EXT CLK input, or MIDI clock when sync is on).
In any arp mode, hold KEY TRANSPOSE and press UP for one more octave or DOWN for one fewer (1 to 3 octaves). UP climbs through the held keys octave by octave, DOWN starts in the top octave, UP&DOWN bounces across the whole span, and RANDOM picks an octave too. The range is remembered across power-off.
Press HOLD while an arpeggio plays and it keeps running after you let go of the keys; a new chord replaces it. A HOLD pedal works the same way (unless it is routed to KEY TRANSPOSE, see below).
Hold KEY TRANSPOSE and press a key: everything that plays (keyboard, arpeggio and sequence) is transposed by the distance from the lowest C (the 8th key, C4). A key below it transposes down, above it up. The transposition stays after you let go, with the KEY TRANSPOSE LED lit. To return to normal, hold KEY TRANSPOSE and press the lowest C. While a MIDI clock drives the SH-101 (sync on), the KEY TRANSPOSE LED blinks on the beat instead: lit for the first half of each quarter note, starting on the host's Start. It shows transpose mode's fast blink while you are in it. The LFO LED cannot do this: it is the analog LFO's own LED, and its speed comes from the RATE slider.
Unlike the original, the transposition also reaches the CV OUT jack and MIDI OUT, so external gear follows it.
Double-tap KEY TRANSPOSE to enter transpose mode (the LED blinks). While the sequencer plays, or while a HOLD-latched arpeggio runs, a plain key press transposes, with no button held: play the key you want the line in. Double-tap again to leave transpose mode; the transposition itself stays until you set it back to the lowest C.
From normal keyboard play, hold KEY TRANSPOSE and press LOAD. The SH-101 holds an A with the gate open (the LOAD LED blinks): 440 Hz with RANGE at 8′ and TRANSPOSE in the middle, and MIDI OUT sends note 69 at the same time for a tuner. Set the TUNE knob, then press any function button to leave.
In the Config Menu, key 19 routes the HOLD pedal jack to act as the KEY TRANSPOSE button: hold the pedal and press a key to transpose, double-tap it for transpose mode, and while recording it enters rests. Key 19 again returns the pedal to HOLD. The choice is remembered.
Press LOAD while stopped to record a new pattern into the current slot (the LOAD LED lights; the slot is cleared). Every key you press is added as the next step, up to 128 steps. The keyboard sounds while you record, and notes arriving over MIDI record too.
| Control | Writes |
|---|---|
| Keyboard key | A note step at that pitch (TRANSPOSE applies as played). |
| KEY TRANSPOSE | A rest step. |
| Hold HOLD + key | A legato step: the note starts without the gate dropping, so the envelope does not retrigger and, with PORTAMENTO on AUTO, it glides. |
| UP | Cycles the last step’s ratchet: 1, 2 or 3 hits inside the step. |
| DOWN | Takes back the last step. |
| LOAD again | Ends recording; the pattern is saved automatically. |
Press LOAD while the sequence plays and recording continues from the step after the one sounding: the steps you enter replace the old ones from there, and anything after them stays and still plays. Press LOAD again to finish.
While the sequence plays, hold PLAY and press LOAD (the PLAY and LOAD LEDs alternate). Now play along: each key lands on the step it was pressed in, or on the next step once the current one is half over. A key still held at the half-step ties into the next step (legato). KEY TRANSPOSE writes a rest. An empty pattern becomes 16 rests to play into. Hold PLAY and press LOAD again to stop recording; the edits are saved when playback stops.
Press PLAY to start the sequencer; press it again to stop. Steps advance one per clock: note steps retrigger the gate at their pitch, rest steps close the gate, legato steps change pitch with the gate held. At the end of the pattern playback wraps around.
While the sequence plays: UP = forward, DOWN = backward, UP&DOWN = ping-pong, DOWN and UP&DOWN together = random. The direction is remembered across power-off (Config Menu keys 15 to 18 set it too).
While playing, hold the HOLD button and press a key: the sequence loops only its first steps, one step per key counting from the lowest key (the 4th key = 4 steps, the 16th = 16 steps). The pattern itself is untouched. Press the same key again for the full length.
While playing, hold KEY TRANSPOSE and press UP to play the next step now, or DOWN to play the previous one. This moves the sequence against the clock, to line it up with other gear or for variation.
While playing, hold the HOLD button and press UP to move every note one step right (later), or DOWN to move them one step left (earlier). Ratchets move with their notes and the pattern wraps around. Unlike Shift, the timing does not move: the playhead and the clock stay where they are and only the notes change places.
The move lands at the next half-step, after the sounding note has started and before the next note is chosen, so nothing is cut, doubled or retriggered and you never hear it happen. The web editor has the same as ◀ Nudge / Nudge ▶ (Shift + arrow keys), with Undo.
The editor’s Resync button puts the sequence back on the one: on the host’s beat under MIDI clock, otherwise where it would be counting from PLAY. It also undoes a Shift. Changing direction, loop length, pattern or clock division never moves the sequence off the beat in the first place: its position is always worked out from the steps played since the start. Ping-pong plays its end steps twice, so a round trip stays on the bar.
There are sixteen pattern slots of up to 128 steps each, and saving is automatic. The sixteen lowest keys (F3 to G#4) are patterns 1 to 16.
| To | Do |
|---|---|
| Hold PLAY, press a key 1…16 | Stopped: selects that pattern and starts it when you release PLAY. Playing: the new pattern follows at the end of the current pass, so the change lands on the bar. |
| Hold PLAY, press several keys in order | A song: the patterns play one after another in that order (up to 16 entries, repeats allowed), looping. |
| Key 1…16 alone while playing, SuperOS mode | Switches to pattern 1…16 at the next step, keeping the position (in sync when the pattern lengths are multiples of each other). In performance mode, row 1 keys 25…31 switch patterns 1…7 the same way. |
| MIDI Program Change 0…15 | Selects pattern 1…16 (at the end of the pass while playing). |
| Save | Nothing to press: about half a second after an edit (or when playback stops), the pattern is written to permanent memory. |
| Back up / edit on a computer | The web editor (USB-C or DIN MIDI) reads and writes all sixteen slots, ratchets included, and saves them as a file. |
Patterns survive power-off with no battery. Slot selection is ignored while recording, so finish with LOAD first. Firmware updates never touch the pattern memory.
Hold PLAY and press UP&DOWN for a new random pattern (rhythm and pitch), UP for new pitches on the same rhythm, or DOWN to mutate it (two to four small changes). It works stopped or playing and never starts play. The editor adds rhythm-only, octave and legato randomizers, a density setting and a repeatable seed.
Each pattern can have a scale (the 35 scales of the superOS-303). Hold PLAY and KEY TRANSPOSE and press a key: that note becomes the root, in Major; the same key again steps to the next scale. Hold PLAY and tap KEY TRANSPOSE alone to turn the scale on or off. The scale never changes the stored notes: the output snaps each note to the nearest note of the scale (the lower one on a tie), before any transpose. Randomized notes are written in the scale.
While a sequence plays, the 32 keys become a performance surface, laid out as the overlay strip above them. The TRANSPOSE switch picks the row: L = 1 Global, M = 2 Pitch, H = 3 Time. Keys are counted from the lowest F (key 1) to the top C (key 32).
Performance mode or SuperOS mode: hold HOLD and press LOAD to switch (not while recording; the choice is saved). In performance mode the HOLD LED stays lit while a sequence plays and the keys are the overlay; the LED flashes three times when you switch it on. In SuperOS mode the HOLD LED is off (one flash when you switch) and the keys switch patterns 1…16 while playing. Gestures with a held function button (randomize and mutate, nudge, shift, loop length, ratchet recording, scales) work in both modes. Performance choices keep playing in SuperOS mode until you reset them.
Nothing here is written into the pattern unless you ask (Write, below): every change acts on what you hear, and the stored notes stay as recorded. Every choice takes effect on the next step, never on the note already sounding. A choice stays on (latched) until you press the same key again, or reset it. The overlay is active only while the sequencer plays and no function button is held, so HOLD + key (loop length), PLAY + key (patterns and songs), KEY TRANSPOSE + key and transpose mode work as before. Stopped, in LOAD, in real-time record and with the arpeggiator, the keys play notes and the TRANSPOSE switch shifts the octave.
| Keys | Function |
|---|---|
| 1…12 | Transpose by the distance from the lowest C (key 8 = none), from the next step on. |
| 13…19 | Octave variations 1…7: each step lifts or drops an octave by a stored pattern (2nd steps up, 4th steps up, 2nd steps down, up and down, pairs up, second half up); 7 picks a random octave on every step. |
| 20…24 | LFO/S&H clock sync 1/16, 1/8, 1/4, 1/2, 1/1: the LFO (and the random S&H it clocks) restarts on that grid. The same key again stops the restart. |
| 25…31 | Stored patterns 1…7, switched at the next step at the same position. |
| 32 | Reset (see below). |
| Keys | Function |
|---|---|
| 1…7 | Reorder notes, rests stay where they are: as written, reverse, cycle even (2nd, 4th … notes first), cycle odd, prime order (a prime stride through the notes), one forward and one back, which move one note further on every loop pass. |
| 8…19 | Root key C…B of the quantizer. The same key again turns the scale off, and on again, keeping the root and type. |
| 20…26 | Quantization key type: major, minor, dorian, harmonic minor, lydian, phrygian, locrian. A root alone uses major, a type alone uses C. Overrides the pattern's own scale while on. The quantizer acts after reorder, combine and octave variation, so the combined notes are scaled too. |
| 27 | Cycle the partner: each press picks the next saved pattern to combine the pitches with (never the playing one). |
| 28…31 | Combine with the partner: add, subtract, divide, difference. The intervals of the partner pattern (above its first note) are combined with this pattern's (above its first note), step by step, then folded back by octaves into range. A rest in the other pattern leaves the note alone. |
| 32 | Reset (see below). |
| Keys | Function |
|---|---|
| 1…7 | Shift time: a quarter note right, left; an eighth right, left; a sixteenth right, left; three sixteenths right. Right = later. |
| 8…12 | Skip time: skip every 4th, every 8th, even, odd, every 5th clock. A skipped clock is silent and the pattern waits for the next one. |
| 13…17 | Add / delete time, the grid clock: 1/4, 1/8, 1/16, 1/4 triplets, 1/16 triplets. |
| 18…21 | Add / delete time, the logic: NOR, OR, AND, XOR. The step clock and the grid clock go through the gate; each rising edge of the result plays a step. OR adds steps on the grid, AND keeps only the steps on it. A grid alone uses OR, a logic alone uses 1/4. |
| 22…26 | Ratchet, only while held: 1/32, 1/16, 1/16 triplets, 3 and 7 times a step. From the next step its note repeats; the pattern runs on underneath and continues in place when you let go. |
| 27 | Cycle the partner for the rhythm, as in row 2 (each row has its own). |
| 28…31 | Combine with the partner: AND, OR, NOR, XOR of this pattern's rhythm with the partner's. A step the logic fills plays the partner's note (NOR: the last note). |
| 32 | Reset (see below). |
In every row the top key (32) is Reset. Tap it alone to clear the whole row. Hold it and press a key to turn that one function off. Hold it for one second to clear all three rows.
Hold KEY TRANSPOSE and press LOAD while playing: one pass of what plays (reorder, quantizer, combine pitch and rhythm, octave variation, shift and transpose) is written into the pattern, and those settings are cleared, so it sounds the same and becomes the new baseline. An active scale moves with the transpose and is kept as the pattern's own. The LFO/S&H sync, skip and add / delete time stay on; they are timing, not notes.
HOLD + LOAD (or Performance modes in the web editor's Performance panel) gives the keys back their SuperOS roles while playing. The setting is kept across power-off.
With MIDI clock sync on (Config Menu), incoming MIDI clock becomes the instrument’s clock, divided to the rhythm you choose, and the SH-101 becomes a strict transport slave:
Ten divisions, exact at 24 pulses per quarter (no drift): 1/4, 1/4 dotted, 1/4 triplet, 1/8, 1/8 dotted, 1/8 triplet, 1/16, 1/16 dotted, 1/16 triplet, 1/32. Choose them in the Config Menu.
Config Menu keys 20 to 31 set a sync delay of 0, 2, 4, 6, 8, 10, 12, 15, 18, 21, 25 or 30 ms: the whole slaved machine plays that much later than the clock, to line it up with slower gear or a slower listening path. It can only delay (a note cannot play before its clock arrives).
Like the superOS-303 Combined Edition, one image carries two complete firmwares, with one active per boot:
The selection is remembered across power-off; the unit always boots into whichever firmware you last chose. Switching is done from the Config Menu and takes effect immediately; USB stays connected.
In 80C49 mode the unit runs the original SH-101 program, byte for byte. The emulated CPU's ports are wired straight through to the synth, so the original's own scan patterns, DAC writes, and timing loops drive the analog board unchanged: every behavior of a 1982 unit is reproduced, including its quirks. For the workflow in this mode, the original Roland SH-101 owner's manual is the manual.
The original CPU kept its sequence in battery-backed internal RAM. In 80C49 mode that RAM region (the 100 sequencer steps) is mirrored to the CPU's permanent memory: about a second after you finish recording it is saved, and it is restored before the original program starts, so the sequence survives power-off with no battery, exactly as a healthy stock unit would keep it. superOS-101's own sixteen patterns are separate and unaffected.
The original ROM is Roland's copyrighted code and is never distributed with superOS-101. It is embedded at build time from your own dump of an SH-101's 2 KB ROM. A build made without a dump still works fully as superOS-101; only 80C49 mode is unavailable.
Playing
| UP / DOWN / UP&DOWN | Arpeggiator on in that direction / off |
| DOWN + UP&DOWN together | Random arpeggio on / off |
| Arp: KEY TRANSPOSE + UP / DOWN | Arp octave range 1…3 |
| KEY TRANSPOSE + key | Transpose from the lowest C (stays; + lowest C = off) |
| Double-tap KEY TRANSPOSE | Transpose mode: plain keys transpose while playing |
| KEY TRANSPOSE + LOAD | Tune: hold A 440 |
| TRIG switch GATE+TRIG | Last-note priority (else lowest-note) |
Sequencer
| LOAD (stopped) | Record a new pattern |
| Key / KEY TRANSPOSE / HOLD + key | Write note / rest / legato |
| Recording: UP / DOWN | Ratchet of last step / delete last step |
| LOAD (recording) | Finish (auto-saved) |
| LOAD (playing) | Correct and add from the next step |
| PLAY | Start / stop |
| Playing: UP / DOWN / UP&DOWN / DOWN+UP&DOWN | Forward / backward / ping-pong / random |
| Playing: HOLD + key n | Loop the first n steps (same key = full) |
| Playing: KEY TRANSPOSE + UP / DOWN | Shift: next / previous step now |
| Playing: HOLD + UP / DOWN | Nudge the notes a step right / left |
| PLAY + UP&DOWN / UP / DOWN | Random pattern / new pitches / mutate |
| PLAY + KEY TRANSPOSE + key / KEY TRANSPOSE tap | Scale root (again = next scale) / scale on-off |
| PLAY + key 1…16 | Select pattern (stopped: start; playing: at the end of the pass) |
| PLAY + several keys | Song |
| Playing, TRANSPOSE L: key 25…32 | Switch to pattern 1…8 now (overlay off: keys 1…16) |
| Playing: PLAY + LOAD | Real-time record on / off |
Performance Modes (while playing)
| HOLD + LOAD | Performance mode (HOLD LED lit while playing) / SuperOS mode |
| TRANSPOSE L / M / H | Row 1 Global / 2 Pitch / 3 Time |
| Row 1: keys 1…12 / 13…19 / 20…24 / 25…31 | Transpose / octave variations / LFO sync / patterns 1…7 |
| Row 2: keys 1…7 / 8…19 / 20…26 / 27 / 28…31 | Reorder / root / scale type / partner / combine pitch |
| Row 3: keys 1…7 / 8…12 | Shift time / skip time |
| Row 3: keys 13…17 + 18…21 | Add / delete time: grid + NOR OR AND XOR |
| Row 3: keys 22…26 held / 27 / 28…31 | Ratchet / partner / combine rhythm |
| Key 32 / key 32 + key / key 32 held 1 s | Reset the row / that function / every row |
| KEY TRANSPOSE + LOAD | Write what plays into the pattern |
| Same key again | That choice off |
Config Menu
| Hold HOLD + KEY TRANSPOSE 2 s | Config Menu |
| Menu: LOAD / PLAY | 80C49 mode / superOS-101 |
| Menu: UP&DOWN | MIDI clock sync on / off |
| Menu: UP / DOWN, keys 1…10 | Clock division |
| Menu: keys 15…18 / 19 / 20…31 | Direction / pedal route / sync delay |
| Menu: KEY TRANSPOSE | Exit |