WIP : write protect state propagation.

This commit is contained in:
Jean-François DEL NERO
2024-04-05 23:47:58 +02:00
parent 084d046e50
commit c35c3e0d8c
2 changed files with 11 additions and 0 deletions
+9
View File
@@ -116,6 +116,8 @@ typedef struct app_data
int32_t interface_mode;
int32_t double_step;
int32_t write_protect;
int32_t fill_value;
int32_t min_nb_of_tracks;
@@ -490,6 +492,9 @@ static void XMLCALL charhandler(void *data, const char *s, int len)
case FILESIZE:
ad->file_size = atoi(buffer);
break;
case WRITE_PROTECT:
ad->write_protect = atoi(buffer);
break;
/* case TRACKSIZE:
ad->track_size = atoi(buffer);
break;*/
@@ -850,8 +855,12 @@ static void XMLCALL end(void *data, const char *el)
case LAYOUT:
generateDisk(ad,ad->image_data,ad->buffer_size);
ad->floppy = hxcfe_getFloppy (ad->fb);
if(ad->interface_mode>=0)
hxcfe_floppySetInterfaceMode(ad->floppycontext,ad->floppy,ad->interface_mode);
if(ad->write_protect)
hxcfe_floppySetFlags(ad->floppycontext, ad->floppy, HXCFE_FLOPPY_WRPROTECTED_FLAG );
break;
case TRACK:
+2
View File
@@ -15,6 +15,7 @@ enum
FILEEXT,
FILESIZE,
INTERFACE_MODE,
WRITE_PROTECT,
DOUBLE_STEP,
LAYOUT,
NUMBEROFTRACK,
@@ -72,6 +73,7 @@ keyword keyword_list[]=
{"prefered_file_extension", FILEEXT, DISK_LAYOUT},
{"file_size", FILESIZE, DISK_LAYOUT},
{"interface_mode", INTERFACE_MODE, DISK_LAYOUT},
{"write_protected", WRITE_PROTECT, DISK_LAYOUT},
{"double_step", DOUBLE_STEP, DISK_LAYOUT},
{"layout", LAYOUT, DISK_LAYOUT},
{"min_number_of_tracks", MINNUMBEROFTRACKS, LAYOUT},