Device implementations (all cpp files in netlist/devices) now should
only include nl_base.h.
Netlist implementation sources should only include "net_lib.h".
Refactored netlist.h and netlist.cpp to avoid namespace congestion in
netlist.h.
Fixed VC2015 build. (nw)
drgninja: replace MCU simulation with hacked version of baddudes dump
(nw) If anyone who doesn't suck at this game can try playing through and
see if/when problems occur, please let me know.
(nw) Uses a similar scheme to pushman, but doesn't use port D on the
MCU, and uses the same endianness for MCU reads/writes (pushman swaps
the bytes on writes). As an aside, bballs has at least partial nudity
in it as seen in attract mode, although less than bballsa.
For netlist device debugging one can now use
#define LOG(...) log().info(__VA_ARGS__)
to use debugging and the known
#define LOG(...) do {} while (0)
do disable debugging on device level.
To avoid bitrot one could as well use
#define LOG(...) log().info.log<true>(__VA_ARGS__)
and
#define LOG(...) log().info.log<false>(__VA_ARGS__)
The later disables debugging. If the compiler can assume that there are
no side effects from e.g. using foo(a/b), 'LOG("abc {1:04x}",
foo(a/b));' should be completely optimized away.
Log channels available are info, verbose, warning, error and fatal.
Don't use debug, it is enabled only on specific debug builds.
Use would be e.g.
LOG("abc {1:04x}", 2);
The format specifier in the string are enclosed in "{}". "{2}" is the
second parameter after the format string. Types are determined
automatically. "{3:04x}" would format a number as a hexadecimal with 4
leading zeros.
[Couriersud]
The previous solution involved a significant amount of redundant
replication of information and objects.
Now, a rom name specified as
SOMEROM(x21, "romlabel")
will automatically be loaded from region "netlisttag:romlabel". Examples
are hazl1500 and stuntcyc. [Couriersud]
added aristmk5 set that was missed last time (pantmaga) [Heihachi_73]
also moved the GAME definitions for the known bad dumps to their own section for easier reference if somebody wants to track those specific versions down for redumping
* tidy comments (nw)
* region info (nw)