mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
Limitations :
- Bochs must be installed on the system. This is not checked as a prerequisite by the Builder.
- You will find a GuessForBochs Cosmos project under BlueSkeye user project folder that can be used to launch the Guess project under Bochs.
- You may have to fix manually the path for the following properties in Cosmos.bxrc file copied to the CosmosForBochs\Bin\Debug folder
* romimage
* vgaromimage
- The Cosmos project UI is not yet Bochs aware. If you do not use the GuessForBochs project you must manually edit your Cosmos project file to modify the following property in both the Debug and Release property group from the project file :
<Launch>Bochs</Launch>
You must also add the following properties in both the Debug and Release property group from the project file :
<BochsConfig>Cosmos.bxrc</BochsConfig>
<Bochs_Deployment>ISO</Bochs_Deployment>
<Bochs_Launch>Bochs</Bochs_Launch>
<Bochs_DebugEnabled>True</Bochs_DebugEnabled>
<Bochs_DebugMode>Source</Bochs_DebugMode>
<Bochs_IgnoreDebugStubAttribute />
<Bochs_VMwareEdition>Player</Bochs_VMwareEdition>
<Bochs_OutputPath>bin\Debug\</Bochs_OutputPath>
<Bochs_Framework>MicrosoftNET</Bochs_Framework>
<Bochs_UseInternalAssembler>False</Bochs_UseInternalAssembler>
<Bochs_TraceAssemblies />
<Bochs_EnableGDB>False</Bochs_EnableGDB>
<Bochs_StartCosmosGDB>false</Bochs_StartCosmosGDB>
<Bochs_Name>GuessForBochs</Bochs_Name>
<Bochs_Description>Use Bochs emulator to deploy and debug.</Bochs_Description>
<Bochs_VisualStudioDebugPort>Pipe: Cosmos\Serial</Bochs_VisualStudioDebugPort>
<Bochs_PxeInterface>192.168.43.1</Bochs_PxeInterface>
<Bochs_SlavePort>Serial: COM3</Bochs_SlavePort>
<Bochs_ShowLaunchConsole>False</Bochs_ShowLaunchConsole>
49 lines
No EOL
1.5 KiB
C#
49 lines
No EOL
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Collections.Specialized;
|
|
|
|
namespace Cosmos.Debug.Common
|
|
{
|
|
public static class NameValueCollectionHelper
|
|
{
|
|
/// <summary>Build a string from collection content. Each collection item is used to produce
|
|
/// a 'key=value' string. Pairs are separated by a semi colon.</summary>
|
|
public static string DumpToString(NameValueCollection value)
|
|
{
|
|
var xSB = new StringBuilder();
|
|
foreach (string xKey in value.Keys)
|
|
{
|
|
xSB.AppendFormat("{0}={1};", xKey, (string)value[xKey]);
|
|
}
|
|
return xSB.ToString();
|
|
}
|
|
|
|
public static void LoadFromString(NameValueCollection target, string value)
|
|
{
|
|
if (target.Count > 0)
|
|
{
|
|
throw new Exception("Target is not empty!");
|
|
}
|
|
if (String.IsNullOrEmpty(value))
|
|
{
|
|
return;
|
|
}
|
|
|
|
string[] xPairs = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
|
|
foreach (var xPair in xPairs)
|
|
{
|
|
string[] xParts = xPair.Split('=');
|
|
if (xParts.Length > 1)
|
|
{
|
|
target.Add(xParts[0], xParts[1]);
|
|
}
|
|
else
|
|
{
|
|
target.Add(xParts[0], "");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |