diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/AxiMemory.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/AxiMemory.cs index 25255e28..ce03876d 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/AxiMemory.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/AxiMemory.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; using System.Runtime.InteropServices; namespace Essgee.Utilities @@ -84,21 +83,21 @@ namespace Essgee.Utilities } #endregion - public static void Write(this BinaryWriter bw, byte* bufferPtr, int offset, int count) + public static void Write(this System.IO.BinaryWriter bw, byte* bufferPtr, int offset, int count) { // 使用指针复制数据到临时数组 Buffer.MemoryCopy(bufferPtr + offset, TempBuffer, 0, count); // 使用BinaryWriter写入临时数组 bw.Write(TempBuffer_src, 0, count); } - public static void Write(this FileStream fs, byte* bufferPtr, int offset, int count) + public static void Write(this System.IO.FileStream fs, byte* bufferPtr, int offset, int count) { // 使用指针复制数据到临时数组 Buffer.MemoryCopy(bufferPtr + offset, TempBuffer, 0, count); // 使用BinaryWriter写入临时数组 fs.Write(TempBuffer_src, 0, count); } - public static int Read(this FileStream fs, byte* bufferPtr, int offset, int count) + public static int Read(this System.IO.FileStream fs, byte* bufferPtr, int offset, int count) { // 使用BinaryWriter写入临时数组 count = fs.Read(TempBuffer_src, offset, count); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/EmuStandInfo.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/EmuStandInfo.cs index df3cfa98..18589e6f 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/EmuStandInfo.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/EmuStandInfo.cs @@ -1,5 +1,6 @@ using Essgee; +using Essgee.Metadata; using System; public static class EmuStandInfo diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/SM83.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/SM83.cs index 5461099e..c8df15c9 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/SM83.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/SM83.cs @@ -131,7 +131,8 @@ namespace Essgee.Emulation.CPU { if (AppEnvironment.EnableSuperSlowCPULogger && logEntries != null) { - System.IO.File.AppendAllText(logFile, string.Join("", logEntries.Take(numLogEntries))); + //TODO 暂时不要日志看后续是否需要加 + //System.IO.File.AppendAllText(logFile, string.Join("", logEntries.Take(numLogEntries))); } // @@ -175,7 +176,8 @@ namespace Essgee.Emulation.CPU logEntries[numLogEntries++] = disasm; if (numLogEntries >= logEntries.Length) { - System.IO.File.AppendAllText(logFile, string.Join("", logEntries)); + //TODO 暂时不要日志看后续是否需要加 + //System.IO.File.AppendAllText(logFile, string.Join("", logEntries)); numLogEntries = 0; } } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/Z80A.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/Z80A.cs index aad65619..9386dc4f 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/Z80A.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CPU/Z80A.cs @@ -207,8 +207,9 @@ namespace Essgee.Emulation.CPU if (AppEnvironment.EnableSuperSlowCPULogger) { - string disasm = string.Format("{0} | {1} | {2} | {3}\n", DisassembleOpcode(this, pc).PadRight(48), PrintRegisters(this), PrintFlags(this), PrintInterrupt(this)); - System.IO.File.AppendAllText(@"D:\Temp\Essgee\log.txt", disasm); + //TODO 暂时不要日志看后续是否需要加 + //string disasm = string.Format("{0} | {1} | {2} | {3}\n", DisassembleOpcode(this, pc).PadRight(48), PrintRegisters(this), PrintFlags(this), PrintInterrupt(this)); + //System.IO.File.AppendAllText(@"D:\Temp\Essgee\log.txt", disasm); } /* Fetch and execute opcode */ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CartridgeLoader.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CartridgeLoader.cs index 596b948b..1bd992b1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CartridgeLoader.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/CartridgeLoader.cs @@ -3,7 +3,6 @@ using Essgee.Exceptions; using Essgee.Utilities; using System; using System.Collections.Generic; -using System.IO; using System.IO.Compression; using System.Linq; using System.Reflection; @@ -32,19 +31,19 @@ namespace Essgee.Emulation Type machineType = null; byte[] romData = null; - if (!File.Exists(fileName)) + if (!EmulatorHandler.io.File_Exists(fileName)) throw new CartridgeLoaderException($"{fileType} file not found."); try { - var fileExtension = Path.GetExtension(fileName); + var fileExtension = System.IO.Path.GetExtension(fileName); if (fileExtension == ".zip") { using (var zip = ZipFile.Open(fileName, ZipArchiveMode.Read)) { foreach (var entry in zip.Entries) { - var entryExtension = Path.GetExtension(entry.Name); + var entryExtension = System.IO.Path.GetExtension(entry.Name); if (fileExtensionSystemDictionary.ContainsKey(entryExtension)) { machineType = fileExtensionSystemDictionary[entryExtension]; @@ -61,7 +60,7 @@ namespace Essgee.Emulation else if (fileExtensionSystemDictionary.ContainsKey(fileExtension)) { machineType = fileExtensionSystemDictionary[fileExtension]; - romData = File.ReadAllBytes(fileName); + romData = System.IO.File.ReadAllBytes(fileName); } } catch (Exception ex) when (!AppEnvironment.DebugMode) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/EmulatorHandler.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/EmulatorHandler.cs index 36b59d30..721a1af0 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/EmulatorHandler.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/EmulatorHandler.cs @@ -5,7 +5,6 @@ using Essgee.Metadata; using Essgee.Utilities; using System; using System.Collections.Generic; -using System.IO; using System.Threading; namespace Essgee.Emulation @@ -14,6 +13,7 @@ namespace Essgee.Emulation { readonly Action exceptionHandler; + public static IEssgeeIOSupport io; public IMachine emulator { get; private set; } Thread emulationThread; @@ -158,7 +158,7 @@ namespace Essgee.Emulation public string GetSaveStateFilename(int number) { - return Path.Combine(EmuStandInfo.SaveStatePath, $"{Path.GetFileNameWithoutExtension(currentGameMetadata.FileName)} (State {number:D2}).est"); + return System.IO.Path.Combine(EmuStandInfo.SaveStatePath, $"{System.IO.Path.GetFileNameWithoutExtension(currentGameMetadata.FileName)} (State {number:D2}).est"); } public void LoadState(int number) @@ -182,9 +182,9 @@ namespace Essgee.Emulation byte[] ramData = new byte[currentGameMetadata.RamSize]; - var savePath = Path.Combine(EmuStandInfo.SaveDataPath, Path.ChangeExtension(currentGameMetadata.FileName, "sav")); - if (File.Exists(savePath)) - ramData = File.ReadAllBytes(savePath); + var savePath = System.IO.Path.Combine(EmuStandInfo.SaveDataPath, System.IO.Path.ChangeExtension(currentGameMetadata.FileName, "sav")); + if (EmulatorHandler.io.File_Exists(savePath)) + ramData = EmulatorHandler.io.File_ReadAllBytes(savePath); emulator.Load(romData, ramData, currentGameMetadata.MapperType); @@ -202,8 +202,8 @@ namespace Essgee.Emulation cartRamSaveNeeded) { var ramData = emulator.GetCartridgeRam(); - var savePath = Path.Combine(EmuStandInfo.SaveDataPath, Path.ChangeExtension(currentGameMetadata.FileName, "sav")); - File.WriteAllBytes(savePath, ramData); + var savePath = System.IO.Path.Combine(EmuStandInfo.SaveDataPath, System.IO.Path.ChangeExtension(currentGameMetadata.FileName, "sav")); + EmulatorHandler.io.File_WriteAllBytes(savePath, ramData); } } @@ -370,28 +370,28 @@ namespace Essgee.Emulation // } //} - public void SaveSnapShotToFile(int stateNumber) - { - var statePath = GetSaveStateFilename(stateNumber); - using (var stream = new FileStream(statePath, FileMode.OpenOrCreate)) - { - //SaveStateHandler.Save(stream, emulator.GetType().Name, emulator.GetState()); - SaveStateHandler.Save(stream, emulator.GetType().Name, emulator.SaveAxiStatus()); - } - } + //public void SaveSnapShotToFile(int stateNumber) + //{ + // var statePath = GetSaveStateFilename(stateNumber); + // using (var stream = new FileStream(statePath, FileMode.OpenOrCreate)) + // { + // //SaveStateHandler.Save(stream, emulator.GetType().Name, emulator.GetState()); + // SaveStateHandler.Save(stream, emulator.GetType().Name, emulator.SaveAxiStatus()); + // } + //} - public void LoadSnapShotFromFile(int stateNumber) - { - var statePath = GetSaveStateFilename(stateNumber); - if (File.Exists(statePath)) - { - using (var stream = new FileStream(statePath, FileMode.Open)) - { - //emulator.SetState(SaveStateHandler.Load(stream, emulator.GetType().Name)); - emulator.LoadAxiStatus(SaveStateHandler.LoadAxiStatus(stream, emulator.GetType().Name)); - } - } - } + //public void LoadSnapShotFromFile(int stateNumber) + //{ + // var statePath = GetSaveStateFilename(stateNumber); + // if (File.Exists(statePath)) + // { + // using (var stream = new FileStream(statePath, FileMode.Open)) + // { + // //emulator.SetState(SaveStateHandler.Load(stream, emulator.GetType().Name)); + // emulator.LoadAxiStatus(SaveStateHandler.LoadAxiStatus(stream, emulator.GetType().Name)); + // } + // } + //} public byte[] GetStateData() { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/ExtDevices/Nintendo/GameBoyIPC.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/ExtDevices/Nintendo/GameBoyIPC.cs index 40029073..602078ba 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/ExtDevices/Nintendo/GameBoyIPC.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/ExtDevices/Nintendo/GameBoyIPC.cs @@ -1,7 +1,6 @@ using Essgee.EventArguments; using System; using System.ComponentModel; -using System.IO; using System.IO.MemoryMappedFiles; namespace Essgee.Emulation.ExtDevices.Nintendo @@ -64,7 +63,7 @@ namespace Essgee.Emulation.ExtDevices.Nintendo ipcOffsetSelf = ipcBaseOffsetSerialData + 1; ipcOffsetRemote = ipcBaseOffsetSerialData + 0; } - catch (FileNotFoundException) + catch (Exception ex) { // Mapped file does not yet exist, create file and assume this instance is first machine mmf = MemoryMappedFile.CreateOrOpen(ipcName, ipcLength); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/Machines/GameBoyColor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/Machines/GameBoyColor.cs index 7adff1f9..2a68c9e7 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/Machines/GameBoyColor.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/Machines/GameBoyColor.cs @@ -10,7 +10,6 @@ using Essgee.Utilities; using System; using System.Collections.Generic; using System.ComponentModel; -using System.IO; using System.Linq; namespace Essgee.Emulation.Machines @@ -365,9 +364,22 @@ namespace Essgee.Emulation.Machines irDatabaseCurrentIndex = irCycles = 0; irExternalTransferActive = false; - if (configuration.InfraredSource == InfraredSources.PocketPikachuColor && File.Exists(configuration.InfraredDatabasePikachu)) + //if (configuration.InfraredSource == InfraredSources.PocketPikachuColor && EmulatorHandler.io.File_Exists(configuration.InfraredDatabasePikachu)) + //{ + // using (var reader = new System.IO.BinaryReader(new FileStream(configuration.InfraredDatabasePikachu, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))) + // { + // irDatabase = new ushort[reader.BaseStream.Length / 2]; + // for (var i = 0; i < irDatabase.Length; i++) + // irDatabase[i] = reader.ReadUInt16(); + + // irDatabaseStep = 2007; + // if ((irDatabaseBaseIndex < 0) || (irDatabaseBaseIndex * irDatabaseStep >= irDatabase.Length)) + // irDatabaseBaseIndex = 0; + // } + //} + if (configuration.InfraredSource == InfraredSources.PocketPikachuColor && EmulatorHandler.io.File_Exists(configuration.InfraredDatabasePikachu)) { - using (var reader = new BinaryReader(new FileStream(configuration.InfraredDatabasePikachu, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))) + using (var reader = new System.IO.BinaryReader(new System.IO.MemoryStream(EmulatorHandler.io.File_ReadAllBytes(configuration.InfraredDatabasePikachu)))) { irDatabase = new ushort[reader.BaseStream.Length / 2]; for (var i = 0; i < irDatabase.Length; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/SaveStateHandler.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/SaveStateHandler.cs index 2fc94d0d..55e30290 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/SaveStateHandler.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Emulation/SaveStateHandler.cs @@ -1,6 +1,4 @@ -using System.IO; - -namespace Essgee.Emulation +namespace Essgee.Emulation { public static class SaveStateHandler { @@ -42,12 +40,12 @@ namespace Essgee.Emulation // } //} - public static AxiEssgssStatusData LoadAxiStatus(Stream stream, string machineName) + public static AxiEssgssStatusData LoadAxiStatus(System.IO.Stream stream, string machineName) { - using (var reader = new BinaryReader(stream)) + using (var reader = new System.IO.BinaryReader(stream)) { /* Check CRC32 */ - using (var stateStream = new MemoryStream()) + using (var stateStream = new System.IO.MemoryStream()) { reader.BaseStream.CopyTo(stateStream); return stateStream.ToArray().ToAxiEssgssStatusData(); @@ -102,11 +100,11 @@ namespace Essgee.Emulation // } //} - public static void Save(Stream stream, string machineName, AxiEssgssStatusData state) - { - byte[] data = state.ToByteArray(); - stream.Write(data, 0, data.Length); - } + //public static void Save(Stream stream, string machineName, AxiEssgssStatusData state) + //{ + // byte[] data = state.ToByteArray(); + // stream.Write(data, 0, data.Length); + //} //private static string GenerateMachineIdString(string machineId) //{ // return machineId.Substring(0, Math.Min(machineId.Length, 16)).PadRight(16); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Extensions/AssemblyExtensionMethods.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Extensions/AssemblyExtensionMethods.cs index 6120fb51..62edabda 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Extensions/AssemblyExtensionMethods.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Extensions/AssemblyExtensionMethods.cs @@ -1,5 +1,4 @@ using System; -using System.IO; using System.Linq; using System.Reflection; @@ -20,7 +19,7 @@ namespace Essgee.Extensions public static string ReadEmbeddedTextFile(this Assembly assembly, string resourceName) { - using (var reader = new StreamReader(assembly.GetManifestResourceStream(resourceName))) + using (var reader = new System.IO.StreamReader(assembly.GetManifestResourceStream(resourceName))) return reader.ReadToEnd(); } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/IAxiEssgssStatus.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/IAxiEssgssStatus.cs index 541d8e9c..e396ee88 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/IAxiEssgssStatus.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/IAxiEssgssStatus.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Runtime.Serialization.Formatters.Binary; [Serializable] public class AxiEssgssStatusData diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Metadata/GameMetadataHandler.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Metadata/GameMetadataHandler.cs index 75a630dc..9a001a1a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Metadata/GameMetadataHandler.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Metadata/GameMetadataHandler.cs @@ -2,7 +2,6 @@ using Essgee.Exceptions; using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Xml.Serialization; @@ -17,6 +16,15 @@ namespace Essgee.Metadata public bool GetDatBytes(string DatName, out byte[] loadedData); } + + public interface IEssgeeIOSupport + { + bool File_Exists(string path); + byte[] File_ReadAllBytes(string path); + void File_WriteAllBytes(string savePath, byte[] data); + void File_WriteAllBytesFromStre(string path, System.IO.MemoryStream ms); + } + public class GameMetadataHandler { public static GameMetadataHandler instance; @@ -24,6 +32,8 @@ namespace Essgee.Metadata //static string metadataDatabaseFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Assets", "MetadataDatabase.json"); public IGameMetaReources gameMetaReources; + public IEssgeeIOSupport uegIO; + //readonly Dictionary datFiles; readonly List cartMetadataDatabase; @@ -379,7 +389,7 @@ namespace Essgee.Metadata XmlSerializer serializer; root = new XmlRootAttribute("datafile") { IsNullable = true }; serializer = new XmlSerializer(typeof(DatFile), root); - using (MemoryStream stream = new MemoryStream(loadedData)) + using (System.IO.MemoryStream stream = new System.IO.MemoryStream(loadedData)) { datFile = (DatFile)serializer.Deserialize(stream); } @@ -396,7 +406,7 @@ namespace Essgee.Metadata /* Create game metadata */ var gameMetadata = new GameMetadata() { - FileName = Path.GetFileName(romFilename), + FileName = System.IO.Path.GetFileName(romFilename), KnownName = gameInfo?.Name, RomCrc32 = romCrc32, RomSize = romSize diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Utilities/Crc32.cs b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Utilities/Crc32.cs index 78b8691c..322ab59b 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Utilities/Crc32.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Utilities/Crc32.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace Essgee.Utilities { @@ -34,42 +33,42 @@ namespace Essgee.Utilities if ((segmentStart + segmentLength) > dataLength) throw new Crc32Exception("Segment end offset is greater than total length"); } - public static uint Calculate(FileInfo fileInfo) - { - return Calculate(fileInfo, 0, (int)fileInfo.Length); - } + //public static uint Calculate(FileInfo fileInfo) + //{ + // return Calculate(fileInfo, 0, (int)fileInfo.Length); + //} - public static uint Calculate(FileInfo fileInfo, int start, int length) - { - VerifyStartAndLength((int)fileInfo.Length, start, length); + //public static uint Calculate(FileInfo fileInfo, int start, int length) + //{ + // VerifyStartAndLength((int)fileInfo.Length, start, length); - using (FileStream file = fileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) - { - return Calculate(file, start, length); - } - } + // using (FileStream file = fileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + // { + // return Calculate(file, start, length); + // } + //} - public static uint Calculate(Stream stream) - { - return Calculate(stream, 0, (int)stream.Length); - } + //public static uint Calculate(Stream stream) + //{ + // return Calculate(stream, 0, (int)stream.Length); + //} - public static uint Calculate(Stream stream, int start, int length) - { - VerifyStartAndLength((int)stream.Length, start, length); + //public static uint Calculate(Stream stream, int start, int length) + //{ + // VerifyStartAndLength((int)stream.Length, start, length); - uint crc = 0; + // uint crc = 0; - var lastStreamPosition = stream.Position; + // var lastStreamPosition = stream.Position; - byte[] data = new byte[length]; - stream.Position = start; - stream.Read(data, 0, length); - crc = Calculate(data, 0, data.Length); - stream.Position = lastStreamPosition; + // byte[] data = new byte[length]; + // stream.Position = start; + // stream.Read(data, 0, length); + // crc = Calculate(data, 0, data.Length); + // stream.Position = lastStreamPosition; - return crc; - } + // return crc; + //} public static uint Calculate(byte[] data) { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/MAMEEmu.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/MAMEEmu.cs index a6ac2419..5301e634 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/MAMEEmu.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/MAMEEmu.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; using System.Threading; namespace MAME.Core @@ -25,8 +24,9 @@ namespace MAME.Core ISoundPlayer isp, IKeyboard ikb, IMouse imou, - ITimeSpan itime - ) => mameMainMotion.Init(RomDir, ilog, iRes, ivp, isp, ikb, imou, itime); + ITimeSpan itime, + IMAMEIOSupport io + ) => mameMainMotion.Init(RomDir, ilog, iRes, ivp, isp, ikb, imou, itime,io); public void ResetRomRoot(string RomDir) => mameMainMotion.ResetRomRoot(RomDir); @@ -40,7 +40,7 @@ namespace MAME.Core public void StopGame() => mameMainMotion.StopGame(); public long currEmuFrame => Video.screenstate.frame_number; public bool IsPaused => Mame.paused; - public void LoadState(BinaryReader sr) + public void LoadState(System.IO.BinaryReader sr) { Mame.paused = true; Thread.Sleep(20); @@ -51,7 +51,7 @@ namespace MAME.Core Mame.paused = false; } - public void SaveState(BinaryWriter sw) + public void SaveState(System.IO.BinaryWriter sw) { Mame.paused = true; Thread.Sleep(20); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/Motion/MameMainMotion.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/Motion/MameMainMotion.cs index b11cea67..e2c9a63a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/Motion/MameMainMotion.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/Motion/MameMainMotion.cs @@ -21,6 +21,7 @@ namespace MAME.Core public AutoResetEvent emuAutoLoopEvent; public static IResources resource; + public static IMAMEIOSupport IoSupport; public bool bRom => Machine.bRom; public MameMainMotion() @@ -42,7 +43,8 @@ namespace MAME.Core ISoundPlayer isp, IKeyboard ikb, IMouse imou, - ITimeSpan itime + ITimeSpan itime, + IMAMEIOSupport io ) { AxiMemoryEx.Init(); @@ -54,6 +56,7 @@ namespace MAME.Core Video.BindFunc(ivp); Sound.BindFunc(isp); resource = iRes; + IoSupport = io; sSelect = string.Empty; diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6502/M6502.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6502/M6502.cs index 450878cd..b9388d3e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6502/M6502.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6502/M6502.cs @@ -1,7 +1,5 @@ using MAME.Core; using System; -using System.IO; -//using System.IO; namespace cpu.m6502 { @@ -232,7 +230,7 @@ namespace cpu.m6502 } } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(subtype); writer.Write(ppc.LowWord); @@ -250,7 +248,7 @@ namespace cpu.m6502 writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { subtype = reader.ReadByte(); ppc.LowWord = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6800/M6800.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6800/M6800.cs index ed7c5c65..288bd5fd 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6800/M6800.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6800/M6800.cs @@ -1,6 +1,5 @@ using MAME.Core; using System; -using System.IO; namespace cpu.m6800 { @@ -1216,7 +1215,7 @@ namespace cpu.m6800 break; } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(PPC.LowWord); writer.Write(PC.LowWord); @@ -1260,7 +1259,7 @@ namespace cpu.m6800 writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { PPC.LowWord = reader.ReadUInt16(); PC.LowWord = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m68000/MC68000.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m68000/MC68000.cs index e7b98af1..1856266d 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m68000/MC68000.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m68000/MC68000.cs @@ -1,7 +1,6 @@ using MAME.Core; using System; using System.Globalization; -using System.IO; using System.Runtime.InteropServices; namespace cpu.m68000 @@ -275,7 +274,7 @@ namespace cpu.m68000 // return a + b + c + d; //} - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 0x08; i++) @@ -304,7 +303,7 @@ namespace cpu.m68000 writer.Write(MC68000.m1.TotalExecutedCycles); writer.Write(MC68000.m1.PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < 0x08; i++) @@ -333,7 +332,7 @@ namespace cpu.m68000 MC68000.m1.TotalExecutedCycles = reader.ReadUInt64(); MC68000.m1.PendingCycles = reader.ReadInt32(); } - public void SaveStateText(TextWriter writer, string id) + public void SaveStateText(System.IO.TextWriter writer, string id) { writer.WriteLine("[{0}]", id); writer.WriteLine("D0 {0:X8}", D[0].s32); @@ -370,7 +369,7 @@ namespace cpu.m68000 writer.WriteLine("[/{0}]", id); } - public void LoadStateText(TextReader reader, string id) + public void LoadStateText(System.IO.TextReader reader, string id) { while (true) { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6805/M6805.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6805/M6805.cs index a8808992..58e1409e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6805/M6805.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6805/M6805.cs @@ -1,6 +1,5 @@ using MAME.Core; using System; -using System.IO; namespace cpu.m6805 { @@ -831,7 +830,7 @@ namespace cpu.m6805 while (pendingCycles > 0); return cycles - pendingCycles; } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(ea.LowWord); @@ -850,7 +849,7 @@ namespace cpu.m6805 writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i; ea.LowWord = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6809/M6809.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6809/M6809.cs index 921dda34..6cf16147 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6809/M6809.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/m6809/M6809.cs @@ -1,6 +1,5 @@ using MAME.Core; using System; -using System.IO; namespace cpu.m6809 { @@ -861,7 +860,7 @@ namespace cpu.m6809 case 0xff: EA = IMMWORD(); EA.d = RM16(EA.LowWord); pendingCycles -= 8; break; } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(PC.LowWord); writer.Write(PPC.LowWord); @@ -879,7 +878,7 @@ namespace cpu.m6809 writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { PC.LowWord = reader.ReadUInt16(); PPC.LowWord = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/nec/Nec.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/nec/Nec.cs index e19b5b30..731a3322 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/nec/Nec.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/nec/Nec.cs @@ -1,6 +1,5 @@ using MAME.Core; using System; -using System.IO; namespace cpu.nec { @@ -1190,7 +1189,7 @@ namespace cpu.nec nec_interrupt(-1, false); } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(I.regs.b, 0, 16); @@ -1220,7 +1219,7 @@ namespace cpu.nec writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i; I.regs.b = reader.ReadBytes(16); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/z80/Z80A.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/z80/Z80A.cs index 46712aa9..943871fc 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/z80/Z80A.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/cpu/z80/Z80A.cs @@ -1,7 +1,6 @@ using MAME.Core; using System; using System.Globalization; -using System.IO; // This Z80 emulator is a modified version of Ben Ryves 'Brazil' emulator. // It is MIT licensed. @@ -133,7 +132,7 @@ namespace cpu.z80 // State Save/Load - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(PPC); writer.Write(RegisterAF); @@ -162,7 +161,7 @@ namespace cpu.z80 writer.Write(TotalExecutedCycles); writer.Write(PendingCycles); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { PPC = reader.ReadUInt16(); RegisterAF = reader.ReadUInt16(); @@ -191,7 +190,7 @@ namespace cpu.z80 TotalExecutedCycles = reader.ReadUInt64(); PendingCycles = reader.ReadInt32(); } - public void SaveStateText(TextWriter writer) + public void SaveStateText(System.IO.TextWriter writer) { writer.WriteLine("[Z80]"); writer.WriteLine("AF {0:X4}", RegAF.Word); @@ -221,7 +220,7 @@ namespace cpu.z80 writer.WriteLine(); } - public void LoadStateText(TextReader reader) + public void LoadStateText(System.IO.TextReader reader) { while (true) { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuexec.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuexec.cs index 3d386527..2426fead 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuexec.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuexec.cs @@ -6,7 +6,6 @@ using cpu.m6809; using cpu.nec; using cpu.z80; using System; -using System.IO; namespace MAME.Core { @@ -2808,7 +2807,7 @@ namespace MAME.Core if (perfect_interleave.attoseconds == Attotime.ATTOSECONDS_PER_SECOND - 1) perfect_interleave.attoseconds = cpu[0].attoseconds_per_cycle; } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < ncpu; i++) @@ -2822,7 +2821,7 @@ namespace MAME.Core writer.Write(Cpuexec.cpu[i].localtime.attoseconds); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < ncpu; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuint.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuint.cs index 41e27701..1294bd9c 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuint.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Cpuint.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; -using System.Numerics; using System.Runtime.InteropServices; namespace MAME.Core @@ -262,7 +260,7 @@ namespace MAME.Core { return cpu_irq_callback(3, line); } - public static void SaveStateBinary_v(BinaryWriter writer) + public static void SaveStateBinary_v(System.IO.BinaryWriter writer) { int i, n; n = lvec.Count; @@ -280,7 +278,7 @@ namespace MAME.Core writer.Write((long)0); } } - public static void LoadStateBinary_v(BinaryReader reader) + public static void LoadStateBinary_v(System.IO.BinaryReader reader) { int i, n; n = reader.ReadInt32(); @@ -299,7 +297,7 @@ namespace MAME.Core reader.ReadInt64(); } } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j, n; n = lirq.Count; @@ -351,7 +349,7 @@ namespace MAME.Core } } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j, n; n = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Eeprom.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Eeprom.cs index 79ba32e5..0b751d20 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Eeprom.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Eeprom.cs @@ -1,6 +1,4 @@ -using System.IO; - -namespace MAME.Core +namespace MAME.Core { /*public enum eeprom_command { @@ -378,7 +376,7 @@ namespace MAME.Core } clock_line = state; } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(eeprom_data); writer.Write(serial_buffer); @@ -393,7 +391,7 @@ namespace MAME.Core writer.Write(eeprom_data_bits); writer.Write(eeprom_read_address); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { eeprom_data = reader.ReadBytes(0x80); serial_buffer = reader.ReadBytes(40); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/EmuTimer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/EmuTimer.cs index 5bfcf857..7055e2e6 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/EmuTimer.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/EmuTimer.cs @@ -1,7 +1,6 @@ using cpu.m6800; using System; using System.Collections.Generic; -using System.IO; namespace MAME.Core { @@ -642,7 +641,7 @@ namespace MAME.Core { return Attotime.attotime_sub(which.expire, get_current_time()); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, i1, n; n = lt.Count; @@ -673,7 +672,7 @@ namespace MAME.Core writer.Write((long)0); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, i1, n; n = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Machine.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Machine.cs index 04fe593a..2d69d6b1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Machine.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Machine.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.IO; namespace MAME.Core { @@ -264,10 +263,12 @@ namespace MAME.Core { byte[] bb1; string path = System.IO.Path.Combine(Mame.RomRoot + "/neogeo/", sFile); - if (File.Exists(path)) + //if (File.Exists(path)) + if (MameMainMotion.IoSupport.File_Exists(path)) { EmuLogger.Log($"Had File => {path}"); - return File.ReadAllBytes(path); + //return File.ReadAllBytes(path); + return MameMainMotion.IoSupport.File_ReadAllBytes(path); //FileStream fs1 = new FileStream(path, FileMode.Open); //int n1 = (int)fs1.Length; //bb1 = new byte[n1]; @@ -286,10 +287,10 @@ namespace MAME.Core foreach (string s1 in lsParents) { string path = System.IO.Path.Combine(Mame.RomRoot + "/" + s1 + "/", sFile); - if (File.Exists(path)) + if (MameMainMotion.IoSupport.File_Exists(path)) { EmuLogger.Log($"Had File => {path}"); - return File.ReadAllBytes(path); + return MameMainMotion.IoSupport.File_ReadAllBytes(path); } else { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Mame.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Mame.cs index 93f050b7..59c7968e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Mame.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Mame.cs @@ -1,6 +1,4 @@ -using MAME.Core; -using System.IO; - + namespace MAME.Core { public class Mame @@ -23,8 +21,8 @@ namespace MAME.Core public static bool paused; public static bool exit_pending; public static EmuTimer.emu_timer soft_reset_timer; - public static BinaryReader brRecord = null; - public static BinaryWriter bwRecord = null; + public static System.IO.BinaryReader brRecord = null; + public static System.IO.BinaryWriter bwRecord = null; public static bool bPP = true; public static string RomRoot = string.Empty; public class AA @@ -42,7 +40,6 @@ namespace MAME.Core new AA(6547,"2"), new AA(13955,"3") }; - private static FileStream fsRecord = null; public static void mame_execute() { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Memory.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Memory.cs index 22fac013..181c3d78 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Memory.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Memory.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; using System.Runtime.InteropServices; namespace MAME.Core @@ -488,26 +487,26 @@ namespace MAME.Core } #endregion - public static void Write(this BinaryWriter bw, byte* bufferPtr, int offset, int count) + public static void Write(this System.IO.BinaryWriter bw, byte* bufferPtr, int offset, int count) { int singlesize = sizeof(byte); long totalBytesToCopy = count * singlesize; Buffer.MemoryCopy(&bufferPtr[offset], TempBuffer, totalBytesToCopy, totalBytesToCopy); bw.Write(TempBuffer_src, 0, count); } - public static void Write(this FileStream fs, byte* bufferPtr, int offset, int count) - { - int singlesize = sizeof(byte); - long totalBytesToCopy = count * singlesize; - Buffer.MemoryCopy(&bufferPtr[offset], TempBuffer, totalBytesToCopy, totalBytesToCopy); - fs.Write(TempBuffer_src, 0, count); - } - public static int Read(this FileStream fs, byte* bufferPtr, int offset, int count) - { - count = fs.Read(TempBuffer_src, offset, count); - Buffer.MemoryCopy(TempBuffer, bufferPtr + offset, 0, count); - return count; - } + //public static void Write(this FileStream fs, byte* bufferPtr, int offset, int count) + //{ + // int singlesize = sizeof(byte); + // long totalBytesToCopy = count * singlesize; + // Buffer.MemoryCopy(&bufferPtr[offset], TempBuffer, totalBytesToCopy, totalBytesToCopy); + // fs.Write(TempBuffer_src, 0, count); + //} + //public static int Read(this FileStream fs, byte* bufferPtr, int offset, int count) + //{ + // count = fs.Read(TempBuffer_src, offset, count); + // Buffer.MemoryCopy(TempBuffer, bufferPtr + offset, 0, count); + // return count; + //} } public unsafe static class AxiArray diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Pd4900a.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Pd4900a.cs index 5e6b23f7..5979aace 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Pd4900a.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Pd4900a.cs @@ -1,6 +1,4 @@ -using System.IO; - -namespace MAME.Core +namespace MAME.Core { public class Pd4900a { @@ -312,7 +310,7 @@ namespace MAME.Core { pd4990a_serial_control((byte)(data & 0x7)); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(pd4990a.seconds); writer.Write(pd4990a.minutes); @@ -334,7 +332,7 @@ namespace MAME.Core writer.Write(clock_line); writer.Write(command_line); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { pd4990a.seconds = reader.ReadInt32(); pd4990a.minutes = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/State.cs index 2f9421f3..4ae97f34 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/State.cs @@ -1,11 +1,9 @@ -using System.IO; - -namespace MAME.Core +namespace MAME.Core { public class State { - public delegate void savestate_delegate(BinaryWriter sw); - public delegate void loadstate_delegate(BinaryReader sr); + public delegate void savestate_delegate(System.IO.BinaryWriter sw); + public delegate void loadstate_delegate(System.IO.BinaryReader sr); public static savestate_delegate savestate_callback; public static loadstate_delegate loadstate_callback; public static void state_init() diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Video.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Video.cs index 9397fb74..213d69cc 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Video.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/emu/Video.cs @@ -1,6 +1,4 @@ -using MAME.Core; -using System; -using System.IO; +using System; using System.Runtime.InteropServices; namespace MAME.Core @@ -1102,7 +1100,7 @@ namespace MAME.Core { return flip_screen_x; } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(scanline_param); writer.Write(screenstate.last_partial_scan); @@ -1112,7 +1110,7 @@ namespace MAME.Core writer.Write(screenstate.vblank_end_time.attoseconds); writer.Write(screenstate.frame_number); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { scanline_param = reader.ReadInt32(); screenstate.last_partial_scan = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/capcom/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/capcom/State.cs index abc791cc..89e23574 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/capcom/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/capcom/State.cs @@ -1,13 +1,12 @@ using cpu.m68000; using cpu.m6809; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class Capcom { - public static void SaveStateBinary_gng(BinaryWriter writer) + public static void SaveStateBinary_gng(System.IO.BinaryWriter writer) { int i; writer.Write(bytedsw1); @@ -53,7 +52,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_gng(BinaryReader reader) + public static void LoadStateBinary_gng(System.IO.BinaryReader reader) { int i; bytedsw1 = reader.ReadByte(); @@ -99,7 +98,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_sf(BinaryWriter writer) + public static void SaveStateBinary_sf(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -148,7 +147,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_sf(BinaryReader reader) + public static void LoadStateBinary_sf(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/cps/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/cps/State.cs index aac07b5b..fab07fd9 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/cps/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/cps/State.cs @@ -1,12 +1,11 @@ using cpu.m68000; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class CPS { - public static void SaveStateBinaryC(BinaryWriter writer) + public static void SaveStateBinaryC(System.IO.BinaryWriter writer) { int i; writer.Write(dswa); @@ -76,7 +75,7 @@ namespace MAME.Core break; } } - public static void SaveStateBinaryQ(BinaryWriter writer) + public static void SaveStateBinaryQ(System.IO.BinaryWriter writer) { int i; writer.Write(dswa); @@ -126,7 +125,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void SaveStateBinaryC2(BinaryWriter writer) + public static void SaveStateBinaryC2(System.IO.BinaryWriter writer) { int i; writer.Write(basebanksnd); @@ -191,7 +190,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinaryC(BinaryReader reader) + public static void LoadStateBinaryC(System.IO.BinaryReader reader) { int i; dswa = reader.ReadByte(); @@ -261,7 +260,7 @@ namespace MAME.Core break; } } - public static void LoadStateBinaryQ(BinaryReader reader) + public static void LoadStateBinaryQ(System.IO.BinaryReader reader) { int i; dswa = reader.ReadByte(); @@ -309,7 +308,7 @@ namespace MAME.Core Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); Eeprom.LoadStateBinary(reader); } - public static void LoadStateBinaryC2(BinaryReader reader) + public static void LoadStateBinaryC2(System.IO.BinaryReader reader) { int i; basebanksnd = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/dataeast/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/dataeast/State.cs index fca5115c..89c31988 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/dataeast/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/dataeast/State.cs @@ -1,11 +1,10 @@ using cpu.m6502; -using System.IO; namespace MAME.Core { public unsafe partial class Dataeast { - public static void SaveStateBinary_pcktgal(BinaryWriter writer) + public static void SaveStateBinary_pcktgal(System.IO.BinaryWriter writer) { int i; writer.Write(dsw); @@ -48,7 +47,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_pcktgal(BinaryReader reader) + public static void LoadStateBinary_pcktgal(System.IO.BinaryReader reader) { int i; dsw = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/igs011/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/igs011/State.cs index 2519ab89..5d9bd380 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/igs011/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/igs011/State.cs @@ -1,11 +1,10 @@ using cpu.m68000; -using System.IO; namespace MAME.Core { public unsafe partial class IGS011 { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 0x800; i++) @@ -74,7 +73,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 0x800; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/Konamiic.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/Konamiic.cs index 945d3368..c2de2ddf 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/Konamiic.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/Konamiic.cs @@ -1,6 +1,4 @@ -using System.IO; - -namespace MAME.Core +namespace MAME.Core { public unsafe partial class Konami68000 { @@ -409,7 +407,7 @@ namespace MAME.Core { return K052109_irq_enabled; } - public static void SaveStateBinary_K052109(BinaryWriter writer) + public static void SaveStateBinary_K052109(System.IO.BinaryWriter writer) { int i; writer.Write(K052109_ram, 0, 0x6000); @@ -430,7 +428,7 @@ namespace MAME.Core writer.Write(has_extra_video_ram); writer.Write(K052109_tileflip_enable); } - public static void LoadStateBinary_K052109(BinaryReader reader) + public static void LoadStateBinary_K052109(System.IO.BinaryReader reader) { int i; K052109_ram = reader.ReadBytes(0x6000); @@ -451,7 +449,7 @@ namespace MAME.Core has_extra_video_ram = reader.ReadByte(); K052109_tileflip_enable = reader.ReadInt32(); } - public static void LoadStateBinary_K052109_2(BinaryReader reader) + public static void LoadStateBinary_K052109_2(System.IO.BinaryReader reader) { int i; reader.ReadBytes(0x6000); @@ -722,7 +720,7 @@ namespace MAME.Core } } } - public static void SaveStateBinary_K051960(BinaryWriter writer) + public static void SaveStateBinary_K051960(System.IO.BinaryWriter writer) { writer.Write(K051960_romoffset); writer.Write(K051960_spriteflip); @@ -734,7 +732,7 @@ namespace MAME.Core writer.Write(K051960_irq_enabled); writer.Write(K051960_nmi_enabled); } - public static void LoadStateBinary_K051960(BinaryReader reader) + public static void LoadStateBinary_K051960(System.IO.BinaryReader reader) { K051960_romoffset = reader.ReadInt32(); K051960_spriteflip = reader.ReadInt32(); @@ -746,7 +744,7 @@ namespace MAME.Core K051960_irq_enabled = reader.ReadInt32(); K051960_nmi_enabled = reader.ReadInt32(); } - public static void LoadStateBinary_K051960_2(BinaryReader reader) + public static void LoadStateBinary_K051960_2(System.IO.BinaryReader reader) { reader.ReadInt32(); reader.ReadInt32(); @@ -1080,7 +1078,7 @@ namespace MAME.Core } } } - public static void SaveStateBinary_K053245(BinaryWriter writer) + public static void SaveStateBinary_K053245(System.IO.BinaryWriter writer) { int i; writer.Write(K05324x_z_rejection); @@ -1104,7 +1102,7 @@ namespace MAME.Core writer.Write(K053244_regs[0], 0, 0x10); writer.Write(K054000_ram, 0, 0x20); } - public static void LoadStateBinary_K053245(BinaryReader reader) + public static void LoadStateBinary_K053245(System.IO.BinaryReader reader) { int i; K05324x_z_rejection = reader.ReadInt32(); @@ -1228,7 +1226,7 @@ namespace MAME.Core K053936_offset[chip][0] = xoffs; K053936_offset[chip][1] = yoffs; } - public static void SaveStateBinary_K053936(BinaryWriter writer) + public static void SaveStateBinary_K053936(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 0x10; i++) @@ -1251,7 +1249,7 @@ namespace MAME.Core writer.Write(K053936_wraparound[i]); } } - public static void LoadStateBinary_K053936(BinaryReader reader) + public static void LoadStateBinary_K053936(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 0x10; i++) @@ -1373,7 +1371,7 @@ namespace MAME.Core { return K053251_palette_index[ci]; } - public static void SaveStateBinary_K053251(BinaryWriter writer) + public static void SaveStateBinary_K053251(System.IO.BinaryWriter writer) { int i; writer.Write(K053251_ram); @@ -1383,7 +1381,7 @@ namespace MAME.Core } writer.Write(K053251_tilemaps_set); } - public static void LoadStateBinary_K053251(BinaryReader reader) + public static void LoadStateBinary_K053251(System.IO.BinaryReader reader) { int i; K053251_ram = reader.ReadBytes(0x10); @@ -1393,7 +1391,7 @@ namespace MAME.Core } K053251_tilemaps_set = reader.ReadInt32(); } - public static void LoadStateBinary_K053251_2(BinaryReader reader) + public static void LoadStateBinary_K053251_2(System.IO.BinaryReader reader) { int i; reader.ReadBytes(0x10); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/State.cs index 309a56b1..86ab9086 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/konami68000/State.cs @@ -1,12 +1,11 @@ using cpu.m68000; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class Konami68000 { - public static void SaveStateBinary_cuebrick(BinaryWriter writer) + public static void SaveStateBinary_cuebrick(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -62,7 +61,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_cuebrick(BinaryReader reader) + public static void LoadStateBinary_cuebrick(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -118,7 +117,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_mia(BinaryWriter writer) + public static void SaveStateBinary_mia(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -180,7 +179,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_mia(BinaryReader reader) + public static void LoadStateBinary_mia(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -242,7 +241,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_tmnt(BinaryWriter writer) + public static void SaveStateBinary_tmnt(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -314,7 +313,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_tmnt(BinaryReader reader) + public static void LoadStateBinary_tmnt(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -386,7 +385,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_punkshot(BinaryWriter writer) + public static void SaveStateBinary_punkshot(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -439,7 +438,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_punkshot(BinaryReader reader) + public static void LoadStateBinary_punkshot(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -492,7 +491,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_lgtnfght(BinaryWriter writer) + public static void SaveStateBinary_lgtnfght(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -545,7 +544,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_lgtnfght(BinaryReader reader) + public static void LoadStateBinary_lgtnfght(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -598,7 +597,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_blswhstl(BinaryWriter writer) + public static void SaveStateBinary_blswhstl(System.IO.BinaryWriter writer) { int i; writer.Write(bytee); @@ -650,7 +649,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinary_blswhstl(BinaryReader reader) + public static void LoadStateBinary_blswhstl(System.IO.BinaryReader reader) { int i; bytee = reader.ReadByte(); @@ -702,7 +701,7 @@ namespace MAME.Core Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); Eeprom.LoadStateBinary(reader); } - public static void SaveStateBinary_glfgreat(BinaryWriter writer) + public static void SaveStateBinary_glfgreat(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -753,7 +752,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_glfgreat(BinaryReader reader) + public static void LoadStateBinary_glfgreat(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); @@ -804,7 +803,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_tmnt2(BinaryWriter writer) + public static void SaveStateBinary_tmnt2(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 0x10; i++) @@ -860,7 +859,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinary_tmnt2(BinaryReader reader) + public static void LoadStateBinary_tmnt2(System.IO.BinaryReader reader) { int i; for (i = 0; i < 0x10; i++) @@ -916,7 +915,7 @@ namespace MAME.Core Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); Eeprom.LoadStateBinary(reader); } - public static void SaveStateBinary_ssriders(BinaryWriter writer) + public static void SaveStateBinary_ssriders(System.IO.BinaryWriter writer) { int i; writer.Write(init_eeprom_count); @@ -968,7 +967,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinary_ssriders(BinaryReader reader) + public static void LoadStateBinary_ssriders(System.IO.BinaryReader reader) { int i; init_eeprom_count = reader.ReadInt32(); @@ -1020,7 +1019,7 @@ namespace MAME.Core Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); Eeprom.LoadStateBinary(reader); } - public static void SaveStateBinary_thndrx2(BinaryWriter writer) + public static void SaveStateBinary_thndrx2(System.IO.BinaryWriter writer) { int i; writer.Write(bytee); @@ -1072,7 +1071,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinary_thndrx2(BinaryReader reader) + public static void LoadStateBinary_thndrx2(System.IO.BinaryReader reader) { int i; bytee = reader.ReadByte(); @@ -1124,7 +1123,7 @@ namespace MAME.Core Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); Eeprom.LoadStateBinary(reader); } - public static void SaveStateBinary_prmrsocr(BinaryWriter writer) + public static void SaveStateBinary_prmrsocr(System.IO.BinaryWriter writer) { int i; writer.Write(basebanksnd); @@ -1182,7 +1181,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Eeprom.SaveStateBinary(writer); } - public static void LoadStateBinary_prmrsocr(BinaryReader reader) + public static void LoadStateBinary_prmrsocr(System.IO.BinaryReader reader) { int i; basebanksnd = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m72/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m72/State.cs index 87a6d9b7..41f394af 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m72/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m72/State.cs @@ -1,12 +1,11 @@ using cpu.nec; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class M72 { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(dsw); @@ -68,7 +67,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; dsw = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m92/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m92/State.cs index 1b705cd5..9156692a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m92/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/m92/State.cs @@ -1,11 +1,10 @@ using cpu.nec; -using System.IO; namespace MAME.Core { public unsafe partial class M92 { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(dsw); @@ -82,7 +81,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; dsw = reader.ReadUInt16(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/namcos1/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/namcos1/State.cs index e708ee12..13b68d7f 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/namcos1/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/namcos1/State.cs @@ -1,12 +1,11 @@ using cpu.m6800; using cpu.m6809; -using System.IO; namespace MAME.Core { public unsafe partial class Namcos1 { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(dipsw); @@ -73,7 +72,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; dipsw = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/Neogeo.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/Neogeo.cs index a68c0eeb..7e2f6854 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/Neogeo.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/Neogeo.cs @@ -1,5 +1,4 @@ using System; -using System.IO; using System.Runtime.InteropServices; namespace MAME.Core @@ -376,19 +375,27 @@ namespace MAME.Core public static void nvram_handler_load_neogeo() { - if (File.Exists("nvram\\" + Machine.sName + ".nv")) + if (MameMainMotion.IoSupport.File_Exists("nvram\\" + Machine.sName + ".nv")) { - FileStream fs1 = new FileStream("nvram\\" + Machine.sName + ".nv", FileMode.Open); - int n = (int)fs1.Length; - fs1.Read(mainram2, 0, n); - fs1.Close(); + MameMainMotion.IoSupport.File_ReadAllBytes("nvram\\" + Machine.sName + ".nv"); + //FileStream fs1 = new FileStream("nvram\\" + Machine.sName + ".nv", FileMode.Open); + //int n = (int)fs1.Length; + //fs1.Read(mainram2, 0, n); + //fs1.Close(); } } public static void nvram_handler_save_neogeo() { - FileStream fs1 = new FileStream("nvram\\" + Machine.sName + ".nv", FileMode.Create); - fs1.Write(mainram2, 0, 0x2000); - fs1.Close(); + //FileStream fs1 = new FileStream("nvram\\" + Machine.sName + ".nv", FileMode.Create); + //fs1.Write(mainram2, 0, 0x2000); + //fs1.Close(); + + byte[] temp = new byte[0x2000]; + Buffer.BlockCopy(mainram2_src, 0, temp, 0, temp.Length); + using (System.IO.MemoryStream ms = new System.IO.MemoryStream(temp)) + { + MameMainMotion.IoSupport.File_WriteAllBytesFromStre("nvram\\" + Machine.sName + ".nv",ms); + } } public static void machine_reset_neogeo() { diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/State.cs index 0a432c1b..a7b777b1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/neogeo/State.cs @@ -1,12 +1,11 @@ using cpu.m68000; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class Neogeo { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(dsw); @@ -77,7 +76,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_base_sampindex); Pd4900a.SaveStateBinary(writer); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; dsw = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/pgm/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/pgm/State.cs index 364a28e5..ec6f9c51 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/pgm/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/pgm/State.cs @@ -1,12 +1,11 @@ using cpu.m68000; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class PGM { - public unsafe static void SaveStateBinary(BinaryWriter writer) + public unsafe static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(pgm_tx_videoram, 0, 0x2000); @@ -58,7 +57,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; pgm_tx_videoram = reader.ReadBytes(0x2000); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/suna8/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/suna8/State.cs index f5e3567a..6c682ac9 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/suna8/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/suna8/State.cs @@ -1,14 +1,12 @@ -using System.IO; - -namespace MAME.Core +namespace MAME.Core { public partial class SunA8 { - public static void SaveStateBinary_starfigh(BinaryWriter writer) + public static void SaveStateBinary_starfigh(System.IO.BinaryWriter writer) { } - public static void LoadStateBinary_starfigh(BinaryReader reader) + public static void LoadStateBinary_starfigh(System.IO.BinaryReader reader) { } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taito/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taito/State.cs index ec339a3a..5ed80d23 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taito/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taito/State.cs @@ -2,13 +2,12 @@ using cpu.m68000; using cpu.m6805; using cpu.z80; -using System.IO; namespace MAME.Core { public unsafe partial class Taito { - public static void SaveStateBinary_tokio(BinaryWriter writer) + public static void SaveStateBinary_tokio(System.IO.BinaryWriter writer) { int i; writer.Write(dsw0); @@ -57,7 +56,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_tokio(BinaryReader reader) + public static void LoadStateBinary_tokio(System.IO.BinaryReader reader) { int i; dsw0 = reader.ReadByte(); @@ -106,7 +105,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_bublbobl(BinaryWriter writer) + public static void SaveStateBinary_bublbobl(System.IO.BinaryWriter writer) { int i; writer.Write(dsw0); @@ -170,7 +169,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_bublbobl(BinaryReader reader) + public static void LoadStateBinary_bublbobl(System.IO.BinaryReader reader) { int i; dsw0 = reader.ReadByte(); @@ -234,7 +233,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_boblbobl(BinaryWriter writer) + public static void SaveStateBinary_boblbobl(System.IO.BinaryWriter writer) { int i; writer.Write(dsw0); @@ -288,7 +287,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_boblbobl(BinaryReader reader) + public static void LoadStateBinary_boblbobl(System.IO.BinaryReader reader) { int i; dsw0 = reader.ReadByte(); @@ -341,7 +340,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_bub68705(BinaryWriter writer) + public static void SaveStateBinary_bub68705(System.IO.BinaryWriter writer) { int i; writer.Write(dsw0); @@ -399,7 +398,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_bub68705(BinaryReader reader) + public static void LoadStateBinary_bub68705(System.IO.BinaryReader reader) { int i; dsw0 = reader.ReadByte(); @@ -457,7 +456,7 @@ namespace MAME.Core Sound.mixerstream.output_sampindex = reader.ReadInt32(); Sound.mixerstream.output_base_sampindex = reader.ReadInt32(); } - public static void SaveStateBinary_opwolf(BinaryWriter writer) + public static void SaveStateBinary_opwolf(System.IO.BinaryWriter writer) { int i; writer.Write(dswa); @@ -594,7 +593,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_opwolf(BinaryReader reader) + public static void LoadStateBinary_opwolf(System.IO.BinaryReader reader) { int i; dswa = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taitob/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taitob/State.cs index 6b8618f4..6b288a17 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taitob/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/taitob/State.cs @@ -1,13 +1,11 @@ using cpu.m68000; using cpu.z80; -using System; -using System.IO; namespace MAME.Core { public unsafe partial class Taitob { - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { //pixel_scroll int i; @@ -97,7 +95,7 @@ namespace MAME.Core Eeprom.SaveStateBinary(writer); Taitosnd.SaveStateBinary(writer); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; dswa = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/tehkan/State.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/tehkan/State.cs index 90d06e6f..1fd321ca 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/tehkan/State.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/mame/tehkan/State.cs @@ -1,11 +1,10 @@ using cpu.z80; -using System.IO; namespace MAME.Core { public partial class Tehkan { - public unsafe static void SaveStateBinary_pbaction(BinaryWriter writer) + public unsafe static void SaveStateBinary_pbaction(System.IO.BinaryWriter writer) { int i; writer.Write(dsw1); @@ -46,7 +45,7 @@ namespace MAME.Core writer.Write(Sound.mixerstream.output_sampindex); writer.Write(Sound.mixerstream.output_base_sampindex); } - public static void LoadStateBinary_pbaction(BinaryReader reader) + public static void LoadStateBinary_pbaction(System.IO.BinaryReader reader) { int i; dsw1 = reader.ReadByte(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs new file mode 100644 index 00000000..1a354f9b --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs @@ -0,0 +1,11 @@ +using System.IO; + +namespace MAME.Core +{ + public interface IMAMEIOSupport + { + bool File_Exists(string path); + byte[] File_ReadAllBytes(string path); + void File_WriteAllBytesFromStre(string path, MemoryStream ms); + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs.meta new file mode 100644 index 00000000..7a679114 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/run_interface/IMAMEIOSupport.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: da0b580f2a446f948a80085bb9b7b3ee \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/AY8910.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/AY8910.cs index e9a33c16..2bb8a27e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/AY8910.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/AY8910.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class AY8910 @@ -558,7 +557,7 @@ namespace MAME.Core } return ay8910info.regs[r]; } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(ay8910info.register_latch); @@ -580,7 +579,7 @@ namespace MAME.Core writer.Write(ay8910info.rng); writer.Write(ay8910info.vol_enabled, 0, 3); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i; ay8910info.register_latch = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/DAC.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/DAC.cs index 86b1f393..62265db5 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/DAC.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/DAC.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public class DAC @@ -57,11 +56,11 @@ namespace MAME.Core DAC_build_voltable(); dac1.output = 0; } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(DAC.dac1.output); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { dac1.output = reader.ReadInt16(); } diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/ICS2115.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/ICS2115.cs index 14bef485..24a806e1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/ICS2115.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/ICS2115.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class ICS2115 @@ -415,7 +414,7 @@ namespace MAME.Core } recalc_irq(); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 32; i++) @@ -449,7 +448,7 @@ namespace MAME.Core writer.Write(irq_pending); writer.Write(irq_on); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < 32; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Iremga20.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Iremga20.cs index 42305286..748d1cd1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Iremga20.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Iremga20.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class Iremga20 @@ -162,7 +161,7 @@ namespace MAME.Core chip.regs[i] = 0; } } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 4; i++) @@ -179,7 +178,7 @@ namespace MAME.Core writer.Write(chip.channel[i].play); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < 4; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K007232.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K007232.cs index 93a043a5..f12f7c57 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K007232.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K007232.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class K007232 @@ -232,7 +231,7 @@ namespace MAME.Core info.bank[0] = (uint)(chABank << 17); info.bank[1] = (uint)(chBBank << 17); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 2; i++) @@ -271,7 +270,7 @@ namespace MAME.Core writer.Write(info.pcmbuf_offset[i]); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 2; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K053260.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K053260.cs index c85f18ed..f4203e53 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K053260.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K053260.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class K053260 @@ -379,7 +378,7 @@ namespace MAME.Core { k053260_0_w(offset, data); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(ic1.mode); @@ -402,7 +401,7 @@ namespace MAME.Core writer.Write(ic1.channels[i].ppcm_data); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; ic1.mode = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K054539.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K054539.cs index eaa0862c..76470290 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K054539.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/K054539.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace MAME.Core { @@ -567,7 +566,7 @@ namespace MAME.Core { return k054539_r(0, offset); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 8; i++) @@ -596,7 +595,7 @@ namespace MAME.Core writer.Write(zoneflag); writer.Write(zonedata); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 8; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/MSM5205.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/MSM5205.cs index 5d94b311..c2208f6d 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/MSM5205.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/MSM5205.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace MAME.Core { @@ -254,7 +253,7 @@ namespace MAME.Core mm1[num].voice.bitwidth = bitwidth; } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(voice.select); writer.Write(voice.index); @@ -267,7 +266,7 @@ namespace MAME.Core writer.Write(voice.signal); writer.Write(voice.step); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { voice.select = reader.ReadInt32(); voice.index = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Namco.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Namco.cs index f4c26dcb..15f39428 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Namco.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Namco.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class Namco @@ -255,7 +254,7 @@ namespace MAME.Core { return namco_wavedata[offset]; } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(nam1.num_voices); @@ -282,7 +281,7 @@ namespace MAME.Core } writer.Write(namco_wavedata, 0, 0x400); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; nam1.num_voices = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/OKI6295.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/OKI6295.cs index b3f31c39..4e31fd10 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/OKI6295.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/OKI6295.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace MAME.Core { @@ -272,7 +271,7 @@ namespace MAME.Core //if (ACCESSING_BITS_0_7) okim6295_data_w(0, data & 0xff); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; writer.Write(OKI.command); @@ -288,7 +287,7 @@ namespace MAME.Core writer.Write(adpcm[i].step); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; OKI.command = reader.ReadInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/QSound.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/QSound.cs index 06870a8e..12a09523 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/QSound.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/QSound.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace MAME.Core { @@ -195,7 +194,7 @@ namespace MAME.Core } } } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 16; i++) @@ -215,7 +214,7 @@ namespace MAME.Core } writer.Write(QChip.data); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < 16; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Sample.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Sample.cs index 641232ef..f09a551b 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Sample.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Sample.cs @@ -1,5 +1,4 @@ using System; -using System.IO; using System.Runtime.InteropServices; namespace MAME.Core @@ -186,7 +185,7 @@ namespace MAME.Core info.starthandler(); } } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < info.numchannels; i++) @@ -201,7 +200,7 @@ namespace MAME.Core writer.Write(info.channel[i].paused); } } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < info.numchannels; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Taitosnd.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Taitosnd.cs index 75bf5fd9..deaa6e9c 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Taitosnd.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Taitosnd.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public class Taitosnd @@ -201,7 +200,7 @@ namespace MAME.Core { return (ushort)(taitosound_comm_r(0) << 8); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(tc0140syt.slavedata, 0, 4); writer.Write(tc0140syt.masterdata, 0, 4); @@ -211,7 +210,7 @@ namespace MAME.Core writer.Write(tc0140syt.nmi_enabled); writer.Write(tc0140syt.nmi_req); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { tc0140syt.slavedata = reader.ReadBytes(4); tc0140syt.masterdata = reader.ReadBytes(4); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Upd7759.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Upd7759.cs index 153ecb09..2c9909d3 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Upd7759.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/Upd7759.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class Upd7759 @@ -362,7 +361,7 @@ namespace MAME.Core { return (byte)upd7759_busy_r(0); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { writer.Write(chip.pos); writer.Write(chip.step); @@ -389,7 +388,7 @@ namespace MAME.Core writer.Write(chip.romoffset); writer.Write(chip.rombase); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { chip.pos = reader.ReadUInt32(); chip.step = reader.ReadUInt32(); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/WavWrite.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/WavWrite.cs index 92ae3115..e1afab9a 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/WavWrite.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/WavWrite.cs @@ -1,16 +1,17 @@ -using System.IO; + +using System.IO; namespace MAME.Core { public class WavWrite { - public static FileStream mWaveFile = null; - private static BinaryWriter mWriter = null; + public static System.IO.FileStream mWaveFile = null; + private static System.IO.BinaryWriter mWriter = null; private static int mSampleCount = 0; public static void CreateSoundFile(string filename) { mWaveFile = new FileStream(filename, FileMode.Create); - mWriter = new BinaryWriter(mWaveFile); + mWriter = new System.IO.BinaryWriter(mWaveFile); /************************************************************************** Hereiswherethefilewillbecreated.A wavefileisaRIFFfile,whichhaschunks diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2151.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2151.cs index ad395a83..be596e71 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2151.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2151.cs @@ -1,5 +1,4 @@ using System; -using System.IO; namespace MAME.Core { @@ -2038,7 +2037,7 @@ namespace MAME.Core // chanout[imem[op1]] = PSG.oper[op1].mem_value; // } //} - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i; for (i = 0; i < 32; i++) @@ -2115,7 +2114,7 @@ namespace MAME.Core writer.Write(PSG.irqlinestate); writer.Write(PSG.connect); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i; for (i = 0; i < 32; i++) diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2203.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2203.cs index 7b1478b2..d5467b94 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2203.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2203.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class YM2203 @@ -339,7 +338,7 @@ namespace MAME.Core } } } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(REGS, 0, 256); @@ -435,7 +434,7 @@ namespace MAME.Core writer.Write(YMDeltat.DELTAT.adpcmd); writer.Write(YMDeltat.DELTAT.adpcml); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; REGS = reader.ReadBytes(256); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2610.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2610.cs index 607f7e59..105e499e 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2610.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM2610.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public unsafe class YM2610 @@ -654,7 +653,7 @@ namespace MAME.Core { adpcm_arrivedEndAddress &= (byte)(~changebits); } - public void SaveStateBinary(BinaryWriter writer) + public void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; writer.Write(REGS, 0, 512); @@ -771,7 +770,7 @@ namespace MAME.Core writer.Write(YMDeltat.DELTAT.adpcmd); writer.Write(YMDeltat.DELTAT.adpcml); } - public void LoadStateBinary(BinaryReader reader) + public void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; REGS = reader.ReadBytes(512); diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM3812.cs b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM3812.cs index 8611b4d9..658e5d6c 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM3812.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/Mame.Core/sound/YM3812.cs @@ -1,5 +1,4 @@ -using System.IO; - + namespace MAME.Core { public class YM3812 @@ -85,7 +84,7 @@ namespace MAME.Core { FMOpl.ym3812_write(1, data); } - public static void SaveStateBinary(BinaryWriter writer) + public static void SaveStateBinary(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 9; i++) @@ -140,7 +139,7 @@ namespace MAME.Core writer.Write(FMOpl.YM3812.statusmask); writer.Write(FMOpl.YM3812.mode); } - public static void LoadStateBinary(BinaryReader reader) + public static void LoadStateBinary(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 9; i++) @@ -268,7 +267,7 @@ namespace MAME.Core { return FMOpl.ym3526_read(1); } - public static void SaveStateBinary_YM3526(BinaryWriter writer) + public static void SaveStateBinary_YM3526(System.IO.BinaryWriter writer) { int i, j; for (i = 0; i < 9; i++) @@ -323,7 +322,7 @@ namespace MAME.Core writer.Write(FMOpl.YM3526.statusmask); writer.Write(FMOpl.YM3526.mode); } - public static void LoadStateBinary_YM3526(BinaryReader reader) + public static void LoadStateBinary_YM3526(System.IO.BinaryReader reader) { int i, j; for (i = 0; i < 9; i++) diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs index 81a5abf6..ce79eab6 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs @@ -11,7 +11,7 @@ using Essgee.Metadata; using Essgee.Utilities; using System; using System.Collections.Generic; -//using System.IO; +using System.Drawing; using System.Linq; using System.Text; using UnityEngine; @@ -40,6 +40,7 @@ public class UEssgee : MonoBehaviour, IEmuCore GameMetadata lastGameMetadata; Essgee.Emulation.EmulatorHandler emulatorHandler; UEGResources uegResources; + UEGIO uegIO; UEGLog uegLog; UEGSaveByteConvert uegSaveByteConvert; private Canvas mCanvas; @@ -55,6 +56,7 @@ public class UEssgee : MonoBehaviour, IEmuCore App.tick.SetFrameRate(60); instance = this; uegResources = new UEGResources(); + uegIO = new UEGIO(); uegLog = new UEGLog(); uegSaveByteConvert = new UEGSaveByteConvert(); mCanvas = GameObject.Find("Canvas").GetComponent(); @@ -104,7 +106,7 @@ public class UEssgee : MonoBehaviour, IEmuCore { mPlatform = romFile.Platform; - InitAll(uegResources, App.PersistentDataPath(mPlatform)); + InitAll(uegResources, uegIO, App.PersistentDataPath(mPlatform)); bLogicUpdatePause = true; @@ -165,17 +167,18 @@ public class UEssgee : MonoBehaviour, IEmuCore } #endregion - void InitAll(IGameMetaReources metaresources, string CustonDataDir) + void InitAll(IGameMetaReources metaresources, IEssgeeIOSupport uegIO, string CustonDataDir) { //ʼ - InitAppEnvironment(CustonDataDir); + InitAppEnvironment(CustonDataDir, uegIO); InitEmu(); //ϸڳʼ InitializeHandlers(metaresources); } - private void InitAppEnvironment(string CustonDataDir) + private void InitAppEnvironment(string CustonDataDir, IEssgeeIOSupport uegIO) { + EmulatorHandler.io = uegIO; EssgeeLogger.Init(uegLog); //EmuStandInfo.datDirectoryPath = Path.Combine(BaseDataDir, "EssgeeAssets", "No-Intro"); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs new file mode 100644 index 00000000..306081e5 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs @@ -0,0 +1,20 @@ +using Essgee.Metadata; +using System.IO; + +public class UEGIO : IEssgeeIOSupport +{ + public bool File_Exists(string path) + { + return AxiIO.File.Exists(path); + } + + public byte[] File_ReadAllBytes(string path) + { + return AxiIO.File.ReadAllBytes(path); + } + + public void File_WriteAllBytesFromStre(string path, MemoryStream ms) + { + AxiIO.File.WriteAllBytesFromStream(path, ms); + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs.meta new file mode 100644 index 00000000..a21628da --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgeeInterface/UEGIO.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2d1eadaf2f90ca44b9732206158f7599 \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs index 5799338f..eaef5d52 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs @@ -20,6 +20,7 @@ public class UMAME : MonoBehaviour, IEmuCore UniSoundPlayer mUniSoundPlayer; UniKeyboard mUniKeyboard; UniResources mUniResources; + UniIO mUniIO; public Text mFPS; private Canvas mCanvas; @@ -53,9 +54,10 @@ public class UMAME : MonoBehaviour, IEmuCore mUniSoundPlayer = GameObject.Find("Audio").transform.GetComponent(); mUniKeyboard = this.gameObject.AddComponent(); mUniResources = new UniResources(); + mUniIO = new UniIO(); mChangeRomName = string.Empty; mTimeSpan = new UniTimeSpan(); - emu.Init(RomPath, mUniLog, mUniResources, mUniVideoPlayer, mUniSoundPlayer, mUniKeyboard, mUniMouse, mTimeSpan); + emu.Init(RomPath, mUniLog, mUniResources, mUniVideoPlayer, mUniSoundPlayer, mUniKeyboard, mUniMouse, mTimeSpan, mUniIO); } void OnEnable() { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs new file mode 100644 index 00000000..6bbd2eb4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs @@ -0,0 +1,20 @@ +using MAME.Core; +using System.IO; + +public class UniIO : IMAMEIOSupport +{ + public bool File_Exists(string path) + { + return AxiIO.File.Exists(path); + } + + public byte[] File_ReadAllBytes(string path) + { + return AxiIO.File.ReadAllBytes(path); + } + + public void File_WriteAllBytesFromStre(string path, MemoryStream ms) + { + AxiIO.File.WriteAllBytesFromStream(path, ms); + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs.meta new file mode 100644 index 00000000..ea744e8f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UniInterface/UniIO.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0bde9793324600e4da84ead00e1e9111 \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/Handle/EmulatorHandler.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/Handle/EmulatorHandler.cs index cb268120..fe9645ba 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/Handle/EmulatorHandler.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/Handle/EmulatorHandler.cs @@ -1,4 +1,5 @@ -using StoicGoose.Core.Interfaces; +using Essgee.Metadata; +using StoicGoose.Core.Interfaces; using StoicGooseUnity; using System; using System.Diagnostics; @@ -8,6 +9,7 @@ public class EmulatorHandler { readonly static string threadName = $"Unity_Emulation"; + public static IEssgeeIOSupport io; //Thread thread = default; volatile bool threadRunning = false, threadPaused = false;