using BizHawk.Common;
namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
{
///
/// Represents a spectrum keyboard
///
public interface IKeyboard
{
///
/// The calling spectrumbase class
///
SpectrumBase _machine { get; }
///
/// The keyboard matrix for a particular spectrum model
///
string[] KeyboardMatrix { get; set; }
///
/// For 16/48k models
///
bool Issue2 { get; set; }
///
/// The current keyboard line status
///
//byte[] LineStatus { get; set; }
///
/// Sets the spectrum key status
///
///
///
void SetKeyStatus(string key, bool isPressed);
///
/// Gets the status of a spectrum key
///
///
///
bool GetKeyStatus(string key);
///
/// Returns the query byte
///
///
///
byte GetLineStatus(byte lines);
///
/// Reads a keyboard byte
///
///
///
byte ReadKeyboardByte(ushort addr);
///
/// Looks up a key in the keyboard matrix and returns the relevent byte value
///
///
///
byte GetByteFromKeyMatrix(string key);
void SyncState(Serializer ser);
}
}