summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/upd765.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* (nw) Clean up the mess on master Vas Crabb2019-03-261-64/+75
| | | | | | | | | | | | | 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-75/+64
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* upd765.cpp: Correct result from Read ID when scan failed AmatCoder2019-03-191-0/+3
| | | | | | | | | Result from Read ID must be the sector ID information during execution phase. So result must be: - Zeroes if not ready (execution phase is not reached). - Command codes if ready but scan failed (execution phase is reached but ID is not found). This patch fixes this. - If scan is correct then result is the ID information from sector found. Fix MT 06611
* i8251, upd765: Allow read side effects to be disabled (nw) AJR2019-03-101-11/+17
|
* upd765: Simplify read/write handlers (nw) AJR2019-03-101-38/+18
|
* upd765: Fix Speedlock copy protection regression. Michael Zapf2019-03-061-10/+21
|
* fs3216: Start fleshing out the FDC interface (nw) AJR2019-01-121-4/+12
| | | | upd765: Kludge in an output callback for the index pulse, which doesn't deserve to be attached to this device but is done this way because of MAME's FDC model. (nw)
* upd765: Add output callback for unit/drive select lines (nw) AJR2019-01-101-1/+4
| | | | This is intended for future use by machines in which the US/DS lines are neither directly connected to the drives nor wholly disconnected from them.
* upd765: Add (mostly standard) clocks to all devices in the family (nw) AJR2018-12-131-1/+1
| | | | These clocks are currently unused, and their sources and dividers are often unclear. In some cases they are clearly software-configurable, which has not been emulated at all.
* Include floppy.h explicitly in drivers and bus cards, rather than indirectly ↵ AJR2018-11-251-0/+1
| | | | through popular FDC headers (nw)
* final cleanup (nw) Vas Crabb2018-08-291-25/+18
|
* upd765: add aux commands to 72065 (nw) cracyc2018-08-161-1/+15
|