path: root/src/mame/drivers/backfire.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-730/+0
* change flags from GAME_ to MACHINE_ David Haywood2015-07-291-2/+2
| | | | this better fits the drivers from MESS (which have always illogically used the GAME_ flags despite not being games) and also fits fine with arcade machines.
* update for Haze (nw) Miodrag Milanovic2015-05-151-1/+1
* tag some drivers where I've made significant contributions, or in some case ↵ David Haywood2015-05-091-1/+1
| | | | authored the whole driver (nw)
* Added dummy license headers for MAME part (nw) Miodrag Milanovic2015-05-071-0/+2
* Replace dynamic_array with std::vector [O. Galibert] Olivier Galibert2015-04-141-1/+1
* Remove still more sound irq trampolines (nw) Alex W. Jackson2015-01-281-7/+0
* Cleanups and version bump Miodrag Milanovic2014-07-221-1/+1
* Moved m_generic_paletteram_* into drivers/device state objects so they are ↵ Miodrag Milanovic2014-04-231-1/+3
| | | | not global anymore (nw)
* Moved eminline and related files into /src/osd since it's system related (nw) Miodrag Milanovic2014-04-161-2/+2
| | | | | | | | Moved delegates into /src/lib/util to enable usage of delegates in other project parts Moved mame_printf_* calls into /src/osd/osdcore.c and renamed them to osd_printf_* Changed mess.mak to display compilation of ymmu100.ppm nicely
* decospr: converted to use delegates + some cleanups. nw. Fabio Priuli2014-04-081-11/+12
* cleanup. nw. Fabio Priuli2014-04-081-3/+2
* deco16ic: converted to use devcb2. nw. Fabio Priuli2014-04-071-26/+28
* Cleanups and version bumpmame0153 Miodrag Milanovic2014-04-071-2/+2
* Checkpoint 2: Alex W. Jackson2014-03-151-1/+1
| | | | | | gfxdecode devices must now be assigned a palette in MCFG. Added palette devices to several MESS drivers and devices to comply with this requirement. This palette is assigned as a default to the gfx_elements created by the device (but still not used for drawing yet, except in the UI graphics viewer) Tilemaps now have a pointer to a palette device and use that palette for rgb32 drawing, rather than the palette of the screen or bitmap they are drawing to (since rgb32 screens don't have palettes now). When a tilemap is created, it takes its palette from the gfxdecode device it was created with, but you can change a tilemap's palette device with set_palette() at any time (doing this does not mark the tilemap dirty, since all tilemaps use indexed bitmaps internally)
* Made palette settings for screen explicit and mandatory for ind16 mode (nw) Miodrag Milanovic2014-03-141-0/+2
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-111-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
* Moved optional_device<screen_device> m_screen and ↵ Miodrag Milanovic2014-03-051-1/+3
| | | | optional_device<palette_device> m_palette out of driver.* (nw)
* Huge update, palette is now device (nw) Miodrag Milanovic2014-02-271-2/+6
| | | note: Aaron please give more descriptive text for release log I have no more strength :)
* Created gfxdecode_device instead of using machine fixed gfxdecode [Miodrag ↵ Miodrag Milanovic2014-02-161-2/+7
| | | | | | | | | | Milanovic] Updated all devices and drivers for using it. out of whatsnew: Note that it is made to work same as before, in some cases it can be more logic to move gfxdevice into subdevice itself then to keep it in main driver.
* Rewrite serial EEPROM devices, breaking them out into separate chips of Aaron Giles2013-07-291-8/+8
| | | | | | | | the proper size and protocol. Update all drivers, removing custom implementations, and replacing them with standard ones. Moved core read, write, erase functionality into the EEPROM base class a simulated delays in write/erase cycles. Still some more testing/verification work left to do.
* Split eeprom.c into a base class base_eeprom_device and a serial-specific Aaron Giles2013-07-271-1/+1
| | | | | | | | subclass serial_eeprom_device. Moved the latter into its own file eepromser.c and significantly cleaned up/simplified the code. The new code should be functionally the same as the previous code, but expect that to change soon. As a side-effect, the size and bus width of the EEPROM is now specified in the ADD macro rather than in the interface structure.
* Rename eeprom_device to serial_eeprom_device in anticipation of adding Aaron Giles2013-07-261-1/+1
| | | | | | | a parallel eeprom device. Also attempted to fix Visual Studio warnings.
* Fix long-standing architectural wart: the priority bitmap is no longer owned Aaron Giles2013-07-261-10/+12
| | | | | | | | | | | | | | | | | | 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.
* Created new device_video_interface. Right now its sole purpose is to Aaron Giles2013-07-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | house a screen tag and to find the screen at startup, providing an m_screen object that can be used. One nice feature is that if there is only one screen and no screen has been specified, it will auto configure to that screen. This removes the need to explicitly specify a screen in the configuration for a large chunk of drivers (though doing so never hurts). A new macro MCFG_VIDEO_SET_SCREEN is provided, though devices are encouraged to define their own that maps there so it is obvious which device is being targeted. The device_video_interface's validation function will error if an invalid screen is specified or if no screen is provided but there are multiple screens present. Updated all devices that currently had an m_screen in them to use the device_video_interface instead. This also has the nice benefit of flagging video-related devices for categorization purposes. It also means all these devices inherit the same screen-finding behaviors. For devices that had interfaces that specified a screen tag, those have been removed and all existing structs updated. Added an optional_device<screen_device> m_screen to the base driver_device. If you name your screen "screen" (as most drivers do), you will have free access to your screen this way. Future updates include: * Updating all devices referencing machine.primary_screen to use the device_video_interface instead * Updating all drivers referencing machine.primary_screen to use the m_screen instead * Removing machine.primary_screen entirely
* Modernized DECO16 IC device [Osso] Fabio Priuli2013-06-301-20/+20
* modernised YMZ280B [smf] smf-2013-05-101-7/+2
* removed not needed screen device references (nw) Miodrag Milanovic2013-04-161-4/+0
* unified formating of state class constructors, no functional change (nw) Miodrag Milanovic2013-04-101-1/+1
* device callback handler cleanup (nw) Miodrag Milanovic2013-04-021-2/+3
* made some of sound devices use device callbacks instead of function ↵ Miodrag Milanovic2013-03-291-1/+1
| | | | callbacks part 2 (nw)
* Removal of not needed machine().root_device() (nw) Miodrag Milanovic2013-02-131-1/+1
* backfire.c: Reduce tagmap lookups (nw) Wilbert Pol2013-02-111-27/+33
* Move some calls into machine state (no whatsnew) Miodrag Milanovic2013-01-311-5/+6
* more of the same (nw) David Haywood2013-01-281-3/+5
* avoid some lazy tag lookups (nw) David Haywood2013-01-281-3/+6
* output of new srcclean changes that are relatively small [smf] smf-2013-01-111-7/+0
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-17/+17
* removed more unreachable code detected by cppcheck (nw) Oliver Stöneberg2012-12-251-4/+4
* Since nobody checks for NULLs anyway, make Aaron Giles2012-09-191-1/+1
| | | | | | | | | | | | device_memory_interface::space() assert against NULL and return a reference, and pushed references throughout all address space usage in the system. Added a has_space() method to check for those rare case when it is ambiguous. [Aaron Giles] Also reinstated the generic space and added fatal error handlers if anyone tries to actually read/write from it.
* INTERRUPT_GEN -> INTERRUPT_GEN_MEMBER (no whatsnew) Miodrag Milanovic2012-09-181-3/+4
* changed most of screen.machine() to machine() (no whatsnew) Miodrag Milanovic2012-09-181-6/+6
* Modernized screen update calls (no whatsnew) Miodrag Milanovic2012-09-171-30/+30
* Massive change, MACHINE_START\RESET, VIDEO_START\RESET and PALETTE_INIT ↵ Miodrag Milanovic2012-09-131-25/+23
| | | | changed to be members of state classes (no whatsnew)
* Kill off some AM_BASE_LEGACYs. Aaron Giles2012-09-121-2/+2
* Clear out remaining global inlines in diexec.h. Aaron Giles2012-09-121-5/+5
* Add safe_pc() and safe_pcbase() methods to device_t. Aaron Giles2012-09-111-5/+5
| | | | | | Convert all cpu_get_pc() to safe_pc() and cpu_getpreviouspc() to safe_basepc(). Removed the old macros.
* All driver inits are now member of state classes. Miodrag Milanovic2012-08-101-8/+8
| | | | | 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)
* Updated GAME and GAMEL with class name per machine used, for future ↵ Miodrag Milanovic2012-08-041-2/+2
| | | | DRIVER_INIT change (no whatsnew)
* Conversion of _DEVICE_HANDLER to _MEMBER methods - part 1 (no whatsnew) Miodrag Milanovic2012-05-251-9/+13