summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Sync with MESS, floppy work by OG (no whatsnew) Miodrag Milanovic2012-02-132-30/+138
|
* Add LZMA codec and .7z container support [David Haywood, R. Belmont] R. Belmont2012-02-1283-0/+19161
|
* Attempt #2mame0145 Angelo Salese2012-02-051-8/+8
|
* chd: Fix error where FLAC was encoding 4 times too much data (samples vs. ↵ R. Belmont2012-02-011-1/+1
| | | | bytes) [David Haywood]
* Sync with MAME (nw) Miodrag Milanovic2012-01-311-1/+1
|
* Clean-ups and version bumpmame0144u7 Angelo Salese2012-01-2959-1665/+1665
|
* Keep u7 compatible while we wait for Aaron (nw) R. Belmont2012-01-291-1/+1
|
* Sync with MESS (no whatsnew) Miodrag Milanovic2012-01-258-6/+255
|
* Move devices into a proper hierarchy and handle naming Aaron Giles2012-01-244-60/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* sync with MESS, it's just cleanup :) (nw) Miodrag Milanovic2012-01-241-1/+1
|
* Added DMF support in pc_dsk (no whatsnew) Miodrag Milanovic2012-01-241-0/+1
|
* mess sync (nw) Olivier Galibert2012-01-231-169/+298
|
* floppy: Do specific UI handling [O. Galibert] Olivier Galibert2012-01-234-5/+49
|
* fix compile on PPC OS X (nw) R. Belmont2012-01-221-0/+3
|
* Missing files from the last checkin (nw) R. Belmont2012-01-223-28/+494
|
* Added FLAC (lossless audio) codec support plus experimental hooks in samples ↵ R. Belmont2012-01-2257-0/+33247
| | | | and chdman. Bumped up CHD-CD hunk size to get better compression ratios on both zlib and flac. [David Haywood, R. Belmont]
* fix Linux compile (nw) R. Belmont2012-01-181-1/+1
|
* tagmap is just a C++ template now. Added iterators to it as Aaron Giles2012-01-173-368/+170
| | | | well. Updated a few outlying uses.
* Add libjpeg; converted Sliver to decompress pictures on the fly [David ↵ R. Belmont2012-01-1659-0/+39211
| | | | Haywood, R. Belmont]
* Fix several rendering issues with artwork, introduced in the Aaron Giles2012-01-162-18/+23
| | | | | | | recent changes. Also, did a pass through the code to take advantage of new methods available on rectangles.
* Clean-ups and version bumpmame0144u6 Angelo Salese2012-01-153-18/+18
|
* sync with MESS (no whatsnew) Miodrag Milanovic2012-01-151-4/+16
|
* Added new method screen_device::register_screen_bitmap which Aaron Giles2012-01-152-19/+12
| | | | | | | | | | | | | allocates a given bitmap to match the screen size and resizes it as appropriate when the screen size changes. Updated all the obvious spots in the code where this could be leveraged. Move allocate/resize methods in the bitmap classes down into bitmap_t because they no longer have any dependency on the bitmap format or type. Ensured that the bitmap's palette remains set across a resize call (it is lost doing an allocate).
* Cleanup of bitmap classes now that formats and bpp are dictated Aaron Giles2012-01-142-140/+176
| | | | | | | strictly by the type. Also added code to more aggressively align the bitmap base and rowbytes, and create a resize method which attempts to re-use existing memory rather than always reallocating.
* Sync with MESS, OG's work credited in MESS already (no whatsnew) Miodrag Milanovic2012-01-146-34/+487
|
* Major bitmap-related changes throughout the system. There are Aaron Giles2012-01-129-148/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Cleanups and version bumpmame0144u5 Angelo Salese2012-01-086-30/+30
|
* typo fix (nw) Olivier Galibert2012-01-071-1/+1
|
* mess sync (nw) Olivier Galibert2012-01-076-3/+302
|
* Placeholders. Olivier Galibert2012-01-072-0/+0
|
* OS/2 updates [KO Myung-Hun] R. Belmont2012-01-051-0/+7
|
* chdman: don't be case sensitive on the input type extension [R. Belmont] R. Belmont2012-01-041-3/+10
|
* fix linking (how did this work on anything?) (nw) R. Belmont2012-01-031-1/+1
|
* Removed old C-based interface to astrings. astring exists only as Aaron Giles2012-01-036-1026/+465
| | | | | | 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-026-90/+114
| | | | | | | | 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]
* fix clip regression Michaël Banaan Ananas2012-01-011-4/+4
|
* Fix a few stragglers. Add width/height/position setters to Aaron Giles2011-12-311-0/+5
| | | | the rectangle class.
* Converted bitmap_t and rectangle into proper classes. Replaced BITMAP_ADDR* Aaron Giles2011-12-315-532/+286
| | | | | | | | 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]
* chdman: fixed -extractcd of images with postgaps. CHDs do not need ↵ R. Belmont2011-12-311-0/+3
| | | | reconversion, this was an -extractcd problem only. [R. Belmont]
* Floppy changes by OG, imported from MESS (no whatsnew) Miodrag Milanovic2011-12-3018-95/+202
|
* Sync with MESS (no whatsnew) Miodrag Milanovic2011-12-252-8/+14
|
* tokenize function makes trouble if linebuffer and token buffer size are not ↵ Miodrag Milanovic2011-12-211-2/+2
| | | | same (no whatsnew)
* Sync with MESS all credited there (no whatsnew) Miodrag Milanovic2011-12-125-32/+713
|
* minor debugging. no whatsnew. Fabio Priuli2011-12-041-0/+7
|
* Added 3 opcodes (sfence,fstp,fild) to the i386 processor [Samuele Zannoli] Angelo Salese2011-12-021-1/+3
| | | | | | | Little modifications to ap2_dsk.c and gaelco3d.c/.h to compile with MSVC [Samuele Zannoli] Added a placeholder for ohci usb controller in chihiro plus relative hack to avoid an infinite loop. This allows chihiro to try to initialize direct3d and to use the nvidia 3d accelerator ... [Samuele Zannoli]
* Commented (per Kale's request) not removed libcothread usage in core ↵ Miodrag Milanovic2011-11-301-16/+0
| | | | | (requires clean build), (no whatsnew) We can safely remove comments and cothread.* from /emu and /lib/cothread if it's confirmed way to go
* Sync with MESS (no whatsnew) Miodrag Milanovic2011-11-252-4/+3
|
* Sync with MESS, also placed back sdlmain change since it proved working on ↵ Miodrag Milanovic2011-11-227-92/+531
| | | | BSD (no whatsnew)
* Clean-ups and version bumpmame0144 Angelo Salese2011-11-131-1/+1
|
* Sync with MESS, OG work credited there (no whatsnew) Miodrag Milanovic2011-11-114-450/+164
|