summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/boogwing.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rearrange source to match project structure (done using the script in ↵ Vas Crabb2022-06-271-72/+0
| | | | src/tools).
* init variables for coverity Robbbert2022-03-201-5/+7
|
* drivers starting with a and b: finished removing READ/WRITE macros (nw) Ivan Vangelista2020-06-051-3/+3
|
* lots of files: simplified handlers (nw) Ivan Vangelista2020-05-141-1/+1
|
* Improve mixing behavior related to DECO ACE chip (#6370) cam9002020-02-271-0/+1
| | | | | | | | | * Improve mixing behavior related to DECO ACE chip boogwing.cpp : Fix priority with alternative palette fading, Fix palette effects deco32.cpp : Add notes, nslasher : Fix palette effects, Background color deco16ic.cpp : Fix drawing behavior with 16bit indexed bitmap * deco_ace.cpp : Add notes of splitted palette area
* boogwing.cpp : Fix tilemap in some final stage effects, Fix palette effect ↵ cam9002020-02-201-1/+0
| | | | | | boundary deco_ace.cpp : Add notes, Use fixed point values for palette fading behavior
* boogwing.cpp : Further blending implementation, Typo (#6316) cam9002020-02-171-0/+5
| | | | | | | | | | | | | | * boogwing.cpp : Further blending implementation, Typo * deco_ace.cpp : Add notes * deco32.cpp : ACE ram is not masked * deco_ace : Minor fix addressing * boogwing.cpp : Add reference * boogwing.cpp : Partially blended tilemap handling
* Removed DRIVER_INIT-related macros, made driver init entry in GAME/COMP/CONS ↵ MooglyGuy2018-05-131-1/+1
| | | | | | | | | | | | explicit. (#3565) * -Removed DRIVER_INIT macros in favor of explicitly-named member functions, nw * -Removed DRIVER_INIT_related macros. Made init_ prefix on driver initializers explicit. Renamed init_0 to empty_init. Fixed up GAME/COMP/CONS macro spacing. [Ryan Holtz] * Missed some files, nw * Fix compile, (nw)
* Various Data East Driver Cleanups/Notes (#3449) cam9002018-05-121-31/+17
| | | | | | | | | | | * deco huc6280 + ym2151 based sound system(boogwing.cpp, cbuster.cpp, cninja.cpp, darkseal.cpp, dassault.cpp, deco32.cpp, dietgo.cpp, funkyjet.cpp, madmotor.cpp, rohga.cpp, supbtime.cpp, vaportra.cpp) : Fix address map for internal register can be readable boogwing.cpp, cbuster.cpp, cninja.cpp, darkseal.cpp, dassault.cpp, dietgo.cpp, funkyjet.cpp, supbtime.cpp, vaportra.cpp : Minor cleanups, Cleanup duplicates, Unnecessary things deco32.cpp : Move dragngun*/lockload* specific m_sprgenzoom into dragngun_state, Fix notes darkseal.cpp, vaportra.cpp : Add notes for palette * Revert "dietgo.cpp, funkyjet.cpp : Remove unnecessary things" * deco32.cpp : Reduce unnecessary things
* deco_ace: Internalize palette (nw) AJR2018-05-061-2/+0
|
* Address maps macros removal, pass 1 [O. Galibert] Olivier Galibert2018-03-141-1/+2
|
* API change: Memory maps are now methods of the owner class [O. Galibert] Olivier Galibert2018-02-121-0/+3
| | | | | Also, a lot more freedom happened, that's going to be more visible soon.
* srcclean and regenerate localisations (nw) Vas Crabb2018-01-281-1/+1
|
* Split Data East ACE Chip Emulation (#3100) cam9002018-01-251-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split Data East ACE Chip Emulation * Add deco_ace.cpp * Update deco_ace.cpp * Update deco_ace.h * Update boogwing.h * Update boogwing.cpp alpha blend/palette effect improvements * Update boogwing.cpp * Update deco_ace.cpp * Update deco32.h * Update deco32.cpp split DECO ACE Emulation * Update deco32.cpp * Update deco32.cpp * Update deco_ace.cpp * Copyright holder / some update. Demote Boogie Wings with MACHINE_IMPERFECT_GRAPHICS * Typo * Typo(2) * Revert copyright holder, nw * deco_ace.cpp : doc update * deco_ace.cpp : revert copyright holder, update docs, convert multiplicative fade algorithm to fixed point, implement additive fading effect. deco32.cpp : update docs boogwing.cpp : update alpha blending notes * deco_ace : Revert "convert multiplicative fade algorithm to fixed point"
* API Change: Machine configs are now a method of the owner class, and the ↵ Olivier Galibert2018-01-171-0/+1
| | | | | | | | | | prototype is simplified [O. Galibert] Beware, the device context does not follow in MCFG_FRAGMENT_ADD anymore due to the prototype change. So creating a device then configuring through a fragment doesn't work as-is. The simplest solution is just to add a MCFG_DEVICE_MODIFY at the start of the fragment with the correct tag.
* deco146: Fully handle sound latch internal in the device Dirk Best2017-10-271-1/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-6/+6
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* reverting: Miodrag Milanovic2016-01-201-1/+1
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* tags are now strings (nw) Miodrag Milanovic2016-01-161-1/+1
| | | | fix start project for custom builds in Visual Studio (nw)
* overrides in drivers (nw) Miodrag Milanovic2015-12-061-1/+1
|
* memory: Remove support for decrypted bases, use an address space instead [O. ↵ Olivier Galibert2015-06-241-1/+3
| | | | Galibert]
* Sync other dirs with main driver license for MAME (nw) Miodrag Milanovic2015-05-131-2/+2
|
* Added dummy license headers for MAME part (nw) Miodrag Milanovic2015-05-071-0/+2
|
* More cleanups, there is issue with srcclean that needs to be taken care as ↵ Miodrag Milanovic2014-07-221-1/+1
| | | | well, just doing now what we can
* cleanup. nw. Fabio Priuli2014-04-081-2/+2
|
* deco16ic: converted to use devcb2. nw. Fabio Priuli2014-04-071-8/+10
|
* Moved optional_device<screen_device> m_screen and ↵ Miodrag Milanovic2014-03-051-1/+3
| | | | optional_device<palette_device> m_palette out of driver.* (nw)
* Fix long-standing architectural wart: the priority bitmap is no longer owned Aaron Giles2013-07-261-1/+1
| | | | | | | | | | | | | | | | | | by the tilemap system, and no longer exists globally in the machine. Instead it is allocated per-screen for all systems. This has several side-effects: 1. Previously, the pdrawgfx* functions were already changed to take the priority bitmap as a parameter. Now all other hand-crafted functions that mess with the priority bitmap generally must do so as well, and have been updated. 2. Calls to the tilemap system now need to provide a screen_device. This is not just for the priority_bitmap, but also for screen flipping, which previously always assumed the "primary screen" when doing flipping calculations. 3. All devices that implemented tilemap-like functionality have been updated to follow the same pattern, since they largely tend to call through to the core tilemap system at some point.
* Cleanups and version bumpmame0149u1 Miodrag Milanovic2013-07-231-1/+1
|
* misc deco (nw) David Haywood2013-07-211-0/+5
|
* decoprot -> deco104 David Haywood2013-07-191-0/+1
|
* Modernization of decocomn device [Osso] Scott Stone2013-07-041-0/+1
|
* Modernization of drivers part 1 (no whatsnew) Miodrag Milanovic2013-02-051-0/+1
|
* more of the same (nw) David Haywood2013-01-281-1/+7
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-9/+9
|
* manual cleanup of mame and mess includes (no whatsnew) Miodrag Milanovic2012-09-181-7/+0
|
* Modernized screen update calls (no whatsnew) Miodrag Milanovic2012-09-171-1/+2
|
* Massive change, MACHINE_START\RESET, VIDEO_START\RESET and PALETTE_INIT ↵ Miodrag Milanovic2012-09-131-1/+2
| | | | changed to be members of state classes (no whatsnew)
* All driver inits are now member of state classes. Miodrag Milanovic2012-08-101-0/+1
| | | | | Added DECLARE_DRIVER_INIT macro to define it H file, and DRIVER_INIT_MEMBER for member declaration in C files Updated all drivers accordingly (no whatsnew)
* Conversion of _DEVICE_HA​NDLER to _MEMBER methods - part 2 (no whatsnew) Miodrag Milanovic2012-05-251-0/+1
|
* Remove AM_BASE in favor of AM_SHARED + required_shared_ptr. Aaron Giles2012-04-151-7/+11
| | | | | | | | This update passes validity checks but will certainly have a number of drivers failing at startup because all pointers are defaulted to required by the automated scripts used. Will fix problems once we get a regression run to find out which drivers need attention.
* Create new devices buffered_spriteram<n>_device, which manage buffered Aaron Giles2012-03-081-1/+6
| | | | | | | | | spriteram. Removed core support for legacy buffered spriteram, and updated all drivers to use the new devices instead. [Aaron Giles] Removed required/optional_shared_size helpers. Instead the existing required/optional_shared_ptr helpers now have a bytes() method that can be used to query the size of the shared region. [Aaron Giles]
* Converted Desert Assault to use generic deco sprite implementation [David ↵ Angelo Salese2012-01-291-0/+1
| | | | Haywood]
* Major bitmap-related changes throughout the system. There are Aaron Giles2012-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Collapsed device_config and device_t into one class. Updated all Aaron Giles2011-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existing modern devices and the legacy wrappers to work in this environment. This in general greatly simplifies writing a modern device. [Aaron Giles] General notes: * some more cleanup probably needs to happen behind this change, but I needed to get it in before the next device modernization or import from MESS :) * new template function device_creator which automatically defines the static function that creates the device; use this instead of creating a static_alloc_device_config function * added device_stop() method which is called at around the time the previous device_t's destructor was called; if you auto_free anything, do it here because the machine is gone when the destructor is called * changed the static_set_* calls to pass a device_t & instead of a device_config * * for many devices, the static config structure member names over- lapped the device's names for devcb_* functions; in these cases the members in the interface were renamed to have a _cb suffix * changed the driver_enumerator to only cache 100 machine_configs because caching them all took a ton of memory; fortunately this implementation detail is completely hidden behind the driver_enumerator interface * got rid of the macros for creating derived classes; doing it manually is now clean enough that it isn't worth hiding the details in a macro
* Final bulk rename for 0.142: ensure that all members of Aaron Giles2011-04-011-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | driver_device classes have an m_ prefix on them. When we eventually move functions using these into member functions, we will be able to remove the state-> pointers, and having the member variables prefixed will allow them to be distinguished from local variables. Some regex'es used (plus manually fixing the remaining stuff): In src/mame/... state->([a-zA-Z_][^_][a-zA-Z0-9_]*) state->m_\1 state->([^m]_[a-zA-Z0-9_]*) state->m_\1 state->m_save_item state->save_item state->m_save_pointer state->save_pointer (AM_BASE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_]) \1m_\2 (AM_BASE_SIZE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_][a-zA-Z0-9_]* *, *)([a-zA-Z_][^_]) \1m_\2m_\3 (AM_SIZE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_]) \1m_\2 m__ m_ In src/mame/includes/... (\t[a-zA-Z0-9_<>]+[ \t]+[&*]*[ \t]*)([a-zA-Z_][^_][][a-zA-Z0-9_]*;)$ \1m_\2 (\t[a-zA-Z0-9_<>]+[ \t]*[&*]*[ \t]+)([a-zA-Z_][^_][][a-zA-Z0-9_]*;)$ \1m_\2
* Haze: Added new files: video/decocomn.c video/decocomn. Split non-tilemap ↵ Scott Stone2011-03-251-4/+7
| | | | functions out of deco16ic and moved to decocomn. (no whatsnew)
* Haze: Each deco16ic device now handles 2 tilemaps, not 4.. (base of ↵ Scott Stone2011-03-251-0/+2
| | | | converting it to be a device for the tilemap chip). (no whatsnew)
* Modified video update system. [Miodrag Milanovic] Miodrag Milanovic2011-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | Screen update function is now per screen device (it was before but was attached to machine driver) MCFG_VIDEO_UPDATE -> MCFG_SCREEN_UPDATE MCFG_VIDEO_EOF -> MCFG_SCREEN_EOF EOF is now executed for all screens, so for all existing it is defined just for one screen. This part will be updated in future. Note that there are now screen_update and screen_eof virtual functions for "modern" drivers which are called same as they did before. All drivers are updated and in places where update function was separated per screen I did name separate function. This change will enable us to put screen definition fully into device.
* New model for populating devices in a driver_device class. Removed the Aaron Giles2010-09-031-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recently-introduced find_devices() method. There are two new template classes optional_device<> and required_device<>. Use these to declare the device pointers in the class. The only difference between the two is that required will fatalerror if the device is not found. These new classes are "pass-through" so m_oki can be passed anywhere an okim6295_device would work, and you can use m_oki->x to reference methods or variables. Each of these new classes needs to be specified in the initializer, passing a reference to the driver_device object and the device tag. So, for example: class example_state : public driver_device { public: example_state(running_machine &machine, const driver_device_config_base &config) : driver_device(machine, config), m_maincpu(*this, "maincpu"), m_oki(*this, "oki") { } required_device<okim6295_device> m_oki; optional_device<cpu_device> m_maincpu; }; Given that, the driver_device will auto-populate each device with a pointer to the device prior to calling any of the initialization methods.