summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/mconfig.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-214/+0
|
* nw, add MCFG_FORCE_NO_DRC option, does not work for no apparent reason ↵ therealmogminer@gmail.com2015-06-271-0/+1
| | | | because our core architecture is crap
* moved all to std::string (nw) Miodrag Milanovic2015-04-221-1/+1
|
* some astring to std::string conversion (nw) Miodrag Milanovic2015-04-181-2/+2
|
* cstr() - > c_str() as preparation for move to std::string (nw) Miodrag Milanovic2015-04-111-1/+1
|
* modernized cage, dcs and midwayic (nw) Miodrag Milanovic2014-04-201-1/+0
| | | | | removed mcfglgcy.h and nvram legacy support in machine and mconfig also updated adsp2100 so I can do dcs changes this require clean build
* Created memcard as device and removed it from machine/generic (nw) Miodrag Milanovic2014-04-171-1/+0
| | | | This should be image device instead but did not wish to change behavior for now
* Moved eminline and related files into /src/osd since it's system related (nw) Miodrag Milanovic2014-04-161-2/+2
| | | | | | | | Moved delegates into /src/lib/util to enable usage of delegates in other project parts Moved mame_printf_* calls into /src/osd/osdcore.c and renamed them to osd_printf_* Changed mess.mak to display compilation of ymmu100.ppm nicely
* removed mame_* aliases and just use core_* functions (nw) Oliver Stöneberg2014-03-241-1/+1
|
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-111-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
* Video attributes are now per screen (nw) Miodrag Milanovic2014-03-061-1/+0
|
* Huge update, palette is now device (nw) Miodrag Milanovic2014-02-271-1/+0
| | | note: Aaron please give more descriptive text for release log I have no more strength :)
* Created gfxdecode_device instead of using machine fixed gfxdecode [Miodrag ↵ Miodrag Milanovic2014-02-161-1/+0
| | | | | | | | | | Milanovic] Updated all devices and drivers for using it. out of whatsnew: Note that it is made to work same as before, in some cases it can be more logic to move gfxdevice into subdevice itself then to keep it in main driver.
* Removed support for static config from slots and converted the two devices ↵ smf-2013-12-191-4/+0
| | | | using it to machine config fragments [smf]
* MCFG_MODIFY_DEVICE(DEVICE_SELF) is no longer required in machine configs ↵ smf-2013-12-181-1/+1
| | | | used in a slot option (nw)
* Slot options can now be configured inline without creating an array. Legacy ↵ smf-2013-12-161-48/+32
| | | | 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]
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-31/+2
| | | | to new license tagged form.
* Added support for machine config fragments that are applied when the cart is ↵ smf-2013-05-291-0/+4
| | | | 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-8/+12
| | | | they can be specified for all cards [smf]
* make slot depended checks to be case insensitive like other parts of core (nw) Miodrag Milanovic2013-04-131-3/+3
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-13/+13
|
* Made core able to use bios selection per slot device [Miodrag Milanovic] Miodrag Milanovic2012-09-051-1/+2
| | | | | | Sample of usage : mess kc85_4 -exp d004gide,bios=v31 Will need to cleanup handling of sub options to make it more robust and able to validate
* Made MCFG_QUANTUM_PERFECT_CPU able to work within devices (no whatsnew) Miodrag Milanovic2012-08-131-1/+0
| | | require clean compile
* removed unnecessary strlen() usage (no whatsnew) Oliver Stöneberg2012-07-271-1/+1
|
* Clean-ups and version bumpmame0146u1 Miodrag Milanovic2012-06-111-1/+1
|
* Fixed for slot menus + some cleanup (nw) Miodrag Milanovic2012-06-051-2/+2
|
* Expanded slot definition with clock and config so we can better define fixed ↵ Miodrag Milanovic2012-06-051-4/+9
| | | | slot devices where needed (no whatsnew)
* Added support for fixed slots (used for MAME) and ability to create internal ↵ Miodrag Milanovic2012-05-231-5/+9
| | | | only slot options (for MESS) (no whatsnew)
* Sync core fixes from MESS done by OG (nw) Miodrag Milanovic2012-02-111-0/+27
|
* Proper fix for issues with slots, removed old fix too (no whatsnew) Miodrag Milanovic2012-02-051-1/+2
|
* Clean-ups and version bumpmame0144u7 Angelo Salese2012-01-291-4/+4
|
* Parameter names are now without : (no whatsnew) Miodrag Milanovic2012-01-251-3/+3
|
* Move devices into a proper hierarchy and handle naming Aaron Giles2012-01-241-74/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixed setting default port for slot devices (no whatsnew) Miodrag Milanovic2012-01-131-1/+2
|
* Clean-ups and version bumpmame0144u1 Angelo Salese2011-11-271-1/+1
|
* Fixed reading default card and throw exception now on wrong slot item name ↵ Miodrag Milanovic2011-11-131-2/+8
| | | | (no whatsnew)
* 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)
* Add default inputs only in case default card is inserted (no whatsnew) Miodrag Milanovic2011-07-031-1/+2
|
* Added default port values support for slot devices (no whatsnew) Miodrag Milanovic2011-06-291-2/+4
|
* Added support for multi level slot devices [Miodrag Milanovic] Miodrag Milanovic2011-06-271-1/+1
| | | | Now it is possible to attach slot device to other slot device, also containing multiple image devices under it.
* Cleanups and version bumpmame0142u5 Angelo Salese2011-06-051-1/+1
|
* (Finally found the time to finish this....) Aaron Giles2011-05-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | Low-level input upgrade. Classes now exist for input_codes, input_items, input_devices, and input_seqs. Also created an input_manager class to hold machine-global state and made it accessible via machine.input(). Expanded the device index range (0-255, up from 0-16), and the OSD can now specify the device index explicitly if they can better keep the indexes from varying run-to-run. [Aaron Giles] Note that I've built and run SDL on Windows, but not all the code paths were exercised. If you use mice/joysticks extensively double-check them to be sure it all still works as expected. This is mainly an OSD and core change. The only thing impacting drivers is if they query for specific keys for debugging. The following S&Rs took care of most of that: S: input_code_pressed( *)\(( *)([^, ]+) *, * R: \3\.input\(\)\.code_pressed\1\(\2 S: input_code_pressed_once( *)\(( *)([^, ]+) *, * R: \3\.input\(\)\.code_pressed_once\1\(\2
* Cleanups and version bumpmame0142u4 Angelo Salese2011-05-241-2/+2
|
* Updated mconfig so in cases there is no option defined at all that default ↵ Miodrag Milanovic2011-05-171-4/+9
| | | | | devices are mounted, this fixes issue of generating valid -listxml in case dynamic devices are used (no whatsnew)
* Cleanups and version bumpmame0142u3 Angelo Salese2011-05-081-1/+1
|
* optimised device removal & prevent accessing removed devices smf-2011-05-071-6/+9
|
* "You have taken your first step into a larger world." ―Obi-Wan Kenobi smf-2011-05-061-11/+45
| | | | | | | | | | | | | Converted PlayStation DMA to an internal device to the CPU core. DMA to external devices can be set in the machine config, the old calls are still there until the rest of the code is converted. [smf] The following MAME core changes have been required to allow internal devices to be configurable by the main machine config & to work with internal memory maps. device.machine_config_additions() are now processed as soon as the device is added, so sub devices can be configured straight away. replacing or removing a device removes any devices owned by the device being removed, as now they are added straight away. device_t::subdevice() uses the machine config device list instead of the machine to find the device as the machine is not created until after all the devices have been created. devices in an internal address map are assumed to be owned by the CPU, while devices in a standard address maps are assumed to be siblings of the CPU. A code review and regression test would be a good idea.
* Coding convention cleanup. Aaron Giles2011-05-051-9/+8
|