diff --git a/zx_tape.cpp b/zx_tape.cpp index fff2913..5c0cf63 100644 --- a/zx_tape.cpp +++ b/zx_tape.cpp @@ -47,8 +47,9 @@ namespace zx_tape void load(const char* filename) { - //[TODO] Free memory that might be taken by previous tape - + if (!blocks.empty()) for (auto block : blocks) free(block.data); + blocks.clear(); + FILE *f = fopen(filename, "rb"); if (!f) return; while (!feof(f)) diff --git a/zx_ula.cpp b/zx_ula.cpp index dcbe561..e9d40c8 100644 --- a/zx_ula.cpp +++ b/zx_ula.cpp @@ -125,7 +125,7 @@ namespace zx_ula int port_in(int port) { const uint8_t h_addr = (port>>8); - uint8_t result = ear ? 0xbf : 0xff; + uint8_t result = ear ? 0xff : 0xbf; update_zx_keyboard();