diff --git a/src/lib/formats/d88_dsk.cpp b/src/lib/formats/d88_dsk.cpp index 78077c16007..a64129cc3a4 100644 --- a/src/lib/formats/d88_dsk.cpp +++ b/src/lib/formats/d88_dsk.cpp @@ -37,6 +37,8 @@ #define D88_HEADER_LEN 0x2b0 +#define SPOT_DUPLICATES 0 + struct d88_tag { uint32_t image_size; @@ -280,14 +282,15 @@ static void d88_get_header(floppy_image_legacy* floppy,uint32_t* size, uint8_t* floppy_image_read(floppy,header,0,D88_HEADER_LEN); -#ifdef SPOT_DUPLICATES + if(SPOT_DUPLICATES) + { // there exist many .d88 files with same data and different headers and // this allows to spot duplicates, making easier to debug softlists. uint32_t temp_size = floppy_image_size(floppy); - uint8_t tmp_copy[temp_size - D88_HEADER_LEN]; - floppy_image_read(floppy,tmp_copy,D88_HEADER_LEN,temp_size - D88_HEADER_LEN); - printf("CRC16: %d\n", ccitt_crc16(0xffff, tmp_copy, temp_size - D88_HEADER_LEN)); -#endif + auto tmp_copy = std::make_unique(temp_size - D88_HEADER_LEN); + floppy_image_read(floppy,tmp_copy.get(),D88_HEADER_LEN,temp_size - D88_HEADER_LEN); + printf("CRC16: %d\n", ccitt_crc16(0xffff, tmp_copy.get(), temp_size - D88_HEADER_LEN)); + } if(prot) *prot = header[0x1a]; diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp index 53f64eb4827..e6f4cfd7b97 100644 --- a/src/lib/formats/dsk_dsk.cpp +++ b/src/lib/formats/dsk_dsk.cpp @@ -14,11 +14,15 @@ #include "ioprocs.h" +#include "osdcore.h" // osd_printf_* + #include #define MV_CPC "MV - CPC" #define EXTENDED "EXTENDED" +#define SPOT_DUPLICATES 0 + struct dskdsk_tag { int disk_image_type; /* image type: standard or extended */ @@ -220,13 +224,14 @@ FLOPPY_CONSTRUCT( dsk_dsk_construct ) } floppy_image_read(floppy, header, 0, 0x100); -#ifdef SPOT_DUPLICATES - // this allow to spot .dsk files with same data and different headers, making easier to debug softlists. - uint32_t temp_size = floppy_image_size(floppy); - uint8_t tmp_copy[temp_size - 0x100]; - floppy_image_read(floppy,tmp_copy,0x100,temp_size - 0x100); - printf("CRC16: %d\n", ccitt_crc16(0xffff, tmp_copy, temp_size - 0x100)); -#endif + if(SPOT_DUPLICATES) + { + // this allow to spot .dsk files with same data and different headers, making easier to debug softlists. + uint32_t temp_size = floppy_image_size(floppy); + auto tmp_copy = std::make_unique(temp_size - 0x100); + floppy_image_read(floppy,tmp_copy.get(),0x100,temp_size - 0x100); + printf("CRC16: %d\n", ccitt_crc16(0xffff, tmp_copy.get(), temp_size - 0x100)); + } tag = (struct dskdsk_tag *) floppy_create_tag(floppy, sizeof(struct dskdsk_tag)); if (!tag)