atari7800: control hooked up, more or less
This commit is contained in:
parent
158e6a5dd6
commit
2983c23920
|
@ -24,8 +24,11 @@ namespace BizHawk.Emulation
|
||||||
_frame++;
|
_frame++;
|
||||||
_islag = true;
|
_islag = true;
|
||||||
|
|
||||||
|
ControlAdapter.Convert(Controller, theMachine.InputState);
|
||||||
theMachine.ComputeNextFrame(avProvider.framebuffer);
|
theMachine.ComputeNextFrame(avProvider.framebuffer);
|
||||||
|
|
||||||
|
_islag = false; // until we put in a working lagometer
|
||||||
|
|
||||||
if (_islag)
|
if (_islag)
|
||||||
{
|
{
|
||||||
LagCount++;
|
LagCount++;
|
||||||
|
@ -110,8 +113,11 @@ namespace BizHawk.Emulation
|
||||||
return ms.ToArray();
|
return ms.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ControllerDefinition ControllerDefinition { get { return Atari7800ControllerDefinition; } }
|
Atari7800Control ControlAdapter;
|
||||||
|
|
||||||
|
public ControllerDefinition ControllerDefinition { get; private set; }
|
||||||
public IController Controller { get; set; }
|
public IController Controller { get; set; }
|
||||||
|
/*
|
||||||
public static readonly ControllerDefinition Atari7800ControllerDefinition = new ControllerDefinition
|
public static readonly ControllerDefinition Atari7800ControllerDefinition = new ControllerDefinition
|
||||||
{
|
{
|
||||||
Name = "Atari 7800 Basic Controller",
|
Name = "Atari 7800 Basic Controller",
|
||||||
|
@ -121,7 +127,7 @@ namespace BizHawk.Emulation
|
||||||
"P2 Up", "P2 Down", "P2 Left", "P2 Right", "P2 B1", "P2 B2",
|
"P2 Up", "P2 Down", "P2 Left", "P2 Right", "P2 B1", "P2 B2",
|
||||||
"Reset", "Select"
|
"Reset", "Select"
|
||||||
}
|
}
|
||||||
};
|
};*/
|
||||||
|
|
||||||
class ConsoleLogger : ILogger
|
class ConsoleLogger : ILogger
|
||||||
{
|
{
|
||||||
|
@ -188,6 +194,12 @@ namespace BizHawk.Emulation
|
||||||
logger);
|
logger);
|
||||||
|
|
||||||
theMachine.Reset();
|
theMachine.Reset();
|
||||||
|
|
||||||
|
ControlAdapter = new Atari7800Control(theMachine);
|
||||||
|
if (ControlAdapter.ControlType.Name != "Atari 7800 ProLine Joystick Controller")
|
||||||
|
throw new Exception("For now, only Atari 7800 ProLine Joystick games are supported.");
|
||||||
|
ControllerDefinition = ControlAdapter.ControlType;
|
||||||
|
|
||||||
if (avProvider != null)
|
if (avProvider != null)
|
||||||
avProvider.Dispose();
|
avProvider.Dispose();
|
||||||
avProvider.ConnectToMachine(theMachine);
|
avProvider.ConnectToMachine(theMachine);
|
||||||
|
|
|
@ -995,40 +995,41 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
Global.AutofireAtari2600Controls = autofireA2600Controls;
|
Global.AutofireAtari2600Controls = autofireA2600Controls;
|
||||||
|
|
||||||
var a7800Controls = new Controller(Atari7800.Atari7800ControllerDefinition);
|
var a7800Controls = new Controller(Atari7800Control.ProLineJoystick);
|
||||||
a7800Controls.BindMulti("P1 Up", Global.Config.Atari7800Controller[0].Up);
|
a7800Controls.BindMulti("P1 Up", Global.Config.Atari7800Controller[0].Up);
|
||||||
a7800Controls.BindMulti("P1 Left", Global.Config.Atari7800Controller[0].Left);
|
a7800Controls.BindMulti("P1 Left", Global.Config.Atari7800Controller[0].Left);
|
||||||
a7800Controls.BindMulti("P1 Right", Global.Config.Atari7800Controller[0].Right);
|
a7800Controls.BindMulti("P1 Right", Global.Config.Atari7800Controller[0].Right);
|
||||||
a7800Controls.BindMulti("P1 Down", Global.Config.Atari7800Controller[0].Down);
|
a7800Controls.BindMulti("P1 Down", Global.Config.Atari7800Controller[0].Down);
|
||||||
a7800Controls.BindMulti("P1 B1", Global.Config.Atari7800Controller[0].Button1);
|
a7800Controls.BindMulti("P1 Trigger", Global.Config.Atari7800Controller[0].Button1);
|
||||||
a7800Controls.BindMulti("P1 B2", Global.Config.Atari7800Controller[0].Button2);
|
a7800Controls.BindMulti("P1 Trigger 2", Global.Config.Atari7800Controller[0].Button2);
|
||||||
|
|
||||||
a7800Controls.BindMulti("P2 Up", Global.Config.Atari7800Controller[1].Up);
|
a7800Controls.BindMulti("P2 Up", Global.Config.Atari7800Controller[1].Up);
|
||||||
a7800Controls.BindMulti("P2 Left", Global.Config.Atari7800Controller[1].Left);
|
a7800Controls.BindMulti("P2 Left", Global.Config.Atari7800Controller[1].Left);
|
||||||
a7800Controls.BindMulti("P2 Right", Global.Config.Atari7800Controller[1].Right);
|
a7800Controls.BindMulti("P2 Right", Global.Config.Atari7800Controller[1].Right);
|
||||||
a7800Controls.BindMulti("P2 Down", Global.Config.Atari7800Controller[1].Down);
|
a7800Controls.BindMulti("P2 Down", Global.Config.Atari7800Controller[1].Down);
|
||||||
a7800Controls.BindMulti("P2 B1", Global.Config.Atari7800Controller[1].Button1);
|
a7800Controls.BindMulti("P2 Trigger", Global.Config.Atari7800Controller[1].Button1);
|
||||||
a7800Controls.BindMulti("P2 B2", Global.Config.Atari7800Controller[1].Button2);
|
a7800Controls.BindMulti("P2 Trigger 2", Global.Config.Atari7800Controller[1].Button2);
|
||||||
|
|
||||||
a7800Controls.BindMulti("Reset", Global.Config.Atari2600ConsoleButtons[0].Reset);
|
//FIXME
|
||||||
a7800Controls.BindMulti("Select", Global.Config.Atari2600ConsoleButtons[0].Select);
|
//a7800Controls.BindMulti("Reset", Global.Config.Atari2600ConsoleButtons[0].Reset);
|
||||||
|
//a7800Controls.BindMulti("Select", Global.Config.Atari2600ConsoleButtons[0].Select);
|
||||||
|
|
||||||
Global.Atari7800Controls = a7800Controls;
|
Global.Atari7800Controls = a7800Controls;
|
||||||
|
|
||||||
var autofireA7800Controls = new AutofireController(Atari7800.Atari7800ControllerDefinition);
|
var autofireA7800Controls = new AutofireController(Atari7800Control.ProLineJoystick);
|
||||||
autofireA7800Controls.BindMulti("P1 Up", Global.Config.Atari7800AutoController[0].Up);
|
autofireA7800Controls.BindMulti("P1 Up", Global.Config.Atari7800AutoController[0].Up);
|
||||||
autofireA7800Controls.BindMulti("P1 Left", Global.Config.Atari7800AutoController[0].Left);
|
autofireA7800Controls.BindMulti("P1 Left", Global.Config.Atari7800AutoController[0].Left);
|
||||||
autofireA7800Controls.BindMulti("P1 Right", Global.Config.Atari7800AutoController[0].Right);
|
autofireA7800Controls.BindMulti("P1 Right", Global.Config.Atari7800AutoController[0].Right);
|
||||||
autofireA7800Controls.BindMulti("P1 Down", Global.Config.Atari7800AutoController[0].Down);
|
autofireA7800Controls.BindMulti("P1 Down", Global.Config.Atari7800AutoController[0].Down);
|
||||||
autofireA7800Controls.BindMulti("P1 B1", Global.Config.Atari7800AutoController[0].Button1);
|
autofireA7800Controls.BindMulti("P1 Trigger", Global.Config.Atari7800Controller[0].Button1);
|
||||||
autofireA7800Controls.BindMulti("P1 B2", Global.Config.Atari7800AutoController[0].Button2);
|
autofireA7800Controls.BindMulti("P1 Trigger 2", Global.Config.Atari7800Controller[0].Button2);
|
||||||
|
|
||||||
autofireA7800Controls.BindMulti("P2 Up", Global.Config.Atari7800AutoController[1].Up);
|
autofireA7800Controls.BindMulti("P2 Up", Global.Config.Atari7800AutoController[1].Up);
|
||||||
autofireA7800Controls.BindMulti("P2 Left", Global.Config.Atari7800AutoController[1].Left);
|
autofireA7800Controls.BindMulti("P2 Left", Global.Config.Atari7800AutoController[1].Left);
|
||||||
autofireA7800Controls.BindMulti("P2 Right", Global.Config.Atari7800AutoController[1].Right);
|
autofireA7800Controls.BindMulti("P2 Right", Global.Config.Atari7800AutoController[1].Right);
|
||||||
autofireA7800Controls.BindMulti("P2 Down", Global.Config.Atari7800AutoController[1].Down);
|
autofireA7800Controls.BindMulti("P2 Down", Global.Config.Atari7800AutoController[1].Down);
|
||||||
autofireA7800Controls.BindMulti("P2 B1", Global.Config.Atari7800AutoController[1].Button1);
|
autofireA7800Controls.BindMulti("P2 Trigger", Global.Config.Atari7800Controller[1].Button1);
|
||||||
autofireA7800Controls.BindMulti("P2 B2", Global.Config.Atari7800AutoController[1].Button2);
|
autofireA7800Controls.BindMulti("P2 Trigger 2", Global.Config.Atari7800Controller[1].Button2);
|
||||||
|
|
||||||
Global.AutofireAtari7800Controls = autofireA2600Controls;
|
Global.AutofireAtari7800Controls = autofireA2600Controls;
|
||||||
|
|
||||||
|
|
|
@ -454,7 +454,7 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
return "|.|";
|
return "|.|";
|
||||||
}
|
}
|
||||||
else if (ControlType == "Atari 7800 Basic Controller")
|
else if (ControlType == "Atari 7800 ProLine Joystick Controller")
|
||||||
{
|
{
|
||||||
return "|.|"; //TODO
|
return "|.|"; //TODO
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue