summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev
Commit message (Collapse)AuthorAgeFilesLines
* imagedev/floppy.cpp: Return INVALIDIMAGE from floppy_image_device::identify ↵ AJR2025-03-031-1/+4
| | | | if no format scores
* floppy: Start the ready dance on insertion even if motor is always on Olivier Galibert2025-01-111-0/+2
|
* imagedev/flopdrv.cpp: Remove code supporting functionality that's no longer ↵ Priit Laes2025-01-022-194/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | used (#13135) * flopdrv: Eliminate floppy_get_drive_type and floppy_set_type No callers for these functions allowing us to get rid of the FLOPPY_TYPE_ defines as well. * flopdrv: Drop flopimg_get_image * flopdrv: Drop floppy_drive_get_next_id Only possible user for this is 990_dk under ti99x, but this code is currently commented out. * flopdrv: Drop floppy_drive_read_track_data_info_buffer * flopdrv: Drop floppy_drive_write_track_data_info_buffer * flopdrv: Drop floppy_drive_format_sector * flopdrv: Drop floppy_drive_set_index_pulse_callback Only caller for this is micropolis, but this code is commented out and callback method does not exist either. * flopdrv: Drop floppy_drive_get_current_track_size * flopdrv: Drop floppy_wtd_w * flopdrv: Drop floppy_wpt_r This is used in commented out code in agat. * flopdrv: Drop floppy_dskchg_r * flopdrv: Drop floppy_twosid_r * flopdrv: Drop flopimg_get_sectors_per_track and flopimg_get_id_callback * flopdrv: Drop unneeded state variables: m_id_index, m_rdy * flopdrv: Make some members as private
* Demote tautological-compare to a warning again. Vas Crabb2024-11-271-3/+3
| | | | | | | clang on Windows x86-64 is getting upset about code that is making no assumptions about the relative sizes of uint64_t and long. Also, fixed more #include guards.
* dynax/dynax.cpp: Added DIP switches that are sometimes populated to Ougon no ↵ Vas Crabb2024-11-2719-59/+63
| | | | | | Pai. Also fixed a bunch more #include guards.
* 86f_dsk: add read 86f image support cracyc2024-10-151-0/+2
|
* util/chd.cpp, util/chdcodec.cpp: Added a safer way to let codecs do special ↵ Vas Crabb2024-10-141-1/+1
| | | | stuff with hunks.
* chd.cpp: More API changes AJR2024-10-111-8/+24
| | | | | | | | | - Have metadata_find return std::error_condition instead of throwing an exception - Replace the is_XXX predicates with check_is_XXX methods that return a std::error_condition, enabling improved error reporting for cdrom_image_device - Retain read error information in chd_file_compressor - Make a bunch of methods noexcept This mostly restores the changes from cc772072fa635146b1df39a5694d2a8f8aa5a34f.
* imagedev/floppy.h: Remove #include "screen.h" AJR2024-09-301-1/+1
|
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-2717-31/+31
| | | | (#12822)
* sun/sun4.cpp: Less convoluted way of changing default SCSI devices. Vas Crabb2024-09-221-4/+2
|
* srcclean in preparation for 0.270 release branch. Vas Crabb2024-09-221-2/+2
|
* Floppy fixes and refinements AJR2024-09-122-0/+29
| | | | | | | | - imagedev/floppy.cpp: Add 3-inch double-sided quad-density format - oric_microdsk: Add DSQD drives to configuration and enable one by default - amstrad/pcw.cpp: Upgrade all configurations using double-sided drives to quad density - bbc_ams3: Make drives single-density since 8271 controller doesn't support MFM - oric_dsk: Don't blindly trust the number of tracks and sides to be valid
* snapquik: fix error popmessage param index hap2024-09-121-1/+2
|
* imagedev/floppy.cpp: Add single-density 3" drive types AJR2024-09-082-2/+56
| | | | * bml3mp1805: Use correct SSSD drive type
* floppy.cpp: Use standard drives for hard-sectored systems (#12727) Mark Garlanger2024-09-082-128/+186
| | | | | * floppy.cpp: Use standard drives for hard-sectored systems * fix typo
* Floppy hard-sector support. Mix of Eric Anderson's and Mark Eric Anderson2024-09-012-229/+60
| | | | | | | Gallager's patches. Removal of the flux screen experiment. Removal of the unused get_pos().
* floppy: Remove HFE image format from the general list for rewrite. Michael Zapf2024-08-171-1/+0
|
* Cleaned up various stuff. Vas Crabb2024-06-301-12/+10
| | | | | | | | | | * 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.
* ti99/geneve: Replace fatal error with no action when accessing a MFM hard ↵ Michael Zapf2024-06-281-2/+10
| | | | disk without image file.
* imagedev/floppy.cpp: fix out-of-bounds access to the seek sample (#12452) Roman Donchenko2024-06-081-0/+3
| | | | | | | | | | | | | | Currently, when `floppy_sound_device::step` selects a new seek sample, the value of `m_seek_samplepos` remains the same as it was the last time a seek sample was played. This might be an invalid position for the new sample, since the seek samples have different lengths. When this is the case, the next call to `floppy_sound_device::sound_stream_update` makes an out-of-bounds memory access as it reads the sample data. Fix this by resetting `m_seek_samplepos` to 0 when a new seek sample is selected. This also makes the seek sounds more consistent, since previously they would start from a semi-random position each time.
* imagedev/floppy: fix a bug with reading the first 1-bit on a track (#12439) Roman Donchenko2024-06-042-28/+12
| | | | | | | | | | | | | | | | | | | | | | | `floppy_image_device::find_index` uses binary search to find the index for which `buf[spos] <= position < buf[spos + 1]`. However, the algorithm behaves incorrectly when `position < buf[0]`. In this case, the algorithm returns 0, as if `position` was between `buf[0]` and `buf[1]`. The effect of this is that if `get_next_transition` is called with a timestamp that is between the start of the revolution and the first transition, then instead of returning the timestamp of that transition, it returns the timestamp of the second transition instead. Essentially, the first 1-bit on the track gets flipped to a 0. I have encountered this in Apple II emulation, where this bug manifests as sporadic I/O errors. Fix it by doing two things: 1. Replace `find_index` with a call to `upper_bound` from the standard library, which behaves correctly in edge cases. 2. If `upper_bound` signals that `position < buf[0]`, then adjust `base` and `index` to point to the last transition of the previous revolution.
* util/cdrom, machine/t10mmc: Add preliminary support for multisession ↵ 9871238791132024-05-122-0/+16
| | | | | | | | | | | CD-ROMs, indexes, and track flags (#12201) * util/cdrom: Refactoring * util/cdrom: Read all indexes from cue files * util/cdrom: Read in track flags from cues * util/cdrom: Multisession support for cues * machine/t10mmc: Playback from current head, other misc cleanup * machine/t10mmc: Implement T10MMC_CMD_MECHANISM_STATUS * machine/t10mmc: Implement TOC_FORMAT_FULL_TOC, TOC_FORMAT_SESSIONS, and return proper indexes for T10MMC_CMD_READ_SUB_CHANNEL
* imagedev/cassette.cpp, formats/flacfile.cpp: Added support for saving ↵ wilbertpol2024-03-222-2/+14
| | | | | cassette images in FLAC format. (#12115) util/flac.cpp: Implemented seek/tell callbacks for FLAC library.
* osd: Cleaned up MIDI and network interfaces a little more. Vas Crabb2024-03-014-20/+16
|
* util/ioprocs.cpp: Added wrappers for common patterns. (#11608) Vas Crabb2024-02-251-10/+10
| | | | | emu/diimage.h: Removed fread overloads that allocate memory for output. util/core_file.cpp: Changed output size of load to size_t.
* imagedev/floppy.cpp: Delete unused getter that leaked details AJR2024-02-112-6/+0
| | | | * util/options.h: Use forwarding header
* -imagedev/harddriv.cpp: Report unsuitable CHDs rather than crashing. Vas Crabb2024-02-102-29/+40
| | | | | -imagedev/cdrom.cpp: Report unsuitable CHDs as "invalid image" rather than "unsupported operation".
* imagedev/cdromimg.cpp: Fixed object lifecycles when loading from softlist or ↵ Vas Crabb2024-01-261-14/+21
| | | | | | | ROM region. * Reverted workaround 4c0957d7f0ba6a72e7267270db07ee06fe717109. * Cleaned up a few things.
* floppy.cpp: Update class variables to current naming convention. (#11851) Mark Garlanger2024-01-202-610/+610
|
* harddriv.cpp, mccs1850.cpp: Use multibyte.h helpers AJR2024-01-071-3/+4
|
* imagedev/cassette.cpp: Fix stereo output for stereo input images. (#11897) wilbertpol2024-01-071-1/+5
|
* New systems marked not working Ivan Vangelista2024-01-041-1/+1
| | | | | | | | | ------------------------------ Cuty Line Limited (ver.1.30) [freaktech] - igs/goldstar.cpp: enabled girls display for cmast91 and other games on same hw, removed 2nd ppi as PCB pics and readme only show one - various files: removed superfluous semicolons
* imagedev/floppy.cpp: Remvoed hard-sectored floppy support. Vas Crabb2023-11-022-43/+6
| | | | | | | | | This caused numerous regressions, including floppy formats not working and application hangs when using some formats. This reverts commit b2c399c61d65063ae95e8387d34b098e9516b1a9. This reverts commit cf510adc9d34b4ad9a065f3d5bfbcf17115ea06f.
* Revert "chd.cpp: Refactoring, part 2" Vas Crabb2023-10-271-25/+9
| | | | This reverts commit cc772072fa635146b1df39a5694d2a8f8aa5a34f.
* chd.cpp: Refactoring, part 2 AJR2023-10-231-9/+25
| | | | | | | - Change is_XXX to return std::error_condition instead of bool so that errors can be passed down the line; rename these to check_is_XXX to indicate that they are no longer basic predicates - Change return type of internal function metadata_find to std::error_condition so that errors can be returned rather than thrown * imagedev/cdromimg.cpp: Fix bug where cdrom_file object could be constructed twice in a row for CD-ROMs and once for DVDs
* srcclean in preparation for MAME 0.260 release branch Vas Crabb2023-10-221-1/+1
|
* midiin_device: support loading sysex dumps (#11625) Devin Acker2023-10-202-5/+33
|
* Floppy format API refinements AJR2023-10-081-3/+3
| | | | | - 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.
* imagedev/floppy.cpp: Workaround for index timing regression AJR2023-10-021-2/+2
|
* Miscellaneous change roll-up: Vas Crabb2023-09-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | render/drawbgfx.cpp: Return an error if Wayland EGL surface can't be created for additional windows. emu/emucore.h: Added explicitly defaulted copy and move constructors for emu_fatalerror. Fixed apparent misunderstanding of const. Returning const value types and casting to const value types is pointless outside very narrow use cases. Putting const value type parameters in interfaces just makes trouble. cpu/adsp2100: Use count_leading_ones_32 where it's simple rather than inverting and counting leading zeroes. util/multibyte.h: Don't pollute global namespace, constexpr implies inline, make narrowing casts explicit. imagedev/simh_tape_image.h: inline is implied for member functions with bodies supplied at declaration. Tidied up some ugly casts in various places.
* Remove flopimg.h and fsmgr.h from floppy device header AJR2023-09-242-13/+26
|
* nscsi: Add SCSI tape device based on SIMH tape image format (#11430) Miëtek Bak2023-09-142-0/+137
|
* imagedev/floppy.cpp: Add hard-sector floppy support Eric Anderson2023-09-052-6/+43
|
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-174-11/+3
| | | | | | | | | | | | Read callbacks now need a default return value supplied at construction. Replaced isnull() with isunset() which tells you if the callback wasn't configured rather than whether it isn't safe to call. Enabled validation of device callbacks (it seems it was disabled at some point, probably accidentally). Device callbacks and object finders now implement the same interface for resolution.
* floppy.cpp: add Teac FD55-A and FD55-B drive types (#11342) Mark Garlanger2023-06-162-2/+64
|
* ti99: Some debug output improvements Michael Zapf2023-06-081-4/+5
|
* Clean up several sprintf() deprecation warningss in non-3rdparty code. [R. ↵ arbee2023-06-031-1/+1
| | | | Belmont]
* emu/device.h: Removed device (READ|WRITE)_LINE_MEMBER in favor of explicit ↵ MooglyGuy2023-06-014-40/+40
| | | | function signatures. (#11283) [Ryan Holtz]
* srcclean in preparation for MAME 0.255 branch Vas Crabb2023-05-281-1/+1
|