summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fs_coco_os9.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fsblk.cpp: Internal overhaul AJR2025-03-021-78/+78
| | | | | | | | - 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-15/+15
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* Miscellaneous fixes: Vas Crabb2024-07-251-24/+24
| | | | | | | igspgmcrypt.cpp: Fixed a recently-introduced Endianness issue. sega/dsbz80.cpp: Don't leak the MPEG audio decoder. sega/dsbz80.cpp: Don't initialise the sample buffer on construction - it happens on reset anyway. formats/fs_coco_os9.cpp: Use lowercase for hexadecimal literals.
* 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.h: Cleanup AJR2023-09-171-15/+3
| | | | | | - 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
* Fixed a bug in the OS-9 file systems file name validation function that ↵ npwoods2023-01-071-1/+1
| | | | caused it to incorrectly tolerate characters with the seventh bit set (#10802)
* Changed fs::manager_t::enumerate_f() to simplify logic within file system ↵ npwoods2022-09-191-6/+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
* Various minor cleanups. Vas Crabb2022-07-311-2/+4
| | | | There's something wrong when derived classes need to be friends...
* Clean up whitespace with srcclean Vas Crabb2022-07-241-1/+1
|
* Fixed CoCo OS-9 FS module in response to recent FS changes (#10007) npwoods2022-06-301-9/+566
|
* fs: new API, blk_t is probably going to change too Olivier Galibert2022-06-281-656/+33
|
* srcclean in preparation for 0.243 Vas Crabb2022-04-241-35/+35
|
* Cleanups for the CoCo OS-9 fs module (#9589) npwoods2022-04-211-69/+198
|
* Fixed some issues involving fs::meta_description construction (#9546) npwoods2022-04-121-7/+7
| | | | | | | | | | | * 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
* Adding support for formatting CoCo OS-9 file systems (#9434) npwoods2022-04-071-8/+163
| | | | | * Adding support for formatting CoCo OS-9 file systems A caveat of this support is that there is no way for a FS implementation to get the actual floppy geometry. Therefore, we are currently hard coding the track count, head count and sector size
* srcclean in preparation for 0.240 Vas Crabb2022-01-231-63/+63
|
* docs: List MSYS2 packages required to build PDF documentation on Windows now ↵ Vas Crabb2022-01-121-5/+5
| | | | that TeX Live is available.
* Created an initial file system implementation for OS-9 under the CoCo (#9096) npwoods2022-01-071-0/+542
* Created an initial file system implementation for OS-9 under the CoCo * Minor fixes to directory entry handling * Changed to use fsblk_t::r[8|16|24|32]b() - Changed the above functions to be const