summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/dsp16
Commit message (Collapse)AuthorAgeFilesLines
* Move all devices into separate part of src tree (nw) Miodrag Milanovic2015-09-134-2164/+0
|
* memory: Remove support for decrypted bases, use an address space instead [O. ↵ Olivier Galibert2015-06-241-1/+1
| | | | Galibert]
* Sorted out cpu cores (nw) Miodrag Milanovic2015-05-134-6/+8
|
* Added dummy license headers for EMU section (nw) Miodrag Milanovic2015-05-073-0/+6
|
* Cleanups and version bumpmame0161 Miodrag Milanovic2015-04-291-1/+1
|
* moved all to std::string (nw) Miodrag Milanovic2015-04-223-112/+112
|
* string -> str rename due to future conflicts (nw) Miodrag Milanovic2015-04-122-7/+7
|
* Merge https://github.com/ZoeB/mame Vas Crabb2015-04-121-2/+2
|\
| * Fix various typos and spelling mistakes Zoë Blade2015-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm purposefully leaving /src/emu/bus/cbmiec/c1541.c's kernal.bin as it is, as this particular spelling mistake was originally made by Robert Russell, therefore is canon. See http://en.wikipedia.org/wiki/KERNAL for details. I'm also leaving /src/emu/machine/nscsi_bus.c's RECIEVE as I don't want to break anything, but it's worth someone looking into. I renamed some variables in /src/mame/drivers/sfbonus.c, /src/mame/video/tia.c and /src/mame/video/tia.h, so if anyone wants to verify I didn't break anything, that would be nice.
* | cstr() - > c_str() as preparation for move to std::string (nw) Miodrag Milanovic2015-04-112-25/+25
|/
* fixed most of the -Wunreachable-code-break and -Wunreachable-code-return ↵ Oliver Stöneberg2014-09-081-7/+14
| | | | warnings of clang 3.5 when compiling MESS (nw)
* fixed Michaël Banaan Ananas2014-04-041-2/+2
| | | | | | | | | | | | firewave: "And here's a few MESS/core ones I overlooked yesterday: s:\svn\mame\src\emu\cpu\dsp16\dsp16ops.inc(365) : warning C6316: Incorrect operator: tested expression is constant and non-zero. Use bitwise-and to determine whether bits are set. s:\svn\mame\src\emu\cpu\es5510\es5510.c(608) : warning C6201: Index '255' is out of valid index range '0' to '254' for possibly stack allocated buffer 'is_written'. s:\svn\mame\src\emu\cpu\es5510\es5510.c(608) : warning C6201: Index '255' is out of valid index range '0' to '254' for possibly stack allocated buffer 'is_read'. s:\svn\mame\src\emu\cpu\es5510\es5510.c(609) : warning C6201: Index '255' is out of valid index range '0' to '254' for possibly stack allocated buffer 'name'. s:\svn\mame\src\emu\cpu\es5510\es5510.c(666) : warning C6201: Index '255' is out of valid index range '0' to '254' for possibly stack allocated buffer 'name'. s:\svn\mame\src\emu\cpu\m68000\m68kcpu.c(681) : warning C6314: Incorrect order of operations: bitwise-or has higher precedence than the conditional-expression operator. Add parentheses to clarify intent. "
* dsp16 has an internal /2 divider Michaël Banaan Ananas2014-03-291-0/+2
|
* and more *.c -> *.inc renaming Oliver Stöneberg2014-03-192-1/+1
|
* Cleanups and version bumpmame0149u1 Miodrag Milanovic2013-07-233-149/+149
|
* DSP16 improvements. [Andrew Gardner] Andrew Gardner2013-06-264-118/+460
| | | | | | | | - Fixed R=M disassembly - Added flag formatting - Shadow register is hooked up - Opcode & flag fixes
* did modern cpu cores as well (nw) Miodrag Milanovic2013-06-211-1/+1
|
* Adds the QSound internal DSP ROM to the device. [Andrew Gardner] Andrew Gardner2013-04-301-0/+5
|
* pass this instead of NULL and options instead of 0 in the class based cpu ↵ smf-2013-03-061-1/+1
| | | | cores (nw)
* Cleanups and version bumpmame0148u1 Miodrag Milanovic2013-02-114-120/+120
|
* Switch -> if. (nw) Andrew Gardner2013-01-171-3/+3
|
* DSP16: The PC moves on from potentially all used opcodes now. [Andrew Gardner] Andrew Gardner2013-01-154-32/+133
| | | | | | | | | | | Out of whatsnew.txt: I believe I've roughed in each of the opcodes the QSound program uses (every opcode the dsp16 has except three, apparently). Even without all flags being set and conditions being tested, reasonable memory regions are being accessed. Unfortunately, though, I've found what I believe to be my first bad opcode (at PC=03e6 and will have to do a bit of spelunking to see what I can make of that).
* DSP16 : Additional opcodes. [Andrew Gardner] Andrew Gardner2013-01-141-29/+54
|
* DSP16: Additional opcodes & disassembly fixes. [Andrew Gardner] Andrew Gardner2013-01-124-74/+151
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-114-59/+59
|
* dsp16: Two more opcodes. Now for the fixed-point math enjoyment. (nw) Andrew Gardner2013-01-091-14/+40
|
* dsp16: Few more opcodes & spaces->tabs. (nw) Andrew Gardner2013-01-084-553/+678
|
* dsp16: Additional work (nw). Andrew Gardner2013-01-064-27/+113
| | | | | I'll do a full writeup when the whatsnew.txt comes out.
* dsp16: Simplification (nw) Andrew Gardner2013-01-052-18/+30
| | | | | Thanks for fixing the U64 compile issues earlier, Kale!
* Fix Compile Angelo Salese2013-01-051-2/+2
|
* dsp16: Added 16-bit immediate load opcode. [Andrew Gardner] Andrew Gardner2013-01-053-249/+332
| | | | | | Fixed reset behavior. Code reorganization.
* Dsp16: Added registers and implemented the goto opcode. [Andrew Gardner] Andrew Gardner2013-01-043-45/+428
|
* Since nobody checks for NULLs anyway, make Aaron Giles2012-09-191-1/+1
| | | | | | | | | | | | 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.
* fixed some printf format string warnings reported by cppcheck (no whatsnew) Oliver Stöneberg2012-09-081-1/+1
|
* Collapsed device_config and device_t into one class. Updated all Aaron Giles2011-04-272-158/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Cleanups and version bump.mame0141u2 Aaron Giles2011-02-093-31/+31
|
* Get rid of state_save_register_device_* macros in favor of direct Aaron Giles2011-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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\);
* Completed the DSP16A disassembler. [Andrew Gardner] Andrew Gardner2011-01-261-37/+129
| | | | | | | | | | | Notes out of whatsnew.txt * It's sure to have bugs, but it should get the job done for now. * It's unbelievable how many typos (major or otherwise) docs like this have. * I haven't heard from s_bastian about making the ROM images available in the monkey project, but we'll have 'em up as soon as he pops up again. * Does anyone know of any hardware that incorporated one of these? I'm looking for things to disassemble in the meantime :).
* A new WE DSP16A cpu disassembler. [Andrew Gardner] Andrew Gardner2011-01-253-0/+858
Notes out of whatsnew.txt * This uses modern devices, but has not been tested in a driver yet, so I may have done something wrong. I will fix it when the time comes. * 60% of the disassembler is complete. I will finish it over the next few days. * There are many similarities in execution to the dsp32, and the existing 32 code will come in handy when it's time to write the execution engine. * This thing is a pleasure compared to the dsp56k.