summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/driver.h
Commit message (Collapse)AuthorAgeFilesLines
* Populated tag and static_config parts of fake CPU device. Removed 'config' Aaron Giles2008-11-091-1/+0
| | | | | parameter from CPU_INIT. Modified CPU cores to pull config from the device static_config.
* Removed empty input ports from the empty driver, in favor of a NULL entry. Aaron Giles2008-05-251-0/+1
|
* Removes the scrnum parameter from VIDEO_UPDATE, updates all drivers to use ↵ Zsolt Vasvari2008-03-101-3/+3
| | | | | | the screen device instead. render.c now uses screen devices
* Changes VIDEO_UPDATE signature to Zsolt Vasvari2008-03-081-15/+15
| | | | | | | typedef UINT32 (*video_update_func)(const device_config *screen, int scrnum, bitmap_t *bitmap, const rectangle *cliprect); Adds const device_config *primary_screen to running_machine (not yet used)
* Added running_machine * parameter to the front of all read/write handlers. Aaron Giles2008-03-051-0/+1
| | | | | | | | | | | | | | | | | | Updated all call-through handlers appropriately. Renamed read8_handler to read8_machine_func, replicating this pattern throughout. Defined new set of memory handler functions which are similar but which pass a const device_config * in place of the running_machine *. These are called read8_device_func, etc. Added macros READ8_DEVICE_HANDLER() for specifying functions of this type. Note that some plumbing still needs to happen in memory.c before this will work. This check-in should remove the need for the global Machine and in turn "deprecat.h" for a lot of drivers, but that work has not been done. On the flip side, some new accesses to the global Machine were added in the emu/ files. These should be addressed over time, but are smaller in number than the references in the driver.
* Replaces mame_bitmap with bitmap_t Zsolt Vasvari2008-02-291-2/+2
| | | | Removes mame_bitmap
* Converted MACHINE_DRIVER definitions from function Aaron Giles2008-02-261-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constructors to tokenized lists. For the most part this is a non-invasive change, except for those drivers using MDRV_WATCHDOG_TIME_INIT. In order to allow for tokenization of attotimes, a set of new macros is provided called UINT64_ATTOTIME_IN_x() which follows the same pattern as ATTOTIME_IN_x() but packs the attotime down into a single 64-bit value for easier tokenization. Separated MDRV_DEVICE_CONFIG_DATA into 32-bit and 64-bit versions. Added floating-point versions with configurable resolutions. Fixed several errors in the machine drivers which were caught by the additional checks now done in the machine config detokenization code. Converted speakers into devices. Machine->config no longer houses an array of speakers; instead they are iterated through using the new macros (defined in sound.h) speaker_output_first() and speaker_output_next(). Updated all relevant code to do this. Improved game info display with multiple screens. Fixed bug which caused all screens to display equally. Added typedefs for all the machine config callback functions at the top of driver.h.
* Pulled remaining vestiges of old-style colortables: Aaron Giles2008-02-191-2/+2
| | | | | | | | | | | | | * PALETTE_INIT no longer has a colortable parameter * removed game_colortable and remapped_colortable from machine_config * updated a few stragglers that still referenced these fields * removed tile_draw_colortable from tilemap.c (From Zsolt): Added support for the new colortable object in the palette viewer Changed the input port tokens to use a union instead of casting everything to FPTR. In the future, C99-enabled compilers will be able to achieve type safety with designated initializers.
* New module: devintrf.c/.h. Implements a generic device interface similar Aaron Giles2008-02-191-383/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the sound and CPU interfaces. This is still a bit WIP, but works at a fundamental level. Currently the only example of usage is in qix.c for the MC6845 CRTC. New module: mconfig.c/.h. Moved all machine_config and MDRV_* macros here, out of driver.c/.h. Added MDRV macros for adding/removing/configuring devices. qix.c: Moved video part of machine driver to video/qix.c. Added MC6845 as a device in the machine driver. Removed explicit MC6845 initialization from VIDEO_START in favor of simply retrieving the token from the device interface code. mc6845.c: Updated all callbacks to pass the mc6845_t * object. Updated all drivers accordingly. Added a minimal device interface. Deprecated the following constants because global constants that pretend to document things but which are only guesses are dumb: - DEFAULT_60HZ_VBLANK_DURATION - DEFAULT_30HZ_VBLANK_DURATION - DEFAULT_REAL_60HZ_VBLANK_DURATION - DEFAULT_REAL_30HZ_VBLANK_DURATION - DEFAULT_60HZ_3S_VBLANK_WATCHDOG - DEFAULT_30HZ_3S_VBLANK_WATCHDOG Updated all drivers to explicitly specify the equivalent bogus times. Added comments for the "REAL" VBLANK durations to indicate that they are not accurate.
* Removes MDRV_COLORTABLE_LENGTH macro -- no longer used Zsolt Vasvari2008-02-191-3/+0
|
* Removed expand_machine_driver(). Aaron Giles2008-02-181-1/+2
| | | | | | Replaced with machine_config_alloc() and machine_config_free(). Updated all call sites. Normalized info.c style and simplified some of the code.
* Added new option VIDEO_UPDATE_SCANLINE, which cases VIDEO_UPDATE to be ↵ Aaron Giles2008-01-301-2/+7
| | | | | | | called for every visible scanline. Removed manual implementation of this in timeplt, in favor of using the new flag. There are probably many more drivers that can leverage this.
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-01-241-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: [patch] Fix C4305 warnings, other MSVC tweaks Hi mamedev, This patch is a bit of a potpourri. It is the result of enabling most of the suppressed warnings when using MSVC compilers and seeing what issues arose with different compilers (I used 70,71,80,90). Two of the warnings were judged to be useful to enable and methodically fix. Some issues spotted by the other warnings were also fixed. 1. Fixed issues flagged by MSVC warning C4305 (type truncation). Almost all of these are harmless double->float narrowing in initializers, but one warning spotlighted a bug in segasyse.c, where code to use a higher sprite number had no effect due to the insufficient range of UINT8. 2. Removed /wd4550 for VS7/VS71 compilers (expression evaluates to a function which is missing an argument list). There are no cases of this warning currently, and if there were they would most certainly be bugs. This also allowed the warning suppression lists to be remerged for VS7 and VS2005. 3. Decoupled intrinsic support decisions from PTR64 in eivc.h. 4. Fixed some VS7-specific issues (OPTIMIZE=0 at least compiles now). That compiler doesn't support "long long" or "ll" (rsp.c/dkong.c). 5. Added a missing case statement in sm8500d.c. Noticed while reviewing dead code warnings. 6. Replaced a number of static constants with an enum in sidenvel.h. This is unrelated to the rest of this patch, but it was overdue to be done.
* Added a _CALL variant to all prototype macros. The use of these should make ↵ Zsolt Vasvari2008-01-221-23/+41
| | | | it easier to change the signiture of these function
* sound: Couriersud2008-01-201-1/+4
| | | | | | | * added MDRV_SOUND_ROUTE_EX to specify target input channel * added input id to route struct discrete sound: * fixed DISCRETE_INPUT_STREAM * added input channel # to DISCRETE_INPUT_STREAM
* Copyright cleanup: Aaron Giles2008-01-061-1/+1
| | | | | | - removed years from copyright notices - removed redundant (c) from copyright notices - updated "the MAME Team" to be "Nicola Salmoria and the MAME Team"
* Added new file xtal.h with commonly known/used clock XTALs. Aaron Giles2008-01-011-0/+1
| | | | Added #include "drivers/xtal.h" to driver.h so that these values are always available.
* Changes for MAME 0.121u4.mame0121u4 Aaron Giles2007-12-171-5/+6
|
* Changes for MAME 0.121u2.mame0121u2 Aaron Giles2007-12-171-19/+4
|
* Changes for MAME 0.121u1.mame0121u1 Aaron Giles2007-12-171-3/+3
|
* Initial checkin of MAME 0.121.mame0121 Aaron Giles2007-12-171-0/+587