summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/pdp8
Commit message (Collapse)AuthorAgeFilesLines
* dynax/dynax.cpp: Added DIP switches that are sometimes populated to Ougon no ↵ Vas Crabb2024-11-271-4/+4
| | | | | | Pai. Also fixed a bunch more #include guards.
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-272-5/+5
| | | | (#12822)
* diexec: remove vestigal execute_input_lines() hap2024-09-182-12/+0
|
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-172-22/+8
| | | | | | | | | | | | 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.
* Interrupt callback rationalization AJR2023-03-111-2/+2
| | | | | | | | | | | - Make CPUs pass interrupt return PC as a second argument to standard_irq_callback - Add interrupt return PC to "Stopped at interrupt" message produced by debugger 'gint' command - Add messages to trace logs whenever interrupts are accepted - Attempt to step over interrupt routines for applicable debugger commands - Eliminate standard_irq_callback_member wrapper method - Update many CPU cores to invoke standard_irq_callback at the start of or during interrupt processing, rather than at the end or when the input line changes - Remove IRQ callbacks for some input lines that never cause interrupts - mb88xx, mcs48: Add IRQ callbacks for internal interrupts
* pdp8: Have disassembler comment on instructions using memory reference ↵ AJR2022-05-221-1/+7
| | | | instructions using current page mode in page zero
* src/devices/cpu: Remove #include "debugger.h" where no longer necessary AJR2022-04-061-1/+0
|
* Debugger feature improvements AJR2022-03-272-24/+32
| | | | | | | | - 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
* hd6120: Improve sequencing for OPR group 1 AJR2021-10-111-13/+15
|
* hd6120: IAC also complements LINK on carry out AJR2021-10-111-1/+7
|
* debugger: Extended target address syntax to include device/address space. ↵ Vas Crabb2021-10-011-2/+2
| | | | | | | | | | | | | | | | | | | (#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.
* hd6120: Fix effect of TAD on LINK flag AJR2021-08-261-3/+1
|
* decmate2: Patch one ROM file in 31Z BIOS (#2) to correct JMP I instruction AJR2021-08-181-3/+3
| | | | * pdp8dasm: Minor fix for weird OPRs
* srcclean in preparation for release Vas Crabb2021-06-271-1/+1
|
* hd6120: Prevent PEX from changing AC AJR2021-06-141-0/+1
|
* hd6120: Rewrite notes AJR2021-06-121-14/+28
|
* srcclean for release Vas Crabb2021-05-231-1/+1
|
* hd6120: Don't clear INTGNT after an external IOT when executing in panel mode AJR2021-05-201-1/+1
|
* decmate2, decmate3: Emulate HD-6120 CPU; add enough I/O to initialize ↵ AJR2021-05-192-0/+1573
| | | | various peripheral ICs and run tests on disk controller
* pdp8: Rewrite disassembler; add alternate disassembly for HD-6120 AJR2021-05-192-148/+898
| | | | * unidasm: Add option to use octal instead of hexadecimal for output
* pdp8: Make this skeleton CPU file buildable AJR2021-05-092-16/+12
|
* pdp1: Clean up callbacks and start encapsulating peripherals AJR2020-09-132-3/+3
| | | | * pdp1, pdp8: Apply word shift to address spaces
* Make many device_execute_interface functions noexcept, including the ↵ AJR2019-11-092-6/+6
| | | | | | | | "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)
* Reshuffle some stuff: Vas Crabb2018-03-281-2/+2
| | | | | | * 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
* don't pass so many naked pointers around (nw) Vas Crabb2018-03-252-3/+3
|
* Blind faith fixed long names for almost all CPUs (nw) angelosa2018-03-151-1/+1
| | | | mb86235.cpp: renamed pcs_ptr into pcp, and added a file for future interpreter core (nw)
* dvdisasm: Overhaul [O. Galibert] Olivier Galibert2017-11-264-43/+38
| | | | | | | | Disassemblers are now independant classes. Not only the code is cleaner, but unidasm has access to all the cpu cores again. The interface to the disassembly method has changed from byte buffers to objects that give a result to read methods. This also adds support for lfsr and/or paged PCs.
* make device_memory_interface slightly less of a special case, use a typedef ↵ Vas Crabb2017-07-101-1/+1
| | | | to avoid nested templates everywhere (nw)
* dimemory: Lift the cap on the number of address spaces per device [O. Galibert] Olivier Galibert2017-07-032-2/+2
|
* One last device type to fix (nw) AJR2017-06-192-3/+3
|
* Self-registering devices prep: Vas Crabb2017-02-271-1/+1
| | | | | | | | | | | | | | * 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.
* Changed disassembler infrastructure to not use char buffers internally Nathan Woods2016-11-203-12/+4
|
* Changed the pdp8 disassembler to use 'std::ostream &' internally Nathan Woods2016-11-161-33/+38
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-223-29/+29
| | | | | 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
* disassembly window fixes (nw) smf-2016-10-191-1/+1
|
* Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for ↵ smf-2016-09-281-0/+1
| | | | everything in the debugger, which allows interruptible cpu's to work properly. [smf]
* Revert "Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for ↵ Lord-Nightmare2016-09-271-1/+0
| | | | | | everything in the debugger, which allows interruptible cpu's to work properly. [smf]" This reverts commit 1a186c8a3a16a7ce99d7df2dd217a7552b696c92.
* Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for ↵ smf-2016-09-271-0/+1
| | | | everything in the debugger, which allows interruptible cpu's to work properly. [smf]
* NULL->nullptr, instead of DEVCB_NULL use always DEVCB_NOOP to prevent ↵ Miodrag Milanovic2016-04-241-2/+2
| | | | confusion (nw)
* reverting: Miodrag Milanovic2016-01-202-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-162-2/+2
| | | | fix start project for custom builds in Visual Studio (nw)
* Revert "remove const (nw)" Miodrag Milanovic2016-01-132-2/+2
| | | | This reverts commit e96fd34dd817f1113daf9e6b099a8f40cfd1ed6d.
* remove const (nw) Miodrag Milanovic2016-01-112-2/+2
|
* Return std::string objects by value rather than pass by reference AJR2016-01-102-3/+2
| | | | | | - strprintf is unaltered, but strformat now takes one fewer argument - state_string_export still fills a buffer, but has been made const - get_default_card_software now takes no arguments but returns a string
* override part 2 (nw) Miodrag Milanovic2015-12-051-15/+15
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-082-0/+0
|
* Naming update, nw therealmogminer@gmail.com2015-10-023-3/+3
|
* Move all devices into separate part of src tree (nw) Miodrag Milanovic2015-09-133-0/+536