summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/smpc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* RTC interface updates AJR2023-02-031-11/+17
| | | | | | | - dp8573, mc146818, mm58274c, rtc65271, s3520cf, smpc, timekpr: Use device_rtc_interface to acquire base time - device_rtc_interface: Add machine configuration option for synchronizing to UTC instead of local time (was previously only an option for mc146818, and always enabled for dp8573) - mc146818: Eliminate the set_binary_time configuration parameter - mm58274c: Correct operator precedence in calculating m_clk_set; allow disabling side effects of status read
* - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-041-120/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove void *ptr parameter from emu_timer, timer_device and all related ↵ AJR2022-01-261-1/+1
| | | | callbacks
* srcclean in preparation for MAME 0.235, and two small adjustments. Vas Crabb2021-09-261-2/+2
| | | | | | | * Reduce repeated directory walking in cleansrc target (substantially improves speed of building the target on Windows). * Disable a validity check using an MSVC language extension when using clang in MSVC ABI mode.
* saturn.cpp: Add Korean BIOS placeholder (#8608) Angelo Salese2021-09-251-8/+16
| | | | | | | | | | | | | | | * saturn.cpp: add Korean BIOS placeholder, refactored init routines, add enumerator for regions * hash/saturn.xml: marked all Korean set with NTSC-K, also part I of SW list QA overhaul * stvcd.cpp: guard against deleting partial sectors in cmd_delete_sector_data, fixes pstarcol Phantasy Star 2 crash after first attract cycle * smpc.cpp: NMI is unconditionally requested for screen clock change commands, fixes booting in bigichig, capgen1, capgen4, capgen5 * stvcd.cpp: add fixed status for NetLink, allow dragndrm to actually boot (on -non drc) * stvcd.cpp: fix clang build, put another QA point for Dragon's Dream * More QA up to J
* stvcd.cpp: second cleanup pass: move communication interface to ↵ angelosa2020-04-191-19/+19
| | | | device_memory (nw)
* devices/machine: simplified handlers for various devices (nw) Ivan Vangelista2020-03-241-16/+16
|
* (nw) removed every remaining AM_ macro I could find in comments, but one in ↵ Ivan Vangelista2019-10-101-1/+1
| | | | emu\memarray.h cause I didn't want to cause a full recompile for this (nw)
* (nw) Clean up the mess on master Vas Crabb2019-03-261-1/+1
| | | | | | | | | | | | | 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-1/+1
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* Eliminate the default address map member of address_space_config (nw) AJR2019-02-171-1/+1
| | | | | | Since all device address maps are now class methods defined in ordinary C++, default RAM maps can be provided more simply with an explicit has_configured_map check in an internal map definition. A number of default address maps that probably weren't meant to be overridden have also been changed to ordinary internal maps.
* scudsp, sega_scu, serflash, smartmed, smc91c9x, smioc, smpc : removed MCFG ↵ Ivan Vangelista2018-10-261-11/+2
| | | | macros (nw)
* -nvram: Removed MCFG, nw mooglyguy2018-08-241-3/+4
|
* as if millions of this pointers suddenly cried out in terror, and were ↵ Vas Crabb2018-06-081-11/+11
| | | | | | | 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
* maps: Finish devices/machine (nw) Olivier Galibert2018-04-201-13/+14
|
* Remove first_screen from smpc, nw mooglyguy2018-03-101-4/+2
|
* destaticify initializations (nw) (#3289) wilbertpol2018-03-041-16/+0
| | | | | | * destaticify initializations (nw) * fix this->set_screen (nw)
* API change: Memory maps are now methods of the owner class [O. Galibert] Olivier Galibert2018-02-121-2/+2
| | | | | Also, a lot more freedom happened, that's going to be more visible soon.
* API Change: Machine configs are now a method of the owner class, and the ↵ Olivier Galibert2018-01-171-1/+1
| | | | | | | | | | prototype is simplified [O. Galibert] Beware, the device context does not follow in MCFG_FRAGMENT_ADD anymore due to the prototype change. So creating a device then configuring through a fragment doesn't work as-is. The simplest solution is just to add a MCFG_DEVICE_MODIFY at the start of the fragment with the correct tag.
* srcclean (nw) Vas Crabb2017-10-221-59/+59
|
* smpc: Don't downcast controllers that aren't configured (nw) AJR2017-10-101-3/+6
|
* saturn.cpp: Moved SCU related functions inside a device [Angelo Salese] angelosa2017-10-091-1/+1
|
* Improve previous commit (nw) angelosa2017-10-061-10/+8
|
* smpc.cpp: simulate SETTIME bit behaviour if an invalid NVRAM data is found ↵ angelosa2017-10-051-12/+14
| | | | | | for Sega Saturn like original HW does. [Angelo Salese] * Now all Sega Saturn romsets calls the BIOS setup if NVRAM is uninitialized. This is intended behaviour and sets up proper defaults like Japanese language for saturnjp set.
* saturn.cpp: rewritten SMPC into a device [Angelo Salese] angelosa2017-10-051-700/+108
| | | | (out-of-whatsnew: added remaining devices, removed almost all trampolines, cleanups, merge implementations between ST-V and Saturn)
* smpc.cpp: execute commands internal to the device for ST-V (nw) angelosa2017-10-051-9/+393
|
* smpc.cpp: move IREG & OREG to internal device state (nw) angelosa2017-10-051-72/+128
|
* smpc.cpp: reset/halt/nmi lines delegation (nw) angelosa2017-10-051-65/+97
|
* saturn.cpp: SMPC device-ification part 1 (nw) angelosa2017-10-051-159/+283
|
* Fixed STV crashing regression, make m_cart_reg explicitly nullptr if not ↵ angelosa2017-10-031-1/+2
| | | | initialized (nw)
* debugger_access: Refactor [O. Galibert] Olivier Galibert2017-03-021-1/+1
|
* Self-registering devices prep: Vas Crabb2017-02-271-2/+6
| | | | | | | | | | | | | | * 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.
* Revert "moved debugger_access() from address space to machine & removed the ↵ Vas Crabb2016-11-211-1/+1
| | | | | | anti-patterns that updated cascading address spaces. [smf]" This reverts commit 5f05fbf61348c65204fde1e2aeed72de4cb56593.
* moved debugger_access() from address space to machine & removed the ↵ smf-2016-11-191-1/+1
| | | | anti-patterns that updated cascading address spaces. [smf]
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-16/+16
| | | | | 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
* saturn and stv split (nw) Miodrag Milanovic2016-05-011-1/+1
|
* Cleanups and version bumpmame0173 Miodrag Milanovic2016-04-271-16/+16
|
* small cleanup + added note about some pad configuration etabeta782016-04-241-1/+8
| | | | which is not detected correctly. nw.
* saturn.cpp: converted controllers to work through slot devices, etabeta782016-04-231-195/+76
| | | | | | | | cleaning up the related code. [Fabio Priuli] saturn.cpp: added emulation of the SegaTap adapter (4 controllers) and Sega Multitap adapter (6 controllers). Saturn Bomberman can now be played as intended. [Fabio Priuli]
* reverting: Miodrag Milanovic2016-01-201-2/+2
| | | | | | | 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-2/+2
| | | | fix start project for custom builds in Visual Studio (nw)
* auto_alloc_array_clear -> make_unique_clear (nw) Miodrag Milanovic2015-12-191-4/+4
|
* removed auto_bitmap_ind*_alloc and auto_bitmap_rgb32_alloc and replaced with ↵ Miodrag Milanovic2015-12-171-2/+2
| | | | | | | std::unique_ptr (nw) auto_alloc_array to unique_ptr Added make_unique_clear
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+1084