summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/i2cmem.cpp
Commit message (Collapse)AuthorAgeFilesLines
* machine/i2cmem.cpp: Fixes and updates AJR2025-07-071-44/+35
| | | | | | - Revert change from 82c32ee2920ae0092ac5985cf0247d1f5c8dc7dc that broke dreamlss - Don't falsely register I2C bus start or stop condition while device as slave is driving SDA - Modernize logging
* anpncpc: Hook up I2C EEPROM; prevent sound CPU from running off the rails AJR2025-06-141-1/+1
| | | | * machine/i2cmem.cpp: Don't enter start condition except from idle state
* i2cmem: Add 24C128 and 24C256 variants Dirk Best2024-04-201-0/+12
|
* ds8874: move to video folder (led driver chip), hap2024-04-111-1/+1
| | | | misc: remove folder from self #include
* util/ioprocs.cpp: Added wrappers for common patterns. (#11608) Vas Crabb2024-02-251-4/+4
| | | | | emu/diimage.h: Removed fread overloads that allocate memory for output. util/core_file.cpp: Changed output size of load to size_t.
* Clean up several sprintf() deprecation warningss in non-3rdparty code. [R. ↵ arbee2023-06-031-1/+1
| | | | Belmont]
* emu/device.h: Removed device (READ|WRITE)_LINE_MEMBER in favor of explicit ↵ MooglyGuy2023-06-011-7/+7
| | | | function signatures. (#11283) [Ryan Holtz]
* Remove #include <cstdarg> from emu.h and move it into source files that ↵ AJR2022-10-251-0/+2
| | | | still require it
* srcclean in preparation for release Vas Crabb2022-05-221-1/+1
|
* i2cmem.cpp and derived devices: Only acknowledge correct I2C device-id. (#9630) Paul-Arnold2022-04-281-99/+106
| | | | | | * Updated machine/acorn_bmu.cpp, machine/i2cmem.cpp, machine/pcf8573.cpp and machine/machine/pcf8583.cpp. * Check device ID and only acknowledge device’s own ID. * Release SDA line to be pulled up when idle. * aa310.cpp: Combine SDA lines with logical AND.
* Use ioprocs classes instead of emu_file for device_nvram_interface's load ↵ AJR2022-02-271-6/+6
| | | | and save methods, and have these return false on I/O errors
* i2cmem.cpp: Initialize m_bits AJR2022-02-161-1/+2
|
* Remove fileio.h from emu.h AJR2022-02-111-0/+2
|
* -machine/i2cmem.cpp: Added Xicor X24C01 support. [Ryan Holtz] MooglyGuy2021-03-231-17/+50
| | | * bus/megadrive: Added EEPROM cartridge variant with Xicor X24C01. [Ryan Holtz]
* i2cmem.cpp: Fix duplicate shortname. Nigel Barnes2021-02-201-1/+1
|
* i2cmem.cpp: Added PCF8570 device. Nigel Barnes2021-02-201-0/+6
|
* i2cmem.cpp: Added PCF8582 device. Nigel Barnes2020-12-251-0/+6
|
* Fixed regression in peps0615 introduced in ↵ smf-2020-05-061-37/+48
| | | | | | | | 635f469c7dd0b5166455bafeddb0e898b1081165, the game writes to the page buffer then sends a spurious start condition before the stop condition that writes the buffer. [smf] Created i2cmem sub classes for all used device types, fixed the buffer sizes that were wrong, removed the methods for modifying the data & buffer sizes and changed the drivers to use the correct types. [smf] Switched aa310 & ertictac over to use device/machine/pcf8583.cpp, which is not currently based on i2cmem.cpp but might be worth merging in the future. [smf]
* Added support for the address high byte to i2cmem for devices greater than ↵ smf-2020-03-131-15/+28
| | | | | | 4096 bytes. [smf] Hooked up a 24C64 to the Domyos games in Xavix2 [smf, N. Gilbert]
* Latch the upper address bits from the i2c device id after receiving the ↵ smf-2020-03-021-22/+25
| | | | | | lower 8 bits of the address, implement 2-wire software reset for i2c, stop nack from lowering sda, remove redundant state from i2c page write. [smf] Change Xavix2 port0 to pull sda from i2cmem when reading the data register and the bit has been set to an input, instead of when changing the ddr to an input or changing the clock output.
* Revert "Possibly controversial i2cmem change, please lemme know if something ↵ Olivier Galibert2020-03-011-14/+1
| | | | | | breaks (nw)" Not to smf's standards, and I that point I just can't be bothered anymore.
* Possibly controversial i2cmem change, please lemme know if something breaks (nw) Olivier Galibert2020-02-241-1/+14
|
* -i2cmem: Added 24C04 device type. [Ryan Holtz] MooglyGuy2020-02-191-0/+6
| | | | | | | | -spg2xx_io: Converted from magic register indices to enumerated values. Added SPI logging. [Ryan Holtz] -spg2xx_jakks: Split into separate game-key, plain, and touch drivers. [Ryan Holtz] -jak_batm: Hooked up I2C EEPROM to enable saving. [Ryan Holtz]
* (nw) Clean up the mess on master Vas Crabb2019-03-261-34/+87
| | | | | | | | | | | | | 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-87/+34
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* i2cmem: fix page write logic [O. Galibert] Olivier Galibert2019-03-071-12/+22
|
* (nw) clean up trivial stuff - the device delegate boilerplate is ugly, I ↵ Vas Crabb2019-02-191-19/+28
| | | | will address it ASAP
* -ghosteo: Removed deprecated warning, nw mooglyguy2019-02-021-21/+55
| | | | | | | | -i2cmem: Removed some MCFG macros, nw -bus/nes/datach, bandai: Removed MCFG macro, nw -bus/megadrive/eeprom, jcart: Removed MACHINE_CONFIG macros, nw
* mcs51.cpp: Removed MCFG. Various MACHINE_CONFIG removals. nw mooglyguy2018-12-091-4/+13
|
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | * 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.
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-2/+2
| | | | | 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
* intelfsh, i2cmem: Not a device_memory_interface either [O. Galibert] Olivier Galibert2016-06-161-69/+11
|
* Devfind revision phase 1, cleaning out some legacy stuff AJR2016-04-071-8/+9
| | | | | | | | - Eliminate the cached device_t::m_region pointer and its region() getter method. Devices that need to bind to a region with the same tag should use optional/required_memory_region or optional/required_region_ptr with DEVICE_SELF as the subtag; this improves error checking. (DEVICE_SELF has been moved to device.h for greater visibility in the source.) - Allow required/optional_region_ptr to specify a specific length which must match that of the region found. - Implement finder_base::finder_tag() getter for diagnostic purposes. - Perform some (not very efficient) validity checks on memory region finders instead of allowing them to automatically pass. - Privatize device_memory_interface::m_addrspace.
* reverting: Miodrag Milanovic2016-01-201-4/+4
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* tags are now strings (nw) Miodrag Milanovic2016-01-161-4/+4
| | | | fix start project for custom builds in Visual Studio (nw)
* macro removal INLINE -> static inline (nw) Miodrag Milanovic2015-12-121-1/+1
|
* clang-modernize part 3 Miodrag Milanovic2015-12-041-2/+2
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+510