예제 #1
0
        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();
                }
            }
        }
예제 #2
0
        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()}");
            }
        }