using com.clusterrr.Famicom.Containers; using System; using System.Collections.Generic; namespace com.clusterrr.Famicom.DumperConnection { public interface IFamicomDumperConnectionExt : IFamicomDumperConnection { /// /// Init dumper (flush queud data, check connection) /// /// public bool Init(); /// /// Famicom Dumper serial protocol version (depends on firmware version) /// byte ProtocolVersion { get; } /// /// Famicom Dumper firmware version (depends on protocol version) /// Version FirmwareVersion { get; } /// /// Famicom Dumper firmware version (depends on protocol version) /// Version HardwareVersion { get; } /// /// Famicom Dumper maximum read packet size (depends on firmware and hardware) /// ushort MaxReadPacketSize { get; } /// /// Famicom Dumper maximum read packet size (depends on firmware and hardware) /// ushort MaxWritePacketSize { get; } /// /// Timeout for all read/write operations (in milliseconds) /// uint Timeout { get; set; } /// /// Read CRC16 checksum of data at CPU (PRG) bus /// /// Address to read from /// Number of bytes to read /// Checksum ushort ReadCpuCrc(ushort address, int length); /// /// Read CRC16 checksum of data at PPU (CHR) bus /// /// Address to read from /// Number of bytes to read /// Checksum ushort ReadPpuCrc(ushort address, int length); /// /// Erase COOLBOY/GOOLGIRL current flash sector /// void EraseFlashSector(); /// /// Write COOLBOY/GOOLGIRL flash memory /// /// Address to write to /// Data to write, address will be incremented after each byte void WriteFlash(ushort address, byte[] data); /// /// Erase UNROM512 /// void EraseUnrom512(); /// /// Write UNROM512 flash memory /// /// Address to write to /// Data to write, address will be incremented after each byte void WriteUnrom512(uint address, byte[] data); /// /// Set maximum number of bytes in multi-byte flash program /// /// void SetMaximumNumberOfBytesInMultiProgram(uint pageSize); /// /// Enable/disable COOLBOY GPIO mode /// /// Enable COOLBOY GPIO mode void SetCoolboyGpioMode(bool coolboyGpioMode); } }