path: root/src/mame/includes/starshp1.h
Commit message (Collapse)AuthorAgeFilesLines
* drivers starting with s: removed read* and write* macros (nw)GravatarGravatar Ivan Vangelista2020-06-151-7/+7
* Remove tilemap.h from emu.h (nw)GravatarGravatar AJR2019-08-211-0/+1
* Start cleaning up palette configuration:GravatarGravatar Vas Crabb2018-12-291-1/+1
| | | | | | | | | | * Basically, initialisers go in the constructor arguments, and things for setting format go in set_format. * Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag. * Formats can be specified with an enum discriminator or a size and function pointer. * You must always supply the number of entries when setting the format. * When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together. * The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation. * Also killed an overload on delegates that wasn't being useful.
* private: use (S, T, U, V) (nw) (#3720)GravatarGravatar David Haywood2018-07-011-2/+3
| | | | | | | | | | * private: use (S) (nw) * T part 1 (nw) * T part 2 (nw) * U,V (nw)
* Remove emupal.h from emu.h (nw)GravatarGravatar AJR2018-06-131-0/+1
* Replace set_led_value and set_lamp_value with output_finders. [Wilbe… (#3592)GravatarGravatar wilbertpol2018-05-201-1/+4
| | | | | | * Replace set_led_value and set_lamp_value with output_finders. [Wilbert Pol] * segaufo: keep the 2 bit lamp outputs
* Add support for custom device constructors when replacing devices.GravatarGravatar Vas Crabb2018-05-081-1/+1
| | | | | | | | | | Current syntax: MCFG_DEVICE_REPLACE(tag_or_finder, TYPE, ...) Next-generation syntax: TYPE(config.replace(), tag_or_finder, ...) (nw) Kill off some more low-value macros that aren't needed any more, and get rid of the token-pasting voodoo and casts in the discrete sound macros.
* backport lots of cleanup from WIP branch (nw)GravatarGravatar Vas Crabb2018-02-191-31/+43
* API change: Memory maps are now methods of the owner class [O. Galibert]GravatarGravatar Olivier Galibert2018-02-121-0/+1
| | | | | Also, a lot more freedom happened, that's going to be more visible soon.
* API Change: Machine configs are now a method of the owner class, and the ↵GravatarGravatar 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.
* New 74LS259/9334/CD4099 devicesGravatarGravatar AJR2017-07-251-2/+9
| | | | | | | | These humble 16-pin logic devices were commonly used in 8-bit arcade games to control coin counters/lockouts, IRQ flipflops, graphics banking, slave CPU reset lines, discrete audio triggers, screen flipping, serial EEPROMs and much else. Over 100 drivers and a few bus devices have been updated to use the new implementation, and a great deal of research has gone into documenting the physical location of these devices on actual PCBs in the source. Write handlers have been provided for both orthodox and somewhat less conventional memory mappings. Incidental to this update, coin counters and/or lockouts have been added to Atari System 1 games, Basketball, Gauntlet, Gyruss, Hana Yayoi, Hole Land, Jr. Pac-Man, Mahjong Sisters, Pooyan, Roc'n Rope, Squash, Thunder Hoop, Time Limit, Time Pilot '84 and many others. This also cleans up coin counter behavior in Sauro and Rally Bike. (nw) The purpose of committing this change, which has been several months in the making, early in the 0.189GIT cycle will be to allow time for fixing potential regressions; I've fixed a number of drivers that lost sound from this for various reasons (hnayayoi.cpp having missing or garbage ADPCM was particularly painful, since the three games in that driver all work slightly differently), but I can't test all affected drivers exhaustively. @Tafoid, don't bother running automated screen capture comparison tests on this, as many drivers are now expected to have the screen flipped for the first few seconds after reset.
* Fix mametesters bug #3041 (#2359)GravatarGravatar Frank Palazzolo2017-06-061-4/+12
| | | | | | | | | | * starshp1: Fast/Slow control from toggled to momentary, as in real game * Update clocks per latest information * Add note about Throttle Level behaviour * Change format of comments
* Convert screen_device VBLANK callback to devcb_write_lineGravatarGravatar AJR2017-03-101-1/+1
| | | | | | - WRITE_LINE callback has same functionality, except that screen is not an argument - Rename screen_eof_xxx to screen_vblank_xxx in many drivers - No changes to externally registered vblank delegates or screen update methods
* Self-registering devices prep:GravatarGravatar Vas Crabb2017-02-271-0/+1
| | | | | | | | | | | | | | * Make device_creator a variable template and get rid of the ampersands * Remove screen.h and speaker.h from emu.h and add where necessary * Centralise instantiations of screen and speaker finder templates * Add/standardise #include guards in many hearers * Remove many redundant #includes * Order #includesr to help catch headers that can't be #included alone (nw) This changes #include order to be prefix, unit header if applicable then other stuff roughly in order from most dependent to least dependent library. This helps catch headers that don't #include things that they use.
* A round of spelling/typographical fixes to source comments (nw)GravatarGravatar Scott Stone2016-11-241-2/+2
* NOTICE (TYPE NAME CONSOLIDATION)GravatarGravatar 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:GravatarGravatar 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)GravatarGravatar Miodrag Milanovic2016-01-161-1/+1
| | | | fix start project for custom builds in Visual Studio (nw)
* BSD-3-Clause for Stefan Jokisch (nw)GravatarGravatar Miodrag Milanovic2016-01-131-1/+1
* removed auto_bitmap_ind*_alloc and auto_bitmap_rgb32_alloc and replaced with ↵GravatarGravatar Miodrag Milanovic2015-12-171-1/+1
| | | | | | | std::unique_ptr (nw) auto_alloc_array to unique_ptr Added make_unique_clear
* overrides in drivers (nw)GravatarGravatar Miodrag Milanovic2015-12-061-1/+1
* We cannot relicense files for which we have not yet received responses (nw)GravatarGravatar balr0g2015-05-281-1/+1
* owner name consistency and typo fix (nw)GravatarGravatar Miodrag Milanovic2015-05-221-1/+1
* Update for Frank Palazzolo (nw)GravatarGravatar Miodrag Milanovic2015-05-221-1/+1
* resolved lot of license ownership (nw)GravatarGravatar Miodrag Milanovic2015-05-191-1/+1
* Added dummy license headers for MAME part (nw)GravatarGravatar Miodrag Milanovic2015-05-071-0/+2
* Moved optional_device<screen_device> m_screen and ↵GravatarGravatar Miodrag Milanovic2014-03-051-1/+5
| | | | optional_device<palette_device> m_palette out of driver.* (nw)
* Huge update, palette is now device (nw)GravatarGravatar Miodrag Milanovic2014-02-271-2/+2
| | | note: Aaron please give more descriptive text for release log I have no more strength :)
* moved optional_device<gfxdecode_device> to specific drivers state classes (nw)GravatarGravatar Miodrag Milanovic2014-02-171-1/+3
* discrete lookups removal (nw)GravatarGravatar Miodrag Milanovic2013-04-121-1/+3
* added m_maincpu to the rest of drivers in mame (nw)GravatarGravatar Miodrag Milanovic2013-04-101-1/+3
* unified formating of state class constructors, no functional change (nw)GravatarGravatar Miodrag Milanovic2013-04-101-1/+1
* Modernization of drivers part 18 (no whatsnew)GravatarGravatar Miodrag Milanovic2013-02-121-0/+15
* Cleanups and version bumpmame0148GravatarGravatar Miodrag Milanovic2013-01-111-18/+18
* INTERRUPT_GEN -> INTERRUPT_GEN_MEMBER (no whatsnew)GravatarGravatar Miodrag Milanovic2012-09-181-0/+1
* manual cleanup of mame and mess includes (no whatsnew)GravatarGravatar Miodrag Milanovic2012-09-181-11/+0
* Modernized screen update calls (no whatsnew)GravatarGravatar Miodrag Milanovic2012-09-171-2/+4
* Massive change, MACHINE_START\RESET, VIDEO_START\RESET and PALETTE_INIT ↵GravatarGravatar Miodrag Milanovic2012-09-131-2/+4
| | | | changed to be members of state classes (no whatsnew)
* TILE/TILEMAP modernization part 2 (no whatsnew)GravatarGravatar Miodrag Milanovic2012-09-061-0/+1
* Conversion of _DEVICE_HA​NDLER to _MEMBER methods - part 2 (no whatsnew)GravatarGravatar Miodrag Milanovic2012-05-251-0/+2
* Remove AM_BASE in favor of AM_SHARED + required_shared_ptr.GravatarGravatar Aaron Giles2012-04-151-5/+9
| | | | | | | | 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.
* modernization of some CUSTOM_INPUT's part 3 (no whatsnew)GravatarGravatar Miodrag Milanovic2012-04-091-0/+2
* MAME going modern part 7 (no whatsnew)GravatarGravatar Miodrag Milanovic2012-04-061-4/+4
* MAME going modern part 5 (no whatsnew)GravatarGravatar Miodrag Milanovic2012-04-041-0/+3
| | | Tomorrow and next days just bug fixing from my side, no big changes
* Death to SCREEN_EOF, which was ambiguously called eitherGravatarGravatar Aaron Giles2012-01-141-1/+1
| | | | | | | | | | | at the start or end of VBLANK depending on the video flag VIDEO_UPDATE_AFTER_VBLANK. Replaced with SCREEN_VBLANK callbacks which are called both at the start and end of VBLANK, so you can operate either way, and be explicit about it. Updated all callers. Also updated screen_device to use device timers and some other minor cleanups.
* Major bitmap-related changes throughout the system. There areGravatarGravatar Aaron Giles2012-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 allGravatarGravatar 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 GravatarGravatar Aaron Giles2011-04-011-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Modified video update system. [Miodrag Milanovic]GravatarGravatar Miodrag Milanovic2011-02-241-2/+2
| | | | | | | | | | | | | | | | | | | | 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.
* From: Atari Ace []GravatarGravatar Aaron Giles2011-01-271-26/+31
| | | | | | | | | | | | | | | Sent: Saturday, January 22, 2011 2:11 PM To: Cc:; Aaron Giles Subject: [patch] Add driver_device to some Atari drivers Hi mamedev, This patch eliminates static/global variables in a number of Atari drivers by moving them into a driver_device. ~aa