Yes, I think Evel's taken the day off, maybe it was Awful Knopfel...
====================================
Part of my debugging strategy is to use some printfs inside of a NETDEV_ANALOG_CALLBACK_MEMBER to see what's happening with the signals:
so I've got a NETLIST_ANALOG_OUTPUT which will call a NETDEV_ANALOG_CALLBACK_MEMBER:
inside stuntcyc_state I put:
#define DEBUGNLAO(x,y) NETDEV_ANALOG_CALLBACK_MEMBER(update_##x) {printf("UPDATE " #x ": %f "#x"= %f\n",time.as_double(),data); }
DEBUGNLAO(cyclereset,CYCLE_RESET)
DEBUGNLAO(cycleresetq,CYCLE_RESET_Q)
DEBUGNLAO(direction,DIRECTION)
#undef DEBUGNLAO
Then inside stuntcyc_state::stuntcyc(machine_config &config) you put:
#define DEBUGNLAO(x,y) NETLIST_ANALOG_OUTPUT(config, "maincpu:"#x, 0).set_params(#y, FUNC(stuntcyc_state::update_##x));
DEBUGNLAO(cyclereset,CYCLE_RESET)
DEBUGNLAO(cycleresetq,CYCLE_RESET_Q)
DEBUGNLAO(direction,DIRECTION)
#undef DEBUGNLAO
You have to put a routine into two different locations in the code.
This way I can just copy and paste the same line DEBUGNLAO(cycleresetq,CYCLE_RESET_Q) and it will make the appropriate NETDEV_ANALOG_CALLBACK_MEMBER or NETLIST_ANALOG_OUTPUT.
so output looks like this:
UPDATE direction: 0.000000 direction= 0.100000
UPDATE cyclereset: 0.000000 cyclereset= 0.100000
UPDATE cycleresetq: 0.000000 cycleresetq= 0.100000
UPDATE cycleresetq: 0.000000 cycleresetq= 3.999999
UPDATE direction: 0.000000 direction= 3.999999
One thing that's interesting in the debugger, if you "gt 1" you can see the strip of screen that gets painted during the millisecond. It shouldn't be too hard to make it possible to step by less than a millisecond.
![[Linked Image from i.imgur.com]](https://i.imgur.com/94GZChX.png)