summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/upd78k
Commit message (Collapse)AuthorAgeFilesLines
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-274-21/+21
| | | | (#12822)
* upd78k2: Correct decoding of ROR4 and ROL4 in disassembler AJR2024-04-011-2/+2
|
* mcs96.cpp, upd78k0.cpp, upd78k2.cpp, upd78k4.cpp: Replace BYTE_XOR_LE with ↵ AJR2022-06-183-16/+16
| | | | new casting helper
* Debugger feature improvements AJR2022-03-274-30/+40
| | | | | | | | - 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
* Add skeleton CPU device and disassembler for NEC 78K/IV (uPD784XXX) architecture AJR2022-01-158-12/+1935
|
* debugger: Extended target address syntax to include device/address space. ↵ Vas Crabb2021-10-013-6/+6
| | | | | | | | | | | | | | | | | | | (#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.
* upd78k1/k2/k3 disassemblers: Fix branch destinations for A.n, X.n and PSW.n ↵ AJR2020-08-082-2/+2
| | | | modes of BT(CLR) and BF(SET)
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-256-39/+28
| | | | | | | | | | | | | | | | 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).
* Minor disassembler output fix for uPD78K1/78K2 SFR-mode RMW instructions AJR2020-04-151-1/+1
|
* upd78k3: Fix disassembly of MOV A, !addr16 AJR2020-03-281-2/+2
|
* upd78k3d: Fix minor mistake in DBNZ disassembly AJR2020-03-251-1/+1
|
* upd78k3: Fix SFR identification in disassembly of MOV A,sfr and MOV sfr,A ↵ AJR2020-03-231-4/+4
| | | | opcodes (SFR pair names were erroneously used instead)
* New machines marked as NOT_WORKING AJR2020-03-092-4/+31
| | | | | | | | | | | | | ---------------------------------- K1 Digital Multi-Dimensional Synthesizer [DBWBP] K1rII Digital Multi-Dimensional Synthesizer Module [DBWBP] K5 Digital Multi-Dimensional Synthesizer [DBWBP] New clones marked as NOT_WORKING -------------------------------- K1m Digital Multi-Dimensional Synthesizer Module [DBWBP] K1r Digital Multi-Dimensional Synthesizer Module [DBWBP] K5m Digital Multi-Dimensional Synthesizer Module [DBWBP]
* New machines marked as NOT_WORKING AJR2020-02-252-8/+61
| | | | | ---------------------------------- Roland R-8M Total Percussion Sound Module (v1.04) [DBWBP]
* upd78k2d, upd78k3d: Fix order of operands in instructions using two ↵ AJR2020-02-252-12/+12
| | | | saddrs/saddrps (nw)
* upd78k2d: Fix a whole batch of mistakes with disassembling 01-prefixed ↵ AJR2020-02-251-12/+12
| | | | alternate-bank instructions (nw)
* srcclean and manual adjustments (nw) Vas Crabb2020-02-231-2/+2
|
* upd78k3d: Fix disassembly of 01-prefixed SFR + immediate word/byte ↵ AJR2020-02-211-2/+2
| | | | instructions (nw)
* upd78k3d: Correct indexing for 0A-prefixed instructions; misc. other notes & ↵ AJR2020-02-175-9/+17
| | | | formatting adjustments (nw)
* upd78k3: Include IRAM in program space; clean up code using shared pointer ↵ AJR2020-02-162-37/+51
| | | | finder and helpers (nw)
* upd78k3d: PUSHU/POPU save/restore PSW instead of RP5 (nw) AJR2020-02-141-2/+8
|
* upd78k2: Fix register order (nw) AJR2020-02-121-2/+3
|
* New machines marked as NOT_WORKING AJR2020-02-126-0/+2286
| | | | | | | | | | | | ---------------------------------- Roland D-50 (Ver. 2.xx) [DBWBP, depblue] New NOT_WORKING clones ---------------------- Roland D-50 (Ver. 1.xx) [DBWBP] Roland D-550 [DBWBP] Add disassembler for NEC 78K/III architecture [AJR]
* upd78k1d: Bad masking, oops (nw) AJR2020-02-111-1/+1
|
* upd78k1d: Various subtle fixes (nw) AJR2020-02-111-9/+8
| | | | cit1500: Note pin count (nw)
* Add disassemblers for NEC 78K/0, 78K/I and 78K/II MCU types AJR2020-02-1012-0/+3969
hotd2: Make "Gun Sense" board a separate device