mirror of
https://github.com/mamedev/mame.git
synced 2024-11-18 10:06:19 +01:00
intX_fast_t may depend on compiler implementation and thus is not suited
for save states. (nw)
This commit is contained in:
parent
47492e4821
commit
0ebd66d72f
5 changed files with 20 additions and 20 deletions
|
@ -38,7 +38,7 @@ namespace netlist
|
|||
|
||||
logic_output_t m_DO;
|
||||
|
||||
state_var<uint_fast8_t[128]> m_ram; // 1024x1 bits
|
||||
state_var<uint8_t[128]> m_ram; // 1024x1 bits
|
||||
param_ptr_t m_RAM;
|
||||
};
|
||||
|
||||
|
@ -81,8 +81,8 @@ namespace netlist
|
|||
|
||||
if (!m_RWQ())
|
||||
{
|
||||
m_ram[byte] &= ~(static_cast<uint_fast8_t>(1) << bit);
|
||||
m_ram[byte] |= (static_cast<uint_fast8_t>(m_DI()) << bit);
|
||||
m_ram[byte] &= ~(static_cast<uint8_t>(1) << bit);
|
||||
m_ram[byte] |= (static_cast<uint8_t>(m_DI()) << bit);
|
||||
}
|
||||
|
||||
m_DO.push((m_ram[byte] >> bit) & 1, max_delay);
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace netlist
|
|||
logic_input_t m_DIN;
|
||||
logic_output_t m_DOUTQ;
|
||||
|
||||
state_var<uint_fast64_t[4]> m_ram; // 256 bits
|
||||
state_var<uint64_t[4]> m_ram; // 256 bits
|
||||
};
|
||||
|
||||
NETLIB_OBJECT_DERIVED(82S16_dip, 82S16)
|
||||
|
@ -87,8 +87,8 @@ namespace netlist
|
|||
if (!m_WEQ())
|
||||
{
|
||||
m_ram[adr >> 6] = (m_ram[adr >> 6]
|
||||
& ~(static_cast<uint_fast64_t>(1) << (adr & 0x3f)))
|
||||
| (static_cast<uint_fast64_t>(m_DIN()) << (adr & 0x3f));
|
||||
& ~(static_cast<uint64_t>(1) << (adr & 0x3f)))
|
||||
| (static_cast<uint64_t>(m_DIN()) << (adr & 0x3f));
|
||||
}
|
||||
m_DOUTQ.push(((m_ram[adr >> 6] >> (adr & 0x3f)) & 1) ^ 1, NLTIME_FROM_NS(20));
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace netlist
|
|||
logic_input_t m_RC;
|
||||
logic_input_t m_IN;
|
||||
|
||||
state_var<uint_fast16_t[5]> m_buffer;
|
||||
state_var<uint16_t[5]> m_buffer;
|
||||
|
||||
logic_output_t m_OUT;
|
||||
};
|
||||
|
@ -66,7 +66,7 @@ namespace netlist
|
|||
NETLIB_SUB(Am2847_shifter) m_D;
|
||||
logic_input_t m_CP;
|
||||
|
||||
state_var<uint_fast32_t> m_last_CP;
|
||||
state_var<uint32_t> m_last_CP;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT_DERIVED(AM2847_dip, AM2847)
|
||||
|
@ -111,10 +111,10 @@ namespace netlist
|
|||
inline NETLIB_FUNC_VOID(Am2847_shifter, shift, (void))
|
||||
{
|
||||
unsigned out = m_buffer[0] & 1;
|
||||
uint_fast32_t in = (m_RC() ? out : m_IN());
|
||||
uint32_t in = (m_RC() ? out : m_IN());
|
||||
for (std::size_t i=0; i < 5; i++)
|
||||
{
|
||||
uint_fast16_t shift_in = (i == 4) ? in : m_buffer[i + 1];
|
||||
uint16_t shift_in = (i == 4) ? in : m_buffer[i + 1];
|
||||
m_buffer[i] >>= 1;
|
||||
m_buffer[i] |= shift_in << 15;
|
||||
}
|
||||
|
|
|
@ -355,15 +355,15 @@ namespace netlist
|
|||
// State variables - predefined and c++11 non-optional
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/*! predefined state variable type for uint_fast8_t */
|
||||
using state_var_u8 = state_var<std::uint_fast8_t>;
|
||||
/*! predefined state variable type for int_fast8_t */
|
||||
using state_var_s8 = state_var<std::int_fast8_t>;
|
||||
/*! predefined state variable type for uint8_t */
|
||||
using state_var_u8 = state_var<std::uint8_t>;
|
||||
/*! predefined state variable type for int8_t */
|
||||
using state_var_s8 = state_var<std::int8_t>;
|
||||
|
||||
/*! predefined state variable type for uint_fast32_t */
|
||||
using state_var_u32 = state_var<std::uint_fast32_t>;
|
||||
/*! predefined state variable type for int_fast32_t */
|
||||
using state_var_s32 = state_var<std::int_fast32_t>;
|
||||
/*! predefined state variable type for uint32_t */
|
||||
using state_var_u32 = state_var<std::uint32_t>;
|
||||
/*! predefined state variable type for int32_t */
|
||||
using state_var_s32 = state_var<std::int32_t>;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// object_t
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace netlist
|
|||
public:
|
||||
|
||||
using internal_type = TYPE;
|
||||
using mult_type = std::uint_fast64_t;
|
||||
using mult_type = std::uint64_t;
|
||||
static constexpr internal_type resolution = RES;
|
||||
|
||||
constexpr ptime() noexcept : m_time(0) {}
|
||||
|
@ -127,7 +127,7 @@ namespace netlist
|
|||
#if (PHAS_INT128)
|
||||
using netlist_time = ptime<UINT128, NETLIST_INTERNAL_RES>;
|
||||
#else
|
||||
using netlist_time = ptime<std::uint_fast64_t, NETLIST_INTERNAL_RES>;
|
||||
using netlist_time = ptime<std::uint64_t, NETLIST_INTERNAL_RES>;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue