summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/divideo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fairly significant overhaul of Lua engine and some cleanup. Vas Crabb2020-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The things that were previously called device iterators are not iterators in the C++ sense of the word. This is confusing for newcomers. These have been renamed to be device enumerators. Several Lua methods and properties that previously returned tables now return lightweight wrappers for the underlying objects. This means creating them is a lot faster, but you can't modify them, and the performance characteristics of different operations varies. The render manager's target list uses 1-based indexing to be more like idiomatic Lua. It's now possible to create a device enumerator on any device, and then get subdevices (or sibling devices) using a relative tag. Much more render/layout functionality has been exposed to Lua. Layout scripts now have access to the layout file and can directly set the state of an item with no bindings, or register callbacks to obtain state. Some things that were previously methods are now read-only properties. Layout files are no longer required to supply a "name". This was problematic because the same layout file could be loaded for multiple instances of the same device, and each instance of the layout file should use the correct inputs (and in the future outputs) for the device instance it's associated with. This should also fix video output with MSVC builds by avoiding delegates that return things that don't fit in a register.
* emu: correct some file headers (nw) hap2020-06-191-1/+1
|
* divideo: Fetch screen to be potentially configured during ↵ AJR2018-08-211-0/+16
| | | | | | | | | | device_config_complete (nw) - Allow device finder to be used as an argument for set_screen (nw) screen: Calculate physical aspect ratio whenever required, not in device_config_complete, since the renderer caches the result anyway (nw) cdp1861, cdp1864: Eliminate the "magic reference" constructors, doing their work in device_config_complete instead (nw)
* Bind devcb relative to current device. This is probably going to break Vas Crabb2018-05-011-2/+2
| | | | | | | plenty of things with late bind errors. Sorry. Remaining things to switch over include sound routes and things with custom delegates.
* Set finder tag relative to current device being configured rather than Vas Crabb2018-04-301-25/+29
| | | | | | | | | | | | | | the finder's owner. This meand you no longer need to care about the your relationship to the object being configured and a lot of ^ and : can disappear. There's a bit reduction in string pasting in macros from this. Yes, I have to make this apply to devcb etc. as well, but that's a job for another day. There's probably at least one thing broken by this where optional objects are involved. Most things can be solved by just getting rid of the now-problematic ^ and : prefixes.
* destaticify initializations (nw) (#3289) wilbertpol2018-03-041-15/+0
| | | | | | * destaticify initializations (nw) * fix this->set_screen (nw)
* Various palette and screen improvements (nw) AJR2017-11-131-3/+0
| | | | | - Use device_resolve_objects to remove the need for resolve_palette - Palette format no longer depends on configuration of first screen
* v9938, v9958: Convert to use RGB32 bitmaps AJR2017-11-051-2/+2
| | | | | - Palette has been retained mostly for the sake of the palette viewer, and now reflects the actual programmed values, rather than being a fixed RRRGGGBBB encoding plus a hacky mess for the V9958's YJK colors. - V9938-on-V9938 transparent overlay is fixed for meritm.cpp (was broken a few releases ago).
* Palette device fixes (nw) AJR2017-04-061-3/+3
| | | | | - Enforce dependencies in various Konami, Sega & Seta GFX devices - Disable palette uniqueness check in divideo
* New device interface for palettes AJR2017-04-061-1/+15
| | | | | | - Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface. - Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices. - Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
* Self-registering devices prep: 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.
* Iterate over devices C++11 style AJR2016-04-181-2/+2
| | | | | | Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Add a few more typical getters to device_t::subdevice_list.
* reverting: Miodrag Milanovic2016-01-201-12/+12
| | | | | | | 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-12/+12
| | | | fix start project for custom builds in Visual Studio (nw)
* clang-modernize part 1 (nw) Miodrag Milanovic2015-12-031-11/+11
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+130