From 5024c6631ab583c0b375f0002e2ad6d6373d84ee Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sun, 28 May 2023 11:06:04 +0200 Subject: Fix save data corruption if no save existed --- src/sequencer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/sequencer.c') 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 sequencer_init(void) { // Load the previous bank from SRAM or initialize it if needed. sram_read(&metadata, 0, sizeof(Metadata)); - if (metadata.magic != 0xbadd10de) { - metadata.magic = 0xbadd10de; + if (metadata.initialized != SAVE_INIT_MAGIC) { + for (size_t i = 0; i < KB(64) / 8; ++i) { + SRAM[i] = 0x00; + } + dma_fill(&metadata, 0, sizeof(Metadata), 3); + metadata.initialized = SAVE_INIT_MAGIC; sram_write(&metadata, 0, sizeof(Metadata)); save_bank(0); save_bank(1); -- cgit v1.2.1