Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This now allows for 32MB and smaller hard drive DOS FAT images to be consistency checked.
When compiled with OWCC,
fsck-dos.os2uses huge pointers to work with the much larger FAT table found in ELKS 32MB FAT hard disk images. To check a 32MB hard drive, there must be > 256KB of contiguous main memory available, which may not be the case with multiple logins or shells running.Hopefully this tool might help @tyama501 with the possible HD FAT corruption seen in #2398.
The source code for
fsck-doswas somewhat easily enhanced to use __huge far pointers, which causes OWCC to generate additional code for indexing huge far pointers into > 64KB contiguous RAM allocated throughfmemalloc. The standard malloc/free were then replaced with an enhanced version developed for the 8086-toolchain, where two far memory arenas are maintained, one for small allocations using _fmalloc, and the other using fmemalloc.For the time being, this requires OWCC being installed on the host. To build the enhanced version, type:
For those without OWCC, here's a pre-compiled binary:
fsck-dos.os2.zip