| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
| |
plenty of things with late bind errors. Sorry.
Remaining things to switch over include sound routes and things with
custom delegates.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
* fix this->set_screen (nw)
|
| |
|
|
|
| |
- Use device_resolve_objects to remove the need for resolve_palette
- Palette format no longer depends on configuration of first screen
|
| |
|
|
|
| |
- 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).
|
| |
|
|
|
| |
- Enforce dependencies in various Konami, Sega & Seta GFX devices
- Disable palette uniqueness check in divideo
|
| |
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa
* tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
|
| |
|
|
| |
fix start project for custom builds in Visual Studio (nw)
|
| | |
|
| |
|