示例#1
0
 public Test(int addr)
 {
     Address = addr;
     Id      = Zpr.ReadRamInt16(addr);
     Unk1    = Zpr.ReadRamInt16(addr + 2);
     Unk2    = Zpr.ReadRamInt32(addr + 4);
     Prev    = Zpr.ReadRamInt32(addr + 8);
     Next    = Zpr.ReadRamInt32(addr + 0xC);
 }
示例#2
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();
                }
            }
        }