mirror of
https://github.com/tildearrow/furnace.git
synced 2024-12-02 17:27:25 +00:00
Merge pull request #1177 from ElectricKeet/doc-brackets
Docs formatting for clarity and such.
This commit is contained in:
commit
2dc3ce9e8c
78 changed files with 819 additions and 857 deletions
|
@ -6,15 +6,13 @@ it has a large selection of features and sound chips. from the NES, SNES and Gen
|
||||||
|
|
||||||
every chip is emulated using many emulation cores, therefore the sound that Furnace produces is authentic to that of real hardware.
|
every chip is emulated using many emulation cores, therefore the sound that Furnace produces is authentic to that of real hardware.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## hexadecimal
|
## hexadecimal
|
||||||
|
|
||||||
Furnace uses hexadecimal (abbreviated as "hex") numbers frequently. see [this guide](hex.md) for a crash course.
|
Furnace uses hexadecimal (abbreviated as "hex") numbers frequently. see [this guide](hex.md) for a crash course.
|
||||||
|
|
||||||
## interface
|
## interface
|
||||||
|
|
||||||
Furnace uses a music tracker interface. think of a table with music notes written on it. then that table scrolls up and plays the notes. even experienced tracker musicians might benefit from a quick review of [tracker concepts and terms](concepts.md) before using Furnace.
|
Furnace uses a music tracker interface. think of a table with music notes written on it. then that table scrolls up and plays the notes.
|
||||||
|
|
||||||
due to its nature of being feature-packed, it may be technical and somewhat difficult to get around. therefore we added a basic mode, which hides several advanced features.
|
due to its nature of being feature-packed, it may be technical and somewhat difficult to get around. therefore we added a basic mode, which hides several advanced features.
|
||||||
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
# concepts and terms
|
|
||||||
|
|
||||||
- A **module** is a file for a tracker that contains at least one **song**.
|
|
||||||
- Each Furnace module involves at least one **[chip](../7-systems/README.md)**, an emulation of a specific audio processor.
|
|
||||||
|
|
||||||
## tracking
|
|
||||||
|
|
||||||
The **[pattern view](../3-pattern/README.md)** is like a spreadsheet that displays the following:
|
|
||||||
- Each labeled column represents a **channel** of sound provided by the chips in use.
|
|
||||||
- Each **note** starts a sound playing. Within a channel, only one note can play at a time.
|
|
||||||
- Each note is assigned an **[instrument](../4-instrument/README.md)** which describes what it will sound like.
|
|
||||||
- An **effect** is a command that changes some aspect of playback. It can alter note pitch, volume, timing, and more.
|
|
||||||
- An instrument **macro** is an automated sequence of effects that applies to every note of that instrument.
|
|
||||||
|
|
||||||
## structure
|
|
||||||
|
|
||||||
The **order list** is a smaller spreadsheet showing the overall song structure.
|
|
||||||
- A song is made up of a list of **orders**.
|
|
||||||
- An **order** is a set of numbered **patterns** used for each channel.
|
|
||||||
- Each channel has its own unique list of patterns.
|
|
||||||
- Each pattern contains note and effect data for that channel only.
|
|
||||||
- Patterns may be used multiple times in the order list. Changing a pattern's data in one order will affect the same pattern used in other orders.
|
|
||||||
|
|
||||||
## time
|
|
||||||
|
|
||||||
- Each pattern is made of the same number of **rows** as seen in the tracker view.
|
|
||||||
- During playback, Each row lasts a number of **ticks** determined by its **speed** value.
|
|
||||||
- A tick is the smallest measure of time to which all note, effect, and macro times are quantized.
|
|
||||||
|
|
||||||
## sound
|
|
||||||
|
|
||||||
Different chips have different capabilities. Even within the same chip, each channel may have its own ways of making sound.
|
|
||||||
- Some channels use one or more waveform **generators** (sine, square, noise...) to build up a sound.
|
|
||||||
- Of special note are **[FM (frequency modulation)](../4-instrument/fm.md)** channels, which use a number of generators called **operators** that can interact to make very complex sounds.
|
|
||||||
- Some channels use **[samples](../6-sample/README.md)** – recordings of sounds, often with defined loop points to allow a note to sustain.
|
|
||||||
- Some channels use **[wavetables](../5-wave/README.md)**, which are like very short samples of fixed length that automatically loop.
|
|
|
@ -3,20 +3,21 @@
|
||||||
![instruments window](instruments.png)
|
![instruments window](instruments.png)
|
||||||
|
|
||||||
Buttons from left to right:
|
Buttons from left to right:
|
||||||
- ![](asset-add.png) **Add:** Creates a new, default instrument.
|
- **Add**: Creates a new, default instrument.
|
||||||
- ![](asset-duplicate.png) **Duplicate:** Duplicates the currently selected instrument.
|
- **Duplicate**: Duplicates the currently selected instrument.
|
||||||
- ![](asset-open.png) **Open:** Brings up a file dialog to load a file as a new instrument at the end of the list.
|
- **Open**: Brings up a file dialog to load a file as a new instrument at the end of the list.
|
||||||
- ![](asset-save.png) **Save:** Brings up a file dialog to save the currently selected instrument.
|
- **Save**: Brings up a file dialog to save the currently selected instrument.
|
||||||
- ![](asset-folderview.png) **Toggle folders/standard view:** Enables (and disables) folder view, explained below.
|
- **Toggle folders/standard view**: Enables (and disables) folder view, explained below.
|
||||||
- ![](asset-move.png) **Move up** and **Move down:** Moves the currently selected instrument in the list. Pattern data will automatically be adjusted to match.
|
- **Move up**: Moves the currently selected instrument up in the list. Pattern data will automatically be adjusted to match.
|
||||||
- ![](asset-delete.png) **Delete:** Deletes the currently selected instrument. Pattern data will be adjusted to use the next available instrument in the list.
|
- **Move down**: Same, but downward.
|
||||||
|
- **Delete**: Deletes the currently selected instrument. Pattern data will be adjusted to use the next available instrument in the list.
|
||||||
|
|
||||||
## folder view
|
## folder view
|
||||||
|
|
||||||
![instruments window in folder view](instruments-folder.png)
|
![instruments window in folder view](instruments-folder.png)
|
||||||
|
|
||||||
In folder view, the "Move up" and "Move down" buttons disappear and a new one appears:
|
In folder view, the "Move up" and "Move down buttons disappear and a new one appears:
|
||||||
- ![](asset-newfolder.png) **New Folder:** Creates a new folder.
|
- **New folder**: Creates a new folder.
|
||||||
|
|
||||||
Instruments may be dragged from folder to folder and even rearranged within folders without changing their associated numbers.
|
Instruments may be dragged from folder to folder and even rearranged within folders without changing their associated numbers.
|
||||||
|
|
||||||
|
@ -33,5 +34,5 @@ Everything from the instrument list applies here also, with one major difference
|
||||||
![samples window](samples.png)
|
![samples window](samples.png)
|
||||||
|
|
||||||
Everything from the wavetables list applies here also, with the addition of two buttons:
|
Everything from the wavetables list applies here also, with the addition of two buttons:
|
||||||
- ![](asset-preview.png) **Preview:** Plays the selected sample at its default note.
|
- **Preview**: Plays the selected sample at its default note.
|
||||||
- ![](asset-previewstop.png) **Stop preview:** Stops the sample playback.
|
- **Stop preview**: Stops the sample playback.
|
||||||
|
|
|
@ -2,19 +2,19 @@
|
||||||
|
|
||||||
The "Play/Edit Controls" are used to control playback and change parameters of the pattern view.
|
The "Play/Edit Controls" are used to control playback and change parameters of the pattern view.
|
||||||
|
|
||||||
- ![](control-play.png) **Play:** Plays from cursor position.
|
- ![](control-play.png) **Play**: Plays from cursor position.
|
||||||
- ![](control-stop.png) **Stop:** Stops all playback.
|
- ![](control-stop.png) **Stop**: Stops all playback.
|
||||||
- ![](control-play-pattern.png) **Play from the beginning of this pattern:** Plays from the start of current pattern.
|
- ![](control-play-pattern.png) **Play from the beginning of this pattern**: Plays from the start of current pattern.
|
||||||
- ![](control-play-repeat.png) **Repeat from the beginning of this pattern:** Repeats current pattern from its start.
|
- ![](control-play-repeat.png) **Repeat from the beginning of this pattern**: Repeats current pattern from its start.
|
||||||
- ![](control-step.png) **Step one row:** Plays only the row at cursor position and moves down one.
|
- ![](control-step.png) **Step one row**: Plays only the row at cursor position and moves down one.
|
||||||
- ![](control-edit.png) **Edit:** Toggles edit mode. If off, nothing can be edited in the pattern window. (Great for playing around on the keyboard!)
|
- ![](control-edit.png) **Edit**: Toggles edit mode. If off, nothing can be edited in the pattern window. (Great for playing around on the keyboard!)
|
||||||
- ![](control-metronome.png) **Metronome:** Toggles the metronome, which only sounds during playback.
|
- ![](control-metronome.png) **Metronome**: Toggles the metronome, which only sounds during playback.
|
||||||
- ![](control-repeat.png) **Repeat pattern:** Toggles pattern repeat. During playback while this is on, the current pattern will play over and over instead of following the order list.
|
- ![](control-repeat.png) **Repeat pattern**: Toggles pattern repeat. During playback while this is on, the current pattern will play over and over instead of following the order list.
|
||||||
- **Poly:** Turns on polyphony for previewing notes. Toggles to **Mono** for monophony (one note at a time only).
|
- **Poly**: Turns on polyphony for previewing notes. Toggles to **Mono** for monophony (one note at a time only).
|
||||||
- **Octave:** Sets current input octave.
|
- **Octave**: Sets current input octave.
|
||||||
- **Step:** Sets edit step. If this is 1, entering a note or effect will move to the next row. If this is a larger number, rows will be skipped. If this is 0, the cursor will stay in place.
|
- **Step**: Sets edit step. If this is 1, entering a note or effect will move to the next row. If this is a larger number, rows will be skipped. If this is 0, the cursor will stay in place.
|
||||||
- **Follow orders:** If on, the selected order in the orders window will follow the song during playback.
|
- **Follow orders**: If on, the selected order in the orders window will follow the song during playback.
|
||||||
- **Follow pattern:** If on, the cursor will follow playback and the song will scroll by as it plays.
|
- **Follow pattern**: If on, the cursor will follow playback and the song will scroll by as it plays.
|
||||||
|
|
||||||
## layouts
|
## layouts
|
||||||
|
|
||||||
|
|
|
@ -1,49 +1,49 @@
|
||||||
# song info
|
# song info
|
||||||
|
|
||||||
- "Name" is for the track's title.
|
- **Name**: The track's title.
|
||||||
- "Author" is used to list the contributors to a song. If the song is a cover of someone else's track, it's customary to list their name first, followed by `[cv. YourName]`.
|
- **Author**: List of contributors to a song. If the song is a cover of someone else's track, it's customary to list their name first, followed by `[cv. YourName]`.
|
||||||
- "Album" can be used to store the associated album name, the name of the game the song is from, or whatever.
|
- **Album**: The associated album name, the name of the game the song is from, or whatever.
|
||||||
- "System" is for the game or computer the track is designed for. This is automatically set when creating a new tune, but it can be changed to anything one wants. The "Auto" button will provide a guess based on the chips in use.
|
- **System**: The game console or computer the track is designed for. This is automatically set when creating a new tune, but it can be changed to anything one wants. The **Auto** button will provide a guess based on the chips in use.
|
||||||
|
|
||||||
All of this metadata will be included in a VGM export. This isn't the case for a WAV export, however.
|
All of this metadata will be included in a VGM export. This isn't the case for a WAV export, however.
|
||||||
|
|
||||||
"Tuning (A-4)" allows one to set tuning based on the note A-4, which should be 440 in most cases. Opening an Amiga MOD will set it to 436 for hardware compatibility.
|
**Tuning (A-4)**: Set tuning based on the note A-4, which should be 440 in most cases. Opening an Amiga MOD will set it to 436 for hardware compatibility.
|
||||||
|
|
||||||
# subsongs
|
# subsongs
|
||||||
|
|
||||||
This window allows one to create **subsongs** – multiple individual songs within a single file. Each song has its own order list and patterns, but all songs within a file share the same chips, samples, and so forth.
|
This window allows one to create **subsongs** – multiple individual songs within a single file. Each song has its own order list and patterns, but all songs within a file share the same chips, samples, and so forth.
|
||||||
|
|
||||||
- The drop-down box selects the current subsong.
|
- The drop-down box selects the current subsong.
|
||||||
- The `+` button adds a new subsong.
|
- The **`+`** button adds a new subsong.
|
||||||
- The `−` button permanently deletes the current subsong (unless it's the only one).
|
- The **`−`** button permanently deletes the current subsong (unless it's the only one).
|
||||||
- "Name" sets the title of the current subsong.
|
- **Name**: Title of the current subsong.
|
||||||
- The box at the bottom can store any arbitrary text, like a separate "Comments" box for the current subsong.
|
- The box at the bottom can store any arbitrary text, like a separate "Comments" box for the current subsong.
|
||||||
|
|
||||||
# speed
|
# speed
|
||||||
|
|
||||||
There are multiple ways to set the tempo of a song.
|
There are multiple ways to set the tempo of a song.
|
||||||
|
|
||||||
**Tick Rate** sets the frequency of ticks per second, the rate at which notes and effects are processed.
|
**Tick Rate**: The frequency of ticks per second, thus the rate at which notes and effects are processed.
|
||||||
- All values are allowed for all chips, but most chips have hardware limitations that mean they should stay at either 60 (approximately NTSC) or 50 (exactly PAL).
|
- All values are allowed for all chips, though most chips have hardware limitations that mean they should stay at either 60 (approximately NTSC) or 50 (exactly PAL).
|
||||||
- Clicking the Tick Rate button switches to a more traditional **Base Tempo** BPM setting.
|
- Clicking the Tick Rate button switches to a more traditional **Base Tempo** BPM setting.
|
||||||
|
|
||||||
**Speed** sets the number of ticks per row.
|
**Speed**: The number of ticks per row.
|
||||||
- Clicking the "Speed" button changes to more complex modes covered in the [grooves] page.
|
- Clicking the "Speed" button changes to more complex modes covered in the [grooves] page.
|
||||||
|
|
||||||
**Virtual Tempo** simulates any arbitrary tempo without altering the tick rate. It does this by adding or skipping ticks to approximate the tempo. The two numbers represent a ratio applied to the actual tick rate. Example:
|
**Virtual Tempo**: Simulates any arbitrary tempo without altering the tick rate. It does this by adding or skipping ticks to approximate the tempo. The two numbers represent a ratio applied to the actual tick rate. Example:
|
||||||
- Set tick rate to 150 BPM (60 Hz) and speed to 6.
|
- Set tick rate to 150 BPM (60 Hz) and speed to 6.
|
||||||
- Set the first virtual tempo number (numerator) to 200.
|
- Set the first virtual tempo number (numerator) to 200.
|
||||||
- Set the second virtual tempo number (denominator) to 150.
|
- Set the second virtual tempo number (denominator) to 150.
|
||||||
- The track will play at 200 BPM.
|
- The track will play at 200 BPM.
|
||||||
- The ratio doesn't have to match BPM numbers. Set the numerator to 4 and the denominator to 5, and the virtual BPM becomes 150 × 4/5 = 120.
|
- The ratio doesn't have to match BPM numbers. Set the numerator to 4 and the denominator to 5, and the virtual BPM becomes 150 × 4/5 = 120.
|
||||||
|
|
||||||
**Divider** changes the effective tick rate. A tick rate of 60Hz and a divisor of 6 will result in ticks lasting a tenth of a second each!
|
**Divider**: Changes the effective tick rate. A tick rate of 60Hz and a divisor of 6 will result in ticks lasting a tenth of a second each!
|
||||||
|
|
||||||
**Highlight** sets the pattern row highlights:
|
**Highlight**: Sets the pattern row highlights:
|
||||||
- The first value represents the number of rows per beat.
|
- The first value represents the number of rows per beat.
|
||||||
- The second value represents the number of rows per measure.
|
- The second value represents the number of rows per measure.
|
||||||
- These don't have to line up with the music's actual beats and measures. Set them as preferred for tracking. _Note:_ These values are used for the metronome and calculating BPM.
|
- These don't have to line up with the music's actual beats and measures. Set them as preferred for tracking. _Note:_ These values are used for the metronome and calculating BPM.
|
||||||
|
|
||||||
**Pattern Length** is the length of each pattern in rows. This affects all patterns in the song, and every pattern must be the same length. (Individual patterns can be cut short by `0Bxx`, `0Dxx`, and `FFxx` commands.)
|
**Pattern Length**: The length of each pattern in rows. This affects all patterns in the song, and every pattern must be the same length. (Individual patterns can be cut short by `0Bxx`, `0Dxx`, and `FFxx` commands.)
|
||||||
|
|
||||||
**Song Length** shows how many orders are in the order list. Decreasing it will hide the orders at the bottom. Increasing it will restore those orders; increasing it further will add new orders of all `00` patterns.
|
**Song Length**: How many orders are in the order list. Decreasing it will hide the orders at the bottom. Increasing it will restore those orders; increasing it further will add new orders of all `00` patterns.
|
||||||
|
|
|
@ -3,74 +3,74 @@
|
||||||
most of the effect numbers are from ProTracker/FastTracker 2.
|
most of the effect numbers are from ProTracker/FastTracker 2.
|
||||||
however, effects are continuous, which means you only need to type it once and then stop it with an effect value of `00`.
|
however, effects are continuous, which means you only need to type it once and then stop it with an effect value of `00`.
|
||||||
|
|
||||||
- `00xy`: arpeggio. after using this effect the channel will rapidly switch between `note`, `note+x` and `note+y`.
|
- **`00xy`**: arpeggio. after using this effect the channel will rapidly switch between `note`, `note+x` and `note+y`.
|
||||||
- `01xx`: slide up.
|
- **`01xx`**: slide up.
|
||||||
- `02xx`: slide down.
|
- **`02xx`**: slide down.
|
||||||
- `03xx`: note portamento.
|
- **`03xx`**: note portamento.
|
||||||
- a note must be present for this effect to work.
|
- a note must be present for this effect to work.
|
||||||
- `04xy`: vibrato. `x` is the speed, while `y` is the depth.
|
- **`04xy`**: vibrato. `x` is the speed, while `y` is the depth.
|
||||||
- maximum vibrato depth is ±1 semitone.
|
- maximum vibrato depth is ±1 semitone.
|
||||||
- `07xy`: tremolo. `x` is the speed, while `y` is the depth.
|
- **`07xy`**: tremolo. `x` is the speed, while `y` is the depth.
|
||||||
- maximum tremolo depth is -60 volume steps.
|
- maximum tremolo depth is -60 volume steps.
|
||||||
- `08xy`: set panning. `x` is the left channel and `y` is the right one.
|
- **`08xy`**: set panning. `x` is the left channel and `y` is the right one.
|
||||||
- not all chips support this effect.
|
- not all chips support this effect.
|
||||||
- `80xx`: set panning (linear). this effect behaves more like other trackers:
|
- **`80xx`**: set panning (linear). this effect behaves more like other trackers:
|
||||||
- `00` is left.
|
- `00` is left.
|
||||||
- `80` is center.
|
- `80` is center.
|
||||||
- `FF` is right.
|
- `FF` is right.
|
||||||
- not all chips support this effect.
|
- not all chips support this effect.
|
||||||
- `81xx`: set volume of left channel (from `00` to `FF`).
|
- **`81xx`**: set volume of left channel (from `00` to `FF`).
|
||||||
- not all chips support this effect.
|
- not all chips support this effect.
|
||||||
- `82xx`: set volume of right channel (from `00` to `FF`).
|
- **`82xx`**: set volume of right channel (from `00` to `FF`).
|
||||||
- not all chips support this effect.
|
- not all chips support this effect.
|
||||||
- `09xx`: set speed 1.
|
- **`09xx`**: set speed 1.
|
||||||
- `0Axy`: volume slide.
|
- **`0Axy`**: volume slide.
|
||||||
- if `x` is 0 then this is a slide down.
|
- if `x` is 0 then this is a slide down.
|
||||||
- if `y` is 0 then this is a slide up.
|
- if `y` is 0 then this is a slide up.
|
||||||
- `0Bxx`: jump to pattern.
|
- **`0Bxx`**: jump to pattern.
|
||||||
- `0Cxx`: retrigger note every `xx` ticks.
|
- **`0Cxx`**: retrigger note every `xx` ticks.
|
||||||
- this effect is not continuous.
|
- this effect is not continuous.
|
||||||
- `0Dxx`: jump to next pattern.
|
- **`0Dxx`**: jump to next pattern.
|
||||||
- `0Fxx`: set speed 2.
|
- **`0Fxx`**: set speed 2.
|
||||||
|
|
||||||
- `9xxx`: set sample position to `xxx`\*0x100.
|
- **`9xxx`**: set sample position to `xxx`\*0x100.
|
||||||
- not all chips support this effect.
|
- not all chips support this effect.
|
||||||
|
|
||||||
- `Cxxx`: change song Hz.
|
- **`Cxxx`**: change song Hz.
|
||||||
- `xxx` may be from `000` to `3ff`.
|
- `xxx` may be from `000` to `3ff`.
|
||||||
|
|
||||||
- `E0xx`: set arpeggio tick.
|
- **`E0xx`**: set arpeggio tick.
|
||||||
- this sets the number of ticks between arpeggio values.
|
- this sets the number of ticks between arpeggio values.
|
||||||
- `E1xy`: note slide up. `x` is the speed, while `y` is how many semitones to slide up.
|
- **`E1xy`**: note slide up. `x` is the speed, while `y` is how many semitones to slide up.
|
||||||
- `E2xy`: note slide down. `x` is the speed, while `y` is how many semitones to slide down.
|
- **`E2xy`**: note slide down. `x` is the speed, while `y` is how many semitones to slide down.
|
||||||
- `E3xx`: set vibrato direction. `xx` may be one of the following:
|
- **`E3xx`**: set vibrato direction. `xx` may be one of the following:
|
||||||
- `00`: up and down.
|
- `00`: up and down.
|
||||||
- `01`: up only.
|
- `01`: up only.
|
||||||
- `02`: down only.
|
- `02`: down only.
|
||||||
- `E4xx`: set vibrato range in 1/16th of a semitone.
|
- **`E4xx`**: set vibrato range in 1/16th of a semitone.
|
||||||
- `E5xx`: set pitch. `80` is 0 cents.
|
- **`E5xx`**: set pitch. `80` is 0 cents.
|
||||||
- range is ±1 semitone.
|
- range is ±1 semitone.
|
||||||
- `EAxx`: toggle legato.
|
- **`EAxx`**: toggle legato.
|
||||||
- `EBxx`: set sample bank.
|
- **`EBxx`**: set sample bank.
|
||||||
- does not apply on Amiga.
|
- does not apply on Amiga.
|
||||||
- `ECxx`: note off after `xx` ticks.
|
- **`ECxx`**: note off after `xx` ticks.
|
||||||
- `EDxx`: delay note by `xx` ticks.
|
- **`EDxx`**: delay note by `xx` ticks.
|
||||||
- `EExx`: send external command.
|
- **`EExx`**: send external command.
|
||||||
- this effect is currently incomplete.
|
- this effect is currently incomplete.
|
||||||
- `F0xx`: change song Hz by BPM value.
|
- **`F0xx`**: change song Hz by BPM value.
|
||||||
- `F1xx`: single tick slide up.
|
- **`F1xx`**: single tick slide up.
|
||||||
- `F2xx`: single tick slide down.
|
- **`F2xx`**: single tick slide down.
|
||||||
- `F3xx`: fine volume slide up (64x slower than `0Axy`).
|
- **`F3xx`**: fine volume slide up (64x slower than `0Axy`).
|
||||||
- `F4xx`: fine volume slide down (64x slower than `0Axy`).
|
- **`F4xx`**: fine volume slide down (64x slower than `0Axy`).
|
||||||
- `F5xx`: disable macro.
|
- **`F5xx`**: disable macro.
|
||||||
- see macro table at the end of this document for possible values.
|
- see macro table at the end of this document for possible values.
|
||||||
- `F6xx`: enable macro.
|
- **`F6xx`**: enable macro.
|
||||||
- `F8xx`: single tick volume slide up.
|
- **`F8xx`**: single tick volume slide up.
|
||||||
- `F9xx`: single tick volume slide down.
|
- **`F9xx`**: single tick volume slide down.
|
||||||
- `FAxy`: fast volume slide (4x faster than `0Axy`).
|
- **`FAxy`**: fast volume slide (4x faster than `0Axy`).
|
||||||
- if `x` is 0 then this is a slide down.
|
- if `x` is 0 then this is a slide down.
|
||||||
- if `y` is 0 then this is a slide up.
|
- if `y` is 0 then this is a slide up.
|
||||||
- `FFxx`: end of song/stop playback.
|
- **`FFxx`**: end of song/stop playback.
|
||||||
|
|
||||||
additionally each chip has its own effects. [click here for more details](../7-systems/README.md).
|
additionally each chip has its own effects. [click here for more details](../7-systems/README.md).
|
||||||
|
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
AY8930 instrument editor consists of these macros.
|
AY8930 instrument editor consists of these macros.
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio]- pitch in half-steps
|
- **Arpeggio**: pitch in half-steps
|
||||||
- [Noise Freq] - AY8930 noise generator frequency sequence
|
- **Noise Freq**: AY8930 noise generator frequency sequence
|
||||||
- [Waveform] - selector of sound type: pulse wave tone, noise or envelope generator
|
- **Waveform**: selector of sound type: pulse wave tone, noise or envelope generator
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
- [Duty] - duty cycle of a pulse wave sequence
|
- **Duty**: duty cycle of a pulse wave sequence
|
||||||
- [Envelope] - allows shaping an envelope
|
- **Envelope**: allows shaping an envelope
|
||||||
- [AutoEnv Num] - sets the envelope to the channel's frequency multiplied by numerator
|
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator
|
||||||
- [AutoEnv Den] - sets the envelope to the channel's frequency divided by denominator
|
- **AutoEnv Den**: sets the envelope to the channel's frequency divided by denominator
|
||||||
- [Noise AND Mask] - alters the shape/frequency of the noise generator, allowing to produce various interesting sound effects and even PWM phasing
|
- **Noise AND Mask**: alters the shape/frequency of the noise generator, allowing to produce various interesting sound effects and even PWM phasing
|
||||||
- [Noise OR Mask] - see above
|
- **Noise OR Mask**: see above
|
||||||
|
|
|
@ -4,14 +4,14 @@ The PCM instrument editor consists of a sample selector and several macros:
|
||||||
|
|
||||||
# Amiga/sample
|
# Amiga/sample
|
||||||
|
|
||||||
- [Initial sample] - specifies which sample should be assigned to the instrument, or the first one in the sequence
|
- **Initial sample**: specifies which sample should be assigned to the instrument, or the first one in the sequence
|
||||||
|
|
||||||
# Macros
|
# Macros
|
||||||
|
|
||||||
- [Volume] - volume sequence WARNING: it works only on Amiga system, as of version 0.5.5!!
|
- **Volume**: volume sequence WARNING: it works only on Amiga system, as of version 0.5.5!!
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Waveform] - sample sequence
|
- **Waveform**: sample sequence
|
||||||
- [Panning (left)] - output level for left channel
|
- **Panning (left)**: output level for left channel
|
||||||
- [Panning (right)] - output level for right channel
|
- **Panning (right)**: output level for right channel
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
The AY-3-8910 instrument editor consists of these macros.
|
The AY-3-8910 instrument editor consists of these macros.
|
||||||
|
|
||||||
- [Volume] - volume levels sequence
|
- **Volume**: volume levels sequence
|
||||||
- [Arpeggio]- pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Noise Freq] - AY-3-8910 noise generator frequency sequence
|
- **Noise Freq**: AY-3-8910 noise generator frequency sequence
|
||||||
- [Waveform] - selector of sound type - square wave tone, noise or envelope generator
|
- **Waveform**: selector of sound type - square wave tone, noise or envelope generator
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
- [Envelope] - allows shaping an envelope
|
- **Envelope**: allows shaping an envelope
|
||||||
- [AutoEnv Num] - sets the envelope to the channel's frequency multiplied by numerator
|
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator
|
||||||
- [AutoEnv Den] - sets the envelope to the channel's frequency multiplied by denominator
|
- **AutoEnv Den**: sets the envelope to the channel's frequency multiplied by denominator
|
||||||
|
|
|
@ -4,32 +4,32 @@ The C64 instrument editor consists of two tabs: "C64" to control various paramet
|
||||||
|
|
||||||
## C64
|
## C64
|
||||||
|
|
||||||
- [Waveform] - allows selecting a waveform. NOTE: more than one waveform can be selected at once, logical AND mix of waves will be produced, with an exception of a noise waveform, it can't be mixed.
|
- **Waveform**: allows selecting a waveform. NOTE: more than one waveform can be selected at once, logical AND mix of waves will be produced, with an exception of a noise waveform, it can't be mixed.
|
||||||
- [Attack] - determines the rising time for the sound. The bigger the value, the slower the attack. (0-15 range)
|
- **Attack**: determines the rising time for the sound. The bigger the value, the slower the attack. (0-15 range)
|
||||||
- [Decay]- Determines the diminishing time for the sound. The higher the value, the longer the decay. It's the initial amplitude decay rate. (0-15 range)
|
- **Decay**: Determines the diminishing time for the sound. The higher the value, the longer the decay. It's the initial amplitude decay rate. (0-15 range)
|
||||||
- [Sustain] - Sets the volume level at which the sound stops decaying and holds steady. (0-15 range)
|
- **Sustain**: Sets the volume level at which the sound stops decaying and holds steady. (0-15 range)
|
||||||
- [Release] - Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the longer the release. (0-15 range)
|
- **Release**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the longer the release. (0-15 range)
|
||||||
- [Ring Modulation] - enables the ring modulation affecting the instrument.
|
- **Ring Modulation**: enables the ring modulation affecting the instrument.
|
||||||
- [Duty] - specifies the width of a pulse wave. (0-4095 range)
|
- **Duty**: specifies the width of a pulse wave. (0-4095 range)
|
||||||
- [Oscillator Sync] - enables the oscillator hard sync. As one oscillator finishes a cycle, it resets the period of another oscillator, forcing the latter to have the same base frequency. This can produce a harmonically rich sound, the timbre of which can be altered by varying the synced oscillator's frequency.
|
- **Oscillator Sync**: enables the oscillator hard sync. As one oscillator finishes a cycle, it resets the period of another oscillator, forcing the latter to have the same base frequency. This can produce a harmonically rich sound, the timbre of which can be altered by varying the synced oscillator's frequency.
|
||||||
- [Enable filter] - enables analogue filter affecting the instrument
|
- **Enable filter**: enables analogue filter affecting the instrument
|
||||||
- [Initialize filter] - initializes the filter with the specified parameters:
|
- **Initialize filter**: initializes the filter with the specified parameters:
|
||||||
- [Cutoff] - defines the "intensity" of a filter, to put in in layman terms (0-2047 range)
|
- **Cutoff**: defines the "intensity" of a filter, to put in in layman terms (0-2047 range)
|
||||||
- [Resonance] - defines an additional controlled amplification of that cutoff frequency, creating a secondary peak forms and colors the original pitch. (0-15 range)
|
- **Resonance**: defines an additional controlled amplification of that cutoff frequency, creating a secondary peak forms and colors the original pitch. (0-15 range)
|
||||||
- [Filter mode] - determined the filter mode NOTE: SID's filter is multi-mode, you can mix different modes together (like low and high-pass filters at once) CH3-OFF disables the channel 3, for no reason whatsoever lmao
|
- **Filter mode**: determined the filter mode NOTE: SID's filter is multi-mode, you can mix different modes together (like low and high-pass filters at once) CH3-OFF disables the channel 3, for no reason whatsoever lmao
|
||||||
- [Volume Macro is Cutoff Macro] - turns a volume macro in a macros tab into a filter cutoff macro.
|
- **Volume Macro is Cutoff Macro**: turns a volume macro in a macros tab into a filter cutoff macro.
|
||||||
- [Absolute Cutoff Macro] - changes the behaviour of a cutoff macro from the old-style, compatible to much more define-able.
|
- **Absolute Cutoff Macro**: changes the behaviour of a cutoff macro from the old-style, compatible to much more define-able.
|
||||||
- [Absolute Duty Macro] - changes the behaviour of a duty cycle macro from the old-style, compatible to much more definable.
|
- **Absolute Duty Macro**: changes the behaviour of a duty cycle macro from the old-style, compatible to much more definable.
|
||||||
- [Don't test/gate before new note] - Don't reset the envelope to zero when a new note starts. (Read "Test/Gate" below for more info.)
|
- **Don't test/gate before new note**: Don't reset the envelope to zero when a new note starts. (Read "Test/Gate" below for more info.)
|
||||||
|
|
||||||
## Macros
|
## Macros
|
||||||
|
|
||||||
- [Volume] - volume sequence (WARNING: Volume sequence is global for ALL three channels!!)
|
- **Volume**: volume sequence (WARNING: Volume sequence is global for ALL three channels!!)
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Duty] - pulse duty cycle sequence
|
- **Duty**: pulse duty cycle sequence
|
||||||
- [Waveform] - select the waveform used by instrument
|
- **Waveform**: select the waveform used by instrument
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Filter mode] - select the filter mode/sequence
|
- **Filter mode**: select the filter mode/sequence
|
||||||
- [Resonance] - filter resonance sequence
|
- **Resonance**: filter resonance sequence
|
||||||
- [Special] - ring and oscillator sync selector
|
- **Special**: ring and oscillator sync selector
|
||||||
- [Test/Gate] - When on, the TEST bit resets and locks Oscillator 1 at zero until cleared. The GATE bit controls Oscillator 1's envelope: Gate on runs through the envelope's attack, delay, and sustain; Gate off is envelope release.
|
- **Test/Gate**: When on, the TEST bit resets and locks Oscillator 1 at zero until cleared. The GATE bit controls Oscillator 1's envelope: Gate on runs through the envelope's attack, delay, and sustain; Gate off is envelope release.
|
|
@ -2,47 +2,46 @@
|
||||||
|
|
||||||
FM editor is divided into 7 tabs:
|
FM editor is divided into 7 tabs:
|
||||||
|
|
||||||
- [FM] - for controlling the basic parameters of FM sound source.
|
- **FM**: for controlling the basic parameters of FM sound source.
|
||||||
- [Macros (FM)]- for macros controlling algorithm, feedback and LFO
|
- **Macros (FM)**: for macros controlling algorithm, feedback and LFO
|
||||||
- [Macros (OP1)] - for macros controlling FM paramets of operator 1
|
- **Macros (OP1)**: for macros controlling FM paramets of operator 1
|
||||||
- [Macros (OP2)] - for macros controlling FM paramets of operator 2
|
- **Macros (OP2)**: for macros controlling FM paramets of operator 2
|
||||||
- [Macros (OP3)] - for macros controlling FM paramets of operator 3
|
- **Macros (OP3)**: for macros controlling FM paramets of operator 3
|
||||||
- [Macros (OP4)] - for macros controlling FM paramets of operator 4
|
- **Macros (OP4)**: for macros controlling FM paramets of operator 4
|
||||||
- [Macros] - for miscellaneous macros controlling volume, argeggio and YM2151 noise generator.
|
- **Macros**: for miscellaneous macros controlling volume, argeggio and YM2151 noise generator.
|
||||||
|
|
||||||
## FM
|
## FM
|
||||||
|
|
||||||
FM synthesizers Furnace supports are four-operator, meaning it takes four oscillators to produce a single sound. Each operator is controlled by a dozen sliders:
|
FM synthesizers Furnace supports are four-operator, meaning it takes four oscillators to produce a single sound. Each operator is controlled by a dozen sliders:
|
||||||
|
|
||||||
- [Attack Rate (AR)] - determines the rising time for the sound. The bigger the value, the faster the attack. (0-31 range)
|
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-31 range)
|
||||||
- [Decay Rate (DR)]- Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-31 range)
|
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-31 range)
|
||||||
- [Secondary Decay Rate (DR2)/Sustain Rate (SR)] - Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed. (0-31 range)
|
- **Secondary Decay Rate (DR2)/Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed. (0-31 range)
|
||||||
- [Release Rate (RR)] - Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
|
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
|
||||||
- [Sustain Level(SL)] - Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
|
- **Sustain Level(SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
|
||||||
- [Total Level (TL)] - Represents the envelope’s highest amplitude, with 0 being the largest and 127 (decimal) the smallest. A change of one unit is about 0.75 dB.
|
- **Total Level (TL)**: Represents the envelope’s highest amplitude, with 0 being the largest and 127 (decimal) the smallest. A change of one unit is about 0.75 dB.
|
||||||
- [Envelope Scale (KSR)] - A parameter that determines the degree to which the envelope execution speed increases according to the pitch. (0-3 range)
|
- **Envelope Scale (KSR)**: A parameter that determines the degree to which the envelope execution speed increases according to the pitch. (0-3 range)
|
||||||
- [Frequency Multiplier (MULT)] - Determines the operator frequency in relation to the pitch. (0-15 range)
|
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch. (0-15 range)
|
||||||
- [Fine Detune (DT)] - Shifts the pitch a little (0-7 range)
|
- **Fine Detune (DT)**: Shifts the pitch a little (0-7 range)
|
||||||
- [Coarse Detune (DT2)] - Shifts the pitch by tens of cents (0-3 range) WARNING: this parameter affects only YM2151 sound source!!!
|
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents (0-3 range) WARNING: this parameter affects only YM2151 sound source!!!
|
||||||
- [Hardware Envelope Generator (SSG-EG)] - Executes the built-in envelope, inherited from AY-3-8910 PSG. Speed of execution is controlled via Decay Rate. WARNING: this parameter affects only YM2610/YM2612 sound source!!!
|
- **Hardware Envelope Generator (SSG-EG)**: Executes the built-in envelope, inherited from AY-3-8910 PSG. Speed of execution is controlled via Decay Rate. WARNING: this parameter affects only YM2610/YM2612 sound source!!!
|
||||||
- [Algorithm (AL)] - Determines how operators are connected to each other. (0-7 range)
|
- **Algorithm (AL)**: Determines how operators are connected to each other. (0-7 range)
|
||||||
- [Feedback (FB)] - Determines the amount of signal whick operator 1 returns to itself. (0-7 range)
|
- **Feedback (FB)**: Determines the amount of signal whick operator 1 returns to itself. (0-7 range)
|
||||||
- [Amplitude Modulation (AM)] - Makes the operator affected by LFO.
|
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO.
|
||||||
- [LFO Frequency Sensitivity] - Determines the amount of LFO frequency changes. (0-7 range)
|
- **LFO Frequency Sensitivity**: Determines the amount of LFO frequency changes. (0-7 range)
|
||||||
- [LFO Amplitude Sensitivity (AM)] - Determines the amount of LFO frequency changes. (0-3 range)
|
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO frequency changes. (0-3 range)
|
||||||
|
|
||||||
## Macros
|
## Macros
|
||||||
|
|
||||||
Macros define the sequence of values passed to the given parameter. Via macro, aside previously mentioned parameters, the following can be controlled:
|
Macros define the sequence of values passed to the given parameter. Via macro, aside previously mentioned parameters, the following can be controlled:
|
||||||
|
|
||||||
- LFO Frequency
|
- **LFO Frequency**
|
||||||
- LFO waveform selection WARNING: this parameter affects only YM2151 sound source!!!
|
- **LFO Waveform**: _WARNING:_ this parameter affects only YM2151 sound source!
|
||||||
- Amplitude Modulation Depth WARNING: this parameter affects only YM2151 sound source!!!
|
- **Amplitude Modulation Depth**: _WARNING:_ this parameter affects only YM2151 sound source!
|
||||||
- Frequency Modulation Depth WARNING: this parameter affects only YM2151 sound source!!!
|
- **Frequency Modulation Depth**: _WARNING:_ this parameter affects only YM2151 sound source!
|
||||||
- Arpeggio Macro: pitch change sequence in semitones. Two modes are available:
|
- **Arpeggio Macro**: Pitch change sequence in semitones. Two modes are available:
|
||||||
Absolute (default) - Executes the pitch with absolute change based on the pitch of the actual note.
|
- **Absolute** (default): Executes the pitch with absolute change based on the pitch of the actual note.
|
||||||
Fixed - Executes at the pitch specified in the sequence regardless of the note pitch.
|
- **Fixed**: Executes at the pitch specified in the sequence regardless of the note pitch.
|
||||||
- Noise Frequency: specifies the noise frequency in noise mode of YM2151's Channel 8 Operator 4 special mode.
|
- **Noise Frequency**: specifies the noise frequency in noise mode of YM2151's Channel 8 Operator 4 special mode.
|
||||||
|
|
||||||
Loop
|
Looping: You can loop the execution of part of a sequence. Left-click anywhere on the Loop line at the bottom of the editor to create a loop. You can move the start and end points of the loop by dragging both ends of the loop. Rigkt-click to remove the loop.
|
||||||
You can loop the execution of part of a sequence. Left-click anywhere on the Loop line at the bottom of the editor to create a loop. You can move the start and end points of the loop by dragging both ends of the loop.
|
|
||||||
|
|
|
@ -4,22 +4,22 @@ GB instrument editor consists of two tabs: one controlling envelope of sound cha
|
||||||
|
|
||||||
## Game Boy
|
## Game Boy
|
||||||
|
|
||||||
- [Use software envelope] - switch to volume macro instead of envelope
|
- **Use software envelope**: switch to volume macro instead of envelope
|
||||||
- [Initialize envelope on every note] - forces a volume reset on each new note
|
- **Initialize envelope on every note**: forces a volume reset on each new note
|
||||||
- [Volume] - initial channel volume (range 0-15)
|
- **Volume**: initial channel volume (range 0-15)
|
||||||
- [Length] - envelope decay/attack duration (range 0-7)
|
- **Length**: envelope decay/attack duration (range 0-7)
|
||||||
- [Sound Length] - cuts off sound after specified length, overriding the Length value
|
- **Sound Length**: cuts off sound after specified length, overriding the Length value
|
||||||
|
|
||||||
- [Up and Down radio buttons] - Up makes the envelope an attack, down makes it decay. _Note:_ For envelope attack to have any effect, start at a lower volume!
|
- **Up and Down radio buttons**: Up makes the envelope an attack, down makes it decay. _Note:_ For envelope attack to have any effect, start at a lower volume!
|
||||||
|
|
||||||
- [Hardware Sequence] - (document this)
|
- **Hardware Sequence**: (document this)
|
||||||
|
|
||||||
## Macros
|
## Macros
|
||||||
|
|
||||||
- [Volume] - volume sequence. _Note:_ This only appears if "Use software envelope" is checked.
|
- **Volume**: volume sequence. _Note:_ This only appears if "Use software envelope" is checked.
|
||||||
- [Arpeggio] - pitch in half-steps
|
- **Arpeggio**: pitch in half-steps
|
||||||
- [Duty/Noise] - pulse wave duty cycle or noise mode sequence
|
- **Duty/Noise**: pulse wave duty cycle or noise mode sequence
|
||||||
- [Waveform] - ch3 wavetable sequence
|
- **Waveform**: ch3 wavetable sequence
|
||||||
- [Panning] - output for left and right channels
|
- **Panning**: output for left and right channels
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
Atari Lynx instrument editor consists of these macros:
|
Atari Lynx instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch in half-steps
|
- **Arpeggio**: pitch in half-steps
|
||||||
- [Duty/Int] - bit pattern for LFSR taps and integration
|
- **Duty/Int**: bit pattern for LFSR taps and integration
|
||||||
- [Panning (left)] - output level for left channel
|
- **Panning (left)**: output level for left channel
|
||||||
- [Panning (right)] - output level for right channel
|
- **Panning (right)**: output level for right channel
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
|
|
||||||
## Audio generation description
|
## Audio generation description
|
||||||
|
|
||||||
|
|
|
@ -4,27 +4,27 @@ The Namco 163 instrument editor consists of two tabs: "Namco 163" for control of
|
||||||
|
|
||||||
## Namco 163
|
## Namco 163
|
||||||
|
|
||||||
- [Waveform] - Determines the initial waveform for playing.
|
- **Waveform**: Determines the initial waveform for playing.
|
||||||
- [Offset] - Determines the initial waveform position will be load to RAM.
|
- **Offset**: Determines the initial waveform position will be load to RAM.
|
||||||
- [Length] - Determines the initial waveform length will be load to RAM.
|
- **Length**: Determines the initial waveform length will be load to RAM.
|
||||||
- [Load waveform before playback] - Determines the load initial waveform into RAM before playback.
|
- **Load waveform before playback**: Determines the load initial waveform into RAM before playback.
|
||||||
- [Update waveforms into RAM when every waveform changes] - Determines the update every different waveform changes in playback.
|
- **Update waveforms into RAM when every waveform changes**: Determines the update every different waveform changes in playback.
|
||||||
|
|
||||||
|
|
||||||
## Macros
|
## Macros
|
||||||
|
|
||||||
- [Volume] - volume levels sequence
|
- **Volume**: volume levels sequence
|
||||||
- [Arpeggio]- pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Waveform] - sets waveform source for playback immediately or update later
|
- **Waveform**: sets waveform source for playback immediately or update later
|
||||||
- [Panning] - output for left and right channels
|
- **Panning**: output for left and right channels
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
<!--
|
<!--
|
||||||
- [Waveform pos.] - sets the waveform source address in RAM for playback (single nibble unit)
|
- **Waveform pos.**: sets the waveform source address in RAM for playback (single nibble unit)
|
||||||
- [Waveform len.] - sets the waveform source length for playback (4 nibble unit)
|
- **Waveform len.**: sets the waveform source length for playback (4 nibble unit)
|
||||||
- [Waveform update] - sets the waveform update trigger behavior for playback
|
- **Waveform update**: sets the waveform update trigger behavior for playback
|
||||||
- [Waveform to load] - sets waveform source for load to RAM immediately or later
|
- **Waveform to load**: sets waveform source for load to RAM immediately or later
|
||||||
- [Wave pos. to load] - sets address of waveform for load to RAM (single nibble unit)
|
- **Wave pos. to load**: sets address of waveform for load to RAM (single nibble unit)
|
||||||
- [Wave len. to load] - sets length of waveform for load to RAM (4 nibble unit)
|
- **Wave len. to load**: sets length of waveform for load to RAM (4 nibble unit)
|
||||||
- [Waveform load] - sets the waveform load trigger behavior
|
- **Waveform load**: sets the waveform load trigger behavior
|
||||||
-->
|
-->
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
The PCE instrument editor consists of these macros:
|
The PCE instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch in half-steps
|
- **Arpeggio**: pitch in half-steps
|
||||||
- [Noise] - enable noise mode (ch5 and ch6 only)
|
- **Noise**: enable noise mode (ch5 and ch6 only)
|
||||||
- [Waveform] - wavetable sequence
|
- **Waveform**: wavetable sequence
|
||||||
- [Panning (left)] - output level for left channel
|
- **Panning (left)**: output level for left channel
|
||||||
- [Panning (right)] - output level for right channel
|
- **Panning (right)**: output level for right channel
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
||||||
|
|
||||||
It also has wavetable synthesizer support, but unfortunately, it clicks a lot when in use on the HuC6280.
|
It also has wavetable synthesizer support, but unfortunately, it clicks a lot when in use on the HuC6280.
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
The SAA1099 instrument editor consists of these macros:
|
The SAA1099 instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Duty/Noise] - noise generator frequency
|
- **Duty/Noise**: noise generator frequency
|
||||||
- [Waveform] - selector between tone and noise
|
- **Waveform**: selector between tone and noise
|
||||||
- [Panning (left)] - output level for left channel
|
- **Panning (left)**: output level for left channel
|
||||||
- [Panning (right)] - output level for right channel
|
- **Panning (right)**: output level for right channel
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Envelope] - envelope generator shape
|
- **Envelope**: envelope generator shape
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
The SCC/Bubble System WSG instrument editor consists of these macros:
|
The SCC/Bubble System WSG instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Waveform] - spicifies wavetables sequence
|
- **Waveform**: spicifies wavetables sequence
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
The instrument editor for NES and PSG (SMS, MSX, and such) consists of these macros:
|
The instrument editor for NES and PSG (SMS, MSX, and such) consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume
|
- **Volume**: volume
|
||||||
- [Arpeggio] - pitch in half-steps
|
- **Arpeggio**: pitch in half-steps
|
||||||
- [Duty] - duty cycle and noise mode for NES channels. _Note:_ This has no effect on Sega Master System.
|
- **Duty**: duty cycle and noise mode for NES channels. _Note:_ This has no effect on Sega Master System.
|
||||||
- [Panning] - output for left and right channels
|
- **Panning**: output for left and right channels
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
- [Phase Reset] - trigger restart of waveform
|
- **Phase Reset**: trigger restart of waveform
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
The TIA instrument editor consists of these macros:
|
The TIA instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequencr
|
- **Arpeggio**: pitch sequencr
|
||||||
- [Waveform] - 1-bit polynomial pattern type sequence
|
- **Waveform**: 1-bit polynomial pattern type sequence
|
||||||
- [Pitch] - "fine" pitch
|
- **Pitch**: "fine" pitch
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
VERA instrument editor consists of these macros:
|
VERA instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Duty] - pulse duty cycle sequence
|
- **Duty**: pulse duty cycle sequence
|
||||||
- [Waveform] - select the waveform used by instrument
|
- **Waveform**: select the waveform used by instrument
|
||||||
- [Panning] - output for left and right channels
|
- **Panning**: output for left and right channels
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
The VRC6 (regular) instrument editor consists of these macros:
|
The VRC6 (regular) instrument editor consists of these macros:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Duty] - specifies duty cycle for pulse wave channels
|
- **Duty**: specifies duty cycle for pulse wave channels
|
||||||
- [Pitch] - fine pitch
|
- **Pitch**: fine pitch
|
||||||
|
|
||||||
## VRC6 (saw) instrument editor
|
## VRC6 (saw) instrument editor
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
WS instrument editor consists of only four macros, similar to PCE but with different volume and noise range:
|
WS instrument editor consists of only four macros, similar to PCE but with different volume and noise range:
|
||||||
|
|
||||||
- [Volume] - volume sequence
|
- **Volume**: volume sequence
|
||||||
- [Arpeggio] - pitch sequencr
|
- **Arpeggio**: pitch sequencr
|
||||||
- [Noise] - noise LFSR tap sequence
|
- **Noise**: noise LFSR tap sequence
|
||||||
- [Waveform] - spicifies wavetables sequence
|
- **Waveform**: spicifies wavetables sequence
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
X1-010 instrument editor consists of 7 macros.
|
X1-010 instrument editor consists of 7 macros.
|
||||||
|
|
||||||
- [Volume] - volume levels sequence
|
- **Volume**: volume levels sequence
|
||||||
- [Arpeggio]- pitch sequence
|
- **Arpeggio**: pitch sequence
|
||||||
- [Waveform] - spicifies wavetables sequence
|
- **Waveform**: spicifies wavetables sequence
|
||||||
- [Envelope Mode] - allows shaping an envelope
|
- **Envelope Mode**: allows shaping an envelope
|
||||||
- [Envelope] - spicifies envelope shape sequence, it's also wavetable.
|
- **Envelope**: spicifies envelope shape sequence, it's also wavetable.
|
||||||
- [Auto envelope numerator] - sets the envelope to the channel's frequency multiplied by numerator
|
- **Auto envelope numerator**: sets the envelope to the channel's frequency multiplied by numerator
|
||||||
- [Auto envelope denominator] - sets the envelope to the channel's frequency divided by denominator
|
- **Auto envelope denominator**: sets the envelope to the channel's frequency divided by denominator
|
||||||
|
|
|
@ -6,13 +6,13 @@ Furnace's wavetable editor is rather simple, you can draw the waveform using mou
|
||||||
|
|
||||||
Furnace's wavetable editor features multiple ways of creating desired waveform shape:
|
Furnace's wavetable editor features multiple ways of creating desired waveform shape:
|
||||||
|
|
||||||
- Shape tab allows you to select a few predefined basic shapes and indirectly edit it via "Duty", "Exponent" and "XOR Point" sliders:
|
- **Shape** tab allows you to select a few predefined basic shapes and indirectly edit it via "Duty", "Exponent" and "XOR Point" sliders:
|
||||||
- `Duty` slider affects mainly pulse waves, determining its wisth, like on C64/VRC6
|
- **Duty**: Affects mainly pulse waves, determining its wisth, like on C64/VRC6
|
||||||
- `Exponent` powers the waveform in the mathematical sense of the word (^2, ^3 and so on)
|
- **Exponent**: Powers the waveform in the mathematical sense of the word (^2, ^3 and so on)
|
||||||
- `XOR Point` determines the point where the waveform gets negated.
|
- **XOR Point**: Determines the point where the waveform gets negated.
|
||||||
- TODO: amplitude/phase part
|
- _TODO:_ amplitude/phase part
|
||||||
- FM is for creating the waveform with frequency modulation synthesis principles: One can set carrier/modulation levels, frquency multiplier, connection between operators and FM waveforms of these operators.
|
- **FM** For creating the waveform with frequency modulation synthesis principles: One can set carrier/modulation levels, frquency multiplier, connection between operators and FM waveforms of these operators.
|
||||||
- WaveTools allows user to fine-tune the waveform: scale said waveform in both X and Y axes, smoothen, amplify, normalize, convert to signed/unisgned, invert or even randomize the wavetable.
|
- **WaveTools**: Allows user to fine-tune the waveform: scale said waveform in both X and Y axes, smoothen, amplify, normalize, convert to signed/unisgned, invert or even randomize the wavetable.
|
||||||
|
|
||||||
## wavetable synthesizer
|
## wavetable synthesizer
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,10 @@ in this very computer music trackers were born...
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: toggle low-pass filter. `0` turns it off and `1` turns it on.
|
- **`10xx`**: toggle low-pass filter. `0` turns it off and `1` turns it on.
|
||||||
- `11xx`: toggle amplitude modulation with the next channel.
|
- **`11xx`**: toggle amplitude modulation with the next channel.
|
||||||
- does not work on the last channel.
|
- does not work on the last channel.
|
||||||
- `12xx`: toggle period (frequency) modulation with the next channel.
|
- **`12xx`**: toggle period (frequency) modulation with the next channel.
|
||||||
- does not work on the last channel.
|
- does not work on the last channel.
|
||||||
- `13xx`: change wave.
|
- **`13xx`**: change wave.
|
||||||
- only works when "Mode" is set to "Wavetable" in the instrument.
|
- only works when "Mode" is set to "Wavetable" in the instrument.
|
||||||
|
|
|
@ -8,7 +8,7 @@ the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xx`: set channel mode. `xx` may be one of the following:
|
- **`20xx`**: set channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -17,8 +17,8 @@ the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and 1F.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and 1F.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -31,16 +31,16 @@ the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable auto-envelope mode.
|
- **`29xy`**: enable auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
||||||
- `2Exx`: write to I/O port A.
|
- **`2Exx`**: write to I/O port A.
|
||||||
- this changes the port's mode to "write". make sure you have connected something to it.
|
- this changes the port's mode to "write". make sure you have connected something to it.
|
||||||
- `2Fxx`: write to I/O port B.
|
- **`2Fxx`**: write to I/O port B.
|
||||||
- this changes the port's mode to "write". make sure you have connected something to it.
|
- this changes the port's mode to "write". make sure you have connected something to it.
|
||||||
|
|
|
@ -9,7 +9,7 @@ emulation of this chip in Furnace is now complete thanks to community efforts an
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `12xx`: set channel duty cycle. `xx` is a value between 00 and 08.
|
- **`12xx`**: set channel duty cycle. `xx` is a value between 00 and 08.
|
||||||
- `00`: 3.125%
|
- `00`: 3.125%
|
||||||
- `01`: 6.25%
|
- `01`: 6.25%
|
||||||
- `02`: 12.5%
|
- `02`: 12.5%
|
||||||
|
@ -19,7 +19,7 @@ emulation of this chip in Furnace is now complete thanks to community efforts an
|
||||||
- `06`: 87.5%
|
- `06`: 87.5%
|
||||||
- `07`: 93.75%
|
- `07`: 93.75%
|
||||||
- `08`: 96.875%
|
- `08`: 96.875%
|
||||||
- `20xx`: set channel mode. `xx` may be one of the following:
|
- **`20xx`**: set channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -28,8 +28,8 @@ emulation of this chip in Furnace is now complete thanks to community efforts an
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and FF.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and FF.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -42,13 +42,13 @@ emulation of this chip in Furnace is now complete thanks to community efforts an
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `27xx`: set noise AND mask.
|
- **`27xx`**: set noise AND mask.
|
||||||
- `28xx`: set noise OR mask.
|
- **`28xx`**: set noise OR mask.
|
||||||
- `29xy`: enable auto-envelope mode.
|
- **`29xy`**: enable auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
|
|
|
@ -10,4 +10,4 @@ Furnace emulates this configuration as a "chip" with 32x16 wavetables.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
|
|
|
@ -8,7 +8,7 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave. the following values are accepted:
|
- **`10xx`**: change wave. the following values are accepted:
|
||||||
- `00`: nothing
|
- `00`: nothing
|
||||||
- `01`: triangle
|
- `01`: triangle
|
||||||
- `02`: saw
|
- `02`: saw
|
||||||
|
@ -18,14 +18,14 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro
|
||||||
- `06`: pulse and saw
|
- `06`: pulse and saw
|
||||||
- `07`: pulse and triangle and saw
|
- `07`: pulse and triangle and saw
|
||||||
- `08`: noise
|
- `08`: noise
|
||||||
- `11xx`: set coarse cutoff. `xx` may be a value between 00 to 64.
|
- **`11xx`**: set coarse cutoff. `xx` may be a value between 00 to 64.
|
||||||
- **this effect only exists for compatibility reasons, and its use is discouraged.**
|
- **this effect only exists for compatibility reasons, and its use is discouraged.**
|
||||||
- use effect `4xxx` instead.
|
- use effect `4xxx` instead.
|
||||||
- `12xx`: set coarse duty cycle. `xx` may be a value between 00 to 64.
|
- **`12xx`**: set coarse duty cycle. `xx` may be a value between 00 to 64.
|
||||||
- **this effect only exists for compatibility reasons, and its use is discouraged.**
|
- **this effect only exists for compatibility reasons, and its use is discouraged.**
|
||||||
- use effect `3xxx` instead.
|
- use effect `3xxx` instead.
|
||||||
- `13xx`: set resonance. `xx` may be a value between 00 and 0F.
|
- **`13xx`**: set resonance. `xx` may be a value between 00 and 0F.
|
||||||
- `14xx`: set filter mode. the following values are accepted:
|
- **`14xx`**: set filter mode. the following values are accepted:
|
||||||
- `00`: filter off
|
- `00`: filter off
|
||||||
- `01`: low pass
|
- `01`: low pass
|
||||||
- `02`: band pass
|
- `02`: band pass
|
||||||
|
@ -34,19 +34,19 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro
|
||||||
- `05`: band reject/stop/notch
|
- `05`: band reject/stop/notch
|
||||||
- `06`: high+band pass
|
- `06`: high+band pass
|
||||||
- `07`: all pass
|
- `07`: all pass
|
||||||
- `15xx`: set envelope reset time.
|
- **`15xx`**: set envelope reset time.
|
||||||
- this is the amount of ticks the channel turns off before a note occurs in order to reset the envelope safely.
|
- this is the amount of ticks the channel turns off before a note occurs in order to reset the envelope safely.
|
||||||
- if `xx` is 0 or higher than the song speed, the envelope will not reset.
|
- if `xx` is 0 or higher than the song speed, the envelope will not reset.
|
||||||
- `1Axx`: disable envelope reset for this channel.
|
- **`1Axx`**: disable envelope reset for this channel.
|
||||||
- `1Bxy`: reset cutoff:
|
- **`1Bxy`**: reset cutoff:
|
||||||
- if `x` is not 0: on new note
|
- if `x` is not 0: on new note
|
||||||
- if `y` is not 0: now
|
- if `y` is not 0: now
|
||||||
- this effect is not necessary if the instrument's cutoff macro is absolute.
|
- this effect is not necessary if the instrument's cutoff macro is absolute.
|
||||||
- `1Cxy`: reset duty cycle:
|
- **`1Cxy`**: reset duty cycle:
|
||||||
- if `x` is not 0: on new note
|
- if `x` is not 0: on new note
|
||||||
- if `y` is not 0: now
|
- if `y` is not 0: now
|
||||||
- this effect is not necessary if the instrument's duty macro is absolute.
|
- this effect is not necessary if the instrument's duty macro is absolute.
|
||||||
- `1Exy`: change additional parameters.
|
- **`1Exy`**: change additional parameters.
|
||||||
- `x` may be one of the following:
|
- `x` may be one of the following:
|
||||||
- `0`: attack (`y` from 0 to F)
|
- `0`: attack (`y` from 0 to F)
|
||||||
- `1`: decay (`y` from 0 to F)
|
- `1`: decay (`y` from 0 to F)
|
||||||
|
@ -55,5 +55,5 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro
|
||||||
- `4`: ring modulation (`y` is 0 or 1)
|
- `4`: ring modulation (`y` is 0 or 1)
|
||||||
- `5`: oscillator sync (`y` is 0 or 1)
|
- `5`: oscillator sync (`y` is 0 or 1)
|
||||||
- `6`: disable channel 3 (`y` is 0 or 1)
|
- `6`: disable channel 3 (`y` is 0 or 1)
|
||||||
- `3xxx`: set duty cycle. `xxx` range is 000-FFF
|
- **`3xxx`**: set duty cycle. `xxx` range is 000-FFF
|
||||||
- `4xxx`: set cutoff. `xxx` range is 000-7FF.
|
- **`4xxx`**: set cutoff. `xxx` range is 000-7FF.
|
||||||
|
|
|
@ -12,30 +12,30 @@ it supports a whooping 32 channels of 16-bit PCM and:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set waveform.
|
- **`10xx`**: set waveform.
|
||||||
- `11xx`: set filter mode (0-3)
|
- **`11xx`**: set filter mode (0-3)
|
||||||
- `120x`: set pause (bit 0). Pauses the sample until the bit is unset, where it will then resume where it left off.
|
- **`120x`**: set pause (bit 0). Pauses the sample until the bit is unset, where it will then resume where it left off.
|
||||||
- `14xx`: set filter coefficient K1 low byte.
|
- **`14xx`**: set filter coefficient K1 low byte.
|
||||||
- `15xx`: set filter coefficient K1 high byte.
|
- **`15xx`**: set filter coefficient K1 high byte.
|
||||||
- `16xx`: set filter coefficient K2 low byte.
|
- **`16xx`**: set filter coefficient K2 low byte.
|
||||||
- `17xx`: set filter coefficient K2 high byte.
|
- **`17xx`**: set filter coefficient K2 high byte.
|
||||||
- `18xx`: set filter coefficient K1 slide up.
|
- **`18xx`**: set filter coefficient K1 slide up.
|
||||||
- `19xx`: set filter coefficient K1 slide down.
|
- **`19xx`**: set filter coefficient K1 slide down.
|
||||||
- `1Axx`: set filter coefficient K2 slide up.
|
- **`1Axx`**: set filter coefficient K2 slide up.
|
||||||
- `1Bxx`: set filter coefficient K2 slide down.
|
- **`1Bxx`**: set filter coefficient K2 slide down.
|
||||||
- `20xx`: set envelope count.
|
- **`20xx`**: set envelope count.
|
||||||
- `22xx`: set envelope left volume ramp.
|
- **`22xx`**: set envelope left volume ramp.
|
||||||
- `23xx`: set envelope right volume ramp.
|
- **`23xx`**: set envelope right volume ramp.
|
||||||
- `24xx`: set envelope filter coefficient K1 ramp.
|
- **`24xx`**: set envelope filter coefficient K1 ramp.
|
||||||
- `25xx`: set envelope filter coefficient K1 ramp (slower).
|
- **`25xx`**: set envelope filter coefficient K1 ramp (slower).
|
||||||
- `26xx`: set envelope filter coefficient K2 ramp.
|
- **`26xx`**: set envelope filter coefficient K2 ramp.
|
||||||
- `27xx`: set envelope filter coefficient K2 ramp (slower).
|
- **`27xx`**: set envelope filter coefficient K2 ramp (slower).
|
||||||
- `3xxx`: set coarse filter coefficient K1.
|
- **`3xxx`**: set coarse filter coefficient K1.
|
||||||
- `4xxx`: set coarse filter coefficient K2.
|
- **`4xxx`**: set coarse filter coefficient K2.
|
||||||
- `81xx`: set panning (left channel).
|
- **`81xx`**: set panning (left channel).
|
||||||
- `82xx`: set panning (right channel).
|
- **`82xx`**: set panning (right channel).
|
||||||
- `88xx`: set panning (rear channels).
|
- **`88xx`**: set panning (rear channels).
|
||||||
- `89xx`: set panning (rear left channel).
|
- **`89xx`**: set panning (rear left channel).
|
||||||
- `8Axx`: set panning (rear right channel).
|
- **`8Axx`**: set panning (rear right channel).
|
||||||
- `9xxx`: set sample offset (x256).
|
- **`9xxx`**: set sample offset (x256).
|
||||||
- `DFxx`: set sample playback direction.
|
- **`DFxx`**: set sample playback direction.
|
||||||
|
|
|
@ -7,14 +7,14 @@ it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewh
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
- `11xx`: set modulation depth.
|
- **`11xx`**: set modulation depth.
|
||||||
- `12xy`: set modulation speed high byte and toggle on/off.
|
- **`12xy`**: set modulation speed high byte and toggle on/off.
|
||||||
- `x` is the toggle. a value of 1 turns on the modulator.
|
- `x` is the toggle. a value of 1 turns on the modulator.
|
||||||
- `y` is the speed.
|
- `y` is the speed.
|
||||||
- `13xx`: set modulation speed low byte.
|
- **`13xx`**: set modulation speed low byte.
|
||||||
- `14xx`: set modulator position.
|
- **`14xx`**: set modulator position.
|
||||||
- `15xx`: set modulator wave.
|
- **`15xx`**: set modulator wave.
|
||||||
- `xx` points to a wavetable. it should (preferably) have a height of 7 with the values mapping to:
|
- `xx` points to a wavetable. it should (preferably) have a height of 7 with the values mapping to:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
- 1: +1
|
- 1: +1
|
||||||
|
|
|
@ -6,13 +6,13 @@ with stereo sound, two pulse channels, a wave channel and a noise one it packed
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
- `11xx`: set noise length. `xx` may be one of:
|
- **`11xx`**: set noise length. `xx` may be one of:
|
||||||
- 0: long
|
- 0: long
|
||||||
- 1: short
|
- 1: short
|
||||||
- `12xx`: set duty cycle (from 0 to 3).
|
- **`12xx`**: set duty cycle (from 0 to 3).
|
||||||
- `13xy`: setup sweep (pulse channels only).
|
- **`13xy`**: setup sweep (pulse channels only).
|
||||||
- `x` is the time.
|
- `x` is the time.
|
||||||
- `y` is the shift.
|
- `y` is the shift.
|
||||||
- set to 0 to disable it.
|
- set to 0 to disable it.
|
||||||
- `14xx`: set sweep direction. 0 is up and 1 is down.
|
- **`14xx`**: set sweep direction. 0 is up and 1 is down.
|
||||||
|
|
|
@ -6,29 +6,29 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set LFO parameters.
|
- **`10xy`**: set LFO parameters.
|
||||||
- `x` toggles the LFO.
|
- `x` toggles the LFO.
|
||||||
- `y` sets its speed.
|
- `y` sets its speed.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `17xx`: enable PCM channel.
|
- **`17xx`**: enable PCM channel.
|
||||||
- this only works on channel 6.
|
- this only works on channel 6.
|
||||||
- **this effect is there for compatibility reasons** - it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used).
|
- **this effect is there for compatibility reasons** - it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used).
|
||||||
- `18xx`: toggle extended channel 3 mode.
|
- **`18xx`**: toggle extended channel 3 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `20xy`: set PSG noise mode.
|
- **`20xy`**: set PSG noise mode.
|
||||||
- `x` controls whether to inherit frequency from PSG channel 3.
|
- `x` controls whether to inherit frequency from PSG channel 3.
|
||||||
- 0: use one of 3 preset frequencies (C: A-2; C#: A-3; D: A-4).
|
- 0: use one of 3 preset frequencies (C: A-2; C#: A-3; D: A-4).
|
||||||
- 1: use frequency of PSG channel 3.
|
- 1: use frequency of PSG channel 3.
|
||||||
|
|
|
@ -15,6 +15,6 @@ the Atari Lynx has a 6502-based CPU with a sound part (this chip is known as MIK
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `3xxx`: Load LFSR (0 to FFF).
|
- **`3xxx`**: Load LFSR (0 to FFF).
|
||||||
- this is a bitmask.
|
- this is a bitmask.
|
||||||
- for it to work, duty macro in instrument editor must be set to some value. without it LFSR will not be fed with any bits.
|
- for it to work, duty macro in instrument editor must be set to some value. without it LFSR will not be fed with any bits.
|
||||||
|
|
|
@ -8,5 +8,5 @@ additionally, it offers an 8-bit DAC which can be used to play samples. only one
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `12xx`: set duty cycle or noise mode of channel.
|
- **`12xx`**: set duty cycle or noise mode of channel.
|
||||||
- may be 0-3 for the pulse channels.
|
- may be 0-3 for the pulse channels.
|
||||||
|
|
|
@ -16,11 +16,11 @@ Furnace implements this chip in a way that allows the following features:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set group control.
|
- **`10xy`**: set group control.
|
||||||
- `x` sets sustain mode.
|
- `x` sets sustain mode.
|
||||||
- `y` is a 4-bit mask which toggles overtones.
|
- `y` is a 4-bit mask which toggles overtones.
|
||||||
- `11xx`: set noise mode.
|
- **`11xx`**: set noise mode.
|
||||||
- `12xx`: set group attack (0 to 5).
|
- **`12xx`**: set group attack (0 to 5).
|
||||||
- only in internal (capacitor-based) envelope mode.
|
- only in internal (capacitor-based) envelope mode.
|
||||||
- `13xx`: set group decay (0 to 11).
|
- **`13xx`**: set group decay (0 to 11).
|
||||||
- only in internal (capacitor-based) envelope mode.
|
- only in internal (capacitor-based) envelope mode.
|
||||||
|
|
|
@ -4,4 +4,4 @@ an upgrade from 6258 - it provides 4 ADPCM channels, at max 32 KHz (still no var
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xx`: set chip output rate.
|
- **`20xx`**: set chip output rate.
|
||||||
|
|
|
@ -17,16 +17,16 @@ both waveform playback and load command work independently per each channel colu
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set waveform for playback.
|
- **`10xx`**: set waveform for playback.
|
||||||
- `11xx`: set waveform position in RAM for playback (single nibble unit).
|
- **`11xx`**: set waveform position in RAM for playback (single nibble unit).
|
||||||
- `12xx`: set waveform length in RAM for playback (04 to FC, 4 nibble unit).
|
- **`12xx`**: set waveform length in RAM for playback (04 to FC, 4 nibble unit).
|
||||||
- `130x`: set playback waveform update behavior (0: off, bit 0: update now, bit 1: update when every waveform is changed).
|
- **`130x`**: set playback waveform update behavior (0: off, bit 0: update now, bit 1: update when every waveform is changed).
|
||||||
- `14xx`: set waveform for load to RAM.
|
- **`14xx`**: set waveform for load to RAM.
|
||||||
- `15xx`: set waveform position for load to RAM (single nibble unit).
|
- **`15xx`**: set waveform position for load to RAM (single nibble unit).
|
||||||
- `16xx`: set waveform length for load to RAM (04 to FC, 4 nibble unit).
|
- **`16xx`**: set waveform length for load to RAM (04 to FC, 4 nibble unit).
|
||||||
- `170x`: set waveform load behavior (0: off, bit 0: load now, bit 1: load when every waveform is changed).
|
- **`170x`**: set waveform load behavior (0: off, bit 0: load now, bit 1: load when every waveform is changed).
|
||||||
- `180x`: set channel limit (0 to 7, x + 1).
|
- **`180x`**: set channel limit (0 to 7, x + 1).
|
||||||
- `20xx`: (Global) set waveform for load to RAM.
|
- **`20xx`**: (Global) set waveform for load to RAM.
|
||||||
- `21xx`: (Global) set waveform position for load to RAM (single nibble unit).
|
- **`21xx`**: (Global) set waveform position for load to RAM (single nibble unit).
|
||||||
- `22xx`: (Global) set waveform length for load to RAM (04 to FC, 4 nibble unit).
|
- **`22xx`**: (Global) set waveform length for load to RAM (04 to FC, 4 nibble unit).
|
||||||
- `230x`: (Global) set waveform load behavior (0: off, bit 0: load now, bit 1: load when every waveform is changed).
|
- **`230x`**: (Global) set waveform load behavior (0: off, bit 0: load now, bit 1: load when every waveform is changed).
|
||||||
|
|
|
@ -6,5 +6,5 @@ everything starts with Namco WSG, which is a simple 3-channel wavetable with no
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change waveform.
|
- **`10xx`**: change waveform.
|
||||||
- `11xx`: toggle noise mode (WARNING: only on C30).
|
- **`11xx`**: toggle noise mode (WARNING: only on C30).
|
||||||
|
|
|
@ -6,30 +6,30 @@ also known as Famicom. it is a five-channel sound generator: first two channels
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `11xx`: write to delta modulation counter.
|
- **`11xx`**: write to delta modulation counter.
|
||||||
- this may be used to attenuate the triangle and noise channels.
|
- this may be used to attenuate the triangle and noise channels.
|
||||||
- will not work if a sample is playing.
|
- will not work if a sample is playing.
|
||||||
- `12xx`: set duty cycle or noise mode of channel.
|
- **`12xx`**: set duty cycle or noise mode of channel.
|
||||||
- may be 0-3 for the pulse channels and 0-1 for the noise channel.
|
- may be 0-3 for the pulse channels and 0-1 for the noise channel.
|
||||||
- `13xy`: setup sweep up.
|
- **`13xy`**: setup sweep up.
|
||||||
- `x` is the time.
|
- `x` is the time.
|
||||||
- `y` is the shift.
|
- `y` is the shift.
|
||||||
- set to 0 to disable it.
|
- set to 0 to disable it.
|
||||||
- `14xy`: setup sweep down.
|
- **`14xy`**: setup sweep down.
|
||||||
- `x` is the time.
|
- `x` is the time.
|
||||||
- `y` is the shift.
|
- `y` is the shift.
|
||||||
- set to 0 to disable it.
|
- set to 0 to disable it.
|
||||||
- `15xx`: set envelope mode.
|
- **`15xx`**: set envelope mode.
|
||||||
- `0`: envelope + length counter (volume represents envelope duration).
|
- `0`: envelope + length counter (volume represents envelope duration).
|
||||||
- `1`: length counter (volume represents output volume).
|
- `1`: length counter (volume represents output volume).
|
||||||
- `2`: looping envelope (volume represents envelope duration).
|
- `2`: looping envelope (volume represents envelope duration).
|
||||||
- `3`: constant volume (default; volume represents output volume).
|
- `3`: constant volume (default; volume represents output volume).
|
||||||
- pulse and noise channels only.
|
- pulse and noise channels only.
|
||||||
- you may need to apply a phase reset (using the macro) to make the envelope effective.
|
- you may need to apply a phase reset (using the macro) to make the envelope effective.
|
||||||
- `16xx`: set length counter.
|
- **`16xx`**: set length counter.
|
||||||
- see table below for possible values.
|
- see table below for possible values.
|
||||||
- this will trigger phase reset.
|
- this will trigger phase reset.
|
||||||
- `17xx`: set frame counter mode.
|
- **`17xx`**: set frame counter mode.
|
||||||
- `0`: 4-step.
|
- `0`: 4-step.
|
||||||
- NTSC: 120Hz sweeps and lengths; 240Hz envelope.
|
- NTSC: 120Hz sweeps and lengths; 240Hz envelope.
|
||||||
- PAL: 100Hz sweeps and lengths; 200Hz envelope.
|
- PAL: 100Hz sweeps and lengths; 200Hz envelope.
|
||||||
|
@ -38,14 +38,14 @@ also known as Famicom. it is a five-channel sound generator: first two channels
|
||||||
- NTSC: 96Hz sweeps and lengths; 192Hz envelope.
|
- NTSC: 96Hz sweeps and lengths; 192Hz envelope.
|
||||||
- PAL: 80Hz sweeps and lengths; 160Hz envelope.
|
- PAL: 80Hz sweeps and lengths; 160Hz envelope.
|
||||||
- Dendy: 95.1Hz sweeps and lengths; 190.2Hz envelope.
|
- Dendy: 95.1Hz sweeps and lengths; 190.2Hz envelope.
|
||||||
- `18xx`: set PCM channel mode.
|
- **`18xx`**: set PCM channel mode.
|
||||||
- `00`: PCM (software).
|
- `00`: PCM (software).
|
||||||
- `01`: DPCM (hardware).
|
- `01`: DPCM (hardware).
|
||||||
- when in DPCM mode, samples will sound muffled (due to its nature), availables pitches are limited and loop point is ignored.
|
- when in DPCM mode, samples will sound muffled (due to its nature), availables pitches are limited and loop point is ignored.
|
||||||
- `19xx`: set triangle linear counter.
|
- **`19xx`**: set triangle linear counter.
|
||||||
- `00` to `7F` set the counter.
|
- `00` to `7F` set the counter.
|
||||||
- `80` and higher halt it.
|
- `80` and higher halt it.
|
||||||
- `20xx`: set DPCM frequency.
|
- **`20xx`**: set DPCM frequency.
|
||||||
- only works in DPCM mode.
|
- only works in DPCM mode.
|
||||||
- see table below for possible values.
|
- see table below for possible values.
|
||||||
|
|
||||||
|
|
|
@ -20,61 +20,61 @@ afterwards everyone moved to Windows and software mixed PCM streaming...
|
||||||
- 0: 1dB (shallow)
|
- 0: 1dB (shallow)
|
||||||
- 1: 4.8dB (deep)
|
- 1: 4.8dB (deep)
|
||||||
- this effect applies to all channels.
|
- this effect applies to all channels.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode).
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- 17xx: set vibrato depth. the following values are accepted:
|
- 17xx: set vibrato depth. the following values are accepted:
|
||||||
- 0: normal
|
- 0: normal
|
||||||
- 1: double
|
- 1: double
|
||||||
- this effect applies to all channels.
|
- this effect applies to all channels.
|
||||||
- `18xx`: toggle drums mode.
|
- **`18xx`**: toggle drums mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in drums chip.
|
- only in drums chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `2Axy`: set waveform of operator.
|
- **`2Axy`**: set waveform of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- only in OPL2 or higher.
|
- only in OPL2 or higher.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy`: set VIB of operator.
|
- **`53xy`**: set VIB of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` determines whether VIB is on.
|
- `y` determines whether VIB is on.
|
||||||
- `54xy` set KSL of operator.
|
- **`54xy`**: set KSL of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SUS of operator.
|
- **`55xy`**: set SUS of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` determines whether SUS is on.
|
- `y` determines whether SUS is on.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- only in 4-op mode (OPL3).
|
- only in 4-op mode (OPL3).
|
||||||
- `5Bxy`: set KSR of operator.
|
- **`5Bxy`**: set KSR of operator.
|
||||||
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
|
||||||
- `y` determines whether KSR is on.
|
- `y` determines whether KSR is on.
|
||||||
|
|
|
@ -29,39 +29,39 @@ the YM2413 is equipped with the following features:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1 or 2).
|
- `x` is the operator (1 or 2).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `18xx`: toggle drums mode.
|
- **`18xx`**: toggle drums mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in drums chip.
|
- only in drums chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy`: set VIB of operator.
|
- **`53xy`**: set VIB of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` determines whether VIB is on.
|
- `y` determines whether VIB is on.
|
||||||
- `54xy` set KSL of operator.
|
- **`54xy`**: set KSL of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set EGT of operator.
|
- **`55xy`**: set EGT of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` determines whether EGT is on.
|
- `y` determines whether EGT is on.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `5Bxy`: set KSR of operator.
|
- **`5Bxy`**: set KSR of operator.
|
||||||
- `x` is the operator (1-2). a value of 0 means "all operators".
|
- `x` is the operator (1-2). a value of 0 means "all operators".
|
||||||
- `y` determines whether KSR is on.
|
- `y` determines whether KSR is on.
|
||||||
|
|
|
@ -25,68 +25,68 @@ no plans have been made for TX81Z MIDI passthrough, because:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
- **`10xx`**: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `17xx`: set LFO speed.
|
- **`17xx`**: set LFO speed.
|
||||||
- `18xx`: set LFO waveform. `xx` may be one of the following:
|
- **`18xx`**: set LFO waveform. `xx` may be one of the following:
|
||||||
- `00`: saw
|
- `00`: saw
|
||||||
- `01`: square
|
- `01`: square
|
||||||
- `02`: triangle
|
- `02`: triangle
|
||||||
- `03`: noise
|
- `03`: noise
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `1Exx`: set LFO AM depth.
|
- **`1Exx`**: set LFO AM depth.
|
||||||
- `1Fxx`: set LFO PM depth.
|
- **`1Fxx`**: set LFO PM depth.
|
||||||
- `24xx`: set LFO 2 speed.
|
- **`24xx`**: set LFO 2 speed.
|
||||||
- `25xx`: set LFO 2 waveform. `xx` may be one of the following:
|
- **`25xx`**: set LFO 2 waveform. `xx` may be one of the following:
|
||||||
- `00`: saw
|
- `00`: saw
|
||||||
- `01`: square
|
- `01`: square
|
||||||
- `02`: triangle
|
- `02`: triangle
|
||||||
- `03`: noise
|
- `03`: noise
|
||||||
- `26xx`: set LFO 2 AM depth.
|
- **`26xx`**: set LFO 2 AM depth.
|
||||||
- `27xx`: set LFO 2 PM depth.
|
- **`27xx`**: set LFO 2 PM depth.
|
||||||
- `28xy`: set reverb of operator.
|
- **`28xy`**: set reverb of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `2Axy`: set waveform of operator.
|
- **`2Axy`**: set waveform of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `2Bxy`: set EG shift of operator.
|
- **`2Bxy`**: set EG shift of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `2Cxy` set fine multiplier of operator.
|
- **`2Cxy`**: set fine multiplier of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `2Fxx`: enable envelope hard reset.
|
- **`2Fxx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `3xyy`: set fixed frequency of operator 1/2.
|
- **`3xyy`**: set fixed frequency of operator 1/2.
|
||||||
- `x` is the block (0-7 for operator 1; 8-F for operator 2).
|
- `x` is the block (0-7 for operator 1; 8-F for operator 2).
|
||||||
- `y` is the frequency. fixed frequency mode will be disabled if this is less than 8.
|
- `y` is the frequency. fixed frequency mode will be disabled if this is less than 8.
|
||||||
- the actual frequency is: `y*(2^x)`.
|
- the actual frequency is: `y*(2^x)`.
|
||||||
- `4xyy`: set fixed frequency of operator 3/4.
|
- **`4xyy`**: set fixed frequency of operator 3/4.
|
||||||
- `x` is the block (0-7 for operator 3; 8-F for operator 4).
|
- `x` is the block (0-7 for operator 3; 8-F for operator 4).
|
||||||
- `y` is the frequency. fixed frequency mode will be disabled if this is less than 8.
|
- `y` is the frequency. fixed frequency mode will be disabled if this is less than 8.
|
||||||
- the actual frequency is: `y*(2^x)`.
|
- the actual frequency is: `y*(2^x)`.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -97,19 +97,19 @@ no plans have been made for TX81Z MIDI passthrough, because:
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set DT2 of operator.
|
- **`55xy`**: set DT2 of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -9,14 +9,14 @@ furthermore, it has some PCM and LFO!
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
- `11xx`: toggle noise mode. only available in the last two channels.
|
- **`11xx`**: toggle noise mode. only available in the last two channels.
|
||||||
- `12xx`: setup LFO. the following values are accepted:
|
- **`12xx`**: setup LFO. the following values are accepted:
|
||||||
- `00`: LFO disabled.
|
- `00`: LFO disabled.
|
||||||
- `01`: LFO enabled, shift 0.
|
- `01`: LFO enabled, shift 0.
|
||||||
- `02`: LFO enabled, shift 4.
|
- `02`: LFO enabled, shift 4.
|
||||||
- `03`: LFO enabled, shift 8.
|
- `03`: LFO enabled, shift 8.
|
||||||
- when LFO is enabled, channel 2 is muted and its output is passed to channel 1's frequency.
|
- when LFO is enabled, channel 2 is muted and its output is passed to channel 1's frequency.
|
||||||
- `13xx`: set LFO speed.
|
- **`13xx`**: set LFO speed.
|
||||||
- `17xx`: toggle PCM mode.
|
- **`17xx`**: toggle PCM mode.
|
||||||
- **this effect is there for compatibility reasons** - it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used).
|
- **this effect is there for compatibility reasons** - it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used).
|
||||||
|
|
|
@ -8,4 +8,4 @@ some of these didn't even have sound...
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- 10xx: set waveform. `xx` is a bitmask.
|
- **`10xx`**: set waveform. `xx` is a bitmask.
|
||||||
|
|
|
@ -4,7 +4,7 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- 10xx: set waveform.
|
- **`10xx`**: set waveform.
|
||||||
- 0: harsh noise (poly5+17)
|
- 0: harsh noise (poly5+17)
|
||||||
- 1: square buzz (poly5)
|
- 1: square buzz (poly5)
|
||||||
- 2: weird noise (poly4+5)
|
- 2: weird noise (poly4+5)
|
||||||
|
@ -13,7 +13,7 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
|
||||||
- 5: square
|
- 5: square
|
||||||
- 6: bass (poly4)
|
- 6: bass (poly4)
|
||||||
- 7: buzz (poly4)
|
- 7: buzz (poly4)
|
||||||
- 11xx: set AUDCTL. `xx` is a bitmask.
|
- **`11xx`**: set AUDCTL. `xx` is a bitmask.
|
||||||
- bit 7: 9-bit poly mode. shortens noise.
|
- bit 7: 9-bit poly mode. shortens noise.
|
||||||
- bit 6: high channel 1 clock (~1.79MHz on NTSC).
|
- bit 6: high channel 1 clock (~1.79MHz on NTSC).
|
||||||
- overrides 15KHz mode.
|
- overrides 15KHz mode.
|
||||||
|
@ -32,6 +32,6 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
|
||||||
- filtered output on channel 2 (I suggest you to set channel 4 volume to 0).
|
- filtered output on channel 2 (I suggest you to set channel 4 volume to 0).
|
||||||
- use for PWM effects (not automatic!).
|
- use for PWM effects (not automatic!).
|
||||||
- bit 0: 15KHz mode.
|
- bit 0: 15KHz mode.
|
||||||
- 12xx: toggle two-tone mode.
|
- **`12xx`**: toggle two-tone mode.
|
||||||
- when enabled, channel 2 modulates channel 1. I don't know how, but it does.
|
- when enabled, channel 2 modulates channel 1. I don't know how, but it does.
|
||||||
- only on ASAP core.
|
- only on ASAP core.
|
||||||
|
|
|
@ -12,8 +12,8 @@ there are also 3 ADPCM channels. ADPCM samples are fixed to 8012 Hz.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set echo feedback level.
|
- **`10xx`**: set echo feedback level.
|
||||||
- this effect will apply to all channels.
|
- this effect will apply to all channels.
|
||||||
- `11xx`: set echo level.
|
- **`11xx`**: set echo level.
|
||||||
- `12xx`: toggle QSound algorithm (on by default).
|
- **`12xx`**: toggle QSound algorithm (on by default).
|
||||||
- `3xxx`: set the length of the echo delay buffer.
|
- **`3xxx`**: set the length of the echo delay buffer.
|
||||||
|
|
|
@ -6,13 +6,13 @@ this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY-
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set channel mode.
|
- **`10xy`**: set channel mode.
|
||||||
- `x` toggles noise.
|
- `x` toggles noise.
|
||||||
- `y` toggles square.
|
- `y` toggles square.
|
||||||
- this effect affects either the first 3 or last 3 channels, depending on where it is placed.
|
- this effect affects either the first 3 or last 3 channels, depending on where it is placed.
|
||||||
- `11xx`: set noise frequency.
|
- **`11xx`**: set noise frequency.
|
||||||
- this effect affects either the first 3 or last 3 channels, depending on where it is placed.
|
- this effect affects either the first 3 or last 3 channels, depending on where it is placed.
|
||||||
- `12xx`: setup envelope. this is a bitmask.
|
- **`12xx`**: setup envelope. this is a bitmask.
|
||||||
- bit 7 toggles the envelope.
|
- bit 7 toggles the envelope.
|
||||||
- bit 5 toggles whether to use a fixed frequency or lock to the frequency of channel 2 or 5.
|
- bit 5 toggles whether to use a fixed frequency or lock to the frequency of channel 2 or 5.
|
||||||
- bit 4 sets the envelope resolution.
|
- bit 4 sets the envelope resolution.
|
||||||
|
|
|
@ -8,4 +8,4 @@ the SCC+ fixes this issue though (while being compatible with SCC games).
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
|
|
|
@ -12,6 +12,6 @@ Furnace also has a five channel version of this chip, but it only exists for Def
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xx`: set PCM frequency.
|
- **`20xx`**: set PCM frequency.
|
||||||
- `xx` is a 256th fraction of 31250Hz.
|
- `xx` is a 256th fraction of 31250Hz.
|
||||||
- this effect exists for mostly DefleMask compatibility - it is otherwise recommended to use Sample type instruments.
|
- this effect exists for mostly DefleMask compatibility - it is otherwise recommended to use Sample type instruments.
|
||||||
|
|
|
@ -19,5 +19,5 @@ The sound-related features and quirks of the SM8521 are as follows:
|
||||||
|
|
||||||
## effect commands
|
## effect commands
|
||||||
|
|
||||||
- `10xx` Set waveform
|
- **`10xx`**: Set waveform
|
||||||
- `xx` is a value between 0 and 255, that sets the waveform of the channel you place it on.
|
- `xx` is a value between 0 and 255, that sets the waveform of the channel you place it on.
|
||||||
|
|
|
@ -8,7 +8,7 @@ on the other hand, the chip was clocked at a much higher speed on Master System
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xy`: set noise mode.
|
- **`20xy`**: set noise mode.
|
||||||
- `x` controls whether to inherit frequency from channel 3.
|
- `x` controls whether to inherit frequency from channel 3.
|
||||||
- 0: use one of 3 preset frequencies (C: A-2; C#: A-3; D: A-4).
|
- 0: use one of 3 preset frequencies (C: A-2; C#: A-3; D: A-4).
|
||||||
- 1: use frequency of channel 3.
|
- 1: use frequency of channel 3.
|
||||||
|
|
|
@ -22,58 +22,58 @@ Furnace also allows the SNES to use wavetables (and the wavetable synthesizer) i
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set waveform.
|
- **`10xx`**: set waveform.
|
||||||
- `11xx`: toggle noise mode.
|
- **`11xx`**: toggle noise mode.
|
||||||
- `12xx`: toggle echo on this channel.
|
- **`12xx`**: toggle echo on this channel.
|
||||||
- `13xx`: toggle pitch modulation.
|
- **`13xx`**: toggle pitch modulation.
|
||||||
- `14xy`: toggle inverting the left or right channels (x: left, y: right).
|
- **`14xy`**: toggle inverting the left or right channels (x: left, y: right).
|
||||||
- `15xx`: set envelope mode.
|
- **`15xx`**: set envelope mode.
|
||||||
- 0: ADSR.
|
- 0: ADSR.
|
||||||
- 1: gain (direct).
|
- 1: gain (direct).
|
||||||
- 2: linear decrement.
|
- 2: linear decrement.
|
||||||
- 3: exponential decrement.
|
- 3: exponential decrement.
|
||||||
- 4: linear increment.
|
- 4: linear increment.
|
||||||
- 5: bent line (inverse log) increment.
|
- 5: bent line (inverse log) increment.
|
||||||
- `16xx`: set gain (00 to 7F if direct, 00 to 1F otherwise).
|
- **`16xx`**: set gain (00 to 7F if direct, 00 to 1F otherwise).
|
||||||
- `18xx`: enable echo buffer.
|
- **`18xx`**: enable echo buffer.
|
||||||
- `19xx`: set echo delay
|
- **`19xx`**: set echo delay
|
||||||
- goes from 0 to F.
|
- goes from 0 to F.
|
||||||
- `1Axx`: set left echo channel volume.
|
- **`1Axx`**: set left echo channel volume.
|
||||||
- this is a signed number.
|
- this is a signed number.
|
||||||
- 00 to 7F for 0 to 127.
|
- 00 to 7F for 0 to 127.
|
||||||
- 80 to FF for -128 to -1.
|
- 80 to FF for -128 to -1.
|
||||||
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
||||||
- `1Bxx`: set right echo channel volume.
|
- **`1Bxx`**: set right echo channel volume.
|
||||||
- this is a signed number.
|
- this is a signed number.
|
||||||
- 00 to 7F for 0 to 127.
|
- 00 to 7F for 0 to 127.
|
||||||
- 80 to FF for -128 to -1.
|
- 80 to FF for -128 to -1.
|
||||||
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
||||||
- `1Cxx`: set echo feedback.
|
- **`1Cxx`**: set echo feedback.
|
||||||
- this is a signed number.
|
- this is a signed number.
|
||||||
- 00 to 7F for 0 to 127.
|
- 00 to 7F for 0 to 127.
|
||||||
- 80 to FF for -128 to -1.
|
- 80 to FF for -128 to -1.
|
||||||
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
- setting this to -128 is not recommended as it may cause echo output to overflow and therefore click.
|
||||||
- `1Dxx`: set noise generator frequency (00 to 1F).
|
- **`1Dxx`**: set noise generator frequency (00 to 1F).
|
||||||
- `1Exx`: set left dry/global volume.
|
- **`1Exx`**: set left dry/global volume.
|
||||||
- this does not affect echo.
|
- this does not affect echo.
|
||||||
- `1Fxx`: set right dry/global volume.
|
- **`1Fxx`**: set right dry/global volume.
|
||||||
- this does not affect echo.
|
- this does not affect echo.
|
||||||
- `20xx`: set attack (0 to F).
|
- **`20xx`**: set attack (0 to F).
|
||||||
- only in ADSR envelope mode.
|
- only in ADSR envelope mode.
|
||||||
- `21xx`: set decay (0 to 7).
|
- **`21xx`**: set decay (0 to 7).
|
||||||
- only in ADSR envelope mode.
|
- only in ADSR envelope mode.
|
||||||
- `22xx`: set sustain (0 to 7).
|
- **`22xx`**: set sustain (0 to 7).
|
||||||
- only in ADSR envelope mode.
|
- only in ADSR envelope mode.
|
||||||
- `23xx`: set release (00 to 1F).
|
- **`23xx`**: set release (00 to 1F).
|
||||||
- only in ADSR envelope mode.
|
- only in ADSR envelope mode.
|
||||||
- `30xx`: set echo filter coefficient 0.
|
- **`30xx`**: set echo filter coefficient 0.
|
||||||
- `31xx`: set echo filter coefficient 1.
|
- **`31xx`**: set echo filter coefficient 1.
|
||||||
- `32xx`: set echo filter coefficient 2.
|
- **`32xx`**: set echo filter coefficient 2.
|
||||||
- `33xx`: set echo filter coefficient 3.
|
- **`33xx`**: set echo filter coefficient 3.
|
||||||
- `34xx`: set echo filter coefficient 4.
|
- **`34xx`**: set echo filter coefficient 4.
|
||||||
- `35xx`: set echo filter coefficient 5.
|
- **`35xx`**: set echo filter coefficient 5.
|
||||||
- `36xx`: set echo filter coefficient 6.
|
- **`36xx`**: set echo filter coefficient 6.
|
||||||
- `37xx`: set echo filter coefficient 7.
|
- **`37xx`**: set echo filter coefficient 7.
|
||||||
- all of these are signed numbers.
|
- all of these are signed numbers.
|
||||||
- 00 to 7F for 0 to 127.
|
- 00 to 7F for 0 to 127.
|
||||||
- 80 to FF for -128 to -1.
|
- 80 to FF for -128 to -1.
|
||||||
|
|
|
@ -14,7 +14,7 @@ it has the following capabilities:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set waveform
|
- **`10xx`**: set waveform
|
||||||
- 0: pulse wave
|
- 0: pulse wave
|
||||||
- 1: sawtooth
|
- 1: sawtooth
|
||||||
- 2: sine wave
|
- 2: sine wave
|
||||||
|
@ -23,34 +23,34 @@ it has the following capabilities:
|
||||||
- 5: periodic noise
|
- 5: periodic noise
|
||||||
- 6: XOR sine
|
- 6: XOR sine
|
||||||
- 7: XOR triangle
|
- 7: XOR triangle
|
||||||
- `12xx`: set pulse width (0 to 7F)
|
- **`12xx`**: set pulse width (0 to 7F)
|
||||||
- `13xx`: set resonance of filter (0 to FF)
|
- **`13xx`**: set resonance of filter (0 to FF)
|
||||||
- despite what the internal effects list says (0 to F), you can use a resonance value from 0 to FF (255)
|
- despite what the internal effects list says (0 to F), you can use a resonance value from 0 to FF (255)
|
||||||
- `14xx`: set filter mode and ringmod
|
- **`14xx`**: set filter mode and ringmod
|
||||||
- bit 0: ring mod
|
- bit 0: ring mod
|
||||||
- bit 1: low pass
|
- bit 1: low pass
|
||||||
- bit 2: high pass
|
- bit 2: high pass
|
||||||
- bit 3: band pass
|
- bit 3: band pass
|
||||||
- `15xx`: set frequency sweep period low byte
|
- **`15xx`**: set frequency sweep period low byte
|
||||||
- `16xx`: set frequency sweep period high byte
|
- **`16xx`**: set frequency sweep period high byte
|
||||||
- `17xx`: set volume sweep period low byte
|
- **`17xx`**: set volume sweep period low byte
|
||||||
- `18xx`: set volume sweep period high byte
|
- **`18xx`**: set volume sweep period high byte
|
||||||
- `19xx`: set cutoff sweep period low byte
|
- **`19xx`**: set cutoff sweep period low byte
|
||||||
- `1Axx`: set cutoff sweep period high byte
|
- **`1Axx`**: set cutoff sweep period high byte
|
||||||
- `1Bxx`: set frequency sweep boundary
|
- **`1Bxx`**: set frequency sweep boundary
|
||||||
- `1Cxx`: set volume sweep boundary
|
- **`1Cxx`**: set volume sweep boundary
|
||||||
- `1Dxx`: set cutoff sweep boundary
|
- **`1Dxx`**: set cutoff sweep boundary
|
||||||
- `1Exx`: set phase reset period low byte
|
- **`1Exx`**: set phase reset period low byte
|
||||||
- `1Fxx`: set phase reset period high byte
|
- **`1Fxx`**: set phase reset period high byte
|
||||||
- `20xx`: toggle frequency sweep
|
- **`20xx`**: toggle frequency sweep
|
||||||
- bit 0-6: speed
|
- bit 0-6: speed
|
||||||
- bit 7: up direction
|
- bit 7: up direction
|
||||||
- `21xx`: toggle volume sweep
|
- **`21xx`**: toggle volume sweep
|
||||||
- bit 0-4: speed
|
- bit 0-4: speed
|
||||||
- bit 5: up direction
|
- bit 5: up direction
|
||||||
- bit 6: loop
|
- bit 6: loop
|
||||||
- bit 7: alternate
|
- bit 7: alternate
|
||||||
- `22xx`: toggle cutoff sweep
|
- **`22xx`**: toggle cutoff sweep
|
||||||
- bit 0-6: speed
|
- bit 0-6: speed
|
||||||
- bit 7: up direction
|
- bit 7: up direction
|
||||||
- `4xxx`: set cutoff (0 to FFF)
|
- **`4xxx`**: set cutoff (0 to FFF)
|
||||||
|
|
|
@ -6,6 +6,6 @@ this chip was used in Neo Geo Pocket.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xx`: set noise mode.
|
- **`20xx`**: set noise mode.
|
||||||
- 0: thin pulse.
|
- 0: thin pulse.
|
||||||
- 1: noise.
|
- 1: noise.
|
||||||
|
|
|
@ -9,7 +9,7 @@ Furnace isn't complete without this one...
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx` select shape. `xx` may be one of:
|
- **`10xx`**: select shape. `xx` may be one of:
|
||||||
- 0: nothing
|
- 0: nothing
|
||||||
- 1: buzzy
|
- 1: buzzy
|
||||||
- 2: low buzzy
|
- 2: low buzzy
|
||||||
|
|
|
@ -7,9 +7,9 @@ currently Furnace does not support the PCM channel's stereo mode, though (except
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `20xx`: set waveform. the following values are accepted:
|
- **`20xx`**: set waveform. the following values are accepted:
|
||||||
- 0: pulse
|
- 0: pulse
|
||||||
- 1: saw
|
- 1: saw
|
||||||
- 2: triangle
|
- 2: triangle
|
||||||
- 3: noise
|
- 3: noise
|
||||||
- `22xx`: set duty cycle. `xx` may go from 0 to 3F.
|
- **`22xx`**: set duty cycle. `xx` may go from 0 to 3F.
|
||||||
|
|
|
@ -15,4 +15,4 @@ these channels are not referred as "square" wave channels since a technique to p
|
||||||
|
|
||||||
## effect commands
|
## effect commands
|
||||||
|
|
||||||
- `10xx` Switch waveform (`xx` from `00` to `0F`)
|
- **`10xx`**: Switch waveform (`xx` from `00` to `0F`)
|
||||||
|
|
|
@ -10,10 +10,10 @@ additionally, channel 5 offers a modulation/sweep unit. the former is similar to
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set waveform.
|
- **`10xx`**: set waveform.
|
||||||
- `11xx`: set noise length (0 to 7).
|
- **`11xx`**: set noise length (0 to 7).
|
||||||
- only in the noise channel.
|
- only in the noise channel.
|
||||||
- `12xy`: setup envelope.
|
- **`12xy`**: setup envelope.
|
||||||
- `x` determines whether envelope is enabled or not.
|
- `x` determines whether envelope is enabled or not.
|
||||||
- 0: disabled
|
- 0: disabled
|
||||||
- 1: enabled
|
- 1: enabled
|
||||||
|
@ -22,13 +22,13 @@ additionally, channel 5 offers a modulation/sweep unit. the former is similar to
|
||||||
- `y` sets the speed and direction.
|
- `y` sets the speed and direction.
|
||||||
- 0-7: down
|
- 0-7: down
|
||||||
- 8-F: up
|
- 8-F: up
|
||||||
- `13xy`: setup sweep.
|
- **`13xy`**: setup sweep.
|
||||||
- `x` sets the speed.
|
- `x` sets the speed.
|
||||||
- 0 and 8 are "speed 0" - sweep is ineffective.
|
- 0 and 8 are "speed 0" - sweep is ineffective.
|
||||||
- `y` sets the shift (0 to 7).
|
- `y` sets the shift (0 to 7).
|
||||||
- 8 and higher will mute the channel.
|
- 8 and higher will mute the channel.
|
||||||
- only in channel 5.
|
- only in channel 5.
|
||||||
- `14xy`: setup modulation.
|
- **`14xy`**: setup modulation.
|
||||||
- `x` determines whether it's enabled or not.
|
- `x` determines whether it's enabled or not.
|
||||||
- 0: disabled
|
- 0: disabled
|
||||||
- 1: enabled
|
- 1: enabled
|
||||||
|
@ -38,6 +38,6 @@ additionally, channel 5 offers a modulation/sweep unit. the former is similar to
|
||||||
- 0 and 8 are "speed 0" - modulation is ineffective.
|
- 0 and 8 are "speed 0" - modulation is ineffective.
|
||||||
- no, you can't really do Yamaha FM using this.
|
- no, you can't really do Yamaha FM using this.
|
||||||
- only in channel 5.
|
- only in channel 5.
|
||||||
- `15xx`: set modulation wave.
|
- **`15xx`**: set modulation wave.
|
||||||
- `xx` points to a wavetable. it should have a height of 255.
|
- `xx` points to a wavetable. it should have a height of 255.
|
||||||
- this is an alternative to setting the modulation wave through the instrument.
|
- this is an alternative to setting the modulation wave through the instrument.
|
||||||
|
|
|
@ -14,5 +14,5 @@ Furnace supports this routine for PCM playback, but it consumes a lot of CPU tim
|
||||||
|
|
||||||
these effects only are effective in the pulse channels.
|
these effects only are effective in the pulse channels.
|
||||||
|
|
||||||
- `12xx`: set duty cycle (0 to 7).
|
- **`12xx`**: set duty cycle (0 to 7).
|
||||||
- `17xx`: toggle PCM mode.
|
- **`17xx`**: toggle PCM mode.
|
||||||
|
|
|
@ -10,12 +10,12 @@ it has 4 wavetable channels. some of them have additional capabilities:
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
- `11xx`: setup noise mode (channel 4 only).
|
- **`11xx`**: setup noise mode (channel 4 only).
|
||||||
- 0: disable.
|
- 0: disable.
|
||||||
- 1-8: enable and set tap preset.
|
- 1-8: enable and set tap preset.
|
||||||
- `12xx`: setup sweep period (channel 3 only).
|
- **`12xx`**: setup sweep period (channel 3 only).
|
||||||
- 0: disable.
|
- 0: disable.
|
||||||
- 1-32: enable and set period.
|
- 1-32: enable and set period.
|
||||||
- `13xx`: setup sweep amount (channel 3 only).
|
- **`13xx`**: setup sweep amount (channel 3 only).
|
||||||
- `17xx`: toggle PCM mode (channel 2 only).
|
- **`17xx`**: toggle PCM mode (channel 2 only).
|
||||||
|
|
|
@ -25,20 +25,20 @@ In furnace, you can enable the envelope shape split mode. When it is set, its wa
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- **`10xx`**: change wave.
|
||||||
- `11xx`: change envelope shape (also wavetable).
|
- **`11xx`**: change envelope shape (also wavetable).
|
||||||
- `17xx`: toggle PCM mode.
|
- **`17xx`**: toggle PCM mode.
|
||||||
- `20xx`: set PCM frequency (1 to FF).
|
- **`20xx`**: set PCM frequency (1 to FF).
|
||||||
- `22xx`: set envelope mode.
|
- **`22xx`**: set envelope mode.
|
||||||
- bit 0 sets whether envelope will affect this channel.
|
- bit 0 sets whether envelope will affect this channel.
|
||||||
- bit 1 toggles the envelope one-shot mode. when it is set, channel is halted after envelope cycle is finished.
|
- bit 1 toggles the envelope one-shot mode. when it is set, channel is halted after envelope cycle is finished.
|
||||||
- bit 2 toggles the envelope shape split mode. when it is set, envelope shape will be split to left half and right half.
|
- bit 2 toggles the envelope shape split mode. when it is set, envelope shape will be split to left half and right half.
|
||||||
- bit 3/5 sets whether the right/left shape will mirror the original one.
|
- bit 3/5 sets whether the right/left shape will mirror the original one.
|
||||||
- bit 4/6 sets whether the right/left output will mirror the original one.
|
- bit 4/6 sets whether the right/left output will mirror the original one.
|
||||||
- `23xx`: set envelope period.
|
- **`23xx`**: set envelope period.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable auto-envelope mode.
|
- **`29xy`**: enable auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
|
|
|
@ -8,40 +8,40 @@ in most arcade boards the chip was used in combination with a PCM chip, like [Se
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
- **`10xx`**: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `17xx`: set LFO speed.
|
- **`17xx`**: set LFO speed.
|
||||||
- `18xx`: set LFO waveform. `xx` may be one of the following:
|
- **`18xx`**: set LFO waveform. `xx` may be one of the following:
|
||||||
- `00`: saw
|
- `00`: saw
|
||||||
- `01`: square
|
- `01`: square
|
||||||
- `02`: triangle
|
- `02`: triangle
|
||||||
- `03`: noise
|
- `03`: noise
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `1Exx`: set LFO AM depth.
|
- **`1Exx`**: set LFO AM depth.
|
||||||
- `1Fxx`: set LFO PM depth.
|
- **`1Fxx`**: set LFO PM depth.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -52,19 +52,19 @@ in most arcade boards the chip was used in combination with a PCM chip, like [Se
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set DT2 of operator.
|
- **`55xy`**: set DT2 of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -11,23 +11,23 @@ several variants of this chip were released as well, with more features.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `18xx`: toggle extended channel 3 mode.
|
- **`18xx`**: toggle extended channel 3 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `20xx`: set SSG channel mode. `xx` may be one of the following:
|
- **`20xx`**: set SSG channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -36,8 +36,8 @@ several variants of this chip were released as well, with more features.
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and 1F.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and 1F.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -50,27 +50,27 @@ several variants of this chip were released as well, with more features.
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable SSG auto-envelope mode.
|
- **`29xy`**: enable SSG auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -81,21 +81,21 @@ several variants of this chip were released as well, with more features.
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SSG-EG of operator.
|
- **`55xy`**: set SSG-EG of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value (0-8).
|
- `y` is the value (0-8).
|
||||||
- values between 0 and 7 set SSG-EG.
|
- values between 0 and 7 set SSG-EG.
|
||||||
- value 8 disables it.
|
- value 8 disables it.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -8,26 +8,26 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set LFO parameters.
|
- **`10xy`**: set LFO parameters.
|
||||||
- `x` toggles the LFO.
|
- `x` toggles the LFO.
|
||||||
- `y` sets its speed.
|
- `y` sets its speed.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `18xx`: toggle extended channel 3 mode.
|
- **`18xx`**: toggle extended channel 3 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `20xx`: set SSG channel mode. `xx` may be one of the following:
|
- **`20xx`**: set SSG channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -36,8 +36,8 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and 1F.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and 1F.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -50,27 +50,27 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable SSG auto-envelope mode.
|
- **`29xy`**: enable SSG auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -81,21 +81,21 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SSG-EG of operator.
|
- **`55xy`**: set SSG-EG of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value (0-8).
|
- `y` is the value (0-8).
|
||||||
- values between 0 and 7 set SSG-EG.
|
- values between 0 and 7 set SSG-EG.
|
||||||
- value 8 disables it.
|
- value 8 disables it.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -6,26 +6,26 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and 2 different
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set LFO parameters.
|
- **`10xy`**: set LFO parameters.
|
||||||
- `x` toggles the LFO.
|
- `x` toggles the LFO.
|
||||||
- `y` sets its speed.
|
- `y` sets its speed.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `18xx`: toggle extended channel 2 mode.
|
- **`18xx`**: toggle extended channel 2 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 2 chip.
|
- only in extended channel 2 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `20xx`: set SSG channel mode. `xx` may be one of the following:
|
- **`20xx`**: set SSG channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -34,8 +34,8 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and 2 different
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and 1F.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and 1F.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -48,27 +48,27 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and 2 different
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable SSG auto-envelope mode.
|
- **`29xy`**: enable SSG auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -79,21 +79,21 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and 2 different
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SSG-EG of operator.
|
- **`55xy`**: set SSG-EG of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value (0-8).
|
- `y` is the value (0-8).
|
||||||
- values between 0 and 7 set SSG-EG.
|
- values between 0 and 7 set SSG-EG.
|
||||||
- value 8 disables it.
|
- value 8 disables it.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -5,26 +5,26 @@ it is backward compatible with the original chip.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set LFO parameters.
|
- **`10xy`**: set LFO parameters.
|
||||||
- `x` toggles the LFO.
|
- `x` toggles the LFO.
|
||||||
- `y` sets its speed.
|
- `y` sets its speed.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `18xx`: toggle extended channel 3 mode.
|
- **`18xx`**: toggle extended channel 3 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `20xx`: set SSG channel mode. `xx` may be one of the following:
|
- **`20xx`**: set SSG channel mode. `xx` may be one of the following:
|
||||||
- `00`: square
|
- `00`: square
|
||||||
- `01`: noise
|
- `01`: noise
|
||||||
- `02`: square and noise
|
- `02`: square and noise
|
||||||
|
@ -33,8 +33,8 @@ it is backward compatible with the original chip.
|
||||||
- `05`: envelope and noise
|
- `05`: envelope and noise
|
||||||
- `06`: envelope and square and noise
|
- `06`: envelope and square and noise
|
||||||
- `07`: nothing
|
- `07`: nothing
|
||||||
- `21xx`: set noise frequency. `xx` is a value between 00 and 1F.
|
- **`21xx`**: set noise frequency. `xx` is a value between 00 and 1F.
|
||||||
- `22xy`: set envelope mode.
|
- **`22xy`**: set envelope mode.
|
||||||
- `x` sets the envelope shape, which may be one of the following:
|
- `x` sets the envelope shape, which may be one of the following:
|
||||||
- `0: \___` decay
|
- `0: \___` decay
|
||||||
- `4: /___` attack once
|
- `4: /___` attack once
|
||||||
|
@ -47,27 +47,27 @@ it is backward compatible with the original chip.
|
||||||
- `E: /\/\` obelisco
|
- `E: /\/\` obelisco
|
||||||
- `F: /___` attack once
|
- `F: /___` attack once
|
||||||
- if `y` is 1 then the envelope will affect this channel.
|
- if `y` is 1 then the envelope will affect this channel.
|
||||||
- `23xx`: set envelope period low byte.
|
- **`23xx`**: set envelope period low byte.
|
||||||
- `24xx`: set envelope period high byte.
|
- **`24xx`**: set envelope period high byte.
|
||||||
- `25xx`: slide envelope period up.
|
- **`25xx`**: slide envelope period up.
|
||||||
- `26xx`: slide envelope period down.
|
- **`26xx`**: slide envelope period down.
|
||||||
- `29xy`: enable SSG auto-envelope mode.
|
- **`29xy`**: enable SSG auto-envelope mode.
|
||||||
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
|
||||||
- `x` is the numerator.
|
- `x` is the numerator.
|
||||||
- `y` is the denominator.
|
- `y` is the denominator.
|
||||||
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
- if `x` or `y` are 0 this will disable auto-envelope mode.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: +0
|
- 0: +0
|
||||||
|
@ -78,21 +78,21 @@ it is backward compatible with the original chip.
|
||||||
- 5: -3
|
- 5: -3
|
||||||
- 6: -2
|
- 6: -2
|
||||||
- 7: -1
|
- 7: -1
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SSG-EG of operator.
|
- **`55xy`**: set SSG-EG of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value (0-8).
|
- `y` is the value (0-8).
|
||||||
- values between 0 and 7 set SSG-EG.
|
- values between 0 and 7 set SSG-EG.
|
||||||
- value 8 disables it.
|
- value 8 disables it.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -4,39 +4,39 @@ one of two chips that powered the Sega Genesis. It is a six-channel, four-operat
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xy`: set LFO parameters.
|
- **`10xy`**: set LFO parameters.
|
||||||
- `x` toggles the LFO.
|
- `x` toggles the LFO.
|
||||||
- `y` sets its speed.
|
- `y` sets its speed.
|
||||||
- `11xx`: set feedback of channel.
|
- **`11xx`**: set feedback of channel.
|
||||||
- `12xx`: set operator 1 level.
|
- **`12xx`**: set operator 1 level.
|
||||||
- `13xx`: set operator 2 level.
|
- **`13xx`**: set operator 2 level.
|
||||||
- `14xx`: set operator 3 level.
|
- **`14xx`**: set operator 3 level.
|
||||||
- `15xx`: set operator 4 level.
|
- **`15xx`**: set operator 4 level.
|
||||||
- `16xy`: set multiplier of operator.
|
- **`16xy`**: set multiplier of operator.
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the multiplier.
|
- `y` is the multiplier.
|
||||||
- `17xx`: enable PCM channel.
|
- **`17xx`**: enable PCM channel.
|
||||||
- this only works on channel 6.
|
- this only works on channel 6.
|
||||||
- `18xx`: toggle extended channel 3 mode.
|
- **`18xx`**: toggle extended channel 3 mode.
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
- `19xx`: set attack of all operators.
|
- **`19xx`**: set attack of all operators.
|
||||||
- `1Axx`: set attack of operator 1.
|
- **`1Axx`**: set attack of operator 1.
|
||||||
- `1Bxx`: set attack of operator 2.
|
- **`1Bxx`**: set attack of operator 2.
|
||||||
- `1Cxx`: set attack of operator 3.
|
- **`1Cxx`**: set attack of operator 3.
|
||||||
- `1Dxx`: set attack of operator 4.
|
- **`1Dxx`**: set attack of operator 4.
|
||||||
- `30xx`: enable envelope hard reset.
|
- **`30xx`**: enable envelope hard reset.
|
||||||
- this works by inserting a quick release and tiny delay before a new note.
|
- this works by inserting a quick release and tiny delay before a new note.
|
||||||
- `50xy`: set AM of operator.
|
- **`50xy`**: set AM of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` determines whether AM is on.
|
- `y` determines whether AM is on.
|
||||||
- `51xy` set SL of operator.
|
- **`51xy`**: set SL of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `52xy` set RR of operator.
|
- **`52xy`**: set RR of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `53xy` set DT of operator.
|
- **`53xy`**: set DT of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value:
|
- `y` is the value:
|
||||||
- 0: -3
|
- 0: -3
|
||||||
|
@ -47,21 +47,21 @@ one of two chips that powered the Sega Genesis. It is a six-channel, four-operat
|
||||||
- 5: 2
|
- 5: 2
|
||||||
- 6: 3
|
- 6: 3
|
||||||
- 7: -0
|
- 7: -0
|
||||||
- `54xy` set RS of operator.
|
- **`54xy`**: set RS of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value.
|
- `y` is the value.
|
||||||
- `55xy` set SSG-EG of operator.
|
- **`55xy`**: set SSG-EG of operator.
|
||||||
- `x` is the operator (1-4). a value of 0 means "all operators".
|
- `x` is the operator (1-4). a value of 0 means "all operators".
|
||||||
- `y` is the value (0-8).
|
- `y` is the value (0-8).
|
||||||
- values between 0 and 7 set SSG-EG.
|
- values between 0 and 7 set SSG-EG.
|
||||||
- value 8 disables it.
|
- value 8 disables it.
|
||||||
- `56xx`: set DR of all operators.
|
- **`56xx`**: set DR of all operators.
|
||||||
- `57xx`: set DR of operator 1.
|
- **`57xx`**: set DR of operator 1.
|
||||||
- `58xx`: set DR of operator 2.
|
- **`58xx`**: set DR of operator 2.
|
||||||
- `59xx`: set DR of operator 3.
|
- **`59xx`**: set DR of operator 3.
|
||||||
- `5Axx`: set DR of operator 4.
|
- **`5Axx`**: set DR of operator 4.
|
||||||
- `5Bxx`: set D2R/SR of all operators.
|
- **`5Bxx`**: set D2R/SR of all operators.
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- **`5Cxx`**: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- **`5Dxx`**: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- **`5Exx`**: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- **`5Fxx`**: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -6,8 +6,8 @@ not really - very soon talented programmers found out ways to output much more t
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `12xx`: set pulse width.
|
- **`12xx`**: set pulse width.
|
||||||
- `17xx`: trigger overlay drum.
|
- **`17xx`**: trigger overlay drum.
|
||||||
- `xx` is the sample number.
|
- `xx` is the sample number.
|
||||||
- overlay drums are 1-bit and always play at 55930Hz (NTSC) or 55420Hz (PAL).
|
- overlay drums are 1-bit and always play at 55930Hz (NTSC) or 55420Hz (PAL).
|
||||||
- the maximum length is 2048!
|
- the maximum length is 2048!
|
||||||
|
|
|
@ -5,7 +5,7 @@ The "Channels" dialog allows manipulation of the song's channels.
|
||||||
![channels dialog](channels.png)
|
![channels dialog](channels.png)
|
||||||
|
|
||||||
Each channel has the following options:
|
Each channel has the following options:
|
||||||
- "Visible": uncheck the box to hide the channel from view. Pattern data will be kept.
|
- **Visible**: uncheck the box to hide the channel from view. Pattern data will be kept.
|
||||||
- Crossed-arrows button: Click and drag to rearrange pattern data throughout the song. _Note:_ This does **not** move channels around within a chip! It only affects pattern data.
|
- Crossed-arrows button: Click and drag to rearrange pattern data throughout the song. _Note:_ This does _not_ move channels around within a chip! It only affects pattern data.
|
||||||
- "Name" is the name displayed at the top of each channel in the tracker view.
|
- **Name** is the name displayed at the top of each channel in the tracker view.
|
||||||
- To the right of that is the abbreviation used above each channel in the order view.
|
- To the right of that is the abbreviation used above each channel in the order view.
|
|
@ -5,12 +5,12 @@ The "Oscilloscope (per channel)" dialog shows an individual oscilloscope for eac
|
||||||
![oscilloscope per-channel configuration view](chanosc.png)
|
![oscilloscope per-channel configuration view](chanosc.png)
|
||||||
|
|
||||||
Right-clicking within the view will change it to the configuration view shown above:
|
Right-clicking within the view will change it to the configuration view shown above:
|
||||||
- "Columns" sets the number of columns the view will be split into.
|
- **Columns**: Sets the number of columns the view will be split into.
|
||||||
- "Size (ms)" sets what length of audio is visible in each oscilloscope.
|
- **Size (ms)**: Sets what length of audio is visible in each oscilloscope.
|
||||||
- "Center waveform" does its best to latch to the channel's note frequency and centers the display.
|
- **Center waveform**: Does its best to latch to the channel's note frequency and centers the display.
|
||||||
- "Gradient" is presently unimplemented.
|
- **Gradient**: (document this)
|
||||||
- The color selector allows setting the waveform color. Right-clicking on it pops up an option dialog:
|
- The color selector sets the waveform color. Right-clicking on it pops up an option dialog:
|
||||||
- Select between the square selector and the color wheel selector.
|
- Select between the square selector and the color wheel selector.
|
||||||
- "Alpha bar" adds a transparency selector.
|
- **Alpha bar**: Adds a transparency selector.
|
||||||
- The boxes below that are for selecting colors numerically by red-green-blue-alpha, hue-saturation-value-alpha, and HTML-style RGBA in hex.
|
- The boxes below that are for selecting colors numerically by red-green-blue-alpha, hue-saturation-value-alpha, and HTML-style RGBA in hex.
|
||||||
- The OK button returns from options view to regular.
|
- The OK button returns from options view to regular.
|
||||||
|
|
|
@ -4,7 +4,7 @@ The **chip manager** window does exactly what it says.
|
||||||
|
|
||||||
![chip manager](chip-manager.png)
|
![chip manager](chip-manager.png)
|
||||||
|
|
||||||
"Preserve channel order" will make existing pattern data stay in place even when chips are rearranged. If turned off, pattern data will rearrange to match (the default, and usually the desired behavior).
|
**Preserve channel order**: Make existing pattern data stay in place even when chips are rearranged. If turned off, pattern data will rearrange to match (the default, and usually the desired behavior).
|
||||||
|
|
||||||
To move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to its left.
|
To move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to its left.
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# compatibility flags
|
# compatibility flags
|
||||||
|
|
||||||
The "Compatibility Flags" window contains several tabs full of settings that change aspects of tracking and playback. A new Furnace file will leave them all at their defaults (off), while opening a DefleMask, Amiga MOD, or earlier Furnace file will automatically set the appropriate options.
|
The **Compatibility Flags** window contains several tabs full of settings that change aspects of tracking and playback. A new Furnace file will leave them all at their defaults (off), while opening a DefleMask, Amiga MOD, or earlier Furnace file will automatically set the appropriate options.
|
||||||
|
|
||||||
Hovering over most options will bring up additional info about them. It's not recommended to change any of these without clear reason. _There be dragons here._
|
Hovering over most options will bring up additional info about them. It's not recommended to change any of these without clear reason. _There be dragons here._
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Grooves are macros for speed.
|
Grooves are macros for speed.
|
||||||
|
|
||||||
A groove is the equivalent of repeating `0Fxx` commands on each row to get a cycle of speeds. For example, a groove of "6 4 5 3" makes the first row 6 ticks long, the next row 4 ticks, then 5, 3, 6, 4, 5, 3...
|
A **groove** is the equivalent of repeating `0Fxx` commands on each row to get a cycle of speeds. For example, a groove of "6 4 5 3" makes the first row 6 ticks long, the next row 4 ticks, then 5, 3, 6, 4, 5, 3...
|
||||||
|
|
||||||
|
|
||||||
![groove](groove.png)
|
![groove](groove.png)
|
||||||
|
@ -17,7 +17,7 @@ To set the song's groove:
|
||||||
![groove patterns](grooves.png)
|
![groove patterns](grooves.png)
|
||||||
|
|
||||||
The "Grooves" window is for entering preset groove patterns.
|
The "Grooves" window is for entering preset groove patterns.
|
||||||
- The `+` button adds a new groove pattern; click in the pattern to edit it.
|
- The **`+`** button adds a new groove pattern; click in the pattern to edit it.
|
||||||
- The `×` buttons remove them.
|
- The **`×`** buttons remove them.
|
||||||
|
|
||||||
A single `09xx` command will switch to the matching numbered groove pattern.
|
A single `09xx` command will switch to the matching numbered groove pattern.
|
||||||
|
|
|
@ -4,9 +4,9 @@ The log viewer provides a look at Furnace's internal messages. This can be usefu
|
||||||
|
|
||||||
![log viewer dialog](log-viewer.png)
|
![log viewer dialog](log-viewer.png)
|
||||||
|
|
||||||
If the "Follow" checkbox is enabled, the log will snap to the bottom and continually scroll to show the newest messages. If disabled, it will stay put on what's currently shown.
|
If the **Follow** checkbox is enabled, the log will snap to the bottom and continually scroll to show the newest messages. If disabled, it will stay put on what's currently shown.
|
||||||
|
|
||||||
The "Level" dropdown determines the minimum importance of the messages displayed.
|
The **Level** dropdown determines the minimum importance of the messages displayed.
|
||||||
|
|
||||||
| level | message shown |
|
| level | message shown |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
|
|
@ -9,17 +9,17 @@ The "Mixer" dialog provides options for overall sound mixing.
|
||||||
"Master Volume" controls the overall mix.
|
"Master Volume" controls the overall mix.
|
||||||
|
|
||||||
Each chip has several options:
|
Each chip has several options:
|
||||||
- "Invert" flips the output wave.
|
- **Invert**: Flips the output wave.
|
||||||
- "Volume" controls the chip's volume relative to other chips.
|
- **Volume**: Controls the chip's volume relative to other chips.
|
||||||
- "Panning" is for left-right control.
|
- **Panning**: Left-right sound control.
|
||||||
- "Front/Rear" does as it says, is only useful for setups with four or more speakers.
|
- **Front/Rear**: Front-read sound control. Only useful for setups with four or more speakers.
|
||||||
|
|
||||||
## "Patchbay" tab
|
## "Patchbay" tab
|
||||||
|
|
||||||
![mixer dialog on patchbay tab](mixer-patchbay.png)
|
![mixer dialog on patchbay tab](mixer-patchbay.png)
|
||||||
|
|
||||||
- "Automatic patchbay" will make appropriate connections when adding, removing, or changing chips and chip settings.
|
- **Automatic patchbay**: Make appropriate connections when adding, removing, or changing chips and chip settings.
|
||||||
- "Display hidden ports" shows all available connection ports. The "System" unit actually has 16 ports; 1 maps to the left channel, and 2 maps to the right.
|
- **Display hidden ports**: Shows all available connection ports. The "System" unit actually has 16 ports; 1 maps to the left channel, and 2 maps to the right.
|
||||||
- "Display internal" shows two additional units, one for sample previews and one for the metronome sound.
|
- **Display internal**: hows two additional units, one for sample previews and one for the metronome sound.
|
||||||
|
|
||||||
The graph shows each existing unit along with their outputs, inputs, and the "patch cables" connecting them. Connections can be made by dragging between an output and an input. Right-clicking on a unit gives the option to disconnect all patches from that unit.
|
The graph shows each existing unit along with their outputs, inputs, and the "patch cables" connecting them. Connections can be made by dragging between an output and an input. Right-clicking on a unit gives the option to disconnect all patches from that unit.
|
||||||
|
|
|
@ -4,9 +4,9 @@ The pattern manager is useful for cleaning up stray patterns and as an overview
|
||||||
|
|
||||||
![pattern manager dialog](pattern-manager.png)
|
![pattern manager dialog](pattern-manager.png)
|
||||||
|
|
||||||
"De-duplicate patterns" looks for matching patterns, eliminates all but the first instance, and changes all references in the order list to match.
|
**De-duplicate patterns** looks for matching patterns, eliminates all but the first instance, and changes all references in the order list to match.
|
||||||
|
|
||||||
"Re-arrange patterns" renumbers patterns to be in sequence, along with changing all references in the order list to match.
|
**Re-arrange patterns** renumbers patterns to be in sequence, along with changing all references in the order list to match.
|
||||||
|
|
||||||
The pattern grid shows each channel and all its patterns. These are color-coded to show how much they're used in the song; these colors can be changed in Settings.
|
The pattern grid shows each channel and all its patterns. These are color-coded to show how much they're used in the song; these colors can be changed in Settings.
|
||||||
|
|
||||||
|
|
|
@ -25,14 +25,14 @@ Right-clicking on the piano keys will make the buttons disappear; right-clicking
|
||||||
## options
|
## options
|
||||||
|
|
||||||
Key layout:
|
Key layout:
|
||||||
- [Automatic]
|
- **Automatic**
|
||||||
- [Standard]: Black keys are 2/3 length.
|
- **Standard**: Black keys are 2/3 length.
|
||||||
- [Continuous]: Black keys are full length.
|
- **Continuous**: Black keys are full length.
|
||||||
|
|
||||||
Value input pad: (document this)
|
Value input pad: (document this)
|
||||||
- [Disabled]
|
- **Disabled**
|
||||||
- [Replace piano]
|
- **Replace piano**
|
||||||
- [Split (automatic)]
|
- **Split (automatic)**
|
||||||
- [Split (always visible)]
|
- **Split (always visible)**
|
||||||
|
|
||||||
[Share play/edit offset/range]: (document this)
|
**Share play/edit offset/range**: (document this)
|
||||||
|
|
Loading…
Reference in a new issue