summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/dislot.h
Commit message (Collapse)AuthorAgeFilesLines
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
* Removed support for static config from slots and converted the two devices ↵ smf-2013-12-191-7/+0
| | | | using it to machine config fragments [smf]
* Slot options can now be configured inline without creating an array. Legacy ↵ smf-2013-12-161-59/+89
| | | | support for old configuration uses MCFG_FRAGMENT_ADD, which required changing so the current device could be updated by the fragment. [smf]
* Added a new macro MCFG_DEVICE_CARD_DEFAULT_BIOS, which can be used in the ↵ Curt Coder2013-11-131-0/+6
| | | | machine config to set the default BIOS for a slot card device. [Curt Coder]
* Marking some of my core files (nw) Miodrag Milanovic2013-10-161-0/+2
|
* Added support for machine config fragments that are applied when the cart is ↵ smf-2013-05-291-0/+6
| | | | loaded, converted NCR 53C7xx to devcb2 as an example [smf]
* Moved default card config, device inputs and clock off the slot interface so ↵ smf-2013-05-291-13/+32
| | | | they can be specified for all cards [smf]
* (MESS) Be a bit more fine-grained in when to mark slot options as internal. (nw) Wilbert Pol2013-02-271-0/+1
|
* fix compile (nw) Miodrag Milanovic2013-02-141-1/+1
|
* uimain.c: fixed handling of slot options which have only internal options ↵ Fabio Priuli2013-02-031-0/+1
| | | | | available (and hence are not configurable by the end-user) [Fabio Priuli]
* output of new srcclean changes that are relatively small [smf] smf-2013-01-111-6/+3
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-7/+7
|
* Fixed for slot menus + some cleanup (nw) Miodrag Milanovic2012-06-051-1/+1
|
* Expanded slot definition with clock and config so we can better define fixed ↵ Miodrag Milanovic2012-06-051-2/+10
| | | | slot devices where needed (no whatsnew)
* Added support for fixed slots (used for MAME) and ability to create internal ↵ Miodrag Milanovic2012-05-231-5/+11
| | | | only slot options (for MESS) (no whatsnew)
* Added possibility to see subslot devices when they are added from softlist, ↵ Miodrag Milanovic2012-02-191-1/+1
| | | | also removed "const" from get_default_card_software, that enable better usage and no need for it to be like that (no whatsnew)
* Move devices into a proper hierarchy and handle naming Aaron Giles2012-01-241-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and paths consistently for devices, I/O ports, memory regions, memory banks, and memory shares. [Aaron Giles] NOTE: there are likely regressions lurking here, mostly due to devices not being properly found. I have temporarily added more logging to -verbose to help understand what's going on. Please let me know ASAP if anything that is being actively worked on got broken. As before, the driver device is the root device and all other devices are owned by it. Previously all devices were kept in a single master list, and the hierarchy was purely logical. With this change, each device owns its own list of subdevices, and the hierarchy is explicitly manifest. This means when a device is removed, all of its subdevices are automatically removed as well. A side effect of this is that walking the device list is no longer simple. To address this, a new set of iterator classes is provided, which walks the device tree in a depth first manner. There is a general device_iterator class for walking all devices, plus templates for a device_type_iterator and a device_interface_iterator which are used to build iterators for identifying only devices of a given type or with a given interface. Typedefs for commonly-used cases (e.g., screen_device_iterator, memory_interface_iterator) are provided. Iterators can also provide counts, and can perform indexed lookups. All device name lookups are now done relative to another device. The maching_config and running_machine classes now have a root_device() method to get the root of the hierarchy. The existing machine->device("name") is now equivalent to machine->root_device().subdevice("name"). A proper and normalized device path structure is now supported. Device names that start with a colon are treated as absolute paths from the root device. Device names can also use a caret (^) to refer to the owning device. Querying the device's tag() returns the device's full path from the root. A new method basetag() returns just the final tag. The new pathing system is built on top of the device_t::subtag() method, so anyone using that will automatically support the new pathing rules. Each device has its own internal map to cache successful lookups so that subsequent lookups should be very fast. Updated every place I could find that referenced devices, memory regions, I/O ports, memory banks and memory shares to leverage subtag/subdevice (or siblingtag/siblingdevice which are built on top). Removed the device_list class, as it doesn't apply any more. Moved some of its methods into running_machine instead. Simplified the device callback system since the new pathing can describe all of the special-case devices that were previously handled manually. Changed the core output function callbacks to be delegates. Completely rewrote the validity checking mechanism. The validity checker is now a proper C++ class, and temporarily takes over the error and warning outputs. All errors and warnings are collected during a session, and then output in a consistent manner, with an explicit driver and source file listed for each one, as well as additional device and/or I/O port contexts where appropriate. Validity checkers should no longer explicitly output this information, just the error, assuming that the context is provided. Rewrote the software_list_device as a modern device, getting rid of the software_list_config abstraction and simplifying things. Changed the way FLAC compiles so that it works like other external libraries, and also compiles successfully for MSVC builds.
* ups, it should be NULL (no whatsnew) Miodrag Milanovic2011-11-231-1/+1
|
* Fixed handling slot/image options so it's possible to override slot setting ↵ Miodrag Milanovic2011-11-231-1/+2
| | | | by softlist (no whatsnew)
* Merge from MESS Nathan Woods2011-11-161-0/+2
|
* Fixed initialization order for slot devices [Nathan Woods] Miodrag Milanovic2011-07-281-1/+1
|
* Fix for softlist loading (no whatsnew) Miodrag Milanovic2011-07-251-1/+1
|
* Small core changes to enable making slot device also a image device (no ↵ Miodrag Milanovic2011-07-031-1/+1
| | | | whatsnew)
* Added default port values support for slot devices (no whatsnew) Miodrag Milanovic2011-06-291-3/+5
|
* Cleanups and version bumpmame0142u3 Angelo Salese2011-05-081-2/+2
|
* Cleaned slot implementation, and added few more macros (no whatsnew) Miodrag Milanovic2011-05-041-1/+17
|
* Added support for dynamic devices, will add more info for log Miodrag Milanovic2011-05-041-0/+50
later when there are more support added (no whatsnew)