+ case PISCSI_CMD_LOADFS: {
+ DEBUG("[PISCSI] Attempt to load file system for partition %d from disk.\n", rom_cur_partition);
+ r = get_mapped_item_by_address(cfg, val);
+ if (r != -1) {
+ char *dosID = (char *)&rom_partition_dostype[rom_cur_partition];
+ filesystems[piscsi_num_fs].binary_data = NULL;
+ filesystems[piscsi_num_fs].fhb = NULL;
+ filesystems[piscsi_num_fs].FS_ID = rom_partition_dostype[rom_cur_partition];
+ filesystems[piscsi_num_fs].handler = 0;
+ if (load_fs(&filesystems[piscsi_num_fs], dosID) != -1) {
+ printf("[FSHD-Late] Loaded file system %c%c%c/%d from fs storage.\n", dosID[0], dosID[1], dosID[2], dosID[3]);
+ piscsi_u32[3] = piscsi_num_fs;
+ rom_cur_fs = piscsi_num_fs;
+ piscsi_num_fs++;
+ } else {
+ printf("[FSHD-Late] Failed to load file system %c%c%c/%d from fs storage.\n", dosID[0], dosID[1], dosID[2], dosID[3]);
+ piscsi_u32[3] = 0xFFFFFFFF;
+ }
+ }
+ break;
+ }