Ejemplo n.º 1
0
Archivo: Rom.cs Proyecto: Y2JB/Y2Gba
        public Rom(string fn)
        {
            RomFileName = fn;

            romData = new MemoryStream(File.ReadAllBytes(fn)).ToArray();

            // Cache the entire ROM along 32 bit boundaries. This lets us do fast access when advancing and refilling the CPU pipeline.
            Cache32BitRomValues();
            Cache16BitRomValues();

            DetectSaveType(fn);

            sRam        = new byte[Max_SRam_Size];
            this.Eeprom = new Eeprom(this);

            RomName = Encoding.UTF8.GetString(romData, RomNameOffset, 12).TrimEnd((Char)0);
            RomName = RomName.Replace("/", String.Empty);

            EntryPoint = ReadWord(0);

            switch (SaveGameBackupType)
            {
            case BackupType.SRAM:
                LoadSramData();
                break;

            case BackupType.EEPROM:
                Eeprom.Load();
                break;
            }
        }