summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/wd_fdc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* wd_fdc.cpp: Corrected register commit delay for WD177x according to datasheet. Nigel Barnes2020-08-301-3/+3
|
* vice versa (nw) MetalliC2020-07-011-1/+1
|
* wd_fdc.cpp do not RESTORE at reset WD1770/72 MetalliC2020-07-011-5/+7
|
* wd_fdc.cpp fix spinup on interrupt command MetalliC2020-07-011-0/+2
| | | | samcoupe.cpp enable floppy sounds
* wd_fdc.cpp: accept new commands while in busy state, workaround for spurious ↵ MetalliC2020-06-151-9/+30
| | | | recursive calls if HLD used for drive motor control, don't change track and data registers during reset
* wd_fdc.cpp set BUSY during initial restore to make it correctly interruptable MetalliC2020-06-111-1/+2
|
* wd_fdc.cpp honor write protection (nw) MetalliC2020-06-021-0/+12
|
* wd_fdc.cpp do not delay SEEK with no Verify flag MetalliC2020-06-011-4/+9
|
* wd_fdc.cpp: a bit improve HLD/HLT handling, fix FD1771 timings and enable ↵ MetalliC2020-05-311-20/+27
| | | | spinup_on_interrupt
* wd_fdc: Use attotime::to_string instead of custom time-to-string method; ↵ AJR2020-05-211-38/+25
| | | | another command logging message fixed (nw)
* wd_fdc: Fix logerror messages; turn logging back off (nw) AJR2020-05-201-7/+7
|
* wd_fdc: Improve HLD behavior, always activating output at start of type II & ↵ AJR2020-05-191-28/+46
| | | | III commands
* wd_fdc.cpp: Save INTRQ and DRQ states (nw) AJR2020-04-021-0/+2
|
* wd_fdc: Changed spindown delay to 9 revs according to specs, added MON ↵ Michael Zapf2020-03-211-1/+5
| | | | clearing directly in master reset.
* wd_fdc: Add a MON callback so that drives, which are unselected early, do ↵ Michael Zapf2020-03-201-1/+9
| | | | not spin forever.
* wd_fdc: Increase HLD idle timeout to 15 revolutions except for FD1771 and FD1781 AJR2020-02-201-1/+24
|
* wd_fdc: Condition command completion interrupt on busy flag having been set AJR2020-02-191-2/+2
| | | | (nw) The logic for dropping the busy flag and raising INTRQ still seems a bit questionable, but at least the Pied Piper does not like spurious interrupts to occur from these conditions when 0xd0 is in the command register (and the busy flag that indicates that a command is in progress is therefore not set).
* srcclean and indentation cleanup (nw) Vas Crabb2019-11-241-1/+1
|
* new working ZX Spectrum slot devices: DISCiPLE and +D disk interfaces (#5931) Tom2019-11-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | * plusd working (rom patch) * plusd done * added disciple, not working * disciple working * wd_fdc fix * final tidy-up * ready for pr * Pernod70 changes * cuavas changes #1 * combine devices + files * sort out side_effects
* wd_fdc: change Interrupt command logic based on WD1772 and VG93(1793 clone) ↵ MetalliC2019-09-261-39/+8
| | | | | | | | | decaps. INTRQ logic in general is - Reset conditions: status register read, command register write. Setting conditions: command-specific (completion etc), command 0xDX is in command register and one of I0-3 conditions met. Various WD FDC doc's statements 'command D0 is the only command which may clear interrupt after D8' is not correct, any other than Dx command write to command register will do this aw well.
* wd_fdc: add a SSO callback. 68bit2019-08-131-10/+37
| | | | | | Some machines do not connect the SSO output to control the floppy side. When this new callback option is used the wd_fdc no longer controls the floppy, rather calls the SSO callback.
* wd_fdc: Emulate writes to master reset line; allow read side effects to be ↵ AJR2019-06-011-34/+60
| | | | disabled (nw)
* wd_fdc: Don't let the absence of the new callback break the device (nw) AJR2019-05-311-1/+2
|
* ampro: Various additions (nw) AJR2019-05-281-0/+4
| | | | | | | | | | - Simplify handlers - Add parallel printer port - Add second serial port - Add SCSI interface - Add various line connections (several commented out because jumpers are not installed by default) wd_fdc: Add fake output callback for floppy ready line (nw)
* Include floppy.h explicitly in drivers and bus cards, rather than indirectly ↵ AJR2018-11-251-0/+2
| | | | through popular FDC headers (nw)
* wd_fdc: Simplify API. Plus some collateral damage [O. Galibert] Olivier Galibert2018-08-101-18/+18
|
* as if millions of this pointers suddenly cried out in terror, and were ↵ Vas Crabb2018-06-081-16/+16
| | | | | | | suddenly silenced * streamline templates in addrmap.h * get rid of overloads on read/write member names - this will become even more important in the near future
* Added FM resyncs in READ_TRACK, changed threshold. Michael Zapf2018-04-211-23/+36
|
* srcclean and manual cleanups (nw) Vas Crabb2017-12-241-26/+26
| | | | | please people, remember to keep source UTF-8 and if you're committing on behalf of others, clean up indents to meet MAME conventions anyone can run srcclean over a submission and see what will get hit
* wd_fdc.cpp: updated debug printouts to use logmacro.h LOG messages, feel ↵ Joakim Larsson Edstrom2017-12-151-116/+140
| | | | free to revert if not for the better
* wd_fdc: Convert line handlers to READ/WRITE_LINE_MEMBER to make them ↵ AJR2017-10-281-9/+9
| | | | devcb-accessible (nw)
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-157/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* Self-registering devices prep: Vas Crabb2017-02-271-23/+23
| | | | | | | | | | | | | | * Make device_creator a variable template and get rid of the ampersands * Remove screen.h and speaker.h from emu.h and add where necessary * Centralise instantiations of screen and speaker finder templates * Add/standardise #include guards in many hearers * Remove many redundant #includes * Order #includesr to help catch headers that can't be #included alone (nw) This changes #include order to be prefix, unit header if applicable then other stuff roughly in order from most dependent to least dependent library. This helps catch headers that don't #include things that they use.
* wd_fdc: tag command names in debug messages Sergey Svishchev2017-02-201-7/+7
|
* Remove emu.h from headers (nw) Olivier Galibert2017-02-111-0/+1
| | | | | | | | | | | | Per Vas' request. If the compile fails for you (i'm thinking osx and windows native debuggers here in particular), add '#include "emu.h"' as first include of the cpp files that fail. Due to our use of precompilation and forced inclusion, emu.h must be included as the very first non-comment thing we do if we want to be sure msvc compiles are identical to gcc/clang ones. Doing it directly instead of through an include increases the correctness probability by a magnitude.
* wd_fdc: added a configuration for disable the motor control when MO line is ↵ Sandro Ronco2016-12-231-3/+9
| | | | not connected. (nw)
* Do not use FUNC in delegate where applicable (nw) Miodrag Milanovic2016-11-061-2/+2
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-60/+60
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* wd_fdc: suppress index pulse irq when busy. (nw) cracyc2016-06-111-7/+7
| | | | | -- Did bunch of testing, found no regressions but nothing that even enables the index pulse irq other than the rainbow.
* remove leftover logging (nw) Dirk Best2016-03-101-1/+1
|
* floppy: Fix subtle interaction between wd_fdc initial restore and floppy ↵ Olivier Galibert2016-03-101-79/+84
| | | | | | | reset [O. Galibert] esq5505: Don't return rom to the debugger (nw) esq5505: Invert the deflector dish polarity (nw)
* x1: try implicitly starting the motor when the head is loaded. [nw] cracyc2016-01-211-0/+3
| | | | | --- No evidence anywhere (at least that I can read) that this is correct. Maybe there's something else missing or the images (more than one) that do this are bad but FWIW other emulators fail to load them in the same way we were.
* reverting: Miodrag Milanovic2016-01-201-95/+95
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* Revert "rest of device parameters to std::string (nw)" Miodrag Milanovic2016-01-201-3/+3
| | | | This reverts commit caba131d844ade3f2b30d6be24ea6cf46b2949d7.
* rest of device parameters to std::string (nw) Miodrag Milanovic2016-01-161-3/+3
|
* tags are now strings (nw) Miodrag Milanovic2016-01-161-95/+95
| | | | fix start project for custom builds in Visual Studio (nw)
* Revert "Update device names" Miodrag Milanović2015-12-281-23/+23
|
* Update wd_fdc.cpp MASH2015-12-201-23/+23
|
* clang-modernize part 3 Miodrag Milanovic2015-12-041-1/+1
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+2831