/// <summary> /// Cast the configuration to string format /// </summary> /// <returns>String DosBox configuration format</returns> public override string ToString() { StringBuilder sb = new StringBuilder(); sb.AppendLine(SDL?.ToString()); sb.AppendLine(DosBox?.ToString()); sb.AppendLine(Render?.ToString()); sb.AppendLine(CPU?.ToString()); sb.AppendLine(Mixer?.ToString()); sb.AppendLine(Midi?.ToString()); sb.AppendLine(SoundBlaster?.ToString()); sb.AppendLine(GUS?.ToString()); sb.AppendLine(Speaker?.ToString()); sb.AppendLine(Joystick?.ToString()); sb.AppendLine(Serial?.ToString()); sb.AppendLine(DOS?.ToString()); sb.AppendLine(IPX?.ToString()); sb.Append(Autoexec?.ToString()); return(sb.ToString()); }
public Mixer(SoundBlaster blaster) => this.blaster = blaster;
/// <summary> /// Load configuration from dictionary /// </summary> /// <param name="dictionary">Dictionary with dosbox configuration data.</param> /// <returns>DosBoxConfiguration data</returns> public DosBoxConfiguration LoadDictionary(IDictionary <string, object> dictionary) { foreach (var keyValue in dictionary) { switch (keyValue.Key) { case "sdl": if (keyValue.Value is IDictionary <string, object> ) { SDL.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "dosbox": if (keyValue.Value is IDictionary <string, object> ) { DosBox.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "render": if (keyValue.Value is IDictionary <string, object> ) { Render.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "cpu": if (keyValue.Value is IDictionary <string, object> ) { CPU.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "mixer": if (keyValue.Value is IDictionary <string, object> ) { Mixer.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "midi": if (keyValue.Value is IDictionary <string, object> ) { Midi.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "sblaster": if (keyValue.Value is IDictionary <string, object> ) { SoundBlaster.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "gus": if (keyValue.Value is IDictionary <string, object> ) { GUS.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "speaker": if (keyValue.Value is IDictionary <string, object> ) { Speaker.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "joystick": if (keyValue.Value is IDictionary <string, object> ) { Joystick.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "serial": if (keyValue.Value is IDictionary <string, object> ) { Serial.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "dos": if (keyValue.Value is IDictionary <string, object> ) { DOS.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "ipx": if (keyValue.Value is IDictionary <string, object> ) { IPX.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; case "autoexec": if (keyValue.Value is IDictionary <string, object> ) { Autoexec.LoadDictionary(keyValue.Value as IDictionary <string, object>); } break; default: break; } } return(this); }
/// <summary> /// Load the default DosBox configuration /// </summary> /// <returns>DosBoxConfiguration data</returns> public DosBoxConfiguration LoadDeafult() { SDL.AddAutoLock() .AddFullDouble() .AddFullResolution(Resolution.Original) .AddFullScreen() .AddOutput(VideoOutput.Surface) .AddPriorityFocused() .AddPriorityMinimized() .AddSensitivity() .AddUseScanCodes() .AddWaitOnError() .AddWindowResolution(Resolution.Original); DosBox.AddCaptures() .AddMachine() .AddMemSize(); Render.AddAspect() .AddFrameskip() .AddScaler(ScalerType.Normal2x); CPU.AddCore() .AddCPUType() .AddCycles(new CPUCycles("auto")) .AddCycleUp() .AddCycleDown(); Mixer.AddNoSound() .AddRate() .AddBlockSize() .AddPreBuffer(); Midi.AddMPU401() .AddMidiDevice(); SoundBlaster.AddSBType() .AddSBBase() .AddIRQ() .AddDMA() .AddHDMA() .AddSoundMixer() .AddOplMode() .AddOplEmu() .AddOplRate(); GUS.AddGUS() .AddGusRate() .AddGusBase() .AddGusIRQ() .AddGusDMA() .AddUltraDir(); Speaker.AddPCSpeaker() .AddPCRate() .AddTandy() .AddTandyRate() .AddDisney(); Joystick.AddJoystickType() .AddTimed() .AddAutoFire() .AddSwap34() .AddButtonWrap(); Serial.AddSerial1(Options.Serial.CreateDummy()) .AddSerial2(Options.Serial.CreateDummy()) .AddSerial3(Options.Serial.CreateDisabled()) .AddSerial4(Options.Serial.CreateDisabled()); DOS.AddXMS() .AddEMS() .AddUMB() .AddKeyboardLayout(KeyboardLayout.Auto); IPX.AddIPX(); return(this); }