Plus 3 mode fully working. Added Plus 3 keyboard

This commit is contained in:
2026-04-30 15:42:54 +01:00
parent d90537de59
commit bc2748250d
5 changed files with 67 additions and 21 deletions

View File

@@ -47,7 +47,7 @@ namespace Core.Memory
// Called by the IO Bus when the CPU writes to a paging port
public void HandlePaging(ushort port, byte value)
{
Debug.WriteLine($"[PAGING] 0x7FFD Triggered! Hex: 0x{value:X2} | Bank: {value & 0x07}");
//Debug.WriteLine($"[PAGING] 0x7FFD Triggered! Hex: 0x{value:X2} | Bank: {value & 0x07}");
if (_pagingDisabled || _currentRomBank == 4) return; // Ignore if locked or in 48K mode
if (port == 0x7FFD)
@@ -126,6 +126,11 @@ namespace Core.Memory
}
}
public byte[] GetVideoRam()
{
// Bit 3 of 7FFD dictates the active screen. 0 = Bank 5 (Standard), 1 = Bank 7 (Shadow).
return (_port7FFD & 0x08) != 0 ? _ramBanks[7] : _ramBanks[5];
}
public void LoadRom(byte[] romData, int bankIndex)
{
Array.Copy(romData, 0, _romBanks[bankIndex], 0, Math.Min(romData.Length, 0x4000));