diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c index 34276ef1baa..3af6c3c0af2 100644 --- a/src/mame/drivers/namcos10.c +++ b/src/mame/drivers/namcos10.c @@ -462,7 +462,7 @@ READ16_MEMBER( namcos10_state::nand_data_r ) UINT16 data = nand_read2( nand_address * 2 ); // logerror("read %08x = %04x\n", nand_address*2, data); - printf("read %08x = %04x\n", nand_address*2, data); + //printf("read %08x = %04x\n", nand_address*2, data); /* printf( "data<-%08x (%08x)\n", data, nand_address ); */ diff --git a/src/mame/machine/ns10crypt.c b/src/mame/machine/ns10crypt.c index 247d201cec3..91779b7260f 100644 --- a/src/mame/machine/ns10crypt.c +++ b/src/mame/machine/ns10crypt.c @@ -150,11 +150,11 @@ UINT16 ns10_decrypter_device::decrypt(UINT16 cipherword) for (int j = 15; j >= 0; --j) { _mask <<= 1; - _mask ^= _reducer.gf2_reduce(_logic.eMask[j] & _previous_cipherwords); - _mask ^= _reducer.gf2_reduce(_logic.dMask[j] & _previous_plainwords); + _mask ^= _reducer->gf2_reduce(_logic.eMask[j] & _previous_cipherwords); + _mask ^= _reducer->gf2_reduce(_logic.dMask[j] & _previous_plainwords); } _mask ^= _logic.xMask; - _mask ^= _logic.nonlinear_calculation(_previous_cipherwords, _previous_plainwords, _reducer); + _mask ^= _logic.nonlinear_calculation(_previous_cipherwords, _previous_plainwords, *_reducer); return plainword; } @@ -162,6 +162,7 @@ UINT16 ns10_decrypter_device::decrypt(UINT16 cipherword) void ns10_decrypter_device::device_start() { _active = false; + _reducer = auto_alloc(machine(), gf2_reducer()); } void ns10_decrypter_device::init(int iv) diff --git a/src/mame/machine/ns10crypt.h b/src/mame/machine/ns10crypt.h index 0dbe3e85099..4aa7ad47266 100644 --- a/src/mame/machine/ns10crypt.h +++ b/src/mame/machine/ns10crypt.h @@ -44,7 +44,7 @@ private: bool _active; const ns10_crypto_logic& _logic; static const int initSbox[16]; - const gf2_reducer _reducer; + const gf2_reducer *_reducer; void device_start(); void init(int iv);