summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/upd765.cpp
Commit message (Collapse)AuthorAgeFilesLines
* casio/fz1.cpp: Add floppy to FZ-1 and clones (#13849) Devin Acker2025-06-211-2/+12
| | | * fz1: drive select is not connected
* upd765: also set ST0_SE when seeking not ready drive (verified on real hardware) cracyc2024-11-031-2/+2
|
* -igs/igs_m027.cpp, igs/igs_m027_023vid.cpp: Hide inactive inputs for more games. Vas Crabb2024-10-211-8/+6
| | | | -Tidied up some recent changes.
* upd765: reset st0 when starting a seek and fail if drive isn't ready cracyc2024-10-191-2/+14
|
* upd765: indicate ready status in polling irq sense cracyc2024-10-051-1/+1
|
* upd765: don't enable_transfer after tc cracyc2024-10-051-1/+1
|
* upd765: don't bail immediately when a sector address crc failure fixes ea ↵ cracyc2024-09-161-6/+7
| | | | interlock copy pro
* upd765: Drive busy bits should not be cleared until a SIS is executed (#12585) Brian Johnson2024-07-211-20/+8
| | | | | | * The upd765 does not clear the drive busy bits until you issue a sense interrupt status command. Without this fix CP/M Plus on the QX-10 gives disk I/O errors because it expects the busy bit to stay set until it has a chance to issue the SIS command.
* psr540: Start adding the floppy Olivier Galibert2024-05-131-1/+0
|
* upd765.h: remove unused variable hap2024-04-061-2/+2
|
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-24/+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.
* emu/device.h: Removed device (READ|WRITE)_LINE_MEMBER in favor of explicit ↵ MooglyGuy2023-06-011-1/+1
| | | | function signatures. (#11283) [Ryan Holtz]
* Cleaned up some recent changes. Vas Crabb2023-04-121-36/+37
|
* lw700i: connect fdc and floppy drive, don't work yet because of dma cracyc2023-04-081-1/+13
|
* brother/lw350.cpp: Added driver for Brother LW-350,LW-450 word processor. ↵ cracyc2023-04-081-0/+159
| | | | | | | | | (#10998) New working systems --------------------- Brother LW-350 [BartmanAbyss] Brother LW-450 [BartmanAbyss]
* upd765: turn back down excessive default verbosity level cracyc2023-03-201-1/+1
|
* upd765: Minimally add some auxcmd commands to the 72069 (need docs!) Olivier Galibert2023-03-161-1/+18
| | | | mpc3000: Add a drive, it helps
* upd765: unify data_irq and other_irq (#10765) cracyc2023-01-021-16/+13
|
* upd765: clear wc if the found sector has the correct cyl in the address field cracyc2022-12-161-0/+1
|
* upd765: revert data_completion change and clear data_irq in fifo_r/w. Also ↵ cracyc2022-12-051-13/+8
| | | | disable clearing data_irq in msr_r.
* upd765.cpp: return a command_end with data_completion = false for failed ↵ Angelo Salese2022-12-011-5/+8
| | | | | | | commands (#10615) * upd765.cpp: return a command_end with data_completion = false for failed commands * upd765.cpp: add for format_track_continue too
* * new WORKING machine Olivier Galibert2022-09-061-0/+2
| | | | | ---- MTU-130 [Olivier Galibert, David Williams, Disk Blitz, Eric Wright]
* sony_news/news_r4k.cpp: Implemented Sony NEWS NWS-5000X driver. (#8854) Brice Onken2022-08-201-0/+23
| | | | | | | | | * sony_news/news_hid.cpp: Added APbus I/O mapping. * bus/nscsi/cd.cpp: Added Sony CD-ROM CDU-541 1.0A recognised by NEWS-OS. * machine/upd765.cpp: Added National Semiconductor PC8477B clone. New machines marked not working -------------------- Sony NET WORK STATION NWS-5000X
* pwrview: fdc work cracyc2022-06-211-13/+18
| | | | upd765: fix command decoding
* - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-041-26/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | members. (#9788) Primarily, this removes device_t::device_timer, device_t::timer_set, device_t::synchronize, device_t::timer_expired, and device_timer_id. Use of device_timer often resulted in unnecessary trampolining in addition to switch/case overhead on a driver/device level, and additional logic to manage delegated vs. ID-based timers on a core level. In the worst cases, devices were performing a switch/case with only one valid case. device_scheduler::timer_set is marked deprecated as the only remaining direct uses are via the Lua engine and a few drivers that need refactoring anyway. The remaining uses occur via device_scheduler::synchronize. As a middle ground between the extremely short timer_alloc() and the extremely long machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(widget_device::contoso_tick), this)), a helper function in device_t has been added which can be invoked with the following syntax: timer_alloc(FUNC(widget_device::contoso_tick), this) - Additional changes/cleanups performed along the way: - Converted to use logmacro: * src/devices/bus/ieee488/hp9895.cpp * src/devices/bus/ieee488/remote488.cpp * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/isa/sc499.cpp * src/devices/bus/vip/vp550.cpp * src/devices/cpu/i86/i186.cpp * src/devices/cpu/lc8670/lc8670.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/corvushd.cpp * src/devices/machine/ds1994.cpp * src/devices/machine/ticket.cpp * src/mame/audio/pinsnd88.cpp * src/mame/drivers/notetaker.cpp * src/mame/machine/asic65.cpp * src/mame/machine/rmnimbus.cpp * src/mame/machine/victor9k_fdc.cpp * src/mame/video/uv201.cpp - Made usage of m_member prefix consistent: * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/machine/ds1386.cpp * src/devices/machine/i7220.cpp - Spacing consistency pass: * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/thomson/nanoresau.cpp * src/devices/bus/ti99/internal/992board.cpp * src/devices/bus/ti99/internal/genkbd.cpp * src/devices/bus/ti99/internal/joyport/handset.cpp * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/cpu/i86/i186.cpp * src/devices/cpu/lc8670/lc8670.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/cop452.cpp * src/devices/machine/corvushd.cpp * src/devices/machine/hp_dc100_tape.cpp * src/devices/machine/hp_taco.cpp * src/devices/machine/meters.cpp * src/devices/machine/microtch.cpp * src/devices/machine/phi.cpp * src/devices/video/ef9365.cpp * src/devices/video/v9938.cpp * src/mame/drivers/alphaskop41xx.cpp * src/mame/drivers/myb3k.cpp * src/mame/drivers/notetaker.cpp * src/mame/drivers/wpc_an.cpp * src/mame/machine/midikbd.cpp * src/mame/machine/rmnimbus.cpp * src/mame/machine/wpc_lamp.cpp * src/mame/machine/wpc_out.cpp - Removed string-based ioport lookups: * src/devices/bus/ti99/internal/joyport/handset.cpp * src/devices/bus/ti99/internal/joyport/mecmouse.cpp * src/devices/bus/vme/vme_hcpu30.cpp * src/mame/machine/k7659kb.cpp * src/mame/machine/ti85.cpp - Adjustments to grammar/wording in comments * src/devices/bus/sms_ctrl/lphaser.cpp * src/devices/bus/sms_ctrl/sports.cpp * src/devices/bus/snes/event.cpp * src/devices/bus/snes/sa1.cpp * src/devices/bus/thomson/nanoresau.cpp * src/devices/bus/z88/z88.cpp * src/devices/machine/ds1386.cpp * src/devices/machine/vic_pl192.cpp - Favored BIT() macro for single-bit checks * src/devices/bus/ti99/internal/992board.cpp * src/devices/bus/ti99/joyport/handset.cpp * src/mame/drivers/notetaker.cpp * src/mame/machine/wpc_lamp.cpp * src/mame/machine/wpc_out.cpp - Removed C89-style variable declarations when noticed * src/devices/bus/isa/hdc.cpp * src/devices/bus/sms_ctrl/lphaser.cpp * src/devices/bus/ti99/joyport/mecmouse.cpp * src/devices/machine/acorn_vidc.cpp * src/devices/sound/ymz280b.cpp * src/devices/video/vic4567.cpp - Removed FUNCNAME to avoid compiler-specific #define checks in devices * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/bus/vme/vme_hcpu30.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/mc14411.cpp * src/mame/drivers/myb3k.cpp - Removed unecessary member prefixes/suffixes * src/devices/video/ef9340_1.cpp * src/mame/drivers/fuukifg2.cpp * src/mame/drivers/fuukifg3.cpp * src/mame/drivers/intv.cpp * src/mame/drivers/simpsons.cpp * src/mame/drivers/socrates.cpp * src/mame/drivers/special_gambl.cpp * src/mame/drivers/sprint4.cpp * src/mame/drivers/ti990_10.cpp * src/mame/drivers/tubep.cpp * src/mame/drivers/vectrex.cpp * src/mame/drivers/wpc_an.cpp * src/mame/drivers/wpc_dot.cpp * src/mame/drivers/wpc_flip1.cpp * src/mame/drivers/wpc_flip2.cpp * src/mame/machine/z80ne.cpp * src/mame/video/rollerg.cpp - Switched to lower-case hex constants * src/devices/video/ef9365.cpp * src/mame/machine/rmnimbus.cpp - Re-ordered driver overrides and function members * src/mame/drivers/boxer.cpp * src/mame/drivers/eurocom2.cpp * src/mame/drivers/exidy.cpp * src/mame/drivers/gpworld.cpp * src/mame/drivers/h19.cpp * src/mame/drivers/ibmpcjr.cpp * src/mame/drivers/mekd5.cpp * src/mame/drivers/mgolf.cpp * src/mame/drivers/myb3k.cpp * src/mame/drivers/nightmare.cpp * src/mame/drivers/notetaker.cpp * src/mame/drivers/ptcsol.cpp * src/mame/drivers/pwrview.cpp * src/mame/drivers/rabbit.cpp * src/mame/drivers/sitcom.cpp * src/mame/drivers/socrates.cpp * src/mame/drivers/sprint4.cpp * src/mame/drivers/techno.cpp * src/mame/drivers/thayers.cpp * src/mame/drivers/ti990_10.cpp * src/mame/drivers/ti990_4.cpp * src/mame/drivers/tv912.cpp * src/mame/drivers/tv990.cpp * src/mame/drivers/uchroma68.cpp * src/mame/drivers/vk100.cpp * src/mame/drivers/votrhv.cpp * src/mame/drivers/wicat.cpp * src/mame/drivers/wpc_an.cpp * src/mame/includes/abc80.h * src/mame/includes/asterix.h * src/mame/includes/fuukifg2.h * src/mame/includes/fuukifg3.h * src/mame/includes/gunbustr.h * src/mame/includes/intv.h * src/mame/includes/namcona1.h * src/mame/includes/newbrain.h * src/mame/includes/poly.h * src/mame/includes/prof80.h * src/mame/includes/rollerg.h * src/mame/includes/s11.h * src/mame/includes/segahang.h * src/mame/includes/simpsons.h * src/mame/includes/spacefb.h * src/mame/includes/tandy2k.h * src/mame/includes/trucocl.h * src/mame/includes/tubebp.h * src/mame/includes/vidbrain.h * src/mame/includes/wolfpack.h * src/mame/includes/wpc_dot.h - Made capitalization consistent on class members * src/devices/machine/meters.cpp * src/mame/drivers/namcona1.cpp * src/mame/drivers/notetaker.cpp -src/devices/bus/isa/hdc.cpp: * Removed fixed-size std::vector in favor of std::unique_ptr -src/devices/bus/isa/s3virge.cpp: * Moved unusually large (for a header) functions into .cpp from header -src/devices/bus/vip/vp550.cpp * Switched to required_device_array to simplify code paths -src/devices/machine/arm_iomd.cpp * Added initializers to constructor * Favored std::size over fixed static sizes -src/devices/machine/ds1386.cpp * Moved register #defines into header enums -src/devices/machine/mc68901.cpp * Removed unnecessary parameters and emu_timer::enable calls -src/devices/machine/mccs1850.cpp * Removed inline overuse -src/devices/machine/meters.cpp * Removed unused members -src/devices/machine/mos6526.cpp * Removed inline overuse -src/devices/machine/nsc810.cpp * Converted to arrays rather than individually-numbered members -src/devices/machine/pxa255.cpp * Simplified DMA transfer code -src/devices/machine/saa1043.cpp * Removed extraneous members in favor of resolve_all_safe -src/devices/machine/vic_pl192.cpp * Shifted constructors, start-up, and maps to be at the top of the source file -src/devices/machine/z8536.cpp * Removed stray uses of device_timer_id -src/devices/sound/cdp1869.cpp * Removed inline overuse -src/devices/sound/mos7360.cpp * Converted to arrays rather than individually-numbered members -src/emu/device.cpp * Removed ID-based timer_alloc * Removed timer_set * Removed synchronize * Removed timer_expired * Added shorthand timer_alloc to avoid lengthy machine().scheduler().timer_alloc() calls -src/emu/schedule.cpp * Removed now-unused m_id and m_device members -src/mame/audio/alesis.cpp * Added initializers to constructor -src/mame/drivers/alto2.cpp * Removed custom-named driver init in favor of driver_init override * Removed octal constant in favor of more standard hex -src/mame/drivers/astinvad.cpp * Fixed 'kamizake' typo -src/mame/drivers/tm990189.cpp * Removed unnecessary machine reset override -src/mame/drivers/unichamp.cpp * Removed custom-named driver init in favor of driver_init override -src/mame/drivers/votrhv.cpp * Fixed ROM_LOAD macros and region() usage in memory maps -src/mame/machine/victor9k_fdc.cpp * Made bracing style consistent across the file -src/mame/video/gime.cpp * Removed unnecessary void specifiers in function prototypes
* -tim011.cpp: Hooked up floppy drives properly. (#9649) Miodrag Milanović2022-05-021-8/+12
| | | | | | | | * Hooked up floppy drives and controller properly, and implemented video display. * formats/tim011_dsk.cpp: Added TIM 011 floppy image format. -machine/upd765.cpp: If waiting for additional command bytes, treat a data register read as an open bus write (tested on real hardware) and always trigger the DRQ line even if in nodma mode. [Carl -cpu/z180: Added callbacks for tend; decrement bcr1 when DMA channel 1 is active. [Carl]
* Remove void *ptr parameter from emu_timer, timer_device and all related ↵ AJR2022-01-261-1/+1
| | | | callbacks
* upd765: Check write protect during write & format commands (#9145) SomeRandomGuyIdk2022-01-141-2/+19
|
* upd765: improve SRA and SRB emulation; add DP8473 reset irq (#9062) shattered2021-12-301-4/+32
|
* Logging format cleanups and minor no-op code changes. (#8932) shattered2021-12-061-2/+2
|
* upd765: use the command sector size not the address size in read track and ↵ cracyc2021-10-181-3/+3
| | | | set the correct bit in st2 to indicate data crc error
* -machine/fdc37c665gt.cpp: Reimplemented with floppy and parallel support. 9871238791132021-03-021-2/+18
| | | -mahine/upd765.cpp: Implemented sector-based termination conditions for read commands.
* Fix most implicit fallthrough warnings from clang Vas Crabb2020-11-171-1/+1
|
* upd765: Explicitly emulate reset line AJR2020-10-021-36/+62
| | | | * hx5102: Add addressable latches
* upd765: Fix another copy/paste mistake (nw) AJR2020-05-191-2/+2
|
* upd765: Fix copy/paste mistake (nw) AJR2020-05-191-2/+2
|
* pc8477a, tc8566af: Increase number of steps for recalibrate command AJR2020-05-191-0/+3
|
* n82077aa, pc8477: SRA and SRB are not mapped in AT mode (nw) AJR2020-05-181-4/+8
|
* upd765: Move PS/2-class functionality out of base device (nw) AJR2020-05-181-60/+133
|
* uPD765 family updates AJR2020-05-181-20/+36
| | | | | | - dp8473, pc_fdc_superio: Unmap registers not actually provided - upd72065, i82072, smc37c78: Increase number of steps for recalibrate command - wd37c65c: Duplicate write protect flag in SR3
* upd765: bah (nw) Patrick Mackinlay2020-04-241-1/+1
|
* upd765: partially revert dma change (nw) Patrick Mackinlay2020-04-241-2/+2
| | | | Discovered pseudo-dma behaviour on Sony NEWS 68k system; read/write to the data port during DMA transfer may behave differently if DACK is not asserted.
* upd765: dma fixes (nw) Patrick Mackinlay2020-04-161-3/+3
|
* wd37c65c: Note on map use (nw) AJR2020-04-081-0/+3
|
* Collapse pc_fdc device hierarchy (nw) AJR2020-04-071-1/+1
| | | | | | - pc_fdc_interface has been eliminated. The XT and AT hookups have been moved into the ISA devices. - pc_fdc_xt_device remains for now only because two drivers depend on it. - europc still prints "disk error" on boot. It should still be possible to fix this.
* upd765: upd72067 stub (nw) Patrick Mackinlay2020-03-261-0/+44
|
* (nw) misc cleanup: Vas Crabb2019-10-051-11/+11
| | | | | | * upd765, next, sun3x: fix FDC mode being treated as clock frequency (MCFG removal gone wrong) * h01x: translate some comments from Chinese to English * snes/sfx: trampoline constructors should be private
* wd37c65c: Allow second clock to be configured (not used yet) (nw) AJR2019-04-171-1/+5
|
* upd765: Add uPD72069 device type for mpc3000 (nw) AJR2019-04-131-1/+14
|
* upd765: Drive selection improvements AJR2019-04-131-2/+15
| | | | | - Deselect drives upon reset, or select drive 0 for older FDCs with multiplexed select lines - Deselect other floppies when using set_floppy