summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/floppy.cpp
Commit message (Collapse)AuthorAgeFilesLines
* floppy: Fix an annoyingly subtle write bug Olivier Galibert2021-03-291-5/+6
|
* Turned off log output per step. Michael Zapf2021-03-211-1/+1
|
* apple2gs: updates [R. Belmont] arbee2021-03-151-1/+10
| | | | | | - Fix 3.5" floppy motor sound never turning off - Fix $C00X and $C01X readbacks to match hardware (GitHub issue #7867) - Some minor cleanup and modernization
* swim2: Correct writing Olivier Galibert2021-03-061-4/+4
| | | | floppy: Correct index duration (2ms, not 20us) and polarity in superdrive
* floppy: make format determination earlier Olivier Galibert2021-03-051-7/+12
|
* Copypasta my love, finish fixing for osx Olivier Galibert2021-03-051-2/+2
|
* fs_prodos: Explain the init better Olivier Galibert2021-03-051-7/+4
| | | | floppy: Don't fail creation because the extension is unknown
* floppy: Beginning of the support for preformatted floppy images. Olivier Galibert2021-03-051-4/+118
| | | | | | 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)
* superdrive: Theoretically support 720K MFM Olivier Galibert2021-03-041-1/+1
|
* floppies: Turn the format arrays into function calls. Create a default ↵ Olivier Galibert2021-03-021-17/+68
| | | | "mfm", "fm" and "pc" list of formats. Their contents, and which driver uses what, may need some tuning.
* mac128: Implement the PWM (NEW_IWM only), fix the via clocks Olivier Galibert2021-02-231-0/+14
| | | | superdrive: Hopefully implement the HD/DD detection
* floppy: ignore set_write_splice when the motor is not running Olivier Galibert2021-02-141-1/+1
|
* apple floppy: Correct the dskchg polarity. Olivier Galibert2021-02-121-2/+2
|
* floppy: Filter out the writes when write protected, useful when when the ↵ Olivier Galibert2021-02-121-0/+16
| | | | apple2gs does a packet send (e.g a write) over DCD with write protect forced on (to avoid damaging a possibly present disk).
* floppy 525: Better wpt management Olivier Galibert2021-02-041-7/+18
|
* 2gs: Fixes, and more fixes Olivier Galibert2021-02-041-1/+1
|
* 2gs: Better floppy interaction Olivier Galibert2021-02-041-10/+25
|
* iwm: remove disable_mon, move to floppy Olivier Galibert2021-01-311-2/+6
|
* floppy: Be really sure a cleared cache is seen as such Olivier Galibert2021-01-251-1/+1
|
* floppy.cpp: as_ticks returns a u64, so go unsigned all the way AJR2021-01-251-3/+1
|
* floppy: When the floppy head stays on an unformatted track from more than an ↵ Olivier Galibert2021-01-251-1/+1
| | | | hour and ten minutes and reading happens then interval_index*2+1 overflows. Wow. Found and tracked down by Colin Howell, with much thanks.
* floppy: Add dir read on apple floppies Olivier Galibert2021-01-231-0/+3
|
* flopimg: Fix gcr checksum Olivier Galibert2021-01-221-1/+1
|
* Apple 2 floppy drive (diskiing, diskiing13): added sounds (#7685) leesaudan22021-01-211-2/+4
|
* swim2: Add mfm read, fix mfm write and mfm detection. SWIM2 seems done at ↵ Olivier Galibert2021-01-171-9/+5
| | | | that point.
* floppy: fix regression in new floppy [O. Galibert] arbee2021-01-161-2/+2
|
* floppy: fix precision issue and missing cache clear on write Olivier Galibert2021-01-161-7/+8
|
* swim2: Add reading, writing gcr up to track 63. Olivier Galibert2021-01-151-26/+134
|
* mac/swim2: Add apple drivers and associated communications Olivier Galibert2021-01-111-0/+170
|
* Provide the variants to the floppy formats Olivier Galibert2021-01-091-4/+4
|
* Actually build the accepted variants list in floppy Olivier Galibert2021-01-091-206/+82
|
* formats/apridisk.cpp: Don't use megabytes of stack space. Vas Crabb2020-10-101-5/+3
|
* Got rid of global_alloc/global_free. Vas Crabb2020-10-031-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The global_alloc/global_free functions have outlived their usefulness. They don't allow consistently overriding the default memory allocation behaviour because they aren't used consistently, and we don't have standard library allocator wrappers for them that we'd need to use them consistently with all the standard library containers we're using. If you need to change the default allocator behaviour, you can override the new/delete operators, and there are ways to get more fine-grained control that way. We're already doing that to pre-fill memory in debug builds. Code was already starting to depend on global_alloc/global_free wrapping new/delete. For example some parts of the code (including the UI and Windows debugger) was putting the result of global_alloc in a std::unique_ptr wrappers without custom deleters, and the SPU sound device was assuming it could use global_free to release memory allocated with operator new. There was also code misunderstanding the behaviour of global_alloc, for example the GROM port cartridge code was checking for nullptr when a failure will actually throw std::bad_alloc. As well as substituting new/delete, I've made several things use smart pointers to reduce the chance of leaks, and fixed a couple of leaks, too.
* Complete sound modernization of remaining devices. Legacy callbacks and ↵ Aaron Giles2020-09-281-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | stream_sample_t removed. (#7297) * a2mcms/coco_ssc/gus/cassette/floppy/8364_paula/laserdsc/s2636/spg2xx_audio/arcadia/channelf/cmi01a/cps3/dai_snd: Update to new stream callbacks * dsbz80/elan_eu3a05/exidy/exidy440/flower/geebee/gomoku/gridlee: Update to new stream callbacks * hyprolyb/lynx/micro3d/phoenix/pleiads/polepos: Update to new sound stream callback * redbaron/segag80r/segausb/seibu/snk6502/socrates/special/svis_snd: Update to new stream callbacks. * tiamc1/turrett/tvc/tx1/vboy/vc4000: Update to new stream callbacks * warpwarp/wiping/wswan/xavix/esq1/istrebiteli/milton6805/pv1000/mega32x/gic: Update to new stream callback * sound: Remove legacy stream support and stream_sample_t * * gomoku/wiping: Remove silly mixer tables in favor of math * micro3d: Remove tiny vectors in favor of fixed arrays * phoenix: Went back to std::unique_ptr array for LFSR * wiping: Fixed the scale factor.
* Significant internal changes to sound streams (#7169) Aaron Giles2020-09-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Significant internal changes to sound streams: Abstracted buffers of sound data into an internal stream_buffer class, with helper classes read_stream_view and write_stream_view which offer readable/writable "views" into the buffers Internal sound calculations are all done using stream_buffer::sample_t, which is a 32-bit float; existing callbacks are supported through an adapter that converts to/from signed 32-bit integers Improved behavior of dynamic stream sample rate changes to resample a short runway of data to preserve continuity across transitions Created a new stream update callback which passes a std::vector of read_stream_views for inputs, and a std::vector of write_stream_views for outputs Updated core mixer and speaker devices to the new stream update callback Updated the following sound cores to the new stream update callback: ay8910, dac, k054539, msm5205, namco, netlist, okim6295, pokey, samples, sn76496, sp0250, tms5220, tms57002, upd7759, vgm_visualizer, volt_reg Changed existing stream update callback to make inputs explicitly const and the output pointers const as well, since they are re-used across calls; fixed several engines that violated this rule Sound_manager::stream_alloc can no longer automatically connect to a device's sound_stream_update callback; instead, the stream_alloc() on the sound_device_interface should be called; updated many violators of this rule Streams can be created with SAMPLE_RATE_OUTPUT_ADAPTIVE, which dynamically tracks the sample rate of its first downstream output, or with SAMPLE_RATE_INPUT_ADAPTIVE, which tracks the sample rate of its first input Changed resampling to be a separate sound_stream that is invoked as needed, opening the path for selectable resampling implementations Added a flags parameter to the new stream allocation method that allows you to specify a that input streams should not be resampled Exposed stream_input and stream_output classes directly, simplifying access to user gains and stream names Added a simple dynamic compressor to sound_manager to provide nicer results when overdriven sound happens; compression does not affect speaker_report results Improved verbose speaker_report to print a graph of peaks over time More aggressive debugging enabled for now even in release builds (should be disabled prior to next release) via SOUND_DEBUG define in sound.h; report any assertions for fixing
* Spring cleaning: Vas Crabb2019-11-011-1/+0
| | | | | | | | | | | | * Changed emu_fatalerror to use util::string_format semantics * Fixed some incorrectly marked up stuff in build scripts * Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now) * Fixed memory leaks in Xbox USB * There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it * Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave) * Got rid of device_slot_card_interface as it wasn't providing value * Added a helper template to reduce certain kinds of boilerplate in slots/buses * Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
* srcclean (nw) Vas Crabb2019-07-281-7/+7
|
* floppy: First stab at weak zones handling [O. Galibert] Olivier Galibert2019-07-011-21/+147
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-3/+2
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-2/+3
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* imagedev\floppy: removed MCFG macros (nw) Ivan Vangelista2019-01-281-3/+2
|
* use the magic macros in mips.cpp, change signature of stuff in floppy.h to ↵ Vas Crabb2018-11-291-6/+2
| | | | hint that it needs an array, not just a pointer, although it doesn't actually warn if you just give a pointer anyway (nw)
* (nw) fix stuff: Vas Crabb2018-11-291-1/+5
| | | | | | | | * Add per-language compiler flag options to help with exotic setups * Get rid of a potention buffer overrun in NuBus image card * CHAR_WIDTH and LONG_WIDTH are preprocessor macros in limits.h with glibc if __GLIBC_USE (IEC_60559_BFP_EXT) is enabled - avoid using them as names * Make formats/upd765_dsk.h slightly safer with defualt initialisers for key format members * Don't rely on random BSS data being zero in imagedev/floppy.cpp
* Revert "floppy: Add an optional spinup delay to prevent unrealistic fast ↵ Olivier Galibert2018-06-181-56/+14
| | | | | | | | | | responses. Defaults to 0." This reverts commit 3c144c5b48a340bb796e2b311c36588a7e75f48d. Returning attotime::never from get_next_transition when there eventually is going to be transitions without any externally imposed state change is incorrect.
* floppy: Add an optional spinup delay to prevent unrealistic fast responses. ↵ Michael Zapf2018-06-181-14/+56
| | | | Defaults to 0.
* Floppy robustification, better bitstream handling [John Keoni Morris, Peter ↵ Olivier Galibert2018-05-261-14/+8
| | | | Ferrie, Olivier Galibert]
* dsp16: fix condition mask in disassembler (nw) Vas Crabb2018-05-091-5/+5
| | | | (nw) remove more MCFG macros and make speaker config more explicit
* floppy: Created floppies need to be initialized the same way as loaded floppies Dirk Best2018-05-081-24/+27
|
* Streamline machine configuration macros - everyone's a device edition. Vas Crabb2018-05-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start replacing special device macros with additional constructors, starting with ISA, INTELLEC 4 and RS-232 buses. Allow an object finder to take on the target of another object finder. (For a combination of the previous two things in action, see either the INTELLEC 4 driver, or the Apple 2 PC Exporter card. Also check out looping over a device finder array to instantiate devices in some places. Lots of things no longer need to pass tags around.) Start supplying default clocks for things that have a standard clock or have all clocks internal. Eliminate the separate DEV versions of the DEVCB_ macros. Previously, the plain versions were a shortcut for DEVICE_SELF as the target. You can now supply a string tag (relative to current device being configured), an object finder (takes on the base and relative tag), or a reference to a device/interface (only do this if you know the device won't be replaced out from under it, but that's a safe assumption for your subdevices). In almost all cases, you can get the effect you want by supplying *this as the target. Eliminate sound and CPU versions of macros. They serve no useful purpose, provide no extra checks, make error messages longer, add indirection, and mislead newbies into thinking there's a difference. Remove a lot of now-unnecessary ":" prefixes binding things relative to machine root. Clean up some miscellaneous rot. Examples of new functionality in use in (some more subtle than others): * src/mame/drivers/intellec4.cpp * src/mame/drivers/tranz330.cpp * src/mame/drivers/osboren1.cpp * src/mame/drivers/zorba.cpp * src/mame/devices/smioc.cpp * src/devices/bus/a2bus/pc_xporter.cpp * src/devices/bus/isa/isa.h * src/devices/bus/isa/isa.h * src/devices/bus/intellec4/intellec4.h
* de-staticify initializations for src/devices/sound (nw) Wilbert Pol2018-02-251-1/+1
|