Avoid RAND_MAX overflow.

This commit is contained in:
Andrea Odetti 2019-10-12 14:26:52 +01:00
parent d8f2976830
commit ba801e4e13

View file

@ -1130,8 +1130,8 @@ void Disk2InterfaceCard::DataLatchReadWOZ(WORD pc, WORD addr, UINT bitCellRemain
drive.m_headWindow <<= 1;
drive.m_headWindow |= (n & floppy.m_bitMask) ? 1 : 0;
BYTE outputBit = (drive.m_headWindow & 0xf) ? (drive.m_headWindow >> 1) & 1
: (rand() < ((RAND_MAX * 3) / 10)) ? 1 : 0; // ~30% chance of a 1 bit (Ref: WOZ-2.0)
BYTE outputBit = (drive.m_headWindow & 0xf) ? (drive.m_headWindow >> 1) & 1
: (rand() < (RAND_MAX / 10 * 3)) ? 1 : 0; // ~30% chance of a 1 bit (Ref: WOZ-2.0)
floppy.m_bitMask >>= 1;
if (!floppy.m_bitMask)