diff options
Diffstat (limited to 'src/sequencer.c')
-rw-r--r-- | src/sequencer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/sequencer.c b/src/sequencer.c index 6aa8eea..867e686 100644 --- a/src/sequencer.c +++ b/src/sequencer.c | |||
@@ -957,8 +957,12 @@ void | |||
957 | sequencer_init(void) { | 957 | sequencer_init(void) { |
958 | // Load the previous bank from SRAM or initialize it if needed. | 958 | // Load the previous bank from SRAM or initialize it if needed. |
959 | sram_read(&metadata, 0, sizeof(Metadata)); | 959 | sram_read(&metadata, 0, sizeof(Metadata)); |
960 | if (metadata.magic != 0xbadd10de) { | 960 | if (metadata.initialized != SAVE_INIT_MAGIC) { |
961 | metadata.magic = 0xbadd10de; | 961 | for (size_t i = 0; i < KB(64) / 8; ++i) { |
962 | SRAM[i] = 0x00; | ||
963 | } | ||
964 | dma_fill(&metadata, 0, sizeof(Metadata), 3); | ||
965 | metadata.initialized = SAVE_INIT_MAGIC; | ||
962 | sram_write(&metadata, 0, sizeof(Metadata)); | 966 | sram_write(&metadata, 0, sizeof(Metadata)); |
963 | save_bank(0); | 967 | save_bank(0); |
964 | save_bank(1); | 968 | save_bank(1); |