Commit Graph

86 Commits

Author SHA1 Message Date
Vas Crabb
9121d74344 check number of bits in BITSWAPnn and expand up to 64 2016-08-16 17:53:22 +10:00
Vas Crabb
8aebdfc06d replace BITSWAP8/16/24/32 macros with constexpr function that works for any number of bits 2016-08-16 17:25:19 +10:00
Vas Crabb
066dab4bde better enum increment/decrement operators:
* deduce underlying type rather than assuming int
* return old value from post-increment/decrement
* return reference from pre-increment/decrement
2016-07-11 23:18:16 +10:00
Miodrag Milanovic
d34724b3ab - removed FUNC_NULL macro
- made emu_timer register_save properly handle timer_expired_delegate()
- removed timer_expired_func and calls using it
2016-07-01 11:47:12 +02:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02:00
Vas Crabb
20833d9530 nullptr to nullptr doesn't deserve a warning (nw) 2016-06-16 17:42:58 +10:00
Vas Crabb
523b8d1de8 Fix GCC6 warnings 2016-06-16 17:35:02 +10:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
Miodrag Milanovic
91605d3f4d clang-modernize part 1 (nw) 2015-12-03 18:17:25 +01:00
Miodrag Milanovic
5232ca932a force delete of copy constructor and operator = (nw) 2015-12-03 15:54:13 +01:00
Aaron Giles
1763f18b96 License self-service.
License self-service. Mostly adding attribution where I made significant
contributions. In a few cases files I previously missed were
default-attributed to Nicola.
2015-05-25 10:24:34 -07:00
Miodrag Milanovic
6b04fd7f05 Added some for Nathan and some more for Nicola (nw) 2015-05-11 14:42:31 +02:00
Miodrag Milanovic
6d902a08bd Added dummy license headers for EMU section (nw) 2015-05-07 10:45:57 +02:00
Miodrag Milanovic
54f8b3ae5d moved all to std::string (nw) 2015-04-22 11:30:45 +02:00
Miodrag Milanovic
6f9d015934 Added #include <string> in emucore.h (sorry will do a full build)
Converted some astring to std::string (nw)
2015-04-12 19:55:13 +02:00
Alex W. Jackson
2bd0eb2b0d Fix accidentally reversed #if (nw) 2015-03-31 23:45:14 -04:00
Vas Crabb
ac996b6f97 Fix bad breakage - sorry guys 2015-04-01 13:59:25 +11:00
Vas Crabb
8a4145b48c Start removing the use of OSD macros outside OSD since core objects are shared between OSD builds 2015-04-01 13:51:10 +11:00
Olivier Galibert
f4a04ca8e5 Whatever, I'll keep what I need locally, as always (nw) 2015-03-21 10:46:40 +01:00
Olivier Galibert
ec7e08d074 Use the special asserts only for regression testing (nw) 2015-03-20 23:09:06 +01:00
Oliver Stöneberg
b41949161b assert_always is basically fatalerror() - so it should always bail out (nw) 2015-03-20 15:42:27 +01:00
Oliver Stöneberg
6308e9f2e0 moved assert replacement back to old location (nw)
also included the change from Vas to always include assert.h to protect
against later rogue includes after redefinition
2015-03-20 15:34:47 +01:00
Oliver Stöneberg
902976c47b Revert "If you're planning to redefine something, you should #include the definition you plan to walk over"
This reverts commit 4282a7c9f2.
2015-03-20 14:10:58 +01:00
Oliver Stöneberg
29406b799d Revert "there is no way something called assert_always should ever be compiled out - people should be able to depend on side effects of something with 'always' in the name"
This reverts commit 5ffe5ce551.
2015-03-20 14:10:24 +01:00
Oliver Stöneberg
d5b0f5c30e Revert "Changing FASTDEBUG to be assert-free is too big a change to push through without public discussion"
This reverts commit ca94bb7905.
2015-03-20 14:10:06 +01:00
Vas Crabb
ca94bb7905 Changing FASTDEBUG to be assert-free is too big a change to push through without public discussion 2015-03-20 23:56:45 +11:00
Vas Crabb
4282a7c9f2 If you're planning to redefine something, you should #include the definition you plan to walk over 2015-03-20 23:48:11 +11:00
Vas Crabb
5ffe5ce551 there is no way something called assert_always should ever be compiled out - people should be able to depend on side effects of something with 'always' in the name 2015-03-20 23:45:12 +11:00
Oliver Stöneberg
bff99e6130 disabled assert replacement for now since it doesn't compile anymore (nw)
emu_fatalerror is unknown to code in the includes / also assert_always()
does nothing in non-DEBUG builds
2015-03-20 13:15:46 +01:00
Vas Crabb
0c7e07d96b Fix build - come on guys, there's no way this could've possibly worked for anyone 2015-03-20 23:07:55 +11:00
Oliver Stöneberg
c61c31ee06 moved assert replacement inside emucore.h so it is actually used / removed assert.h include from some headers and added it to lots of source 2015-03-20 12:19:40 +01:00
couriersud
d904c86c94 Removed sstream include. (nw) 2015-01-31 16:39:08 +01:00
couriersud
9a168f7c0d Remove inlining of non-performance relevant exceptions and fatalerror. 2015-01-14 02:11:09 +01:00
Wilbert Pol
dedb5c5d22 Move some includes around to fix compile errors on OSX; if this breaks any other environments then feel free to revert this. (nw) 2014-12-29 23:23:51 +01:00
Alex W. Jackson
adfefa9f34 Fix debugger memory display of little-endian memory regions [Alex Jackson] 2014-12-09 21:18:05 -05:00
Wilbert Pol
fdf638d6d3 Prevent other possible bad things happening (nw) 2014-06-23 20:35:17 +00:00
Wilbert Pol
0a6b226deb Different version of OSX segfault fix (nw) 2014-06-23 20:02:16 +00:00
Olivier Galibert
01147293de That was not supposed to be in... (nw) 2014-03-28 22:36:30 +00:00
Olivier Galibert
65d778cad3 h8: Rewrite [O. Galibert]
(mess) mu100: Main screen turn on [O. Galibert]
2014-03-25 21:53:54 +00:00
Oliver Stöneberg
2e5ea37f65 removed mame_* aliases and just use core_* functions (nw) 2014-03-24 22:05:08 +00:00
Aaron Giles
4ea9df02a1 Moved core template container classes up from emutempl.h to coretmpl.h:
[Aaron Giles]
 * these classes now no longer take a resource_pool; everything is
    managed globally -- this means that objects added to lists must be
    allocated with global_alloc
 * added new auto_pointer<> template which wraps a pointer and auto-frees
    it upon destruction; it also defaults to NULL so it doesn't need to
    be explicitly initialized
 * moved tagged_list template to tagmap.h

Redo of the low-level memory tracking system: [Aaron Giles]
 * moved low-level tracking out of emu\emualloc into lib\util\corealloc
    so it can be shared among all components and used by core libraries
 * global_alloc and friends no longer use a resource pool to track
    allocations; turns out this was a wholly redundant system that wasted
    a lot of memory
 * removed global_resource_pool entirely
 * added global_free_array to delete arrays allocated with 
    global_alloc_array
 * added tracking of object versus array allocation; we will now error
    if you use global_free on an array, or global_free_array on an object

Added new utility helper const_string_pool which can be used to 
efficiently accumulate strings that are not intended to be modified.
Used by updated makelist and software list code. [Aaron Giles]

Updated png2bdc and makelist tools to not leak memory and use more modern
techniques (no more MAX_DRIVERS in makelist, for example). [Aaron Giles]

Deprecated auto_strdup and removed all uses by way of caller-managed 
astrings and the software list rewrite. [Aaron Giles]

Rewrote software list management: [Aaron Giles]
 * removed the notion of a software_list that is separate from a
    software_list_device; they are one and the same now
 * moved several functions into device_image_interface since they really
    didn't belong in the core software list class
 * lots of simplification as a result of the above changes

Additional notes (no whatsnew):

Moved definition of FPTR to osdcomm.h.

Some changes happened in the OSD code to fix issues, especially regarding
freeing arrays. SDL folks may need to fix up some of these.

The following devices still are using tokens and should be modernized
(I found them because they kept their token as void * and tried to
delete it, which you can't):

namco_52xx_device (mame/audio/namco52.c)
namco_54xx_device (mame/audio/namco54.c)
namco_06xx_device (mame/machine/namco06.c)
namco_50xx_device (mame/machine/namco50.c)
namco_51xx_device (mame/machine/namco51.c)
namco_53xx_device (mame/machine/namco53.c)
voodoo_device (emu/video/voodoo.c)
mos6581_device (emu/sound/mos6581.c)
aica_device (emu/sound/aica.c)
scsp_device (emu/sound/scsp.c)
dmadac_sound_device (emu/sound/dmadac.c)
s3c2440_device (emu/machine/s3c2440.c)
wd1770_device (emu/machine/wd17xx.c)
latch8_device (emu/machine/latch8.c)
duart68681_device (emu/machine/68681.c)
s3c2400_device (emu/machine/s3c2400.c)
s3c2410_device (emu/machine/s3c2410.c)
strataflash_device (mess/machine/strata.c)
hd63450_device (mess/machine/hd63450.c)
tap_990_device (mess/machine/ti99/990_tap.c)
omti8621_device (mess/machine/omti8621.c)
vdt911_device (mess/video/911_vdt.c)
apollo_graphics_15i (mess/video/apollo.c)
asr733_device (mess/video/733_asr.c)
2014-03-11 15:54:58 +00:00
Oliver Stöneberg
5278254236 rest of ATTR_PRINTF review (nw) 2014-02-25 12:25:33 +00:00
Oliver Stöneberg
ab7bfd7876 removed DECL_NORETURN in favor of ATTR_NORETURN (nw) 2013-08-22 09:51:55 +00:00
Oliver Stöneberg
e533ab056f added makefile define FASTDEBUG to disable some debug-specific stuff, that is causing performance hits (for e.g. profiling) [Oliver Stöneberg] 2013-08-02 13:43:10 +00:00
Aaron Giles
b963a48cdf Split eeprom.c into a base class base_eeprom_device and a serial-specific
subclass serial_eeprom_device. Moved the latter into its own file
eepromser.c and significantly cleaned up/simplified the code. The new
code should be functionally the same as the previous code, but expect that
to change soon. As a side-effect, the size and bus width of the EEPROM is now
specified in the ADD macro rather than in the interface structure.
2013-07-27 03:28:25 +00:00
Nathan Woods
7c0baa1f6d Rewrite of 6809/6309/konamicpu cores. 6809 should be cycle exact based on the
6809 datasheet.  Inferred 6309 cycle exact timings.  Not sure about the Konami
timings; they are definitly different from the previous core but the previous
timings were a guess.

Get ready for regressions...
2013-03-04 13:29:33 +00:00
Oliver Stöneberg
34bf46e829 removed unused crosscast() function from emucore.h (nw) 2013-01-31 13:54:11 +00:00
smf-
1940866c70 output of new srcclean changes that are relatively small [smf] 2013-01-11 19:43:14 +00:00
Miodrag Milanovic
0e19f641d3 Cleanups and version bump 2013-01-11 07:32:46 +00:00
Oliver Stöneberg
14a9ce97cd log all unhandled exceptions in running_machine::run() / handle bad_cast exceptions thrown by dynaic_cast - gives proper error in osc1000b and pippin now (nw) 2013-01-01 17:49:06 +00:00