summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/floptool.cpp
Commit message (Collapse)AuthorAgeFilesLines
* formats/fsblk.cpp: Replaced fs::err_t enum with a standard error condition ↵ ajrhacker2025-02-221-9/+6
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* formats/fs_fat.cpp: Various fixes AJR2024-02-101-1/+1
| | | | | | | - 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
* Floppy format API refinements AJR2023-10-081-14/+14
| | | | | - Add noexcept to format information overrides and several simple floppy_image accessors. - Be more const-correct and use references instead of raw pointers wherever applicable. In particular, floppy_image_device::load and floppy_image_device::save now take a reference to floppy_image rather than a pointer, const-qualified in the latter case.
* 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
* Added support for specifying volume attributes in 'floptool flopcreate' (#9590) npwoods2022-10-161-4/+34
| | | | | | | | | | | An example command line: flopcreate vdk coco_rawdsk_os9_35 newdisk.vdk -name mycooldisk -creation_date "1999-02-28 13:23:47" Attributes are identified on the command line prefixed with '-'; if this is not the preferred syntax this can be changed. Implementing this also forced a change to fs::meta_value where the various as_*() calls can now be called without respect to which type the fs::meta_value is; this is necessary so that floptool code doesn't need to "own" parsing of the various types of fs::meta_value. And with this change, fs::meta_value::to_string() is now replaced by fs::meta_value::as_string()
* corefile.h: Move filename utilities to path.h AJR2022-09-251-1/+1
|
* Miscellaneous fixes: Vas Crabb2022-08-281-2/+2
| | | | | | | * util/ioprocsvec.h: Fixed truncating when a write doesn't reach the end of stream. [F.Ulivi] * floptool.cpp: Fixed reversed error checking logic. [F.Ulivi] * Fixed SUBTARGET=tiny build (required Sega encrypted CPUs to be added).
* formats: Fixed some unused local variable compiler errors. (#10251) napobear2022-08-251-0/+2
|
* fs: new API, blk_t is probably going to change too Olivier Galibert2022-06-281-91/+48
|
* Changed fs::meta_value::to_string() to not be static and not require ↵ npwoods2022-04-031-3/+3
| | | | | meta_type (#9510) No need to pass in the meta_type when using std::visit() on the std::variant
* floppy: revisit the identify returns Olivier Galibert2022-03-301-1/+7
|
* floptool: Allow creating unformatted images again Olivier Galibert2022-03-231-1/+1
|
* Fixing error message in Floptool (#9404) npwoods2022-03-191-2/+2
|
* floptool: Fixed typo in error message. (#9365) pnp20842022-03-041-1/+1
| | | "Error: Aaving" should be "Error: Saving"
* Created an initial file system implementation for OS-9 under the CoCo (#9096) npwoods2022-01-071-0/+4
| | | | | | | | * 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
* Fixing floptool usage message: (#9088) npwoods2022-01-041-22/+27
| | | | | * Fixing floptool usage message: - Getting the name of the tool from argv[0] (stop hardcoding floptool.exe) - Adding missing hddir/hdread/hdwrite declarations
* Added a 'version' verb to floptool (#9079) npwoods2022-01-041-0/+10
|
* Move filesystem library into separate namespace and use shorter uX type ↵ AJR2021-12-311-21/+21
| | | | names there
* Filesystem code cleanup AJR2021-12-141-1/+5
| | | | | | | - 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)
* formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-221-7/+9
| | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* srcclean in preparation for release Vas Crabb2021-06-271-12/+12
|
* reorganize the floptool code, add some write support Olivier Galibert2021-05-241-702/+251
|
* srcclean for release Vas Crabb2021-05-231-3/+3
|
* floptool - format/filesystem errors were printing the wrong argument (#8088) ksherlock2021-05-211-4/+4
|
* jasmin: Support write Olivier Galibert2021-05-161-53/+276
|
* prodos: Add file and resource reading Olivier Galibert2021-05-111-47/+140
|
* prodos: Start of read support Olivier Galibert2021-05-021-75/+124
|
* fs: Add full jasmin read support Olivier Galibert2021-04-301-3/+205
|
* floptool.cpp: Be stricter about types. Vas Crabb2021-04-301-4/+4
|
* floppy: first steps on metadata, and hopefully make gcc happier on enumerate Olivier Galibert2021-04-281-6/+85
|
* floppy: start block-devicing fielsystem support Olivier Galibert2021-04-281-14/+37
|
* srcclean in preparation for release Vas Crabb2021-03-281-3/+3
|
* Try to fix osx compile Olivier Galibert2021-03-051-2/+2
|
* floppy: Beginning of the support for preformatted floppy images. Olivier Galibert2021-03-051-2/+232
| | | | | | 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)
* formats: Create mame_formats_full_list which gives access to all the ↵ Olivier Galibert2021-03-041-113/+51
| | | | supported formats, make floptool use it. Castool should use it too probably, but I don't want to touch it.
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-1/+1
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* ap_dsk35: make .2MG its own separate format handler [R. Belmont] arbee2021-02-051-0/+1
|
* Added Apple 2 disk image format: .nib (read-only support) (#7725) leesaudan22021-01-301-0/+1
| | | | This format was not supported by the new floppy subsystem. This commit provides read-only support of .nib files.
* flopimg: Change the extracted bitstreams into vector<bool> Olivier Galibert2021-01-221-0/+1
| | | | | | | flopimg: Change the extracted sectors into vector<vector<uint8_t>> flopimg: Add a Mac sector extraction apple 3.5 gcr: Generalize track creation/extraction apple 3.5 gcr: Add a pure sector format
* Update floptool to the new prototypes Olivier Galibert2021-01-091-3/+5
|
* Low-level #include overhaul AJR2021-01-021-0/+1
| | | | | | | - vecstream.h: Revert changes made in aa29519528cb3dbdbfac56819bea670ed8c56c5d. The std::string_view conversion has been made a non-member function (util::buf_to_string_view) and moved to coretmpl.h. - strformat.h: Remove the using declaration importing util::string_format into the global namespace. It has been moved to emucore.h and a few tool sources; other references have been qualified. - osdcore.h: Split out file, directory and path classes and methods to a new header (osdfile.h), Doxygenizing the documentation comments. - Disaggregate many #includes that were including other standard or custom headers. emu.h now includes basically the same things that it did, but other headers have been streamlined; for instance, emucore.h no longer stealth-includes osdcore.h several ways.
* MDOS disk format support 68bit2020-07-031-1/+5
| | | | Motorola DOS, used on the EXORciser etc.
* ibmxdf_dsk: IBM Extended Disk Format support (nw) Sergey Svishchev2020-03-021-0/+2
|
* wd177x_dsk: generalize to allow custom track format variations 68bit2020-02-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a get_track_format() method that can be overridden to supply format variations for any track and head. The code is generalised to account for such variations. The default method returns the passed format, so this change is neutral for existing formats. Simplify the FLEX DSK format code. There are now simply format variation descriptions for the second track that have the sector ID continuing in sequence from the first track, rather than specialized code. Extend the FLEX format to support variations in the sectors ID of the first two sectors. The FLEX 6800 boot sectors have IDs based at zero rather than one. Extend the FLEX format to support variations for which the first track, on both sides, is single density on an otherwise double density disk which was historically a common format. Extend the OS9 disk format to support variations for which the first track, on only the first side, is single density on an otherwise double density disk. OS9 for the SWTPC and Gimix typically used such formats. Extend the OS9 disk format to support variations with a base sector ID of zero in contrast to the existing COCO OS9 format which uses a based sector ID of one. The OS9 format identification code is extended to rely on the optional information stored in the OS9 LSN0 header to identify COCO format disks, and all COCO format disks appear to have this optional information in a regular enough format.
* srcclean, manual adjustments (nw) Vas Crabb2020-01-261-1/+1
|
* use C++ library includes (nw) firewave2020-01-221-7/+7
|
* Emulation of isbc202 floppy disk controller (#6119) fulivi2020-01-041-0/+2
| | | | | | * imds2: isbc202 floppy disk controller added * imds2: attempt to fix problems with CI checks
* swtpc09: add a UniFLEX specific floppy format. 68bit2019-08-131-1/+7
| | | | | | | | | | | | | | | | | The UniFLEX disk format is not compatible with the Flex format. Significantly it does not use a mix of single density for booting on some double density disks which makes it simpler - hardware required a new boot ROM to run UniFLEX. Further, the UniFLEX sector size is 512 bytes versus 256 for Flex, and the UniFLEX 'SIR' info sector record is completely different to the info on Flex disk, and the file system format is also not at all compatible. Thus the UniFlex format can rely largely on the WD17xx format, with an overload to handle the sector numbering on the second side continuing from the first side (one feature in common with the Flex format). This gives a quick 'save' capability and shares code. Support for 8" disks is included as this was the initial distribution format and the only one found so far.
* add write support for Olivetti M20 floppy images Christian Groessler2019-08-061-1/+3
| | | | | m20_dsk.cpp: add write support floptool.cpp: add m20 format support
* agat: basic emulation of agat9 (video, apple compat mode, LLE floppy) Sergey Svishchev2019-07-021-1/+8
| | | | also included: MX floppy format (nw)