summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sparc
Commit message (Collapse)AuthorAgeFilesLines
* misc cpu: no need to check debug enabled flag manually hap2025-04-111-1/+1
|
* Demote tautological-compare to a warning again. Vas Crabb2024-11-271-3/+3
| | | | | | | clang on Windows x86-64 is getting upset about code that is making no assumptions about the relative sizes of uint64_t and long. Also, fixed more #include guards.
* dynax/dynax.cpp: Added DIP switches that are sometimes populated to Ougon no ↵ Vas Crabb2024-11-272-7/+7
| | | | | | Pai. Also fixed a bunch more #include guards.
* diexec: Add callback to allow debugger to break into the middle of wait-type ↵ AJR2024-11-171-3/+6
| | | | | | | | | | instructions whose execution time is normally indefinite. When this happens, a special message may be printed to the debug console stating the location of the last actual instruction executed before the wait (if there was one). Note that since the callback ignores the current value of the program counter, this special type of debugger break cannot be entered through breakpoints or instruction stepping commands. The callback also leaves no effect on PC history tracking or trace logs. * cpu/hd61700, cpu/tms32031: Add standard IRQ callback * cpu/m68000gen.py: Change name of invoked executable to bin/python3 * cpu/m6809: Eliminate PC "massaging" for SYNC and similar instructions
* cpu/i960, cpu/sharc, cpu/sparc, cpu/v60: Use 32x32=64-bit multiply inlines AJR2024-11-101-2/+2
| | | | * cpu/v60: Simplify operation of DIVX, DIVUX, MOVD, RVBIT, RVBYTE
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-271-15/+15
| | | | (#12822)
* diexec: remove vestigal execute_input_lines() hap2024-09-182-12/+0
|
* sparc: One more use for util::sext; fix probable copy-and-paste error in ↵ AJR2023-08-312-3/+3
| | | | disassembly of branch displacements
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-4/+1
| | | | | | | | | | | | 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.
* sun4c, SPARC, and NCR53C90 bug fixes: (#10821) [Ryan Holtz] MooglyGuy2023-01-112-39/+27
| | | | | | | * machine/ncr53c90.cpp: Renamed to ncr53c90 to avoid confusion about the actual NCR part name. * machine/ncr53c90.cpp: Fixed 'Select w/ ATN and Stop' command in DMA mode. * cpu/sparc: Avoid using temporary C-strings as address space names. * machine/sun4c_mmu.cpp: Fixed l2p debugger command by removing inadvertent narrowing conversion. * sun/sun4.cpp: Switched to NCR 53C90 from 53C90A, and fixed DMA byte-address masking - fixes Solaris 2.4 booting.
* SPARC and sun4 fixes and boilerplate cleanup: (#10793) [Ryan Holtz] MooglyGuy2023-01-061-0/+8
| | | | | | | | * cpu/sparc: Implemented STBAR opcode as a no-op. Fixes illegal instruction error in Solaris 2.4 installer. * sun/sun4.cpp: Converted to logmacro. Added FDC dor_w hookup, fixing Solaris 2.4 installer hang. * sun/sun4.cpp: Cleaned up duplicate handlers, split handlers, removed tags, use abbreviated integer types. * machine/sun4c_mmu.cpp: Converted to logmacro.
* coretmpl.h: Add utility function for sign-extending values of arbitrary width AJR2022-11-011-7/+7
| | | | | * cpu/ccpu: Simplify code for right-shifting 12-bit values arithmetically * konami/3dom2_te.cpp: Fix probable copy-and-paste error
* sparc: Re-support certain instructions in SPARClite disassembly AJR2022-08-271-6/+7
|
* megatrix: Switch to correct CPU type AJR2022-06-291-3/+6
| | | | * sparc: Fix debugger crash
* sparc: Disassembler fixes AJR2022-06-291-31/+27
| | | | | - Compare architecture versions against correct enum values - FLUSH exists (at least nominally) on v7 under the name IFLUSH
* src/devices/cpu: Remove #include "debugger.h" where no longer necessary AJR2022-04-062-3/+1
|
* Debugger feature improvements AJR2022-03-271-1/+4
| | | | | | | | - Add 'gbt' and 'gbf' debugger commands to step until a true or false conditional branch has been detected. - Update over 100 of the disassemblers in MAME to output a new STEP_COND flag for all conditional branches. Besides being used for execution of the new 'gbt' and 'gbf' commands, this flag also now helps the debugger 'out' command to properly handle conditional return instructions. - Remove STEP_OVER from many instructions that aren't actually subroutine calls (e.g. DJNZ on Z80). A 'gni' debugger command (go next instruction) has been added to accommodate some of the misuse. - Add instruction flag support to several more disassemblers that lacked them entirely (e.g. st62xx) - Don't pass over delay slots for debugging in ASAP core
* srcclean, remove a vestigial thing, and a little cleanup Vas Crabb2021-12-261-18/+18
|
* sparclite: correct wssr[0] reset state hap2021-12-061-3/+3
|
* sparclite: correct disasm after prev commit hap2021-12-061-1/+4
|
* sparclite: OP3_SCAN had the wrong id hap2021-12-062-11/+8
|
* sparc: check pending interrupt after RETT hap2021-12-061-0/+6
|
* sparc: get rid of icount time travel hap2021-12-062-241/+13
|
* sparc: fix LDSTUBA not working hap2021-12-051-2/+2
|
* sparclite: NWINDOWS=8 hap2021-12-053-13/+30
|
* sparc: SWAP/SWAPA on unaligned address causes a trap hap2021-12-042-42/+44
|
* sparclite: update notes hap2021-12-011-16/+11
|
* sparclite: add preliminary system support ctrl reg hap2021-12-012-11/+39
|
* sparc: remove pseudocode comments copy pasted from manual hap2021-11-281-909/+29
|
* sparc: STD/STDA/LDD/LDDA when RD is odd is an illegal instruction hap2021-11-281-2/+11
|
* sparc: undo accidental delete on prev commit hap2021-11-271-0/+9
|
* sparc: fix unreachable code in execute_rdsr hap2021-11-271-17/+8
|
* sparclite: update prev commit, better habit to call parent class hap2021-11-251-2/+1
|
* sparclite: update_addr_masks after loadstate hap2021-11-252-0/+9
|
* sparc: eat_cycles is inaccurate (eg. icount=1, eat_cycles(3), icount=0) hap2021-11-241-2/+2
|
* sparc: revert prev commit, manual clearly says nope hap2021-11-242-11/+10
|
* sparc: assume that sparclite waitstate page check is per cs hap2021-11-242-10/+10
|
* sparc.cpp: save_item takes care of arrays Ivan Vangelista2021-11-241-2/+2
|
* saitek_osa: added sparc module emulation [Ryan Holtz, hap] hap2021-11-241-6/+6
|
* sparc: added initial support for SPARClite [Ryan Holtz] hap2021-11-235-52/+792
|
* sparc: Add support for over/out disassembler flags AJR2021-10-121-6/+10
|
* debugger: Extended target address syntax to include device/address space. ↵ Vas Crabb2021-10-012-3/+3
| | | | | | | | | | | | | | | | | | | (#8630) Added a validity check to ensure address space names are tag-like and unique, since they're now used as identifiers in debugger commands. Extended the syntax for target addresses to allow them to be qualified with a colon followed by an optional device tag and/or address space name. If only the device needs to be specified, a debugger CPU number may also be used. This makes commands like bpset and wpset more flexible, as they can operate on CPUs other than the currently visible CPU. Commands like find, fill, dump and load are more flexible as they can access any space of any device. Removed now-redundant CPU parameters from many commands, and renamed pcatmemp to pcatmem for consistency with other commands. Extended region syntax for saver/loadr to support tags relative to the visible CPU (e.g. you can use "." for the region with the same name as the visible CPU, or "^sibling" syntax). Added an optional root device parameter to memdump. Changed interpretation of Boolean values to support numeric expressions as well as true/false strings and literal 1/0. Added checks that the specified device is CPU-like to various commands that require a CPU (e.g. focus). Previously these commands would crash or trigger an assertion failure if a tag for a non-CPU devices was specified. Fixed the cpunum symbol so it uses the same rules for determining what is or isn't a CPU as parameter parsing. Made device_t sanitise subtags better. Previously you could cause an assertion failure or crash MAME by giving it unexpected relative tags via Lua or the debugger. Added help topic alias support, and reworked the data structures to improve the performance of looking up debugger commands and help topics. Removed the "ref" parameter from debugger command functions (std::bind can hold extra argument values for you if you need them). Also added an error message if duplicate debugger commands are registered. Updated help for commands that changed syntax, and also updated summaries for some commands that had changed in the past without corresponding help updates.
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-3/+3
| | | | | | | | | | * 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-0/+1
|
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-0/+4
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-252-4/+4
| | | | | | | | | | | | | | | | 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).
* -sparc: Use memory_access_specific for a minor speedup, nw Ryan Holtz2020-05-202-2/+2
|
* -sun4: Make use of multiple address spaces in the SPARC core rather than ↵ Ryan Holtz2020-05-203-60/+61
| | | | having the MMU handle it all. [Ryan Holtz]
* -sparc: Fixed FPU exception handling and IU interlocking. All SPARCstation 2 ↵ Ryan Holtz2020-05-172-193/+221
| | | | tests pass. [Ryan Holtz]
* sparc: remove unused file from when device was renamed (nw) hap2020-04-282-4740/+2
|