summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/dspp
Commit message (Collapse)AuthorAgeFilesLines
* dspp: Tweak mnemonics in disassembler AJR2025-05-071-2/+5
|
* dspp: Add a real disassembler AJR2025-05-073-102/+585
|
* dspp: Various fixes AJR2025-05-072-47/+12
| | | | | | | - Register STATE_GENPCBASE so debugger will recognize CPU - Limit ACC to 20 bits in debugger state display - Use util::sext for sign extension in non-DRC paths. Note that this changes behavior because positive values were sometimes not truncated to 20 bits previously. - Make disassembly slightly less broken, though still very much a stub
* misc cpu: no need to check debug enabled flag manually hap2025-04-112-2/+2
|
* -tools/imgtool/modules: Fixed remaining calss memory access warnings. Vas Crabb2024-11-261-4/+5
| | | | | | | | -tools/imgtool/modules/vzdos.cpp: Fixed function returning floperr_t value as imgtoolerr_t. -devices: Fixed a bunch more #include guards that don't match file paths.
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-271-4/+4
| | | | (#12822)
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-43/+38
| | | | | | | | | | | | 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.
* -Lua engine: run everything in coroutines. (#11019) Vas Crabb2023-03-251-2/+1
| | | | | | | | | * This lets you use emu.wait(...) directly without mucking around creating coroutines. * Allow emu.wait to accept an attotime argument. * Added a couple more wait helper functions. -emu/profiler.h: Actually use scope-based profiling helpers. * This makes the comment at the top of emu/profile.h less dishonest, and makes it easier to write exception-safe code. * Got rid of some do { ... } while (0) loops that only existed so break could be used like a goto.
* src/devices/cpu: Remove #include "debugger.h" where no longer necessary AJR2022-04-062-3/+0
|
* Debugger-related feature removals and cleanup AJR2021-08-151-1/+0
| | | | | | | | - Remove the hotspot read tracker. This was never robustly implemented, but changes to the memory system made it much less useful, and the "speedup opportunities" which it aimed to determine are not very important from a current emulation standpoint. - Remove the CURSP/GENSP state symbol and the generic sp() getter. Stacking semantics vary too much between CPU architectures for this to be of much use. (A "SP" symbol has been added to a few CPU cores whose stack pointers were otherwise not being registered.) - Remove the cached pointer to device_state_interface and the state() fast accessor from device_t. Most users of device_state_interface either already had a pointer to the specific CPU device type or needed to check first for the presence of the interface. - Change the PC memory write tracker to use pcbase(), which works even when the instruction callback is masked out, instead of peeking at the PC history index. - Remove some obsolete watchpoint-related definitions from machine.h.
* Added helpers for 64-bit count leading zeroes/ones. Vas Crabb2021-06-131-1/+1
|
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-2/+2
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* Fix most implicit fallthrough warnings from clang Vas Crabb2020-11-171-2/+2
|
* -dspp: Fix erroneous fallthroughs. [Ryan Holtz] Ryan Holtz2020-11-141-2/+3
|
* Enable GCC implicit fallthrough warning. Vas Crabb2020-11-152-3/+4
| | | | | | I've guessed whether break or [[fallthrough]] is appropriate. In cases where it looked particularly suspicious, I added a FIXME comment. All of these changes should be reviewed by someone familiar with the code.
* finally retired the READ8/16/32/64 and WRITE8/16/32/64 macros (nw) Ivan Vangelista2020-06-182-36/+36
|
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-253-24/+17
| | | | | | | | | | | | | | | | not pointers anymore [O. Galibert] The last(?) two changes are: - Add a template parameter to everything (theoretically the address space width, in practice a level derived from it to keep as much compatibility between widths as possible) so that the shift size becomes a constant. - Change the syntax of declaring and initializing the caches and specifics so that they're embedded in the owner device. Solves lifetime issues and also removes one indirection (looking up the base dispatch pointer through the cache/specific pointer).
* various devices: try the new (and some not so new) save state possibilities (nw) Ivan Vangelista2019-12-091-16/+13
|
* Make many device_execute_interface functions noexcept, including the ↵ AJR2019-11-092-4/+4
| | | | | | | | "information" overrides. This also covers several time-related functions in attotime, running_machine and emu_timer. (nw) m6805: Calculate min_cycles and max_cycles once at device_start time (Nw) attotime: Add as_khz and as_mhz (nw)
* (nw) be strictly POSIX compliant, reduce fragmentation, get rid of an unused ↵ Vas Crabb2019-11-052-7/+7
| | | | member
* (nw) Clean up the mess on master Vas Crabb2019-03-262-176/+176
| | | | | | | | | | | | | 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-252-176/+176
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* srcclean and cleanup (nw) Vas Crabb2019-01-272-176/+176
|
* Removed no longer use MCFG macros in DSPP core, nw mooglyguy2018-12-301-17/+0
|
* Start cleaning up palette configuration: Vas Crabb2018-12-291-2/+3
| | | | | | | | | | * Basically, initialisers go in the constructor arguments, and things for setting format go in set_format. * Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag. * Formats can be specified with an enum discriminator or a size and function pointer. * You must always supply the number of entries when setting the format. * When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together. * The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation. * Also killed an overload on delegates that wasn't being useful.
* -dspp: Preliminary DRC. Still disabled by default. [Ryan Holtz] mooglyguy2018-12-255-819/+999
|
* Split m2_te_device declaration into its own header file, and cleaned up some ↵ mooglyguy2018-12-232-6/+6
| | | | underscore usage in M2-related #defines. Fixes single-driver builds. nw
* srcclean (nw) Vas Crabb2018-12-234-239/+239
|
* Last round of macro removals before the freeze. (nw) mooglyguy2018-12-227-0/+4796
-sound/discrete, okim6295: Removed MCFG macros. [Ryan Holtz] -norautp, osi, audio/mario: Removed MACHINE_CONFIG macros. [Ryan Holtz] -vsmile: Split into its own driver from vii.cpp. [Ryan Holtz] -vii: Fixed broken controller inputs. [Ryan Holtz] -konamim2: Massive update. Most games work, but are still marked non-working due to rare MAME crashes in the PPC DRC. [Phil Bennett, Ryan Holtz]