Author Topic: XDF disk extractor  (Read 79709 times)

ivan

  • Hero Member
  • *****
  • Posts: 1602
  • Karma: +20/-0
    • View Profile
Re: XDF disk extractor
« Reply #90 on: December 10, 2018, 01:40:20 am »
I think you will find the reason they went for discrete tracks on floppies is the ease of finding files.  The start of a file is located as a sector of a track and the positioning motor moves the head assembly to that track.  Since a file can be split between different sectors and tracks using a spiral track would take a long time for the head to traverse back and forth to read all the file segments.  It only works for a CD/DVD because they are write once read many times - you don't delete files on a CD/DVD without having to write the  whole thing again.  That is also why hard disks use discrete tracks and sectors.

RickCHodgin

  • Guest
Re: XDF disk extractor
« Reply #91 on: December 10, 2018, 03:27:47 am »
I think you will find the reason they went for discrete tracks on floppies is the ease of finding files.  The start of a file is located as a sector of a track and the positioning motor moves the head assembly to that track.  Since a file can be split between different sectors and tracks using a spiral track would take a long time for the head to traverse back and forth to read all the file segments...

A 3.75MB format though ... it would've been a nice option even if slower.  It could've been an option available for formatting.

Plus, I think drives that have this feature could move to sectors fast with some logic indicating which sector belongs where in the spiral as it would be fixed.  File systems could also still begin on logical boundaries, they would just be translated for physical writing.

I'm just surprised.  3.75MB on a standard 1.44MB disk... that's desirable.  IBM added support for 1.84MB.

RickCHodgin

  • Guest
Re: XDF disk extractor
« Reply #92 on: December 31, 2018, 03:18:32 pm »
I have observed where this file exists here:
https://ecsoft2.org/xdflibsf-os2

It shows a DSK file sub-directories.  When looking for XDF-compressed files I could not find any that had sub-directories, and therefore couldn't get the code there tested / working:

Code: [Select]
///////////
// Note:
// Nov.04.2018 -- RCH -- I could not find an XDF file that had sub-directories, so I couldn't test this.
// // Load the sub-directory
// subdir = (SDirEntry*)iiLoadDirectory(fh, entry->first_cluster);
// if (!subdir)
// {
// // Error reading the directory
// printf("Error entering directory %s\n", filename_11_3);
//
// } else {
// // Update the deeper path
// lnPathLen = strlen(path);
// iiBuildFilename(filename_11_3, filename, extension, true);
// strcpy((s8*)path + lnPathLen, (s8*)filename_11_3);
// strcpy((s8*)path + strlen((s8*)path), "\\");
//
// // Display the sub-directory
// iiDisplayDirectory(fh, path, subdir, lnTotalFiles, lnTotalSize, tlExtract, argv);
//
// // Reset the path
// path[lnPathLen] = 0;
//
// // Clean house
// free(subdir);
// }
//////

Source code (line 795):
http://www.libsf.org:8990/projects/LIB/repos/libsf/browse/es2/UTILS/xdflibsf/xdflibsf.cpp

If anyone has an existing publicly released XDF-compressed disk with sub-directories could you ZIP it up and post it somewhere so I can test out that functionality?
« Last Edit: December 31, 2018, 03:20:19 pm by Rick C. Hodgin »

RickCHodgin

  • Guest
Re: XDF disk extractor
« Reply #93 on: December 31, 2018, 09:18:03 pm »
I have observed where this file exists here:
https://ecsoft2.org/xdflibsf-os2
...

If anyone has an existing publicly released XDF-compressed disk with sub-directories could you ZIP it up and post it somewhere so I can test out that functionality?

I got an email today from eCSoft/2 Administration.  They sent me the attached file on that link so I can update the source code.  I plan to work on that tomorrow evening, and post the update next weekend.

UPDATE:  I have not had a chance to work on this yet.  I plan to do it immediately after I complete my current project / task, which should be this week.  I hope to get this utility updated by Friday, and have it posted this weekend.  If anyone wants to help me, the source code is out there.
« Last Edit: January 08, 2019, 07:29:11 pm by Rick C. Hodgin »