- Devices ttlhigh and ttlhow are no longer automatically created.
- All logic input devices (e.g. TTL_INPUT, LOGIC_INPUT) now need to have
their power terminals (VCC, GND) connected. This opens the route
for more appropriate proxy devices but comes at a cost. If the
connections are omitted your circuit will not work as expected.
Example:
LOGIC_INPUT(I_SD0, 1, "AY8910PORT")
NET_C(VCC, I_SD0.VCC)
NET_C(GND, I_SD0.GND)
- Updated all netlists.
- Removed proxy information from terminal objects. This was replaced by
a lookup hash whose life-span does not exceed netlest setup.
These changes enable the removal of a number of hacks from the
source going forward.
bus/c64/rex_ep256.cpp: fixed array of EPROM slots not being populated (subdevices don't exist at construction time)
cleanup: (nw)
* having a macro for a device's expected tag in a header is bad - devices should not make assumptions about their tag or their location in the system hierarchy
* device types exist in the global namespace - you must not use overly generic names for them as this is likely to cause collisions
* device short names and titles each have their own namespace, but they're also global, and it should be possible to work out vaguely what a device is from its names
* POSIX reserves all names ending in "_t" at global scope - we want fewer of these causing potential future issues, not more
* if your device is in the global namespace, you should name it in a way that's not asking for name collisions to happen
* we have a simple convention for device class names - it doesn't hurt to follow it:
- concrete device_t implementations end with "_device"
- device_interface implementations end with "_interface" (and often start with "device_")
- abstract classes that derive from device_t end with "_device_base"
* if you want to give your slot card device classes short, generic names, put them in a namespace for the "bus"
* if you really want to use names ending with "_t", put them in a namespace or nest them inside a class
* vii.cpp: tvgogo, return value written on a port so that it boots (nw)
also for spg2xx_io, add machine().describe_context() to more of the logging calls to make it more informative for debugging.
* workaround so poker boots without debugger trick (nw)
* uart read notes (nw)
* not ideal, but force poker UART reads for now (nw)
* improve input (nw)
* clickable artwork fixes (nw)
* comment (nw)
* srcclean (nw)
* tidy (nw)
- fixed a code in the netlist creation which caused multiple proxies
to be created for output->terminal connections. A nice side effect of
this fix is a performance increase ~9% for kidniki and ~4% for pong.
Speaking about pong ... maximum is 490%. Dice is running at
280 FPS/60 FPS = 466%, however without any analog emulation.
- Replaced NL_NOEXCEPT with noexcept. assert is now exception-free.
- cppcheck and lint fixes.
- move memory pool to netlist_state_t removing one static allocation.
- add memory allocation stats to verbose output
- nl_assert no longer throws, first step to remove NL_EXCEPT macro.
* cointinued elan refactoring (nw)
* fake a timer interrupt to force Air Blaster Joystick 3D stages forward (nw)
* notes on bugs present on Air Blaster original hw (nw)
* lower frequency (nw)
* improve split scroll mode for air blaster joystick 3d stage bosses (nw)
* change wording (nw)
* also changed generic machine descriptions to include CPU speed rather than video card
* CPU speed is a property of a system's machine configuration in MAME
* on the other hand, the default video card is just chosen to be representative and can be changed via slot options
* also added thousands separators to clock frequencies to make it easy to see order of magnitude
cleaned up some other style things while I was at it (nw)