* New machines marked as NOT_WORKING
----------------------------------
TV Learning Station (VTech, Germany) [Sean Riddle, TeamEurope]
* Add 'vtechtvsgr' and rename 'vtechtvs' -> 'vtechtvssp' (nw)
* New machines marked as NOT_WORKING
----------------------------------
IQ Unlimited [Alexandre]
(nw) I've renamed the aready existing dump to "IQ Unlimited (Germany)" (this new one is the English version) and marked it as a bad dump, as it seems underdumped (half sized).
* Add "Integrated Systems Inc." (nw)
* Rename "iqunlim"->"iqunlimgr" and add "iqunlim" (nw)
- working macro level parameters
- simplified code significantly
- fixed a number of hidden issue
- dead code removal
It is now possible to define netlist level parameters using:
static NETLIST_START(chip)
DEFPARAM(parameter, 123)
RES(R1, $(@.parameter))
....
NETLIST_END()
NETLIST_START(main)
chip(X1)
PARAM(X1.parameter, 1000)
...
NETLIST_END()
This will pass on 1000 to R1 as a parameter.
"@." will resolve to the current namespace. In this case it is X1, thus
"X1.parameter. This is during parsing. During evalution, i.e. device
creation, $(X1.parameter) is evaluated to 1000.
This also means, that global parameters are possible and accessible ...
DEFPARAM(P, 234)
...
RES(R1, $(P))
or going forward
RES(R1, 1000)
CAP(C1, 1.0 / $(R1.R))
This opens up the path to more possibilities ...
static NETLIST_START(DM9456_DIP)
DEFPARAM(MODEL, "74XX")
DM9456_GATE(X1)
DM9456_GATE(X2)
PARAM(X1.MODEL, $(@.MODEL))
PARAM(X2.MODEL, $(@.MODEL))
...
NETLIST_END()
NETLIST_START(main)
DM9456_DIP(X1)
PARAM(X1.MODEL, "LS74XX")
...
NETLIST_END()
The code also has been prepared to allow something along the lines of
LIBENTRY_MODEL(DM74LS00_DIP, DM7400_DIP, "LS74XX")
to define a LS version on top of an DM7400_DIP bare TTL implementation.
This however will need more efforts to existing devices to honour some
timing adjustment in the model definition. It will already honour
different output specifications between LS series and bare TTL if
connected to analog components.
Leaving out the termination resulted in the following wonderfully misleading error message when trying to so much as list or validate the driver on my OS X build:
> Assertion failed: (!owner), function create_driver, file ../../../../../src/emu/device.h, line 214.
This a big forward to allow reuse of code. Still a longer way to go
but the foundation there.
Also brings quite a number of simplifications and dead code removal.