@@ -193,7 +193,8 @@ static bool picopass_device_save_file(
193
193
furi_string_printf (temp_str , "%s/%s%s" , folder , dev_name , extension );
194
194
}
195
195
196
- if (dev -> format == PicopassDeviceSaveFormatHF ||
196
+ if (dev -> format == PicopassDeviceSaveFormatOriginal ||
197
+ dev -> format == PicopassDeviceSaveFormatLegacy ||
197
198
dev -> format == PicopassDeviceSaveFormatPartial ) {
198
199
// Open file
199
200
if (!flipper_format_file_open_always (file , furi_string_get_cstr (temp_str ))) break ;
@@ -215,6 +216,12 @@ static bool picopass_device_save_file(
215
216
for (size_t i = 0 ; i < app_limit ; i ++ ) {
216
217
furi_string_printf (temp_str , "Block %d" , i );
217
218
if (card_data [i ].valid ) {
219
+ if (dev -> format == PicopassDeviceSaveFormatLegacy ) {
220
+ if (i == PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ) {
221
+ card_data [i ].data [0 ] = 0x03 ;
222
+ }
223
+ }
224
+
218
225
if (!flipper_format_write_hex (
219
226
file ,
220
227
furi_string_get_cstr (temp_str ),
@@ -249,7 +256,7 @@ static bool picopass_device_save_file(
249
256
}
250
257
251
258
bool picopass_device_save (PicopassDevice * dev , const char * dev_name ) {
252
- if (dev -> format == PicopassDeviceSaveFormatHF ) {
259
+ if (dev -> format == PicopassDeviceSaveFormatOriginal ) {
253
260
return picopass_device_save_file (
254
261
dev , dev_name , STORAGE_APP_DATA_PATH_PREFIX , PICOPASS_APP_EXTENSION , true);
255
262
} else if (dev -> format == PicopassDeviceSaveFormatLF ) {
@@ -260,6 +267,11 @@ bool picopass_device_save(PicopassDevice* dev, const char* dev_name) {
260
267
} else if (dev -> format == PicopassDeviceSaveFormatPartial ) {
261
268
return picopass_device_save_file (
262
269
dev , dev_name , STORAGE_APP_DATA_PATH_PREFIX , PICOPASS_APP_EXTENSION , true);
270
+ } else if (dev -> format == PicopassDeviceSaveFormatLegacy ) {
271
+ return picopass_device_save_file (
272
+ dev , dev_name , STORAGE_APP_DATA_PATH_PREFIX , PICOPASS_APP_EXTENSION , true);
273
+ } else {
274
+ FURI_LOG_E (TAG , "Unknown format" );
263
275
}
264
276
265
277
return false;
@@ -382,7 +394,7 @@ void picopass_device_clear(PicopassDevice* dev) {
382
394
383
395
picopass_device_data_clear (& dev -> dev_data );
384
396
memset (& dev -> dev_data , 0 , sizeof (dev -> dev_data ));
385
- dev -> format = PicopassDeviceSaveFormatHF ;
397
+ dev -> format = PicopassDeviceSaveFormatOriginal ;
386
398
furi_string_reset (dev -> load_path );
387
399
}
388
400
@@ -441,7 +453,7 @@ void picopass_device_data_clear(PicopassDeviceData* dev_data) {
441
453
442
454
bool picopass_device_delete (PicopassDevice * dev , bool use_load_path ) {
443
455
furi_assert (dev );
444
- if (dev -> format != PicopassDeviceSaveFormatHF ) {
456
+ if (dev -> format != PicopassDeviceSaveFormatOriginal ) {
445
457
// Never delete other formats (LF, Seader, etc)
446
458
return false;
447
459
}
0 commit comments