private static void ReadRam(int addr, bool flip) { Console.Clear(); long emuAddr = 0; long emuAddrOld = 0; if (flip) { for (int i = 0; i < 0x100; i += 0x10) { emuAddr = Zpr.GetEmulatedAddress(addr); if (emuAddrOld != emuAddr) { Console.WriteLine($"{emuAddr:X16}"); emuAddrOld = emuAddr; } int addrLocal = addr + i; Console.WriteLine($"{addrLocal:X8} {Zpr.ReadRamInt32(addrLocal + 0):X8} {Zpr.ReadRamInt32(addrLocal + 4):X8} {Zpr.ReadRamInt32(addrLocal + 0x8):X8} {Zpr.ReadRamInt32(addrLocal + 0xC):X8}"); } } else { byte[] arr = Zpr.ReadRam(addr, 0x100); emuAddr = Zpr.GetEmulatedAddress(addr); Console.WriteLine($"{emuAddr:X16}"); for (int i = 0; i < 0x100; i += 0x10) { Console.Write($"{(addr + i):X8}"); for (int j = 0; j < 0x10; j += 4) { Console.Write($" {arr[i + j]:X2}{arr[i + j + 1]:X2}{arr[i + j + 2]:X2}{arr[i + j + 3]:X2}"); } Console.WriteLine(); } } }
private static void LinkListCircular(int addr) { Test node = new Test(addr); Console.Clear(); List <Test> nodes = new List <Test>() { node }; Test cur = node; while (cur.Next != node.Address && cur.Next != 0) { cur = new Test(cur.Next); nodes.Add(cur); } foreach (var item in nodes.OrderBy(x => x.Address)) { Console.WriteLine($"{Zpr.GetEmulatedAddress(item.Address):X16}:{item.ToString()}"); } }