summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev
Commit message (Collapse)AuthorAgeFilesLines
* floppy: fix oob caused by m_step_samplepos dirty trick (#15332) arekkusu4211 days1-1/+2
|
* Floppy sound (#15072) Michael Zapf2026-04-282-286/+711
| | | * floppy_sound: Allows definition of custom sound lists and fixes Amiga pitch glitches in floppy sound.
* Fixed things C++20 doesn't allow: Vas Crabb2026-03-291-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui/info.cpp, imagedev/cassette.cpp: Deal with UTF-8 strings as a distint type. ui/inputmap.cpp, debugger/qt/dasmwindow.cpp, debugger/qt/mainwindow.cpp, sound/coreaudio_sound.cpp, cpu/drcbec.cpp, mit/tx0_v.cpp, konami/3dom2.cpp: machine/mc68328.cpp, cpu/mips/mips1.cpp, cpu/mips/r4000.cpp, cpu/romp, machine/cammu.cpp, machine/ns32081.cpp: Avoid arithmetic between different enum types. dec/pdp1.cpp, konami/firebeat.cpp, mit/tx0.cpp, sound/lc7535.cpp, sound/spkrdev.cpp: Avoid arithmetic between enum and floating point. gaelco/gaelco3d_m.cpp: Fixed deprecated uses of volatile variables. sound/discrete.h: Avoid comparing enum to floatint point. ui/toolbar.ipp: Don't use UTF-8 qualifier on pure ASCII strings, just assume char is ASCII-like. cpu/unsp: Use default constructor for compiler_state. sgi/pm2_mmu.cpp: Avoid conflict between file static access and identically named function in unistd.h. osd/interface/audio.h: Provide an explicit constructor. util/server_http_impl.hpp: Fixed uninitialised class member warning.
* Cleaned up boilerplate for more slot devices. Vas Crabb2026-03-231-4/+1
|
* -emu/dislot.cpp: Cleaned up interface. Vas Crabb2026-03-221-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added a helper for the common operation of replacing all options, setting default, and setting whether the slot is fixed (reduced boilerplate in slot devices a bit). * Fixed a bug where slot options copied the supplied name but also required the string to remain valid for their lifetime. * Use std::string_view for strings that should never be null. * Reduced some duplication. -dynax/ddenlovr.cpp: Allow a mahjong panel to be connected for all hanafuda games with slotted control panels. This is how the games were operated most of the time, and all mahjong controls are displayed in input tests. Also cleaned up some DIP switch settings. -emu/inpttype.h: Got rid of IPT_GAMBLE_SERVICE. -bus/bk/parallel.h: Fixed a bug where the supplied options and default weren't actually used. -emu/debug/debugcmd.cpp: Use C++ file stream for dumping address maps. -frontend/mame/clifront.cpp: Use osd_printf_info output for interactive verbs. -jaleco/ms32.cpp: Simplified mahjong panel column permutation. -capcom/cps1bl_5205.cpp, mattel/juicebox.cpp, sun/sun2.cpp, sun/sun3.cpp: Cleaned up logging. -emu/xtal.cpp: Reduced temporary objects and duplicated code.
* lisa: Massive updates Olivier Galibert2026-01-072-2/+29
| | | | | | | | core: Better support for external mmus Note: I didn't expect to push that one right now, it's missing documentation among other things, but since some people seems to be interested to work on that driver I don't want to hold them.
* Revert "floppy: Revised floppy sound system, allows definition of custom ↵ Vas Crabb2025-11-222-584/+268
| | | | | | | | | | | sample lists and fixes unrealistic pitch changes." This reverts commit 7fece3b95204171023fd5200fd92abb8d3e14d4b. This causes stuff to crash on start. It also pollutes the global namespace with a pile of macros, and creates multiple static objects in every translation unit that #includes it. It's incredibly poorly designed and implemented.
* floppy: Revised floppy sound system, allows definition of custom sample ↵ Michael Zapf2025-11-212-268/+584
| | | | lists and fixes unrealistic pitch changes.
* terak: de-skeletonize -- add video boards. (#14383) shattered2025-10-221-2/+2
|
* floppy: set m_mon to 1 (motor off) in constructor hap2025-09-061-29/+28
|
* imagedev/floppy.cpp: Allow images loaded from software lists to be write ↵ ajrhacker2025-09-031-2/+7
| | | | protected. (#14094)
* casio/fz1.cpp: Add floppy to FZ-1 and clones (#13849) Devin Acker2025-06-212-0/+38
| | | * fz1: drive select is not connected
* cassette/misc: small cleanup hap2025-04-281-34/+27
|
* cassette: add more items to savestate hap2025-04-282-8/+16
|
* Some fixes Olivier Galibert2025-04-281-0/+6
|
* New sound infrastructure. Olivier Galibert2025-04-274-20/+15
| | | | | | | | | | | | | | | | | Should be added soon: - mute - speaker/microphone resampling To be added a little later: - compression - reverb Needs to be added by someone else: - coreaudio - direct - portaudio - xaudio2 - js
* 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.