summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fs_fat.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fsblk.cpp: Internal overhaul AJR2025-03-021-41/+41
| | | | | | | | - Replace custom reference counting wrapper with std::shared_ptr - Rename fsblk_t::block_t::copy to write and use it in a few more places - Add fsblk_t::block_t::read - Rename fsblk_t::block_t::offset and rooffset due to name collisions and privatize these helper functions - Rename fsblk_t::fill to fill_all for clarity's sake
* formats/fsblk.cpp: Replaced fs::err_t enum with a standard error condition ↵ ajrhacker2025-02-221-78/+80
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* formats/fs_fat.cpp: Guard against divide by zero errors when the bytes per ↵ AJR2024-11-091-0/+2
| | | | sector field in the parameter block is not properly set (as on some early PC-DOS disks)
* srcclean and cleanup Vas Crabb2024-05-261-7/+7
|
* Cleanup: Vas Crabb2024-05-221-25/+35
| | | | | * olympia/dday.cpp: Correctly size the inappropriately named "color RAM". * util/cdrom.cpp, formats/fs_fat.cpp: More const, less copying.
* lib/formats/fs_fat.cpp: Add write support. (#12363) wilbertpol2024-05-121-37/+520
|
* formats/fs_fat.cpp: Add the 5.25" disk formats AJR2024-02-191-0/+6
|
* formats/fs_fat.cpp: Various fixes AJR2024-02-101-8/+29
| | | | | | | - Get the volume label from the root directory, rather than from the extended BPB (which is less reliable) - Ignore long file name entries for now * floptool: Add new line to error message report
* lib/formats/fs_fat.cpp: Ignore deleted directory entries. (#11830) wilbertpol2023-12-101-1/+4
|
* Filesystem code refactoring (#11570) ajrhacker2023-09-271-0/+3
| | | | - Separate fs::block_t and fs::filesystem_t to a new source file and header - Remove inclusion of flopimg.h from fsmgr.h
* fsmgr.cpp: Restore trim_end_spaces as a std::string_view function and use it ↵ AJR2023-09-171-6/+5
| | | | in place of strtrimrightspace in FS code due to feedback on f5066881db7a601ba7031fbc996ab404e05e5dd5
* Changed fs::manager_t::enumerate_f() to simplify logic within file system ↵ npwoods2022-09-191-10/+6
| | | | | | | | | | | | | | | | | | | | | drivers (#10106) * Changed fs::manager_t::enumerate_f() to simplify logic within file system drivers enumerate_f() used to contain quite a bit of boilerplate logic to determine whether a particular floppy type should be added. This change attempts to move this logic outside the file system drivers to simplify the drivers. The riskiest part of this change is unformatted_image::enumerate_f(). I attempted to replicate the logic that was previously determining with unformatted image types to use, but the logic is tricky and it isn't clear to me that replicating the logic is the correct action - I may be cargo culting. * Fix to floppy_image_device::fs_enum::add_raw() * Updating FS_FAT to reflect this PR * On the advise of Sarayan, I moved the filtering to the fs::manager_t::fs_enum base class. This is actually a less intrusive change than what I originally had because it keeps the unformatted raw image handling closer to what we had previously. Some misgivings about these changes: 1. We now have fs::manager_t::fs_enum::add() being a thin call that invokes a protected method called fs::manager_t::fs_enum::add_format(). Better ideas for names are welcome. 2. It feels odd that we've removed the need to do filtering from the various FS modules, but the unformatted module has to ask the fs_enum() for its internal variables for filtering to perform the same logic. This seems to be the least worst option Feedback is welcome
* formats/fs_fat.cpp: Fixe use-after-std::move() issue in constructor. (#10296) npwoods2022-08-311-1/+1
|
* srcclean in preparation for release Vas Crabb2022-08-281-164/+164
|
* Initial FAT file system support for Floptool (#9119) npwoods2022-08-251-0/+828
* Initial FAT file system support for Floptool Current Limitations: - Read only - Only supports floppy disks - No FAT32 support - No Long Filenames Support