public AsmMemory(IAsmIO io, uint address, uint size) { this.io = io; this.address = address; this.size = size; this.handle = io.MapAsmIO(address, size); }
public AsmDevice(IAsmIO io) { this.io = io; this.prb = new Prober(io); Console.WriteLine("Scanning for ASMedia ICs..."); if (!prb.FindByVendor(VID_2142, out pcidev) && !prb.FindByVendor(VID_3142, out pcidev)) { throw new Exception($"No ASMedia device detected!"); } Console.WriteLine("Found ASMedia IC!"); uint barValue = PCIReadWord(0x10); Console.WriteLine($"BAR: {barValue:X8}"); this.bar = new PCIBar(barValue); }
static void Main(string[] args) { IAsmIO io = AsmIOFactory.GetAsmIO(); Console.WriteLine("Unloading ASM Driver..."); io.UnloadAsmIODriver(); Console.WriteLine("Loading ASM Driver..."); if (io.LoadAsmIODriver() != 1) { Console.Error.WriteLine("Failed to load ASM IO Driver"); return; } AsmDevice dev = new AsmDevice(io); Console.WriteLine("Dumping firmware..."); dev.DumpFirmware("dump.bin"); }
public Prober(IAsmIO io) { this.io = io; }