diff options
author | Bad Diode <bd@badd10de.dev> | 2023-07-28 09:46:23 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-07-28 09:46:23 +0200 |
commit | bf2c48deb075133ca063c4f64099b159ff9422f6 (patch) | |
tree | 79be0ff9029eaf45e803804b057e0c417101fe67 | |
parent | 8585ffba82eab7f8e80bdac12773aa1f2e9e6915 (diff) | |
download | stepper-bf2c48deb075133ca063c4f64099b159ff9422f6.tar.gz stepper-bf2c48deb075133ca063c4f64099b159ff9422f6.zip |
Change pattern chains to be saved per bank
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | src/save.c | 2 |
2 files changed, 4 insertions, 0 deletions
@@ -23,6 +23,8 @@ WITH REGARD TO THIS SOFTWARE. | |||
23 | // | 23 | // |
24 | // Quality of life improvements. | 24 | // Quality of life improvements. |
25 | // + Make the channel parameters initialize to default | 25 | // + Make the channel parameters initialize to default |
26 | // + Keep one pattern chain per bank | ||
27 | // + Store pattern chains on bank if there is enough memory available. | ||
26 | // - When not on play mode, adjusting a note or a parameter triggers the sound. | 28 | // - When not on play mode, adjusting a note or a parameter triggers the sound. |
27 | // This could get annoying, so maybe it should be a configuration option to | 29 | // This could get annoying, so maybe it should be a configuration option to |
28 | // enable it? | 30 | // enable it? |
@@ -23,11 +23,13 @@ sram_write(u8 *src, u16 pos, u16 n_bytes) { | |||
23 | void | 23 | void |
24 | save_bank(int i) { | 24 | save_bank(int i) { |
25 | sram_write(&patterns, sizeof(Metadata) + i * sizeof(patterns), sizeof(patterns)); | 25 | sram_write(&patterns, sizeof(Metadata) + i * sizeof(patterns), sizeof(patterns)); |
26 | sram_write(&chain, sizeof(Metadata) + 4 * sizeof(patterns) + i * sizeof(chain), sizeof(chain)); | ||
26 | } | 27 | } |
27 | 28 | ||
28 | void | 29 | void |
29 | load_bank(int i) { | 30 | load_bank(int i) { |
30 | sram_read(&patterns, sizeof(Metadata) + i * sizeof(patterns), sizeof(patterns)); | 31 | sram_read(&patterns, sizeof(Metadata) + i * sizeof(patterns), sizeof(patterns)); |
32 | sram_read(&chain, sizeof(Metadata) + 4 * sizeof(patterns) + i * sizeof(chain), sizeof(chain)); | ||
31 | } | 33 | } |
32 | 34 | ||
33 | void | 35 | void |