- [NEW] Càrrega de disks des del debuger

- [FIX] Al carregar un nou disk s'alliberava mal la memòria
This commit is contained in:
2025-08-07 17:53:01 +02:00
parent b69da56526
commit 5516f463bf
3 changed files with 11 additions and 2 deletions

View File

@@ -7,6 +7,7 @@
#include "zx_ula.h" #include "zx_ula.h"
#include "zx_speaker.h" #include "zx_speaker.h"
#include "zx_tape.h" #include "zx_tape.h"
#include "zx_disk.h"
#include "ui.h" #include "ui.h"
#include "ui_window.h" #include "ui_window.h"
#include "zx_screen.h" #include "zx_screen.h"
@@ -906,6 +907,14 @@ namespace z80debug
} else if (strcmp(cmd, "play")==0) { } else if (strcmp(cmd, "play")==0) {
zx_tape::play(); zx_tape::play();
} }
} else if (strcmp(cmd, "disk")==0) {
getcmd();
if (strcmp(cmd, "load")==0) {
getcmd();
char filename[256];
strcpy(filename, cmd);
zx_disk::load(filename);
}
} else if (strcmp(cmd, "poke")==0) { } else if (strcmp(cmd, "poke")==0) {
getcmd(); getcmd();
int address = getnum(cmd); int address = getnum(cmd);

View File

@@ -109,7 +109,7 @@ namespace zx_disk
if (disk.tracks) { if (disk.tracks) {
for (int i=0; i<disk.num_tracks; ++i) { for (int i=0; i<disk.num_tracks; ++i) {
for (int j=0; j<disk.tracks[i].num_sectors; ++j) { for (int j=0; j<disk.tracks[i].num_sectors; ++j) {
free(disk.tracks[i].sectors[i].data); free(disk.tracks[i].sectors[j].data);
} }
free(disk.tracks[i].sectors); free(disk.tracks[i].sectors);
} }

View File

@@ -1,5 +1,5 @@
#include "zx_mem.h" #include "zx_mem.h"
#include "stdlib.h" #include <stdlib.h>
#include "z80.h" #include "z80.h"
#include "zx_screen.h" #include "zx_screen.h"