Fixed the noise channel. Fixed speech in IM. Added 0xED57 to play WBIII

This commit is contained in:
2026-05-15 22:09:20 +01:00
parent f52a5cbfdb
commit 4e745b4fbc
5 changed files with 411 additions and 380 deletions

View File

@@ -1340,6 +1340,18 @@ namespace Core.Cpu
case 0x56: // IM 1
InterruptMode = 1;
return 8;
case 0x57: // LD A, I
{
AF.High = I; // Copy I into A
byte flags57 = (byte)(AF.Low & 0x01); // Preserve Carry
if ((AF.High & 0x80) != 0) flags57 |= 0x80; // S flag
if (AF.High == 0) flags57 |= 0x40; // Z flag
if (IFF2) flags57 |= 0x04; // P/V flag gets IFF2
flags57 |= (byte)(AF.High & 0x28);
AF.Low = flags57;
return 9;
}
case 0x58: // IN E, (C)
byte inVal58 = ReadPort(BC.Word);
DE.Low = inVal58;