summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author andreasnaive <andreasnaive@gmail.com>2015-08-07 17:40:00 +0200
committer andreasnaive <andreasnaive@gmail.com>2015-08-07 17:40:46 +0200
commitb5f35171297aa227a1c877996aae6ae9e44d25e9 (patch)
treea3f0d5f95bb26c731cc8d076725f4f21565a681a /src
parent97751f47c352833ffdf6d0145cff339f165c0b92 (diff)
speeding up device construction (nw)
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/namcos10.c2
-rw-r--r--src/mame/machine/ns10crypt.c7
-rw-r--r--src/mame/machine/ns10crypt.h2
3 files changed, 6 insertions, 5 deletions
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);