diff -Nru base0135/src/emu/inptport.c mame0135s/src/emu/inptport.c --- base0135/src/emu/inptport.c 2009-12-28 14:27:36.000000000 +1300 +++ mame0135s/src/emu/inptport.c 2009-12-28 14:24:52.000000000 +1300 @@ -2084,6 +2084,10 @@ mess_input_port_update_hook(machine, port, &port->state->digital); #endif /* MESS */ + /* handle playback/record */ + playback_port(port); + record_port(port); + /* call device line changed handlers */ newvalue = input_port_read_direct(port); for (device_field = port->state->writedevicelist; device_field; device_field = device_field->next) @@ -2101,13 +2105,6 @@ } } - /* handle playback/record */ - for (port = machine->portlist.head; port != NULL; port = port->next) - { - playback_port(port); - record_port(port); - } - profiler_mark_end(); }