summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fs_prodos.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fsblk.cpp: Internal overhaul AJR2025-03-021-68/+68
| | | | | | | | - 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-26/+26
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* formats/fs_prodos.cpp: Recognize some file types AJR2024-02-101-1/+46
|
* formats/fs_prodos.cpp: Feature updates AJR2024-02-101-26/+30
| | | | | | | - Allow floptool to use ProDOS filesystem with 140K 5.25" disks - Actually list OS and date/time file attributes - Fix decoding of dates to match Apple II ProDOS - Skip header entries in a less hacky way
* Filesystem code refactoring (#11570) ajrhacker2023-09-271-0/+1
| | | | - Separate fs::block_t and fs::filesystem_t to a new source file and header - Remove inclusion of flopimg.h from fsmgr.h
* fsmgr.h: Cleanup AJR2023-09-171-11/+12
| | | | | | - Use multibyte.h functions for packing and unpacking words - Remove a few aliases for cstdlib functions - Convert rstr and wstr functions to std::string_view
* Changed fs::manager_t::enumerate_f() to simplify logic within file system ↵ npwoods2022-09-191-5/+3
| | | | | | | | | | | | | | | | | | | | | 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
* Clean up whitespace with srcclean Vas Crabb2022-07-241-4/+4
|
* fs: new API, blk_t is probably going to change too Olivier Galibert2022-06-281-214/+139
|
* Changed the constructor of fs::dir_entry to take 'std::string &&name' ↵ npwoods2022-06-111-2/+2
| | | | instead of 'const std::string &name' (#9913)
* Fixed some issues involving fs::meta_description construction (#9546) npwoods2022-04-121-17/+17
| | | | | | | | | | | * Fixed some issues involving fs::meta_description constructing With the recent change to use std::variant more closely, I noticed a problem where meta_descriptions of type meta_type::String got defaults of type 't'. This was because the templated ctor for meta_description would convert 'const char *' to 'bool'. This change adds another overload to catch 'const char *', along with asserts to catch problems. In the process I corrected a few meta_description ctors It is possible that this change does not go far enough. Perhaps the meta_type argument should be removed, and we should instead create distinct ctor types (rather than relying on templates) and specify the precise meta_type in the overload. Or even go further and remove m_type from meta_description, and instead create an overload that calculates meta_type based on calling std::visit on the variant * Taking this change a bit further, and removing m_type from fs::meta_description; it was superfluous. Also doing some minor C++-ifications
* formats: fixed GCC compile Ivan Vangelista2022-04-021-1/+1
|
* prodos fs: Hide the implementation Olivier Galibert2022-04-021-30/+104
|
* Move filesystem library into separate namespace and use shorter uX type ↵ AJR2021-12-311-112/+116
| | | | names there
* Filesystem code cleanup AJR2021-12-141-53/+56
| | | | | | | - Eliminate dependencies on emu.h, replacing most fatalerror calls and floptool's ersatz emu_fatalerror class with standard exception classes - Use range-based std::string constructors in some methods - Move filesystem metadata handling to a separate source file - Eliminate src/emu as an include path for libformats (necessitates kludge in ti99_dsk.cpp)
* srcclean in preparation for release Vas Crabb2021-06-271-1/+1
|
* reorganize the floptool code, add some write support Olivier Galibert2021-05-241-101/+78
|
* srcclean for release Vas Crabb2021-05-231-4/+4
|
* jasmin: Support write Olivier Galibert2021-05-161-73/+15
|
* prodos: Add file and resource reading Olivier Galibert2021-05-111-10/+180
|
* prodos: experiements in directory tree reading. Olivier Galibert2021-05-091-10/+148
|
* MacOS < 10.13 has an issue with std::get, use std::get_if instead Olivier Galibert2021-05-021-4/+4
|
* prodos: Start of read support Olivier Galibert2021-05-021-6/+105
|
* fs: Add full jasmin read support Olivier Galibert2021-04-301-2/+2
|
* floppy: first steps on metadata, and hopefully make gcc happier on enumerate Olivier Galibert2021-04-281-4/+28
|
* floppy: start block-devicing fielsystem support Olivier Galibert2021-04-281-32/+57
|
* fs_prodos: Explain the init better Olivier Galibert2021-03-051-17/+33
| | | | floppy: Don't fail creation because the extension is unknown
* floppy: Beginning of the support for preformatted floppy images. Olivier Galibert2021-03-051-0/+76
What's missing: - parameters (like the disk name when it exists) - possibly a cleanup of ram_open and friends (but not sure of the appropriate direction in which to go)