一个MAME模拟器核心的现代化.Net版本移植
Go to file
2024-07-29 15:53:22 +08:00
MAME.Core 抽象Input 2024-07-29 15:53:22 +08:00
LICENSE Initial commit 2024-07-22 18:04:35 +08:00
MAME.Core.sln 归档编译通过 2024-07-24 18:36:14 +08:00
note.txt 抽象Input 2024-07-29 15:53:22 +08:00
README.md readme 2024-07-29 11:06:20 +08:00

MAME.Core

一个MAME模拟器核心的现代化.Net版本移植作为独立模拟器核心但是.NetStandard 2.0)

移植的目的是便于用于Unity Godot Stride MonoGame FNA 等跨平台的游戏引擎,并运行在不同平台

所以要脱离WinForm或者说Windows。 目前大部分已经移植原始有些静态变量是放在Form做GDI。这些我基本已经解耦 然后把Mouse Keyboard Input Video Sound接口化了不依赖DX的 变成一个MAME模拟器核心类库。并尝开发联机功能

原项目gdi的扩展类里都是Bitmap用unsafe处理指针来填充RGBA 这部分我已经做到脱离System.Drawing(脱离平台依赖)重写BitmapData的逻辑使其可以跨平台

git.axibug.com/sin365/MAME.Core 总之 ,研究过程很欢乐。

References

shunninghuang - https://www.codeproject.com/Articles/1275365/The-Main-Architecture-of-MAME-NET

MAME-Multiple Arcade Machine Emulator - https://github.com/mamedev

MSDN - https://msdn.microsoft.com

BizHawk M68000 and Z80 code - https://github.com/TASEmulators/BizHawk/tree/master/src/BizHawk.Emulation.Cores/CPUs

VCMAME detail by Bryan McPhail - https://www.codeproject.com/Articles/4923/VCMAME-Multiple-Arcade-Machine-Emulator-for-Visual

MAME and MAMEUI Visual C Project Files - http://www.mikesarcade.com/arcade/vcmame.html

CPS1.NET - https://www.codeproject.com/Articles/998595/CPS1-NET-A-Csharp-Based-CPS1-MAME-Emulator