namespace DMGHeader { public class MemorySize { private int _size; public int Banks { get; private set; } public int BankSize { get; } public int Size { get => _size; set { _size = value; if(_size <= BankSize * 2) Banks = 0; else Banks = _size / BankSize; } } public MemorySize(int bankSize) { BankSize = bankSize; } public override string ToString() { var ret = $"{Size} KB "; if(Banks == 0) ret += "(no bank switching)"; else ret += $"({Banks} banks of {BankSize} KB each)"; return ret; } } }