Example #1
0
        public void Write(Mem mem, string name, string value)
        {
            MemMapEntry entry = Entries.Find(x => x.Name == name);

            if (entry == null)
            {
                return;
            }

            uint absPtr = (uint)(BasePointer + entry.Offset);

            Console.WriteLine($"Writing {value} at {absPtr.ToString("X8")}");

            switch (entry.Type)
            {
            case "uint":
                uint uintValue = UInt32.Parse(value);
                mem.WritePSXUInt32((uint)absPtr, uintValue, null);
                break;

            case "short":
                short shortValue = Int16.Parse(value);
                mem.WritePSXInt16(absPtr, shortValue, null);
                break;

            case "byte":
                byte byteValue = Byte.Parse(value);
                mem.WritePSXByte(absPtr, byteValue, null);
                break;

            default:
                Console.WriteLine("Unimplemented write type.");
                break;
            }
        }