Object model optimisation.
Merge remote-tracking branch 'origin/master' into netlist_dev
Fix a merge issue.
#if ==> #elif. Ouch.
Default PHAS_PMF_INTERNAL=0 for 32bit windows mingw.
Change UINT8 to uint_[fast|least|8_t.
Move state_var so it can be used by base devices as well.
Remove last traces of ATTR_ALIGN.
Refactored netlist_time into a template.
Removed implicit double assignment to netlist. Doomed to produce
bugs.
Instead, use netlist_time::from_double.
Switch to using proper (i.e. bool type) param_logic_t.
Formally differentiate between logic inputs (e.g. switches) and int
inputs (e.g. resistor ladders or selection switches).
Added parameter USE_DEACTIVATE to truthtable devices.
Added more constexpr to netlist_time.
Fixed some ifdef code paths.
- More c++.
- Simplify main processing loop. As a nice side-effect that squeezed
out some cycles.
- More cycle squeezing.
- Removed pvector_t.
- Use std::sort.
- Refactored netlist state manager.
- Introduction of state_var object template to be used on device
state
members.
- Changed remaining save occurrences to state_var.
- Rewrote nltool's listdevices command. This allowed removal of one
member from devices which served solely for listdevices.
- Remove hashmap_t. Fix kidniki regression.
Revision: 58dc78b6eb
Author: Giuseppe Gorgoglione <gorgogsp@gmail.com>
Date: 28/05/2016 03:14:15
Message:
Introduce dynamic_module
This is a central cross-platform facility to dynamically bind functions from shared libraries.
Updated all OSD modules to use it.
Splitted a new machine driver from the W4 hardware version, and
decoded the custom graphics. Need proper bipolar PROMs dumps. [Roberto Fresca]
New machines marked as NOT_WORKING
----------------------------------
Flaming 7 (Custom Hardware, Main, 50) [Roberto Fresca, Ioannis Bampoulas]
Flaming 7 (Custom Hardware, Main, 500) [Roberto Fresca, Ioannis Bampoulas]
Flaming 7 (Custom Hardware, Main, 2000) [Roberto Fresca, Ioannis Bampoulas]
Three patches with code cleanups to the OSD layer [
Giuseppe Gorgoglione]
* Fix debugging code in font_dwrite.cpp
* Introduce dynamic_module
* Remove Direct3D abstraction layer
- Added AM_SELECT/addrselect field. Replaces the old
AM_MIRROR/AM_MASK combo used to mirror a handler and get the mirrored
bits in the offset.
- Removed mask and/or mirror from where it didn't belong. Simplified
a lot of instances of mask that just weren't needed, especially in bus
handlers. Used the short forms of install handlers where possible.
- Replaced the 60s hippy, "It's cool man" range parameter handling in
map_range that tried to guess what was meant when the values passed
were not entirely sensible, by a cranky, diner waitress-turned IRS
auditor curmudgeon. Main control function has a series of 14 tests
just to find a reason to fatalerror out your requests. You have
been warned.
Some drivers, hopefully not many, will fail the gate-guarding
bureaucrat trials. Should be easy to fix actually, I worked on the
error messages. A full regression test would be welcome.