public DMGSystem() { Memory = new EmulatedCartridge("tetris.gb"); //Memory = new RealCartridge("COM3"); CPU = new Z80(Memory); GPU = new GameBoyGPU(Memory); }
public void LoadDevice(string romFilePath, string ramFilePath) { UnloadDevice(); _currentExternalMemory = new StreamedExternalMemory(File.Open(ramFilePath, FileMode.OpenOrCreate)); var cartridge = new EmulatedCartridge(File.ReadAllBytes(romFilePath), _currentExternalMemory); CurrentDevice = new GameBoy.GameBoy(cartridge, true); OnDeviceLoaded(new DeviceEventArgs(CurrentDevice)); }
public void LoadDevice(string romFilePath, string ramFilePath) { UnloadDevice(); _currentExternalMemory = new StreamedExternalMemory(File.Open(ramFilePath, FileMode.OpenOrCreate)); var cartridge = new EmulatedCartridge(File.ReadAllBytes(romFilePath), _currentExternalMemory); _currentExternalMemory.SetBufferSize(cartridge.ExternalRamSize); CurrentDevice = new GameBoy.GameBoy(cartridge, !Properties.Settings.Default.ForceOriginalGameBoy); ApplyColorPalettes(); OnDeviceLoaded(new DeviceEventArgs(CurrentDevice)); }
private static void Main(string[] args) { PrintAbout(); (string romFile, string saveFile) = ParseArguments(args); var settings = ReadSettings(); using (var host = new EmuxHost(settings)) using (var mbc = new BufferedExternalMemory(saveFile)) { var cartridge = new EmulatedCartridge(File.ReadAllBytes(romFile), mbc); var device = new GameBoy.GameBoy(cartridge, host, true); host.GameBoy = device; device.Gpu.VideoOutput = host; var mixer = new GameBoyNAudioMixer(); mixer.Connect(device.Spu); var player = new DirectSoundOut(); player.Init(mixer); player.Play(); host.Run(); } }