summaryrefslogtreecommitdiffstatshomepage
path: root/src/build (follow)
Commit message (Collapse)AuthorAgeFilesLines
* added GCC 4.9 handling to build/flags_gcc.mak now it has been released (nw) Oliver Stöneberg2014-05-071-0/+4
|
* Cleanups and version bumpmame0153 Miodrag Milanovic2014-04-072-5/+5
|
* Same rule applies to all GCC 4.8.x so on Windows as well (nw) Miodrag Milanovic2014-03-301-3/+1
|
* Allow JSMESS to compile with -Werror (nw) Justin Kerk2014-03-122-9/+14
|
* "fixed" VS2012 linking of makemak.exe and makelist.exe (nw) Oliver Stöneberg2014-03-121-2/+4
|
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-112-273/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
* Include bus resolve in dynamic build procedure (nw) Miodrag Milanovic2014-03-091-0/+1
|
* Fix SDL compile (nw) Alex W. Jackson2014-03-021-5/+0
|
* moved compiler-specific warning generation to shared files (nw) Oliver Stöneberg2014-03-023-0/+52
|
* Cleanups and version bumpmame0152 Miodrag Milanovic2013-12-241-6/+6
|
* makedepend now ignores "-D" defines as well. Couriersud2013-12-011-0/+6
|
* Fixed make depend on OS X. (nw) Curt Coder2013-11-131-0/+5
|
* More cross_build stuff (nw) Justin Kerk2013-11-031-1/+20
| | | | | | | <jvilk> DFJustin: the issue is that if you do not add those targets in, then those targets are not defined when you do a CROSS_BUILD <jvilk> and Make fails <jvilk> because targets depend on them <jvilk> the 'correct' fix would be to have the targets that depend on them depend on the correct location of the tools <jvilk> because I think what was happening is that they depended on the location of the tools assuming that they were built for the target platform
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-163-93/+6
| | | | to new license tagged form.
* Cleanups and version bumpmame0149u1 Miodrag Milanovic2013-07-231-49/+48
|
* makemak wip (nw) Miodrag Milanovic2013-06-212-59/+32
|
* made makemak create lst as well, and some fixes for cpu.mak (nw) Miodrag Milanovic2013-06-201-41/+137
|
* Updated makemak to support splitting per libraries (nw) Miodrag Milanovic2013-06-202-80/+144
|
* simplified mamemak (nw) Miodrag Milanovic2013-06-191-167/+73
|
* Renamed one more include of .c in h file, and updated makemak (nw) Miodrag Milanovic2013-06-181-0/+8
|
* made makemak add dependencies for needed devices automatically,added partial ↵ Miodrag Milanovic2013-06-181-1/+109
| | | | meta data into device building mak files (nw)
* added layout dependancy (nw) Miodrag Milanovic2013-06-181-4/+11
|
* create lib per driver source file, and make linking correct (nw) Miodrag Milanovic2013-06-181-3/+41
|
* don't just ignore first char, but take full line (nw) Miodrag Milanovic2013-06-181-0/+7
|
* start work on makemak to produce dependency per driver, added @ sign into ↵ Miodrag Milanovic2013-06-173-0/+681
| | | | lst to declare source file import used by makemak only, added just few testing examples (nw)
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-113-39/+39
|
* added resources and icon for UME / added UME support to verinfo and updated ↵ Oliver Stöneberg2012-09-201-1/+15
| | | | the usage string (no whatsnew)
* (MESS) fixed resource data of Windows executable [Oliver Stöneberg] Oliver Stöneberg2012-09-171-19/+5
|
* First pass at modernizing struct definitions. Aaron Giles2012-09-152-6/+3
|
* oops, looks like it needs to be before the qsort or "bad things happen". but ↵ smf-2012-08-161-3/+3
| | | | it still can be done after the driver count is checked and output.
* add ___empty after sorting, the count is correct now and the check for no ↵ smf-2012-08-161-3/+3
| | | | drivers can also work.
* Move driver list/enumerator to new file drivenum.c/.h. Aaron Giles2012-04-061-0/+1
| | | | Move game_driver definition and constants to new header gamedrv.h.
* - removed need for *_dev.lst files [Miodrag Milanovic] Miodrag Milanovic2012-02-232-285/+0
| | | | | | - enforced short names for slot card devices - updated validation, romverify and listxml output accordingly - slotoptions now also contain shortnames so it's possible to link slot option and device
* tagmap is just a C++ template now. Added iterators to it as Aaron Giles2012-01-171-6/+7
| | | | well. Updated a few outlying uses.
* Major bitmap-related changes throughout the system. There are Aaron Giles2012-01-121-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | almost certainly some regressions lurking. Let me know if something seems busted. Bitmaps are now strongly typed based on format. bitmap_t still exists as an abstract base class, but it is almost never used. Instead, format-specific bitmap classes are provided: bitmap_ind8 == 8bpp indexed bitmap_ind16 == 16bpp indexed bitmap_ind32 == 32bpp indexed bitmap_ind64 == 64bpp indexed bitmap_rgb32 == 32bpp RGB bitmap_argb32 == 32bpp ARGB bitmap_yuy16 == 16bpp YUY For each format, a generic pix() method is provided which references pixels of the correct type. The old pix8/pix16/pix32/ pix64 methods still exist in the short term, but the only one available is the one that matches the bitmap's pixel size. Note also that the old RGB15 format bitmaps are no longer supported at all. Converted model1, megadriv, and stv drivers away from the RGB15 format bitmaps. New auto_bitmap_<type>_alloc() macros are provided for allocating the appropriate type of bitmap. Screen update functions now must specify the correct bitmap type as their input parameters. For static update functions the SCREEN_UPDATE macro is now replaced with SCREEN_UPDATE_RGB32 and SCREEN_UPDATE_IND16 macros. All existing drivers have been updated to use the correct macros. Screen update functions are now required for all screens; there is no longer any default behavior of copying a "default" bitmap to the screen (in fact the default bitmap has been deprecated). Use one of the following to specify your screen_update callback: MCFG_SCREEN_UPDATE_STATIC(name) - static functions MCFG_SCREEN_UPDATE_DRIVER(class, func) - driver members MCFG_SCREEN_UPDATE_DEVICE(tag, class, func) - device members Because the target bitmap format can now be deduced from the screen update function itself, the MCFG_SCREEN_FORMAT macro is no longer necessary, and has been removed. If you specify a screen update callback that takes a bitmap_ind16, then the screen will be configured to use a 16bpp indexed bitmap, and if you specify a callback that takes a bitmap_rgb32, then a 32bpp RGB bitmap will be provided. Extended the bitmap classes to support wrapping a subregion of another bitmap, and cleaner allocation/resetting. The preferred use of bitmaps now is to define them directly in drivers/devices and use allocate() or wrap() to set them up, rather than allocating them via auto_bitmap_*_alloc(). Several common devices needed overhauls or changes as a result of the above changes: * Reorganized the laserdisc base driver and all the laserdisc drivers as modern C++ devices, cleaning the code up considerably. Merged ldsound device into the laserdsc device since modern devices are flexible enough to handle it. * Reorganized the v9938 device as a modern C++ device. Removed v9938mod.c in favor of template functions in v9938.c directly. * Added independent ind16 and rgb32 callbacks for TMS340x0 devices. * All video devices are now hard-coded to either ind16 or rgb32 bitmaps. The most notable is the mc6845 which is rgb32, and required changes to a number of consumers. * Added screen_update methods to most video devices so they can be directly called via MCFG_SCREEN_UPDATE_DEVICE instead of creating tons of stub functions.
* Removed old C-based interface to astrings. astring exists only as Aaron Giles2012-01-031-236/+165
| | | | | | a class now. Updated all stragglers (mostly tools) to use the class form. [Aaron Giles]
* Bulk conversion of bitmap_t * to bitmap_t & . With this change the Aaron Giles2012-01-021-13/+13
| | | | | | | | parameters for the global SCREEN_UPDATE callback match the parameters for the driver_device version. Added allocate() and deallocate() methods to bitmap_t to permit cleaner handling of bitmaps in drivers and modern devices. [Aaron Giles]
* Converted bitmap_t and rectangle into proper classes. Replaced BITMAP_ADDR* Aaron Giles2011-12-311-17/+18
| | | | | | | | macros with bitmap->pix* functions, and moved bitmap_fill() to bitmap->fill() among other similar changes. Bitmap fields now only available via accessors. Replaced sect_rect with &= and union_rect with |= operators for rectangle classes. Some general cleanup as a result of these changes. [Aaron Giles]
* Support for ignoring item in lst files (no whatsnew) Miodrag Milanovic2011-11-302-6/+77
|
* Clean-ups and version bumpmame0143u3 Angelo Salese2011-08-142-4/+4
|
* - Updated romload so devices are loaded from separate files [Miodrag Milanovic] Miodrag Milanovic2011-08-022-0/+250
| | | | | | | | - Removed LOADBYNAME, since it is deprecated by using per device rom load_software_part_region - Created makedev tool to generate array of devices, and created lst file according to current devices usage. - Changed listxml command to output device roms too
* - Removing MD5 support in ROMLOAD_* [Oliver Stoneberg] Miodrag Milanovic2011-07-312-1/+4
| | | | - Various core and tools memory leaks fixes [Oliver Stoneberg]
* Fixes for variable shadowing [Oliver Stöneberg] R. Belmont2011-07-211-6/+6
|
* Cleanups and version bumpmame0142u5 Angelo Salese2011-06-051-2/+2
|
* (Finally found the time to finish this....) Aaron Giles2011-05-301-36/+37
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed Sega Saturn / ST-V start-up crash that was happening on some ends ↵ Angelo Salese2011-05-261-1/+1
| | | | [Oliver Stöneberg] Fixed a use-after-free bug in build/verinfo.c [Oliver Stöneberg]
* Cleanups and version bumpmame0142u4 Angelo Salese2011-05-241-2/+2
|
* Updated makelist to be able to import list items from more files (no whatsnew) Miodrag Milanovic2011-05-131-40/+69
|
* Cleanups again Angelo Salese2011-04-181-16/+16
|
* (Big tangle of changes that all happened as I was looking into the ROM Aaron Giles2011-04-132-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | loader rewrite, which is still in progress....) Replaced mamedriv.c with a new driver list mechanism that is generated by the build tools. The emulator core now expects the presence of a file called src/$(TARGET)/$(SUBTARGET).lst which is just a raw list of driver names, one per line. C and C++ comments are still permitted. This file is parsed by a new build tool makelist which extracts the driver names, sorts them, and generates a file called drivlist.c, which is consumed by the core. [Aaron Giles] Added new osdcore function osd_malloc_array() which is identical to osd_malloc() but obviously hints that the underlying allocation is for an array. Updated all callers to use the appropriate form. Modified the Windows allocator to only use guard pages for array-style allocations, allowing us to enable them once again in debug builds. [Aaron Giles] Created new static class driver_list to wrap accesses to the list of available drivers. Improved speed of driver lookups by relying on the presorting done by makelist. [Aaron Giles] Created helper class driver_enumerator as a helper for iterating through the list of drivers. This class supports basic filtering and iteration, and also serves as a temporary cache of machine_configs. [Aaron Giles] Created cli_frontend object to wrap all the CLI handling code in clifront.c. Updated/simplified all the code to take advantage of the driver_enumerator. [Aaron Giles] Created media_auditor object to wrap all the auditing functions in audit.c. Updated all users to the new interface. Note that the new auditing mechanism is slightly out of sync with the romload code in terms of finding ROMs owned by devices, so it may mis-report some issues until the new ROM loading code is in. [Aaron Giles] Added concept of a per-device searchpath. For most devices, their searchpath is just the short name of the device. For driver_devices, the searchpath is driver[;parent[;bios]]. This searchpath will eventually be used by the rom loader to find ROMs. For now it is used by the media auditor only. [Aaron Giles] Created info_xml_creator object to wrap all the info generation functions in info.c. Converted the file to C++ and cleaned up the input processing code. [Aaron Giles] (not for whatsnew ... Known issues: auditing of CHDs appears busted, and debug builds report unfreed memory if you use the built-in game picker)