summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/cosmac
Commit message (Collapse)AuthorAgeFilesLines
* Move all devices into separate part of src tree (nw) Miodrag Milanovic2015-09-133-1930/+0
|
* blame balrog for this :) (NW) Cowering2015-07-081-1/+1
|
* memory: Remove support for decrypted bases, use an address space instead [O. ↵ Olivier Galibert2015-06-241-1/+1
| | | | Galibert]
* removed restriction link for BSD3 licensed files (nw) Miodrag Milanovic2015-05-072-6/+0
|
* moved all to std::string (nw) Miodrag Milanovic2015-04-222-5/+5
|
* string -> str rename due to future conflicts (nw) Miodrag Milanovic2015-04-122-3/+3
|
* There is no implicit conversion to char* in std::string (nw) Miodrag Milanovic2015-04-121-1/+1
|
* various cpu cores: don't state save icount (nw) Alex W. Jackson2014-07-091-1/+0
|
* devcv2 -> devcb (nw) Miodrag Milanovic2014-05-141-30/+30
|
* fixed usage of uninitialized member and heap-buffer-overflow in ↵ Oliver Stöneberg2014-05-081-0/+1
| | | | cosmac_device (nw)
* Cleanups and version bumpmame0153 Miodrag Milanovic2014-04-071-9/+9
|
* cosmac: Added write line members for the input lines. [Curt Coder] Curt Coder2014-03-311-0/+8
|
* cdp1802: devcb2. (nw) Curt Coder2014-02-262-84/+92
|
* cdp1802: devcb for the state codes. (nw) Curt Coder2014-02-252-11/+4
|
* License tags. (nw) Curt Coder2013-10-163-0/+6
|
* did modern cpu cores as well (nw) Miodrag Milanovic2013-06-212-5/+5
|
* Cleanups and version bumpmame0148u5 Miodrag Milanovic2013-05-201-23/+23
|
* (MESS) Added skeleton driver for RCA COSMAC Microkit. [Bill Degnan, Curt Coder] Curt Coder2013-05-113-256/+462
| | | cosmac: Added the original CDP1801 CPU variant and rewrote the disassembler. [Curt Coder]
* [COSMAC] R registers are supposed to contain random data on start-up (nw) Oliver Stöneberg2013-03-101-1/+2
|
* fixed uninitialized members in src/emu/cpu/cosmac/cosmac.c (nw) Oliver Stöneberg2013-03-091-0/+3
|
* pass this instead of NULL and options instead of 0 in the class based cpu ↵ smf-2013-03-061-1/+1
| | | | cores (nw)
* fixed uninitialized variable in src/emu/cpu/cosmac/cosmac.c (nw) Oliver Stöneberg2013-02-161-0/+1
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-113-324/+324
|
* (MESS) comx35: FDC WIP. (nw) Curt Coder2012-12-111-1/+1
|
* cosmac: Added missing IRQ acknowledges. [Curt Coder] Curt Coder2012-11-071-0/+6
|
* Since nobody checks for NULLs anyway, make Aaron Giles2012-09-191-2/+2
| | | | | | | | | | | | device_memory_interface::space() assert against NULL and return a reference, and pushed references throughout all address space usage in the system. Added a has_space() method to check for those rare case when it is ambiguous. [Aaron Giles] Also reinstated the generic space and added fatal error handlers if anyone tries to actually read/write from it.
* Clean-ups and version bumpmame0147 Miodrag Milanovic2012-09-171-1/+1
| | | note: hoarded dump removed too from coco_cart.xml, this will not be tolerated
* Enum and union normalization. Aaron Giles2012-09-161-2/+2
|
* added missing \n to some fatalerror() calls (no whatsnew) Oliver Stöneberg2012-09-071-1/+1
|
* Clean-ups and version bumpmame0143u1 Angelo Salese2011-07-111-1/+1
|
* Fixed COSMAC CPU debugger PC. [Curt Coder] Curt Coder2011-06-292-2/+10
|
* Added missing COSMAC CPU configurations. (nw) Curt Coder2011-05-221-10/+2
|
* Reimplemented devcb using delegates and classes. Unified the logic Aaron Giles2011-05-021-18/+18
| | | | | | for identifying targets and simplified the code. [Aaron Giles] I have some further ideas but this is a good midway point.
* Collapsed device_config and device_t into one class. Updated all Aaron Giles2011-04-272-210/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existing modern devices and the legacy wrappers to work in this environment. This in general greatly simplifies writing a modern device. [Aaron Giles] General notes: * some more cleanup probably needs to happen behind this change, but I needed to get it in before the next device modernization or import from MESS :) * new template function device_creator which automatically defines the static function that creates the device; use this instead of creating a static_alloc_device_config function * added device_stop() method which is called at around the time the previous device_t's destructor was called; if you auto_free anything, do it here because the machine is gone when the destructor is called * changed the static_set_* calls to pass a device_t & instead of a device_config * * for many devices, the static config structure member names over- lapped the device's names for devcb_* functions; in these cases the members in the interface were renamed to have a _cb suffix * changed the driver_enumerator to only cache 100 machine_configs because caching them all took a ton of memory; fortunately this implementation detail is completely hidden behind the driver_enumerator interface * got rid of the macros for creating derived classes; doing it manually is now clean enough that it isn't worth hiding the details in a macro
* Switch from m_machine to machine() everywhere. In some cases this Aaron Giles2011-04-181-1/+1
| | | | | | | | | | | meant adding a machine() accessor but it's worth it for consistency. This will allow future changes from reference to pointer to happen transparently for devices. [Aaron Giles] Simple S&R: m_machine( *[^ (!=;]) machine()\1
* BIG update. Aaron Giles2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove redundant machine items from address_space and device_t. Neither machine nor m_machine are directly accessible anymore. Instead a new getter machine() is available which returns a machine reference. So: space->machine->xxx ==> space->machine().xxx device->machine->yyy ==> device->machine().yyy Globally changed all running_machine pointers to running_machine references. Any function/method that takes a running_machine takes it as a required parameter (1 or 2 exceptions). Being consistent here gets rid of a lot of odd &machine or *machine, but it does mean a very large bulk change across the project. Structs which have a running_machine * now have that variable renamed to m_machine, and now have a shiny new machine() method that works like the space and device methods above. Since most of these are things that should eventually be devices anyway, consider this a step in that direction. 98% of the update was done with regex searches. The changes are architected such that the compiler will catch the remaining errors: // find things that use an embedded machine directly and replace // with a machine() getter call S: ->machine-> R: ->machine\(\)\. // do the same if via a reference S: \.machine-> R: \.machine\(\)\. // convert function parameters to running_machine & S: running_machine \*machine([^;]) R: running_machine \&machine\1 // replace machine-> with machine. S: machine-> R: machine\. // replace &machine() with machine() S: \&([()->a-z0-9_]+machine\(\)) R: \1 // sanity check: look for this used as a cast (running_machine &) // and change to this: *(running_machine *)
* Created new enum type address_spacenum for specifying an address Aaron Giles2011-03-272-2/+2
| | | | | | | | | | | | space by index. Update functions and methods that accepted an address space index to take an address_spacenum instead. Note that this means you can't use a raw integer in ADDRESS_SPACE macros, so instead of 0 use the enumerated AS_0. Standardized the project on the shortened constants AS_* over the older ADDRESS_SPACE_*. Removed the latter to prevent confusion. Also centralized the location of these definitions to memory.h.
* Removed short name as parameter from device_config this way it is not ↵ Miodrag Milanovic2011-02-111-1/+1
| | | | | mandatory any more. Most of files is rolled back to previous state. (no whatsnew)
* - Added shortname to devices in order to make ROM loading per device ↵ Miodrag Milanovic2011-02-101-1/+1
| | | | | | possible. [Miodrag Milanovic] - Updated all devices containing ROM regions to have short names and all modern devices too - Created new validation to check existence of short name if device contain ROM region defined
* Define new macro ALLOW_SAVE_TYPE which can be used to declare enums as Aaron Giles2011-02-102-5/+7
| | | | | | | valid save types on a case-by-case basis. Updated the cosmac CPU core to do this for its mode and state enums, which were previously failing.
* Get rid of state_save_register_device_* macros in favor of direct Aaron Giles2011-02-091-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls on the device object. Regex used: state_save_register_device_item( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\) \3->save_item\1\(\2NAME\(\6\),\5\4\7\) state_save_register_device_item_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\) \3->save_item\1\(\2NAME\(\6\),\5\4\7\) state_save_register_device_item_2d_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\) \3->save_item\1\(\2NAME\(\6\),\5\4\7\) state_save_register_device_item_bitmap( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\) \3->save_item\1\(\2NAME\(\*\6\),\5\4\7\) state_save_register_device_item_pointer( *)\(( *)([^,]+), *([^,]+),( *)([^,]+), *([^ )]+)( *)\) \3->save_pointer\1\(\2NAME\(\6\),\5\7,\5\4\8\) this->save_ save_ (save_item[^;]+), *0( *)\); \1\2\); (save_pointer[^;]+), *0( *)\); \1\2\);
* running_device -> device_t Aaron Giles2010-12-311-2/+2
| | | | | They both already existed. No sense in having two names for the same object type.
* Cleanups and version bump.mame0140 Aaron Giles2010-10-212-27/+27
|
* Refactored the CDP1869 chip into a C++ device. [Curt Coder] Curt Coder2010-10-192-0/+11
|
* Converted the RCA CDP1802 CPU into a C++ device. Refactored cidelsa.c to use ↵ Curt Coder2010-10-183-0/+1760
the new RCA COSMAC CPU. [Curt Coder]