summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/diexec.h
Commit message (Collapse)AuthorAgeFilesLines
* debugger: add 'gp' command Sven Schnelle2018-11-061-0/+6
| | | | | | | | | | | | | | gp 'go privilege' starts execution until the privilege mode changes. This can be used to break on task switches. I.e on m68k, one could do: gp { ~sr & 0x2000 && crp_aptr == 0x1234567 } which would execute until the privilege mode changes to user mode and the CPU root pointer is 0x1234567. for cpu code, all that is needed to make this work is calling debugger_privilege_hook() when the execution level changes.
* m37710: added basic support for up-down count on timers in event counter ↵ hap2018-11-031-1/+1
| | | | | | | mode (nw) NOTE1: namcos22 propcycl always pedals backwards now, will resolve in next commit. NOTE2: diexec.h MAX_INPUT_LINES had to be increased, even without this commit m37710 was already more than 32 input lines.
* -8042kbdc, mb89352, mc6854: Removed legacy devcb accessors. [Ryan Holtz] mooglyguy2018-07-311-1/+38
|
* Prevent aggressive incompetence (nw) Olivier Galibert2018-07-271-5/+0
|
* Next-gen config: make address map config not look like arse Vas Crabb2018-06-061-3/+3
|
* Point conceded; it is not, at this point, sensible to make ↵ mooglyguy2018-06-031-4/+4
| | | | m_vblank_interrupt_screen a finder. Indeed, the need for it should be removed from diexec entirely. nw
* No. mooglyguy2018-06-031-4/+4
|
* Back out diexec changes from commit 2cdb153103fa94d13a53dd747985ef56ec723e7a ↵ AJR2018-06-031-4/+4
| | | | (nw)
* fixup, improve validation (nw) Vas Crabb2018-06-011-1/+1
|
* svis_snd cleanups, nw mooglyguy2018-06-011-3/+3
|
* diexec: Interrupt API changes (nw) AJR2018-05-181-4/+5
| | | | | | - PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument. - Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however. - execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful.
* move some not-directly-emulation-related helpers to lib/util, further ↵ Vas Crabb2018-04-011-0/+1
| | | | extricate emu.h from tools (nw)
* Reshuffle some stuff: Vas Crabb2018-03-281-17/+44
| | | | | | * Move around the debugger hooks to get a small but measurable performance increase * Remove emucore from external tools * Improve performance of DSP16 interpreter a little by generating six variants of execution loop
* destaticify initializations (nw) (#3289) wilbertpol2018-03-041-15/+23
| | | | | | * destaticify initializations (nw) * fix this->set_screen (nw)
* Remove pulse_input_line version using CPU minimum quantum, which can (though ↵ AJR2017-11-221-2/+3
| | | | ideally shouldn't) be used explicitly now (nw)
* Revert "pulse_input_line: change units to cycles and set default param to ↵ hap2017-11-151-2/+2
| | | | | | min_cycles (nw)" This reverts commit 46bad5c707cadd5293828f78d1bcbbb0ae23749c.
* pulse_input_line: change units to cycles and set default param to min_cycles ↵ hap2017-11-151-2/+2
| | | | (nw)
* Replace driver_device::generic_pulse_irq_line with ↵ AJR2017-11-141-0/+5
| | | | device_execute_interface::pulse_input_line (nw)
* general cleanup: Vas Crabb2017-05-231-4/+0
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-191-46/+46
| | | | | | | | | | | | * New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h" * Get rid of import of cstdint types to global namespace (C99 does this anyway) * Remove the cstdint types from everything in emu * Get rid of U64/S64 macros * Fix a bug in dps16 caused by incorrect use of macro * Fix debugcon not checking for "do " prefix case-insensitively * Fix a lot of messed up tabulation * More constexpr * Fix up many __names
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-43/+43
| | | | | 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
* Cleanup, TIMER_CALLBACK was only in unused parts (nw) Miodrag Milanovic2016-10-211-1/+0
|
* NULL->nullptr, instead of DEVCB_NULL use always DEVCB_NOOP to prevent ↵ Miodrag Milanovic2016-04-241-6/+6
| | | | confusion (nw)
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* TIMER_CALLBACK to TIMER_CALLBACK_MEMBER (nw) Miodrag Milanovic2016-03-071-7/+6
|
* Make octal flag part of address_space/address_space_config, not ↵ AJR2016-02-041-2/+0
| | | | (illogically) device_execute_interface (nw)
* 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)
* Revert "Fixes (nw)" Miodrag Milanovic2016-01-201-1/+1
| | | | This reverts commit 5f19489cd2d0cd0b65ac250ac4b76d666a50509c.
* Fixes (nw) Miodrag Milanovic2016-01-161-1/+1
|
* tags are now strings (nw) Miodrag Milanovic2016-01-161-2/+2
| | | | fix start project for custom builds in Visual Studio (nw)
* clang-modernize part 1 (nw) Miodrag Milanovic2015-12-031-7/+7
|
* Some cleanups and init fixes with help of ReSharper C++ (nw) Miodrag Milanovic2015-11-111-5/+2
|
* diexec.c: Cache a pointer directly to the machine scheduler at startup, Alex W. Jackson2014-09-181-1/+5
| | | | | | | | | | | to eliminate device().machine().scheduler() chains all over the place (nw) This change has been sitting in my local tree for months, from when I was (mostly unsuccessfully) working on c64 performance. It gives a small speedup to drivers with many tightly-interleaved executing devices (i.e. Commodore drivers) I didn't think it was worth making everyone do a clean build for such tiny gains but I didn't have the heart to chuck it. Since I'm already making another core-touching, clean-build-needed commit tonight, in it goes.
* more passing of attotime as const references (nw) Oliver Stöneberg2014-07-041-3/+3
|
* removed usage of legacy IRQ callback (nw) Miodrag Milanovic2014-04-291-5/+1
|
* Replaced set_irq_acknowledge_callback with proper ↵ Miodrag Milanovic2014-04-231-2/+7
| | | | MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER/DEVICE (nw)
* disabled ATTR_DEPRECATED on device_irq_acknowledge_callback again (nw) Oliver Stöneberg2014-04-211-1/+1
|
* enabled ATTR_DEPRECATED on device_irq_acknowledge_callback (nw) Oliver Stöneberg2014-04-211-1/+1
|
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-31/+2
| | | | to new license tagged form.
* removed some unused legacy functions / flagged a few more things as ↵ Oliver Stöneberg2013-08-221-1/+1
| | | | deprecated / reduced the DEPRECATED noise a bit for now nw)
* added makefile define DEPRECATED to show warnings about deprecated code / ↵ Oliver Stöneberg2013-08-221-2/+2
| | | | added ATTR_DEPRECATED / flag some stuff in diexec.h as deprecated (nw)
* removed unused periodic interrupt legacy code (nw) Oliver Stöneberg2013-08-211-6/+0
|
* simpler implementation of MCFG_DEVICE_{VBLANK|PRIODIC}_INT_REMOVE (nw) Oliver Stöneberg2013-08-211-2/+2
|
* removed unused legacy VBLANK interrupt code Oliver Stöneberg2013-08-201-5/+0
|
* added MCFG_{CPU|DEVICE}_VBLANK_INT_REMOVE and ↵ Oliver Stöneberg2013-08-201-0/+8
| | | | MCFG_{CPU|DEVICE}_PERIODIC_INT_REMOVE to properly remove non-legacy VBLANK interrupts - the current code only reset the legacy interrupt which wasn't set anyways
* - made MCFG_DEVICE_VBLANK_INT_DEVICE param order more logic (nw) Miodrag Milanovic2013-07-251-1/+1
| | | | | | - updated device_execute_interface::interface_post_reset so screen is searched from same context - removed tilelgcy.h since no more users exist - made bfm_adr2 a device
* added comments to diexec.h (nw) Oliver Stöneberg2013-07-161-5/+5
|
* Resolve devices specified for vblank/periodic interrupts relative to the Aaron Giles2013-07-131-2/+2
| | | | | | | | | | | | | | | owner device, not the device itself, to make it consistent with devcb2 patterns. This change is mostly hidden since most drivers use MCFG_DEVICE_VBLANK_INT_DRIVER and MCFG_DEVICE_PERIODIC_INT_DRIVER. But for those few cases where a device was explicitly specified, it reduces the awkwardness. We should probably standardize this when using device_delegates for consistency. A full rebuild is necessary after taking this change, since the macros mentioned above have changed their parameters.
* Allow devices with execute interface to have a clock of zero, they are ↵ Dirk Best2013-06-141-0/+1
| | | | suspended and restarted on clock change. Note that the device still needs to have a clock before MAME actually starts executing timeslices.
* Minor schedule.c optimization Nathan Woods2013-03-281-0/+1
|