Skip to content

Commit 25db122

Browse files
jjgignacmist64
authored andcommitted
Make load routine wrap into next RAM bank (#165)
1 parent 13f3438 commit 25db122

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

loadsave.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,15 @@ LOAD()
170170
// IO addresses
171171
} else if(start < 0xc000) {
172172
// banked RAM
173-
bytes_read = fread(RAM + ((uint16_t)memory_get_ram_bank() << 13) + start, 1, 0xc000 - start, f);
173+
while(1) {
174+
size_t len = 0xc000 - start;
175+
bytes_read = fread(RAM + ((uint16_t)memory_get_ram_bank() << 13) + start, 1, len, f);
176+
if(bytes_read < len) break;
177+
178+
// Wrap into the next bank
179+
start = 0xa000;
180+
memory_set_ram_bank(1 + memory_get_ram_bank());
181+
}
174182
} else {
175183
// ROM
176184
}

0 commit comments

Comments
 (0)