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