summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fs_coco_rsdos.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fsblk.cpp: Internal overhaul AJR2025-03-021-27/+26
| | | | | | | | - 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-36/+36
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* Cleaned up various stuff. Vas Crabb2024-06-301-3/+3
| | | | | | | | | | * sony_news.xml: Added proper compatibility flags for different generations. * cpu/pic16x8x: This is very much a derivative work. * cpu/tms32025.cpp: Allow stack push/pop to be inlined. * tecmo/bombjack.cpp: Avoid needing to remove and replace devices in machine configuration. * Various other cleanup.
* lib/formats/fs_coco_rsdos.cpp: Add basic write support. (#12411) wilbertpol2024-06-011-20/+279
|
* Filesystem code refactoring (#11570) ajrhacker2023-09-271-0/+2
| | | | - 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-3/+2
| | | | in place of strtrimrightspace in FS code due to feedback on f5066881db7a601ba7031fbc996ab404e05e5dd5
* fix count (#11241) tim lindner2023-05-181-1/+1
|
* 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-4/+6
| | | | There's something wrong when derived classes need to be friends...
* Clean up whitespace with srcclean Vas Crabb2022-07-241-2/+2
|
* Fixed CoCo RS-DOS FS module in response to recent FS changes (#10003) npwoods2022-06-291-1/+328
|
* fs: new API, blk_t is probably going to change too Olivier Galibert2022-06-281-411/+20
|
* srcclean in preparation for release Vas Crabb2022-05-221-2/+2
|
* Add logic to the CoCo RS-DOS FS module to catch cycles in file granule ↵ npwoods2022-04-241-3/+15
| | | | (block) lists (#9615)
* Cleanups for the CoCo RS-DOS fs module (#9588) npwoods2022-04-211-31/+265
|
* Fixed some issues involving fs::meta_description construction (#9546) npwoods2022-04-121-5/+5
| | | | | | | | | | | * 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 RS-DOS file systems (#9405) npwoods2022-04-071-1/+7
|
* srcclean in preparation for 0.240 Vas Crabb2022-01-231-7/+7
|
* docs: List MSYS2 packages required to build PDF documentation on Windows now ↵ Vas Crabb2022-01-121-4/+4
| | | | that TeX Live is available.
* Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" ↵ npwoods2022-01-031-0/+297
framework (currently read only) (#9080) * Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only) * Added support for file_type and ascii_flag metadata, minor bug fix decoding file allocation table entries * Creating a "CoCo Raw Disk" format and changing the CoCo RS-DOS filesystem to use it * 1. Adding COCO_RAWDSK to all.cpp 2. Fixing sector order on CoCo raw disk