mirror of
https://github.com/holub/mame
synced 2025-04-09 18:17:44 +03:00
cpu/drcbearm64.cpp: orr immediate needs a mask immediate.
This commit is contained in:
parent
c5460b1011
commit
c5629193ce
@ -4237,7 +4237,7 @@ void drcbe_arm64::op_or(a64::Assembler &a, const uml::instruction &inst)
|
||||
if ((dst.id() != src1.id()) || ((inst.size() == 4) && (dstp == src1p) && dstp.is_int_register()))
|
||||
a.mov(dst, src1);
|
||||
}
|
||||
else if (src2p.is_immediate() && is_valid_immediate(src2p.immediate(), 12))
|
||||
else if (src2p.is_immediate() && is_valid_immediate_mask(src2p.immediate(), inst.size()))
|
||||
{
|
||||
mov_reg_param(a, inst.size(), src1, src1p);
|
||||
|
||||
|
@ -322,7 +322,7 @@ void zsg2_device::sound_stream_update(sound_stream &stream, std::vector<read_str
|
||||
int32_t sample = elem.samples[sample_pos];
|
||||
|
||||
// linear interpolation (hardware certainly does something similar)
|
||||
sample += ((uint16_t)(elem.step_ptr << 2 & 0xffff) * (int16_t)(elem.samples[sample_pos+1] - sample)) >> 16;
|
||||
sample += (uint16_t(elem.step_ptr << 2 & 0xffff) * int16_t(elem.samples[sample_pos+1] - sample)) >> 16;
|
||||
|
||||
// another filter...
|
||||
elem.output_filter_state += (sample - (elem.output_filter_state >> 16)) * elem.output_cutoff;
|
||||
|
Loading…
Reference in New Issue
Block a user