ahh, yahbooze, we hardly knew you...
This commit is contained in:
parent
9f19e00668
commit
e73157bb49
|
@ -36,10 +36,6 @@ namespace BizHawk.Client.EmuHawk.CoreExtensions
|
|||
{
|
||||
return Properties.Resources.bsnes;
|
||||
}
|
||||
else if (core is Yabause)
|
||||
{
|
||||
return Properties.Resources.yabause;
|
||||
}
|
||||
else if (core is Atari7800)
|
||||
{
|
||||
return Properties.Resources.emu7800;
|
||||
|
|
|
@ -94,11 +94,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
// SNES
|
||||
Global.Config.SNES_InSnes9x = true;
|
||||
|
||||
// Saturn
|
||||
var saturnSettings = GetSyncSettings<Yabause, Yabause.SaturnSyncSettings>();
|
||||
saturnSettings.SkipBios = false;
|
||||
PutSyncSettings<Yabause>(saturnSettings);
|
||||
|
||||
// Genesis
|
||||
var genesisSettings = GetSyncSettings<GPGX, GPGX.GPGXSyncSettings>();
|
||||
genesisSettings.Region = LibGPGX.Region.Autodetect;
|
||||
|
@ -151,11 +146,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
snesSettings.Profile = "Compatibility";
|
||||
PutSyncSettings<LibsnesCore>(snesSettings);
|
||||
|
||||
// Saturn
|
||||
var saturnSettings = GetSyncSettings<Yabause, Yabause.SaturnSyncSettings>();
|
||||
saturnSettings.SkipBios = false;
|
||||
PutSyncSettings<Yabause>(saturnSettings);
|
||||
|
||||
// Genesis
|
||||
var genesisSettings = GetSyncSettings<GPGX, GPGX.GPGXSyncSettings>();
|
||||
genesisSettings.Region = LibGPGX.Region.Autodetect;
|
||||
|
@ -211,11 +201,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
snesSettings.Profile = "Compatibility";
|
||||
PutSyncSettings<LibsnesCore>(snesSettings);
|
||||
|
||||
// Saturn
|
||||
var saturnSettings = GetSyncSettings<Yabause, Yabause.SaturnSyncSettings>();
|
||||
saturnSettings.SkipBios = true;
|
||||
PutSyncSettings<Yabause>(saturnSettings);
|
||||
|
||||
// Genesis
|
||||
var genesisSettings = GetSyncSettings<GPGX, GPGX.GPGXSyncSettings>();
|
||||
genesisSettings.Region = LibGPGX.Region.Autodetect;
|
||||
|
@ -271,11 +256,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
snesSettings.Profile = "Compatibility";
|
||||
PutSyncSettings<LibsnesCore>(snesSettings);
|
||||
|
||||
// Saturn
|
||||
var saturnSettings = GetSyncSettings<Yabause, Yabause.SaturnSyncSettings>();
|
||||
saturnSettings.SkipBios = true;
|
||||
PutSyncSettings<Yabause>(saturnSettings);
|
||||
|
||||
// Genesis
|
||||
var genesisSettings = GetSyncSettings<GPGX, GPGX.GPGXSyncSettings>();
|
||||
genesisSettings.Region = LibGPGX.Region.Autodetect;
|
||||
|
|
|
@ -1148,31 +1148,8 @@
|
|||
<Compile Include="Consoles\Sega\gpgx64\LibGPGX.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\FilePiping.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\LibSaturnus.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\LibYabause.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\Saturnus.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\SaturnusControllerDeck.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.cs" />
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.IDriveLight.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.IInputPollable.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.IMemoryDomains.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.ISaveram.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.ISettable.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.IStatable.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\Saturn\Yabause.ITraceable.cs">
|
||||
<DependentUpon>Yabause.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Consoles\Sega\SMS\SMS.cs" />
|
||||
<Compile Include="Consoles\Sega\SMS\SMS.ICodeDataLogger.cs">
|
||||
<DependentUpon>SMS.cs</DependentUpon>
|
||||
|
|
|
@ -1,252 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public static class LibYabause
|
||||
{
|
||||
/// <summary>
|
||||
/// A,B,C,Start,DPad
|
||||
/// </summary>
|
||||
public enum Buttons1 : byte
|
||||
{
|
||||
B = 0x01,
|
||||
C = 0x02,
|
||||
A = 0x04,
|
||||
S = 0x08,
|
||||
U = 0x10,
|
||||
D = 0x20,
|
||||
L = 0x40,
|
||||
R = 0x80
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// X,Y,Z,Shoulders
|
||||
/// </summary>
|
||||
public enum Buttons2 : byte
|
||||
{
|
||||
L = 0x08,
|
||||
Z = 0x10,
|
||||
Y = 0x20,
|
||||
X = 0x40,
|
||||
R = 0x80
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="p11">player1</param>
|
||||
/// <param name="p12">player1</param>
|
||||
/// <param name="p21">player2</param>
|
||||
/// <param name="p22">player2</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_setpads(Buttons1 p11, Buttons2 p12, Buttons1 p21, Buttons2 p22);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// set video buffer
|
||||
/// </summary>
|
||||
/// <param name="buff">32 bit color, should persist over time. must hold at least 704*512px in software mode, or (704*n*512*n)px
|
||||
/// in hardware mode with native factor size, or w*hpx in gl mode with explicit size</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_setvidbuff(IntPtr buff);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="buff">persistent location of s16 interleaved</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_setsndbuff(IntPtr buff);
|
||||
|
||||
/// <summary>
|
||||
/// soft reset, or something like that
|
||||
/// </summary>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_softreset();
|
||||
|
||||
/// <summary>
|
||||
/// hard reset, or something like that
|
||||
/// </summary>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_hardreset();
|
||||
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void InputCallback();
|
||||
|
||||
/// <summary>
|
||||
/// set a fcn to call every time input is read
|
||||
/// </summary>
|
||||
/// <param name="cb">execxutes right before the input read. null to clear</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_setinputcallback(InputCallback cb);
|
||||
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void TraceCallback(string dis, string regs);
|
||||
|
||||
/// <summary>
|
||||
/// set a fcn to call every time input is read
|
||||
/// </summary>
|
||||
/// <param name="cb">execxutes right before the input read. null to clear</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_settracecallback(TraceCallback cb);
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="fn"></param>
|
||||
/// <returns>success</returns>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_loadstate(string fn);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="fn"></param>
|
||||
/// <returns>success</returns>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_savestate(string fn);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="w">width of framebuffer</param>
|
||||
/// <param name="h">height of framebuffer</param>
|
||||
/// <param name="nsamp">number of sample pairs produced</param>
|
||||
/// <returns>true if lagged</returns>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_frameadvance(out int w, out int h, out int nsamp);
|
||||
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_deinit();
|
||||
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_savesaveram(string fn);
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_loadsaveram(string fn);
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_clearsaveram();
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_saveramodified();
|
||||
|
||||
public struct NativeMemoryDomain
|
||||
{
|
||||
public IntPtr data;
|
||||
public string name;
|
||||
public int length;
|
||||
}
|
||||
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr libyabause_getmemoryareas();
|
||||
|
||||
public static IEnumerable<NativeMemoryDomain> libyabause_getmemoryareas_ex()
|
||||
{
|
||||
var ret = new List<NativeMemoryDomain>();
|
||||
IntPtr start = libyabause_getmemoryareas();
|
||||
while (true)
|
||||
{
|
||||
var nmd = (NativeMemoryDomain)Marshal.PtrToStructure(start, typeof(NativeMemoryDomain));
|
||||
if (nmd.data == IntPtr.Zero || nmd.name == null)
|
||||
return ret.AsReadOnly();
|
||||
ret.Add(nmd);
|
||||
start += Marshal.SizeOf(typeof(NativeMemoryDomain));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// set the overall resolution. only works in gl mode and when nativefactor = 0
|
||||
/// </summary>
|
||||
/// <param name="w">width</param>
|
||||
/// <param name="h">height</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_glresize(int w, int h);
|
||||
|
||||
/// <summary>
|
||||
/// cause the overall resolution to automatically switch to a multiple of the original console resolution, as the original console resolution changes.
|
||||
/// only applies in gl mode.
|
||||
/// </summary>
|
||||
/// <param name="n">factor, 1-4, 0 to disable.</param>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void libyabause_glsetnativefactor(int n);
|
||||
|
||||
|
||||
public enum CartType : int
|
||||
{
|
||||
NONE = 0,
|
||||
DRAM8MBIT = 6,
|
||||
DRAM32MBIT = 7
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="intf">cd interface. struct need not persist after call, but the function pointers better</param>
|
||||
/// <param name="biosfn">path to bios, pass null to use built in bios emulation</param>
|
||||
/// <param name="usegl">true for opengl</param>
|
||||
/// <param name="quickload">if true, skip bios opening</param>
|
||||
/// <param name="clocksync">if true, sync RTC to actual emulated time; if false, use real real time</param>
|
||||
/// <param name="clockbase">if non-zero, initial emulation time in unix format</param>
|
||||
/// <returns></returns>
|
||||
[DllImport("libyabause.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool libyabause_init(ref CDInterface intf, string biosfn, bool usegl, CartType carttype, bool quickload, bool clocksync, int clockbase);
|
||||
|
||||
public struct CDInterface
|
||||
{
|
||||
public int DontTouch;
|
||||
public IntPtr DontTouch2;
|
||||
/// <summary>
|
||||
/// init cd functions
|
||||
/// </summary>
|
||||
/// <param name="unused"></param>
|
||||
/// <returns>0 on success, -1 on failure</returns>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate int Init(string unused);
|
||||
public Init InitFunc;
|
||||
/// <summary>
|
||||
/// deinit cd functions
|
||||
/// </summary>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void DeInit();
|
||||
public DeInit DeInitFunc;
|
||||
/// <summary>
|
||||
/// 0 = cd present, spinning
|
||||
/// 1 = cd present, not spinning
|
||||
/// 2 = no cd
|
||||
/// 3 = tray open
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate int GetStatus();
|
||||
public GetStatus GetStatusFunc;
|
||||
/// <summary>
|
||||
/// read all TOC entries
|
||||
/// </summary>
|
||||
/// <param name="dest">place to copy to</param>
|
||||
/// <returns>number of bytes written. should be 408</returns>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate int ReadTOC(IntPtr dest);
|
||||
public ReadTOC ReadTOCFunc;
|
||||
/// <summary>
|
||||
/// read a sector, should be 2352 bytes
|
||||
/// </summary>
|
||||
/// <param name="FAD"></param>
|
||||
/// <param name="dest"></param>
|
||||
/// <returns></returns>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate int ReadSectorFAD(int FAD, IntPtr dest);
|
||||
public ReadSectorFAD ReadSectorFADFunc;
|
||||
/// <summary>
|
||||
/// hint the next sector, for async loading
|
||||
/// </summary>
|
||||
/// <param name="FAD"></param>
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void ReadAheadFAD(int FAD);
|
||||
public ReadAheadFAD ReadAheadFADFunc;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause : IDriveLight
|
||||
{
|
||||
public bool DriveLightEnabled { get; private set; }
|
||||
public bool DriveLightOn { get; private set; }
|
||||
}
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause : IInputPollable
|
||||
{
|
||||
public int LagCount { get; set; }
|
||||
|
||||
public bool IsLagFrame { get; set; }
|
||||
|
||||
// TODO: optimize managed to unmanaged using the ActiveChanged event
|
||||
public IInputCallbackSystem InputCallbacks
|
||||
{
|
||||
[FeatureNotImplemented]get { return _inputCallbacks; }
|
||||
}
|
||||
|
||||
private readonly InputCallbackSystem _inputCallbacks = new InputCallbackSystem();
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause
|
||||
{
|
||||
private IMemoryDomains _memoryDomains;
|
||||
|
||||
private void InitMemoryDomains()
|
||||
{
|
||||
var ret = new List<MemoryDomain>();
|
||||
var nmds = LibYabause.libyabause_getmemoryareas_ex();
|
||||
foreach (var nmd in nmds)
|
||||
{
|
||||
ret.Add(new MemoryDomainIntPtr(nmd.name, MemoryDomain.Endian.Little, nmd.data, nmd.length, true, 4));
|
||||
}
|
||||
|
||||
// main memory is in position 2
|
||||
_memoryDomains = new MemoryDomainList(ret);
|
||||
_memoryDomains.MainMemory = _memoryDomains["Work Ram Low"];
|
||||
|
||||
(ServiceProvider as BasicServiceProvider).Register<IMemoryDomains>(_memoryDomains);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause : ISaveRam
|
||||
{
|
||||
public byte[] CloneSaveRam()
|
||||
{
|
||||
if (Disposed)
|
||||
{
|
||||
if (DisposedSaveRam != null)
|
||||
{
|
||||
return (byte[])DisposedSaveRam.Clone();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new byte[0];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
var fp = new FilePiping();
|
||||
fp.Get(ms);
|
||||
bool success = LibYabause.libyabause_savesaveram(fp.GetPipeNameNative());
|
||||
fp.Finish();
|
||||
if (!success)
|
||||
throw new Exception("libyabause_savesaveram() failed!");
|
||||
var ret = ms.ToArray();
|
||||
ms.Dispose();
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void StoreSaveRam(byte[] data)
|
||||
{
|
||||
if (Disposed)
|
||||
{
|
||||
throw new Exception("It's a bit late for that");
|
||||
}
|
||||
else
|
||||
{
|
||||
var fp = new FilePiping();
|
||||
fp.Offer(data);
|
||||
bool success = LibYabause.libyabause_loadsaveram(fp.GetPipeNameNative());
|
||||
fp.Finish();
|
||||
if (!success)
|
||||
{
|
||||
throw new Exception("libyabause_loadsaveram() failed!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool SaveRamModified
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Disposed)
|
||||
{
|
||||
return DisposedSaveRam != null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return LibYabause.libyabause_saveramodified();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,135 +0,0 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using BizHawk.Common;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause : ISettable<object, Yabause.SaturnSyncSettings>
|
||||
{
|
||||
public object GetSettings()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public SaturnSyncSettings GetSyncSettings()
|
||||
{
|
||||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(object o)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SaturnSyncSettings o)
|
||||
{
|
||||
bool ret = SaturnSyncSettings.NeedsReboot(SyncSettings, o);
|
||||
|
||||
SyncSettings = o;
|
||||
|
||||
if (GLMode && SyncSettings.UseGL)
|
||||
{
|
||||
if (SyncSettings.DispFree)
|
||||
{
|
||||
SetGLRes(0, SyncSettings.GLW, SyncSettings.GLH);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGLRes(SyncSettings.DispFactor, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
private SaturnSyncSettings SyncSettings;
|
||||
|
||||
public class SaturnSyncSettings
|
||||
{
|
||||
[DisplayName("Open GL Mode")]
|
||||
[Description("Use OpenGL mode for rendering instead of software.")]
|
||||
[DefaultValue(false)]
|
||||
public bool UseGL { get; set; }
|
||||
|
||||
[DisplayName("Display Factor")]
|
||||
[Description("In OpenGL mode, the internal resolution as a multiple of the normal internal resolution (1x, 2x, 3x, 4x). Ignored in software mode or when a custom resolution is used.")]
|
||||
[DefaultValue(1)]
|
||||
public int DispFactor
|
||||
{
|
||||
get { return _DispFactor; }
|
||||
set { _DispFactor = Math.Max(1, Math.Min(value, 4)); }
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[DeepEqualsIgnore]
|
||||
private int _DispFactor;
|
||||
|
||||
[DisplayName("Display Free")]
|
||||
[Description("In OpenGL mode, set to true to use a custom resolution and ignore DispFactor.")]
|
||||
[DefaultValue(false)]
|
||||
public bool DispFree { get { return _DispFree; } set { _DispFree = value; } }
|
||||
[JsonIgnore]
|
||||
[DeepEqualsIgnore]
|
||||
private bool _DispFree;
|
||||
|
||||
[DisplayName("DispFree Final Width")]
|
||||
[Description("In OpenGL mode and when DispFree is true, the width of the final resolution.")]
|
||||
[DefaultValue(640)]
|
||||
public int GLW { get { return _GLW; } set { _GLW = Math.Max(320, Math.Min(value, 2048)); } }
|
||||
[JsonIgnore]
|
||||
[DeepEqualsIgnore]
|
||||
private int _GLW;
|
||||
|
||||
[DisplayName("DispFree Final Height")]
|
||||
[Description("In OpenGL mode and when DispFree is true, the height of the final resolution.")]
|
||||
[DefaultValue(480)]
|
||||
public int GLH
|
||||
{
|
||||
get { return _GLH; }
|
||||
set { _GLH = Math.Max(224, Math.Min(value, 1024)); }
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[DeepEqualsIgnore]
|
||||
private int _GLH;
|
||||
|
||||
[DisplayName("Ram Cart Type")]
|
||||
[Description("The type of the attached RAM cart. Most games will not use this.")]
|
||||
[DefaultValue(LibYabause.CartType.NONE)]
|
||||
public LibYabause.CartType CartType { get; set; }
|
||||
|
||||
[DisplayName("Skip BIOS")]
|
||||
[Description("Skip the Bios Intro screen.")]
|
||||
[DefaultValue(false)]
|
||||
public bool SkipBios { get; set; }
|
||||
|
||||
[DisplayName("Use RealTime RTC")]
|
||||
[Description("If true, the real time clock will reflect real time, instead of emulated time. Ignored (forced to false) when a movie is recording.")]
|
||||
[DefaultValue(false)]
|
||||
public bool RealTimeRTC { get; set; }
|
||||
|
||||
[DisplayName("RTC intiial time")]
|
||||
[Description("Set the initial RTC time. Only used when RealTimeRTC is false.")]
|
||||
[DefaultValue(typeof(DateTime), "2010-01-01")]
|
||||
public DateTime RTCInitialTime { get; set; }
|
||||
|
||||
public static bool NeedsReboot(SaturnSyncSettings x, SaturnSyncSettings y)
|
||||
{
|
||||
return !DeepEquality.DeepEquals(x, y);
|
||||
}
|
||||
|
||||
public SaturnSyncSettings Clone()
|
||||
{
|
||||
return (SaturnSyncSettings)MemberwiseClone();
|
||||
}
|
||||
|
||||
public SaturnSyncSettings()
|
||||
{
|
||||
SettingsUtil.SetDefaultValues(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,125 +0,0 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
|
||||
using BizHawk.Common.BufferExtensions;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause : IStatable
|
||||
{
|
||||
public bool BinarySaveStatesPreferred { get { return true; } }
|
||||
|
||||
// these next 5 functions are all exact copy paste from gambatte.
|
||||
// if something's wrong here, it's probably wrong there too
|
||||
|
||||
public void SaveStateText(TextWriter writer)
|
||||
{
|
||||
var temp = SaveStateBinary();
|
||||
temp.SaveAsHexFast(writer);
|
||||
// write extra copy of stuff we don't use
|
||||
writer.WriteLine("Frame {0}", Frame);
|
||||
}
|
||||
|
||||
public void LoadStateText(TextReader reader)
|
||||
{
|
||||
string hex = reader.ReadLine();
|
||||
byte[] state = new byte[hex.Length / 2];
|
||||
state.ReadFromHexFast(hex);
|
||||
LoadStateBinary(new BinaryReader(new MemoryStream(state)));
|
||||
}
|
||||
|
||||
public void SaveStateBinary(BinaryWriter writer)
|
||||
{
|
||||
byte[] data = SaveCoreBinary();
|
||||
|
||||
writer.Write(data.Length);
|
||||
writer.Write(data);
|
||||
|
||||
// other variables
|
||||
writer.Write(IsLagFrame);
|
||||
writer.Write(LagCount);
|
||||
writer.Write(Frame);
|
||||
}
|
||||
|
||||
public void LoadStateBinary(BinaryReader reader)
|
||||
{
|
||||
int length = reader.ReadInt32();
|
||||
byte[] data = reader.ReadBytes(length);
|
||||
|
||||
LoadCoreBinary(data);
|
||||
|
||||
// other variables
|
||||
IsLagFrame = reader.ReadBoolean();
|
||||
LagCount = reader.ReadInt32();
|
||||
Frame = reader.ReadInt32();
|
||||
}
|
||||
|
||||
public byte[] SaveStateBinary()
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
BinaryWriter bw = new BinaryWriter(ms);
|
||||
SaveStateBinary(bw);
|
||||
bw.Flush();
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// does a save, load, save combo, and checks the two saves for identicalness.
|
||||
/// </summary>
|
||||
private void CheckStates()
|
||||
{
|
||||
byte[] s1 = SaveStateBinary();
|
||||
LoadStateBinary(new BinaryReader(new MemoryStream(s1, false)));
|
||||
byte[] s2 = SaveStateBinary();
|
||||
if (s1.Length != s2.Length)
|
||||
throw new Exception(string.Format("CheckStates: Length {0} != {1}", s1.Length, s2.Length));
|
||||
unsafe
|
||||
{
|
||||
fixed (byte* b1 = &s1[0], b2 = &s2[0])
|
||||
{
|
||||
for (int i = 0; i < s1.Length; i++)
|
||||
{
|
||||
if (b1[i] != b2[i])
|
||||
{
|
||||
File.WriteAllBytes("save1.raw", s1);
|
||||
File.WriteAllBytes("save2.raw", s2);
|
||||
throw new Exception(string.Format("CheckStates s1[{0}] = {1}, s2[{0}] = {2}", i, b1[i], b2[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadCoreBinary(byte[] data)
|
||||
{
|
||||
var fp = new FilePiping();
|
||||
fp.Offer(data);
|
||||
|
||||
//loadstate can trigger GL work
|
||||
ActivateGL();
|
||||
|
||||
bool succeed = LibYabause.libyabause_loadstate(fp.GetPipeNameNative());
|
||||
|
||||
DeactivateGL();
|
||||
|
||||
fp.Finish();
|
||||
if (!succeed)
|
||||
throw new Exception("libyabause_loadstate() failed");
|
||||
}
|
||||
|
||||
private byte[] SaveCoreBinary()
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
var fp = new FilePiping();
|
||||
fp.Get(ms);
|
||||
bool succeed = LibYabause.libyabause_savestate(fp.GetPipeNameNative());
|
||||
fp.Finish();
|
||||
var ret = ms.ToArray();
|
||||
ms.Close();
|
||||
if (!succeed)
|
||||
throw new Exception("libyabause_savestate() failed");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
public partial class Yabause
|
||||
{
|
||||
public TraceBuffer Tracer { get; private set; }
|
||||
|
||||
public static string TraceHeader = "SH2: core, PC, machine code, mnemonic, operands, registers (GPRs, PR, SR, MAC, GBR, VBR)";
|
||||
|
||||
LibYabause.TraceCallback trace_cb;
|
||||
|
||||
public void YabauseTraceCallback(string dis, string regs)
|
||||
{
|
||||
Tracer.Put(new TraceInfo
|
||||
{
|
||||
Disassembly = dis,
|
||||
RegisterInfo = regs
|
||||
});
|
||||
}
|
||||
|
||||
private void ConnectTracer()
|
||||
{
|
||||
trace_cb = new LibYabause.TraceCallback(YabauseTraceCallback);
|
||||
Tracer = new TraceBuffer() { Header = TraceHeader };
|
||||
ServiceProvider = new BasicServiceProvider(this);
|
||||
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,504 +0,0 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Emulation.DiscSystem;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Sega.Saturn
|
||||
{
|
||||
[CoreAttributes(
|
||||
"Yabause",
|
||||
"",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "9.12",
|
||||
portedUrl: "http://yabause.org",
|
||||
singleInstance: true)]
|
||||
public partial class Yabause : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable,
|
||||
ISettable<object, Yabause.SaturnSyncSettings>, IDriveLight
|
||||
{
|
||||
public Yabause(CoreComm coreComm, Disc cd, object syncSettings)
|
||||
{
|
||||
ServiceProvider = new BasicServiceProvider(this);
|
||||
byte[] bios = coreComm.CoreFileProvider.GetFirmware("SAT", "J", true, "Saturn BIOS is required.");
|
||||
coreComm.RomStatusDetails = string.Format("Disk partial hash:{0}", new DiscHasher(cd).OldHash());
|
||||
CoreComm = coreComm;
|
||||
CD = cd;
|
||||
DiscSectorReader = new DiscSectorReader(cd);
|
||||
|
||||
SyncSettings = (SaturnSyncSettings)syncSettings ?? new SaturnSyncSettings();
|
||||
|
||||
if (SyncSettings.UseGL && glContext == null)
|
||||
{
|
||||
glContext = coreComm.RequestGLContext(2,0,false);
|
||||
}
|
||||
|
||||
ResetCounters();
|
||||
|
||||
ActivateGL();
|
||||
Init(bios);
|
||||
|
||||
InputCallbackH = new LibYabause.InputCallback(() => InputCallbacks.Call());
|
||||
LibYabause.libyabause_setinputcallback(InputCallbackH);
|
||||
ConnectTracer();
|
||||
DriveLightEnabled = true;
|
||||
|
||||
DeactivateGL();
|
||||
}
|
||||
|
||||
public static ControllerDefinition SaturnController = new ControllerDefinition
|
||||
{
|
||||
Name = "Saturn Controller",
|
||||
BoolButtons =
|
||||
{
|
||||
"Power", "Reset",
|
||||
"P1 Up", "P1 Down", "P1 Left", "P1 Right", "P1 Start", "P1 A", "P1 B", "P1 C", "P1 X", "P1 Y", "P1 Z", "P1 L", "P1 R",
|
||||
"P2 Up", "P2 Down", "P2 Left", "P2 Right", "P2 Start", "P2 A", "P2 B", "P2 C", "P2 X", "P2 Y", "P2 Z", "P2 L", "P2 R",
|
||||
}
|
||||
};
|
||||
|
||||
static Yabause AttachedCore = null;
|
||||
GCHandle VideoHandle;
|
||||
Disc CD;
|
||||
DiscSectorReader DiscSectorReader;
|
||||
GCHandle SoundHandle;
|
||||
|
||||
bool Disposed = false;
|
||||
byte[] DisposedSaveRam;
|
||||
|
||||
LibYabause.CDInterface.Init InitH;
|
||||
LibYabause.CDInterface.DeInit DeInitH;
|
||||
LibYabause.CDInterface.GetStatus GetStatusH;
|
||||
LibYabause.CDInterface.ReadTOC ReadTOCH;
|
||||
LibYabause.CDInterface.ReadSectorFAD ReadSectorFADH;
|
||||
LibYabause.CDInterface.ReadAheadFAD ReadAheadFADH;
|
||||
|
||||
LibYabause.InputCallback InputCallbackH;
|
||||
|
||||
public IEmulatorServiceProvider ServiceProvider { get; private set; }
|
||||
|
||||
object glContext;
|
||||
|
||||
void ActivateGL()
|
||||
{
|
||||
//if (!SyncSettings.UseGL) return; //not safe
|
||||
if (glContext == null) return;
|
||||
CoreComm.ActivateGLContext(glContext);
|
||||
}
|
||||
|
||||
void DeactivateGL()
|
||||
{
|
||||
//if (!SyncSettings.UseGL) return; //not safe
|
||||
if (glContext == null) return;
|
||||
CoreComm.DeactivateGLContext();
|
||||
}
|
||||
|
||||
void Init(byte[] bios)
|
||||
{
|
||||
bool GL = SyncSettings.UseGL;
|
||||
|
||||
if (AttachedCore != null)
|
||||
{
|
||||
AttachedCore.Dispose();
|
||||
AttachedCore = null;
|
||||
}
|
||||
VideoHandle = GCHandle.Alloc(VideoBuffer, GCHandleType.Pinned);
|
||||
SoundHandle = GCHandle.Alloc(SoundBuffer, GCHandleType.Pinned);
|
||||
|
||||
LibYabause.CDInterface CDInt = new LibYabause.CDInterface();
|
||||
CDInt.InitFunc = InitH = new LibYabause.CDInterface.Init(CD_Init);
|
||||
CDInt.DeInitFunc = DeInitH = new LibYabause.CDInterface.DeInit(CD_DeInit);
|
||||
CDInt.GetStatusFunc = GetStatusH = new LibYabause.CDInterface.GetStatus(CD_GetStatus);
|
||||
CDInt.ReadTOCFunc = ReadTOCH = new LibYabause.CDInterface.ReadTOC(CD_ReadTOC);
|
||||
CDInt.ReadSectorFADFunc = ReadSectorFADH = new LibYabause.CDInterface.ReadSectorFAD(CD_ReadSectorFAD);
|
||||
CDInt.ReadAheadFADFunc = ReadAheadFADH = new LibYabause.CDInterface.ReadAheadFAD(CD_ReadAheadFAD);
|
||||
|
||||
var fp = new FilePiping();
|
||||
string BiosPipe = fp.GetPipeNameNative();
|
||||
fp.Offer(bios);
|
||||
|
||||
int basetime;
|
||||
if (SyncSettings.RealTimeRTC)
|
||||
basetime = 0;
|
||||
else
|
||||
basetime = (int)((SyncSettings.RTCInitialTime - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds);
|
||||
|
||||
if (!LibYabause.libyabause_init
|
||||
(
|
||||
ref CDInt,
|
||||
BiosPipe,
|
||||
GL,
|
||||
SyncSettings.CartType,
|
||||
SyncSettings.SkipBios,
|
||||
!SyncSettings.RealTimeRTC,
|
||||
basetime
|
||||
))
|
||||
throw new Exception("libyabause_init() failed!");
|
||||
|
||||
fp.Finish();
|
||||
|
||||
LibYabause.libyabause_setvidbuff(VideoHandle.AddrOfPinnedObject());
|
||||
LibYabause.libyabause_setsndbuff(SoundHandle.AddrOfPinnedObject());
|
||||
AttachedCore = this;
|
||||
|
||||
// with or without GL, this is the guaranteed frame -1 size; (unless you do a gl resize)
|
||||
BufferWidth = 320;
|
||||
BufferHeight = 224;
|
||||
|
||||
InitMemoryDomains();
|
||||
|
||||
GLMode = GL;
|
||||
// if in GL mode, this will trigger the initial GL resize
|
||||
PutSyncSettings(this.SyncSettings);
|
||||
}
|
||||
|
||||
public ControllerDefinition ControllerDefinition
|
||||
{
|
||||
get { return SaturnController; }
|
||||
}
|
||||
|
||||
public bool GLMode { get; private set; }
|
||||
|
||||
public void SetGLRes(int factor, int width, int height)
|
||||
{
|
||||
if (!GLMode)
|
||||
return;
|
||||
|
||||
if (factor < 0) factor = 0;
|
||||
if (factor > 4) factor = 4;
|
||||
|
||||
int maxwidth, maxheight;
|
||||
|
||||
if (factor == 0)
|
||||
{
|
||||
maxwidth = width;
|
||||
maxheight = height;
|
||||
}
|
||||
else
|
||||
{
|
||||
maxwidth = 704 * factor;
|
||||
maxheight = 512 * factor;
|
||||
}
|
||||
if (maxwidth * maxheight > VideoBuffer.Length)
|
||||
{
|
||||
VideoHandle.Free();
|
||||
VideoBuffer = new int[maxwidth * maxheight];
|
||||
VideoHandle = GCHandle.Alloc(VideoBuffer, GCHandleType.Pinned);
|
||||
LibYabause.libyabause_setvidbuff(VideoHandle.AddrOfPinnedObject());
|
||||
}
|
||||
LibYabause.libyabause_glsetnativefactor(factor);
|
||||
if (factor == 0)
|
||||
LibYabause.libyabause_glresize(width, height);
|
||||
}
|
||||
|
||||
public void FrameAdvance(IController controller, bool render, bool rendersound = true)
|
||||
{
|
||||
int w, h, nsamp;
|
||||
|
||||
ActivateGL();
|
||||
|
||||
LibYabause.Buttons1 p11 = (LibYabause.Buttons1)0xff;
|
||||
LibYabause.Buttons2 p12 = (LibYabause.Buttons2)0xff;
|
||||
LibYabause.Buttons1 p21 = (LibYabause.Buttons1)0xff;
|
||||
LibYabause.Buttons2 p22 = (LibYabause.Buttons2)0xff;
|
||||
|
||||
if (controller.IsPressed("P1 A"))
|
||||
p11 &= ~LibYabause.Buttons1.A;
|
||||
if (controller.IsPressed("P1 B"))
|
||||
p11 &= ~LibYabause.Buttons1.B;
|
||||
if (controller.IsPressed("P1 C"))
|
||||
p11 &= ~LibYabause.Buttons1.C;
|
||||
if (controller.IsPressed("P1 Start"))
|
||||
p11 &= ~LibYabause.Buttons1.S;
|
||||
if (controller.IsPressed("P1 Left"))
|
||||
p11 &= ~LibYabause.Buttons1.L;
|
||||
if (controller.IsPressed("P1 Right"))
|
||||
p11 &= ~LibYabause.Buttons1.R;
|
||||
if (controller.IsPressed("P1 Up"))
|
||||
p11 &= ~LibYabause.Buttons1.U;
|
||||
if (controller.IsPressed("P1 Down"))
|
||||
p11 &= ~LibYabause.Buttons1.D;
|
||||
if (controller.IsPressed("P1 L"))
|
||||
p12 &= ~LibYabause.Buttons2.L;
|
||||
if (controller.IsPressed("P1 R"))
|
||||
p12 &= ~LibYabause.Buttons2.R;
|
||||
if (controller.IsPressed("P1 X"))
|
||||
p12 &= ~LibYabause.Buttons2.X;
|
||||
if (controller.IsPressed("P1 Y"))
|
||||
p12 &= ~LibYabause.Buttons2.Y;
|
||||
if (controller.IsPressed("P1 Z"))
|
||||
p12 &= ~LibYabause.Buttons2.Z;
|
||||
|
||||
if (controller.IsPressed("P2 A"))
|
||||
p21 &= ~LibYabause.Buttons1.A;
|
||||
if (controller.IsPressed("P2 B"))
|
||||
p21 &= ~LibYabause.Buttons1.B;
|
||||
if (controller.IsPressed("P2 C"))
|
||||
p21 &= ~LibYabause.Buttons1.C;
|
||||
if (controller.IsPressed("P2 Start"))
|
||||
p21 &= ~LibYabause.Buttons1.S;
|
||||
if (controller.IsPressed("P2 Left"))
|
||||
p21 &= ~LibYabause.Buttons1.L;
|
||||
if (controller.IsPressed("P2 Right"))
|
||||
p21 &= ~LibYabause.Buttons1.R;
|
||||
if (controller.IsPressed("P2 Up"))
|
||||
p21 &= ~LibYabause.Buttons1.U;
|
||||
if (controller.IsPressed("P2 Down"))
|
||||
p21 &= ~LibYabause.Buttons1.D;
|
||||
if (controller.IsPressed("P2 L"))
|
||||
p22 &= ~LibYabause.Buttons2.L;
|
||||
if (controller.IsPressed("P2 R"))
|
||||
p22 &= ~LibYabause.Buttons2.R;
|
||||
if (controller.IsPressed("P2 X"))
|
||||
p22 &= ~LibYabause.Buttons2.X;
|
||||
if (controller.IsPressed("P2 Y"))
|
||||
p22 &= ~LibYabause.Buttons2.Y;
|
||||
if (controller.IsPressed("P2 Z"))
|
||||
p22 &= ~LibYabause.Buttons2.Z;
|
||||
|
||||
|
||||
if (controller.IsPressed("Reset"))
|
||||
LibYabause.libyabause_softreset();
|
||||
if (controller.IsPressed("Power"))
|
||||
LibYabause.libyabause_hardreset();
|
||||
|
||||
LibYabause.libyabause_setpads(p11, p12, p21, p22);
|
||||
|
||||
DriveLightOn = false;
|
||||
|
||||
if (Tracer.Enabled)
|
||||
LibYabause.libyabause_settracecallback(trace_cb);
|
||||
else
|
||||
LibYabause.libyabause_settracecallback(null);
|
||||
|
||||
IsLagFrame = LibYabause.libyabause_frameadvance(out w, out h, out nsamp);
|
||||
BufferWidth = w;
|
||||
BufferHeight = h;
|
||||
SoundNSamp = nsamp;
|
||||
Frame++;
|
||||
if (IsLagFrame)
|
||||
LagCount++;
|
||||
//Console.WriteLine(nsamp);
|
||||
|
||||
//CheckStates();
|
||||
|
||||
DeactivateGL();
|
||||
}
|
||||
|
||||
public int Frame { get; private set; }
|
||||
|
||||
public string SystemId { get { return "SAT"; } }
|
||||
public bool DeterministicEmulation { get { return true; } }
|
||||
|
||||
public void ResetCounters()
|
||||
{
|
||||
Frame = 0;
|
||||
LagCount = 0;
|
||||
IsLagFrame = false;
|
||||
}
|
||||
|
||||
public CoreComm CoreComm { get; private set; }
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (!Disposed)
|
||||
{
|
||||
ActivateGL();
|
||||
if (SaveRamModified)
|
||||
DisposedSaveRam = CloneSaveRam();
|
||||
LibYabause.libyabause_setvidbuff(IntPtr.Zero);
|
||||
LibYabause.libyabause_setsndbuff(IntPtr.Zero);
|
||||
LibYabause.libyabause_deinit();
|
||||
VideoHandle.Free();
|
||||
SoundHandle.Free();
|
||||
CD.Dispose();
|
||||
Disposed = true;
|
||||
DeactivateGL();
|
||||
if (glContext != null)
|
||||
CoreComm.ReleaseGLContext(glContext);
|
||||
}
|
||||
}
|
||||
|
||||
#region IVideoProvider
|
||||
|
||||
int[] VideoBuffer = new int[704 * 512];
|
||||
int[] TextureIdBuffer = new int[1]; //todo
|
||||
public int[] GetVideoBuffer() {
|
||||
//doesn't work yet
|
||||
//if (SyncSettings.UseGL)
|
||||
// return new[] { VideoBuffer[0] };
|
||||
//else
|
||||
return VideoBuffer;
|
||||
}
|
||||
public int VirtualWidth { get { return BufferWidth; } }
|
||||
public int VirtualHeight { get { return BufferHeight; } }
|
||||
public int BufferWidth { get; private set; }
|
||||
public int BufferHeight { get; private set; }
|
||||
public int BackgroundColor { get { return unchecked((int)0xff000000); } }
|
||||
|
||||
public int VsyncNumerator
|
||||
{
|
||||
[FeatureNotImplemented]
|
||||
get
|
||||
{
|
||||
return NullVideo.DefaultVsyncNum;
|
||||
}
|
||||
}
|
||||
|
||||
public int VsyncDenominator
|
||||
{
|
||||
[FeatureNotImplemented]
|
||||
get
|
||||
{
|
||||
return NullVideo.DefaultVsyncDen;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ISyncSoundProvider
|
||||
|
||||
private short[] SoundBuffer = new short[44100 * 2];
|
||||
private int SoundNSamp = 0;
|
||||
|
||||
public void GetSamplesSync(out short[] samples, out int nsamp)
|
||||
{
|
||||
nsamp = SoundNSamp;
|
||||
samples = SoundBuffer;
|
||||
}
|
||||
|
||||
public void DiscardSamples() { }
|
||||
|
||||
public bool CanProvideAsync
|
||||
{
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
public void SetSyncMode(SyncSoundMode mode)
|
||||
{
|
||||
if (mode == SyncSoundMode.Async)
|
||||
{
|
||||
throw new NotSupportedException("Async mode is not supported.");
|
||||
}
|
||||
}
|
||||
|
||||
public SyncSoundMode SyncMode
|
||||
{
|
||||
get { return SyncSoundMode.Sync; }
|
||||
}
|
||||
|
||||
public void GetSamplesAsync(short[] samples)
|
||||
{
|
||||
throw new InvalidOperationException("Async mode is not supported.");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CD
|
||||
|
||||
/// <summary>
|
||||
/// init cd functions
|
||||
/// </summary>
|
||||
/// <param name="unused"></param>
|
||||
/// <returns>0 on success, -1 on failure</returns>
|
||||
int CD_Init(string unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// deinit cd functions
|
||||
/// </summary>
|
||||
void CD_DeInit()
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// 0 = cd present, spinning
|
||||
/// 1 = cd present, not spinning
|
||||
/// 2 = no cd
|
||||
/// 3 = tray open
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
int CD_GetStatus()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// read all TOC entries
|
||||
/// </summary>
|
||||
/// <param name="dest">place to copy to</param>
|
||||
/// <returns>number of bytes written. should be 408 (99 tracks, 3 specials)</returns>
|
||||
int CD_ReadTOC(IntPtr dest)
|
||||
{
|
||||
// this stuff from yabause's cdbase.c. don't ask me to explain it
|
||||
//TODO - we could just get this out of the actual TOC, it's the same thing
|
||||
|
||||
int[] rTOC = new int[102];
|
||||
var ses = CD.Session1;
|
||||
int ntrk = ses.InformationTrackCount;
|
||||
|
||||
for (int i = 0; i < 99; i++)
|
||||
{
|
||||
int tnum = i + 1;
|
||||
if (tnum <= ntrk)
|
||||
{
|
||||
var trk = ses.Tracks[tnum];
|
||||
|
||||
uint t = (uint)trk.LBA + 150;
|
||||
|
||||
if(trk.IsAudio)
|
||||
t |= 0x01000000;
|
||||
else
|
||||
t |= 0x41000000;
|
||||
|
||||
rTOC[i] = (int)t;
|
||||
}
|
||||
else
|
||||
{
|
||||
rTOC[i] = unchecked((int)0xffffffff);
|
||||
}
|
||||
}
|
||||
|
||||
rTOC[99] = (int)(rTOC[0] & 0xff000000 | 0x010000);
|
||||
rTOC[100] = (int)(rTOC[ntrk - 1] & 0xff000000 | (uint)(ntrk << 16));
|
||||
rTOC[101] = (int)(rTOC[ntrk - 1] & 0xff000000 | (uint)(CD.TOC.LeadoutLBA)); //zero 03-jul-2014 - maybe off by 150
|
||||
|
||||
|
||||
Marshal.Copy(rTOC, 0, dest, 102);
|
||||
return 408;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// read a sector, should be 2352 bytes
|
||||
/// </summary>
|
||||
/// <param name="FAD"></param>
|
||||
/// <param name="dest"></param>
|
||||
/// <returns></returns>
|
||||
int CD_ReadSectorFAD(int FAD, IntPtr dest)
|
||||
{
|
||||
byte[] data = new byte[2352];
|
||||
try
|
||||
{
|
||||
//CD.ReadABA_2352(FAD, data, 0);
|
||||
DiscSectorReader.ReadLBA_2352(FAD - 150, data, 0); //zero 21-jun-2015 - did I adapt this right?
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("CD_ReadSectorFAD: Managed Exception:\n" + e.ToString());
|
||||
return 0; // failure
|
||||
}
|
||||
Marshal.Copy(data, 0, dest, 2352);
|
||||
DriveLightOn = true;
|
||||
return 1; // success
|
||||
}
|
||||
/// <summary>
|
||||
/// hint the next sector, for async loading
|
||||
/// </summary>
|
||||
/// <param name="FAD"></param>
|
||||
void CD_ReadAheadFAD(int FAD)
|
||||
{
|
||||
// ignored for now
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -1,36 +0,0 @@
|
|||
Current team
|
||||
------------
|
||||
Theo Berkau
|
||||
Guillaume Duhamel
|
||||
Filipe Azevedo (pasnox)
|
||||
Lawrence Sebald (BlueCrab)
|
||||
|
||||
Contributors
|
||||
------------
|
||||
Anders Montonen (antime)
|
||||
Andrew Church
|
||||
Ari64
|
||||
Michele Balistreri
|
||||
Richard Dolinsky (menace690)
|
||||
Lucas Newman (Adam Green)
|
||||
Joost Peters
|
||||
Jerome Vernet
|
||||
Takashi Kiyohara
|
||||
Weston Yager
|
||||
Ex-Cyber
|
||||
Romulo Fernandes (nightz)
|
||||
pa__
|
||||
Fabien Coulon
|
||||
trap15
|
||||
devmiyax
|
||||
|
||||
Translators
|
||||
-----------
|
||||
Benjamin Siskoo
|
||||
Felipe2
|
||||
|
||||
(people we grabbed code from)
|
||||
------------
|
||||
Stephane Dallongeville - c68k and scsp
|
||||
Patrick Kooman - profiler
|
||||
Bart Trzynadlowski - sh2 disassembler
|
|
@ -1,35 +0,0 @@
|
|||
project(yabause)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(YAB_PACKAGE yabause)
|
||||
set(YAB_VERSION_MAJOR 0)
|
||||
set(YAB_VERSION_MINOR 9)
|
||||
set(YAB_VERSION_PATCH 12)
|
||||
set(YAB_VERSION "${YAB_VERSION_MAJOR}.${YAB_VERSION_MINOR}.${YAB_VERSION_PATCH}")
|
||||
|
||||
set(CPACK_SOURCE_GENERATOR TGZ)
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${YAB_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${YAB_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${YAB_VERSION_PATCH})
|
||||
set(CPACK_PACKAGE_VENDOR "Yabause team")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "yabause-${YAB_VERSION}")
|
||||
|
||||
if (APPLE)
|
||||
set(CPACK_GENERATOR DragNDrop)
|
||||
set(CPACK_PACKAGE_FILE_NAME yabause-${YAB_VERSION}-mac)
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
SET(CPACK_NSIS_INSTALLED_ICON_NAME yabause.exe)
|
||||
set(CPACK_NSIS_MENU_LINKS yabause.exe;Yabause)
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT "http://yabause.org")
|
||||
set(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
|
||||
endif ()
|
||||
|
||||
include(CPack)
|
||||
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(l10n)
|
||||
add_subdirectory(src)
|
340
yabause/COPYING
340
yabause/COPYING
|
@ -1,340 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
|
@ -1,924 +0,0 @@
|
|||
0.9.11 -> 0.9.12
|
||||
general:
|
||||
- Fixes to the dynamic recompiler (Ari64)
|
||||
- Added ARMv5 support to the dynarec (Ari64)
|
||||
- New OSD system (Guillaume)
|
||||
- Added "built-in" DDK to make it easier to compile on Windows (Guillaume)
|
||||
sound:
|
||||
- Improvements / Fixes in both SCSP and SCSP2 (Cwiiis)
|
||||
video:
|
||||
- Major improvements to the OpenGL renderer (Devmiyax)
|
||||
- Major improvements to the software renderer (Guillaume)
|
||||
- Some fixes to register emulation (Guillaume)
|
||||
- Improvements to line drawing functions in the software renderer (Cwiiis)
|
||||
- Fixed endianess bugs (Guillaume)
|
||||
cocoa port:
|
||||
- Added "load image" feature (BlueCrab)
|
||||
- Fixed the resize bug (BlueCrab)
|
||||
qt port:
|
||||
- Added shortcuts to toggle vdp2 layers (Benjamin Siskoo)
|
||||
- Fixed the "mute sound" feature (Guillaume)
|
||||
- It's now possible to compile the Qt port in "full software" mode (Guillaume)
|
||||
- Added an autostart option, disabled by default (Guillaume)
|
||||
- Now using a XDG compliant location for config file (Guillaume)
|
||||
- Added a debugger to the Qt port (CyberWarriorX)
|
||||
- DirectX cores can now be used in Qt port (CyberWarriorX)
|
||||
- Cheat search function (CyberWarriorX)
|
||||
- Option to show/hide menu and toolbar (Guillaume)
|
||||
- Close button in pad settings (guillaume)
|
||||
0.9.10 -> 0.9.11
|
||||
general:
|
||||
- Now using CMake as the default build system.
|
||||
For now, autotools based build and "custom" build systems are still supported.
|
||||
- New Cocoa port
|
||||
- Added a dynamic recompiling SH2 core for x86 and ARM
|
||||
- New SCSP implementation
|
||||
- Major update of the software renderer from the yabause-rr team
|
||||
- Added an option to allow to execute from the cache
|
||||
- Improvements to the OpenGL renderer
|
||||
carbon port:
|
||||
- Improvements
|
||||
gtk port:
|
||||
- Added command line option to enable/disable frame skipping / limiting.
|
||||
- Added frame skipping/limiting configuration in settings.
|
||||
- Added --autoload command line option
|
||||
- Vdp2 layers can be toggled from the Vdp2 debug window
|
||||
psp port:
|
||||
- Added support for Media Engine CPU
|
||||
- Improvements to the PSP port
|
||||
qt port:
|
||||
- Added command line support
|
||||
wii port:
|
||||
- Merged some stuff from the wiibrew fork, mostly related to SH2 emulation
|
||||
windows port:
|
||||
- Fixed the XBox controller driver
|
||||
- Fixed the "open iso then cancel bug"
|
||||
0.9.9 -> 0.9.10
|
||||
scsp/68k:
|
||||
- Added code to make SCSP emulation frame-accurate (optional,
|
||||
enabled with --enable-scsp-frame-accurate configure switch).
|
||||
- Added a new 68000 emulation core.
|
||||
software video core:
|
||||
- Added line scroll emulation.
|
||||
- Improved user clipping.
|
||||
- Added some basic vertical scroll emulation, enough to get
|
||||
Sonic Jam working.
|
||||
gtk port
|
||||
- Gtk port is now compiling on Mac OS X.
|
||||
- Fixed full software screenshots.
|
||||
- Fixed store function in transfer dialog.
|
||||
windows port:
|
||||
- Added 12 player support.
|
||||
- Fixed a bug that was causing the memory transfer dialog
|
||||
to register the wrong filename after pressing "Browse".
|
||||
- Fixed bugs in Goto Address dialog.
|
||||
- Fixed a bug that was causing the vdp2 viewer dialog
|
||||
to register the wrong filename after pressing "Browse".
|
||||
- Added MD saving in SCU DSP debug dialog.
|
||||
- Added new Ram Watch dialog.
|
||||
- Added video recording feature.
|
||||
- Added move recording feature.
|
||||
general:
|
||||
- Added Lithuanian translation.
|
||||
- New sound core using OpenAL.
|
||||
- Added joystick core for Mac OS X.
|
||||
- Added a joystick core for Linux.
|
||||
- Added a PSP port.
|
||||
- Added support for loading ELF binaries.
|
||||
- Now using gettimeofday when available for better resolution.
|
||||
- Fixed save states.
|
||||
0.9.8 -> 0.9.9
|
||||
opengl video core:
|
||||
- Fixed a bug that was causing some games to
|
||||
crash (albert odyssey, dragon ball, etc.)
|
||||
gtk port:
|
||||
- Automatic detection of current locale.
|
||||
qt port:
|
||||
- Added support of DESTDIR and --program-prefix
|
||||
- Automatic detection of current locale.
|
||||
- Added support for multiple players.
|
||||
windows port:
|
||||
- Fixed crash when going into settings.
|
||||
- Fixed mouse wheel usage in disassembler.
|
||||
- Rewrote as an unicode application.
|
||||
- Fixed the key configuration problem.
|
||||
- Fixed joypad support.
|
||||
- Partial fix for mouse wheel and slider problem.
|
||||
- Fixed fullscreen bug.
|
||||
general:
|
||||
- Hooks for renaming .desktop on installation.
|
||||
- .yts file are now installed.
|
||||
- Fixed parallel builds.
|
||||
- SDL peripheral core now handles all connected
|
||||
joysticks.
|
||||
0.9.7 -> 0.9.8
|
||||
vdp2:
|
||||
- Fixed a bug in software renderer with rotating
|
||||
backgrounds.
|
||||
opengl video core:
|
||||
- Added gouraud shading and mesh processing.
|
||||
This is not enabled by default.
|
||||
software video core:
|
||||
- Fixed user clipping.
|
||||
gtk port:
|
||||
- Added mouse support.
|
||||
- Configuration dialog now displays key names instead
|
||||
of values. Also made it so each different configuration
|
||||
is saved. This broke compatibility with old .ini files.
|
||||
windows port:
|
||||
- Support for spaces in filenames when using CLI.
|
||||
- Added mouse support.
|
||||
- Added cheat search.
|
||||
general:
|
||||
- Added mouse emulation.
|
||||
- Added de, es, it, pt-br and sv translations
|
||||
- Support for "out of src" build.
|
||||
- Fixed compilation for non supported platforms.
|
||||
For instance this should fix compilation on dragonfly bsd.
|
||||
Fixed compilation on GNU/Hurd too.
|
||||
0.9.6 -> 0.9.7
|
||||
vdp1:
|
||||
- Added clipping for line-based drawing to software renderer.
|
||||
vdp2:
|
||||
- Toggling a screen is now core independent.
|
||||
- Added per-character priority to software renderer.
|
||||
gtk port:
|
||||
- Fixed fullscreen setting and added a keep ratio one.
|
||||
- Fixed a bug in the vdp2 debugger that was causing the emu to crash.
|
||||
- Full software mode can be compiled again.
|
||||
- Fixed segfault when taking screenshots in full software mode.
|
||||
- Fixed default value for region.
|
||||
- Window position is now saved and restored when re-opening the emu.
|
||||
- Fixed a problem when changing input cores.
|
||||
qt port:
|
||||
- Improved compilation process: make (un)install now works.
|
||||
- Fix crash when configuring input while using translated version.
|
||||
windows port:
|
||||
- Changed resolution list generation so it adds the resolution to the list,
|
||||
regardless of whether it supports 60 hz or not.
|
||||
- Fixed error when trying to add blank cheat code.
|
||||
- Fixed all code that allowed the user to choose filename for saving so it
|
||||
automatically places a default extension.
|
||||
- Save and Clear buttons are now enabled when loading a cheat file.
|
||||
- Fixed a bug with AR code adding where it was tracking the wrong edit
|
||||
window.
|
||||
- Fixed a bug when adding raw cheat codes.
|
||||
- Fixed bugs in vdp1 debugger.
|
||||
- Fixed a bug where saving/loading a save state and an error occured would
|
||||
cause sound looping.
|
||||
- Scroll bar in memory editor now works properly when you move the thumb
|
||||
control.
|
||||
- Added support for x64 builds in Visual Studio.
|
||||
general:
|
||||
- Fixed a bug that was causing older save states to fail.
|
||||
0.9.5 -> 0.9.6
|
||||
sdl joystick core:
|
||||
- Fixed it...
|
||||
software video core:
|
||||
- Improvements and bug fixes.
|
||||
carbon port:
|
||||
- Added detection of sdk in the build process.
|
||||
- Changed the cd core so that the first device found is used.
|
||||
Users shouldn't have anything to set up when using cd device now.
|
||||
gtk port:
|
||||
- Tagged more strings to be translatable.
|
||||
- Fixed bugs when setting a resolution in settings.
|
||||
- Fixed controller settings so keys can now be configured even if
|
||||
emulation is not started.
|
||||
qt port:
|
||||
- Removed libsjw core.
|
||||
wii port:
|
||||
- Updated to use the last devkitppc.
|
||||
- Added support for classic controller and for wiimote, disabled
|
||||
keyboard support.
|
||||
windows port:
|
||||
- Added command line support.
|
||||
general:
|
||||
- Updated copyright for some files where it was missing or
|
||||
inaccurate.
|
||||
- Fixes and improvements to the build process: fixed cross compilation
|
||||
of Qt port, added Wii port support, found a better way to "trigger"
|
||||
compilation of gen68k, fixed a bug when calling the sub-configure,
|
||||
.inc files are now cleaned, added MINI18N variable support, forwarded
|
||||
distclean rule to qt makefiles, configure now make sure the compiler
|
||||
is a cross compiler when cross compiling
|
||||
- Added a workaround for the "limits.h" problem... now distros should
|
||||
fix their headers...
|
||||
- Fixed the .desktop files for linux (gtk + qt ports)
|
||||
- Added translation files for fr and pt in the repository.
|
||||
0.9.4 -> 0.9.5
|
||||
68k:
|
||||
- Added 1010 and 1111 line emulator support.
|
||||
cd block:
|
||||
- Reworked bin/cue support. Reading should be a lot more accurate
|
||||
now on tracks 2 and greater.
|
||||
emulated bios:
|
||||
- Fixed a bug in BupGetDate year calculation.
|
||||
- Fixed a bug where interrupt mask wasn't being set correctly when
|
||||
using emulated bios.
|
||||
smpc:
|
||||
- Added support for SMPC NMIREQ command.
|
||||
- Added reset button emulation.
|
||||
software video core:
|
||||
- Improved software renderer: window, line scroll, mosaic are now
|
||||
available and color offset and scroll screen has been fixed.
|
||||
gtk port:
|
||||
- Tagged most of gtk port strings to be translatable.
|
||||
qt port:
|
||||
- Added ability to specify address where binaries are loaded when
|
||||
using command line.
|
||||
- Other bug fixes.
|
||||
wii port:
|
||||
- Added support for bios and game loading from sd card.
|
||||
- Added sound support.
|
||||
- Added usb keyboard support.
|
||||
windows port:
|
||||
- Added pause emulation function.
|
||||
- Other bug fixes.
|
||||
dreamcast port:
|
||||
- Rewrote all of the Dreamcast CD Interface in hand-optimized
|
||||
assembly.
|
||||
- Enabled use of the emulated bios if there is no saturn.bin on
|
||||
the CD.
|
||||
general:
|
||||
- Updated peripheral interface so both ports can now be used and
|
||||
multiple pads can now be connected to each port.
|
||||
- Added translation support through mini18n library.
|
||||
0.9.3 -> 0.9.4
|
||||
scsp:
|
||||
- Fixed a timer bug.
|
||||
- Fixed a bug with mcire word writes.
|
||||
- Added wave file output core to available sound cores.
|
||||
- Fixed a bug in total level attenuation.
|
||||
- Fixed a bug in EG.
|
||||
gtk port:
|
||||
- Redesigned memory dump window.
|
||||
- Redesigned SH2 debug window.
|
||||
- Other bug fixes.
|
||||
qt port:
|
||||
- Added initial support. It should be pretty much on par with the gtk port.
|
||||
wii port:
|
||||
- Added initial support.
|
||||
windows port:
|
||||
- Fixed a bug where emulation wasn't paused when save/load state as was
|
||||
selected from the menu.
|
||||
- Changed disassembler so it can scroll up and down.
|
||||
- Tweaked error messages so it doesn't report invalid opcode errors when
|
||||
running the fast interpreter.
|
||||
- Added SCSP common control register debug info to SCSP debug dialog
|
||||
- Other bug fixes.
|
||||
general:
|
||||
- Added a few internal tweaks that should yield some performance gains.
|
||||
- Added support for saving and loading cheats.
|
||||
0.9.2 -> 0.9.3
|
||||
cart:
|
||||
- Fixed a couple of bugs with Netlink emulation.
|
||||
cd block:
|
||||
- Tweaked error handling for cue files so it's more helpful to the user.
|
||||
scu:
|
||||
- Fixed a bug in DSP MVI instruction.
|
||||
- Fixed a bug with DSP Program Ram Address.
|
||||
- Fixed ALU behaviour on NOP.
|
||||
- Other bug fixes.
|
||||
vdp2:
|
||||
- Fixed a bug where coefficient reading wasn't making sure reads weren't
|
||||
going out of bounds.
|
||||
- Tweaked frame-skipping so it only skips if frame time is faster/slower
|
||||
than a 1/2 a frame. The results are much better now.
|
||||
- Added general VDP2 debug info functionality.
|
||||
- Added partial end code support to VDP1 texture debugging.
|
||||
opengl video core:
|
||||
- Fixed a bug in 16 BPP sprites where pixels 0x0001-0x7FFF weren't
|
||||
transparent when transparency was enabled.
|
||||
gtk port:
|
||||
- Redesigned the window so each part can now be resized.
|
||||
- Added a toolbar and removed the buttons.
|
||||
- The sprite list now displays texture thumbnails.
|
||||
- Added tooltips to "run" and "pause" buttons.
|
||||
- Redesigned VDP2 debug window.
|
||||
windows port:
|
||||
- Fixed a bug that was causing Yabause to crash when run for the first time.
|
||||
- Added screen capture.
|
||||
- Reworked Input dialog so it'll allow for more than one peripheral(in the
|
||||
future).
|
||||
- Added a bunch of tools tips for basic and input settings.
|
||||
- Fixed a bug that was causing wrong VDP1 command information to sometimes
|
||||
be displayed.
|
||||
- Other bug fixes.
|
||||
- Fixed a bug that was causing the wrong breakpoint to be removed from the
|
||||
breakpoint list.
|
||||
- Text length is now limited correctly in breakpoint edit text controls.
|
||||
general:
|
||||
- Tweaked memory breakpoints so that regardless of whether you're using
|
||||
cached or cache-through addresses variations of an address, it'll still
|
||||
detect and break when the memory is accessed.
|
||||
- Other bug fixes.
|
||||
0.9.1 -> 0.9.2
|
||||
cd block:
|
||||
- Fixed a bug in periodic timing. Most movies should play correctly now.
|
||||
- Other bug fixes
|
||||
scsp:
|
||||
- Fixed a bug that was causing reversed panning.
|
||||
- Fixed a bug in SCSP slot debug stats.
|
||||
sh2:
|
||||
- Fixed a bug that caused Yabause to crash when fetching instructions from
|
||||
some areas.
|
||||
vdp2:
|
||||
- Fixed undocumented plane size setting when debugging vdp2
|
||||
- Special Color Calculation mode added to vdp2 debugging
|
||||
opengl video core:
|
||||
- Added the eight missing sprite types in Vdp1ReadPriority.
|
||||
software video core:
|
||||
- Fixed a bug where Polygons that used non-RGB values had the wrong
|
||||
priority.
|
||||
- Fixed a bug that was causing some scrolling issues.
|
||||
gtk port:
|
||||
- CD, sound, and video cores can now be changed without restarting the
|
||||
emulator.
|
||||
- Added basic support for save states.
|
||||
windows port:
|
||||
- Fixed compilation with MSYS.
|
||||
- Changed SCSP debug dialog so it allows for individual slot saving.
|
||||
- Fixed a bug when using goto address in memory editor.
|
||||
- Fixed a bug where Yabause crashed when joystick was unplugged.
|
||||
- Added memory search support.
|
||||
- Fixed cheat dialog. Codes should show up after re-opening it.
|
||||
general:
|
||||
- Fixed some bugs where vdp1/vdp2 layers wouldn't be drawn after switching
|
||||
video cores.
|
||||
- Fixed a bug when switching between opengl and software video cores.
|
||||
- Added memory search function.
|
||||
0.9.0 -> 0.9.1
|
||||
scsp:
|
||||
- Fixed slot pitch LFO. Amplitude LFO is probably more accurate now too.
|
||||
emulated bios:
|
||||
- Added Backup RAM manager functions.
|
||||
opengl video core:
|
||||
- Fixed a bug with VDP2 2x2 plane size rotation screens.
|
||||
- Optimized tile mode rotation screens
|
||||
- Added support for VDP1 polyline.
|
||||
software video core:
|
||||
- FPS display now working.
|
||||
- Added support for VDP2 rotation without coefficient tables.
|
||||
- Fixed a bug in VDP2 24 BPP bitmap mode.
|
||||
- Fixed several clipping bugs in Normal and Scaled Sprites.
|
||||
- Fixed a bug with VDP2 2x2 plane size rotation screens.
|
||||
- Optimized tile mode rotation screens.
|
||||
linux port:
|
||||
- Cursor now disappears after 2 seconds of inactivity in the gtk port.
|
||||
macos port:
|
||||
- New high resolution icon.
|
||||
- Add some missing OS X application property list keys.
|
||||
windows port:
|
||||
- Fixed window position bug.
|
||||
- Other bug fixes.
|
||||
general:
|
||||
- Tweaked frame timing code so it's more accurate.
|
||||
- Re-implemented save states.
|
||||
- Some internal changes do so that sound, video, and cd cores can be changed
|
||||
at runtime.
|
||||
0.8.6 -> 0.9.0
|
||||
opengl video core:
|
||||
- Added support for VDP1 line draw.
|
||||
- Added support for VDP2 Rotation with coefficient tables.
|
||||
- Other bug fixes.
|
||||
software video core:
|
||||
- Added support for VDP1 frame buffer switching.
|
||||
- Added support for VDP2 Rotation with coefficient tables.
|
||||
- Fixed a bug in frame buffer erasing.
|
||||
- Other bug fixes.
|
||||
linux port:
|
||||
- Fixed a bug on 64 bits CPU.
|
||||
- Hanged the location of the ini file to conform to XDG specification.
|
||||
- Removed some old useless code.
|
||||
- Added a "subclass" to GtkDrawingArea so sprite textures and screenshots
|
||||
can now be saved through a popup menu.
|
||||
macos port:
|
||||
- Added fullscreen support.
|
||||
- Added graphics layer toggling.
|
||||
windows port:
|
||||
- Fixed a stack corruption bug in DirectInput code.
|
||||
- Fixed(hopefully this time) the joystick centering bug.
|
||||
0.8.5 -> 0.8.6
|
||||
68k:
|
||||
- Fixed a bug which caused the emulator to crash if 68k execution jumped to
|
||||
an invalid address.
|
||||
scsp:
|
||||
- Fixed a bug where the slot buffer pointers weren't set correctly.
|
||||
- Added a function for debugging SCSP registers
|
||||
vdp1:
|
||||
- MODR returns the correct version number now.
|
||||
- Fixed a bug that caused Local Coordinates, etc. commands to not get executed
|
||||
correctly.
|
||||
software video core:
|
||||
- Added vdp2 horizontal flip for cell mode.
|
||||
linux port:
|
||||
- Improved vdp1 window a bit.
|
||||
- Updated website url.
|
||||
- Some cleanups
|
||||
macos port:
|
||||
- Added browse buttons for some settings.
|
||||
- Added universal build support.
|
||||
- Emulation loop was optimized.
|
||||
- Fixed bug when "Run" is selected from the menu.
|
||||
- Audio is now muted when emulator is paused.
|
||||
- Fixed Backup RAM saving.
|
||||
- Fixed a bug that was causing filenames to be parsed wrong.
|
||||
- Other bug fixes and cleanups.
|
||||
windows port:
|
||||
- msys compiling is now fixed.
|
||||
- Windows position is now saved when program exits.
|
||||
- Fixed sound volume adjustment. Should be more accurate now.
|
||||
- Fixed centering bug on joysticks.
|
||||
- Fixed POV hat diagonals.
|
||||
- Sound is now muted in the about dialog.
|
||||
- Other bug fixes.
|
||||
general:
|
||||
- Added COFF file support.
|
||||
0.8.0 -> 0.8.5
|
||||
scsp:
|
||||
- Added functions for dumping individual slots to wav files.
|
||||
scu:
|
||||
- Fixed SCU execution speed
|
||||
sh2:
|
||||
- Added DVDNTL/DVDNTH mirrors
|
||||
- Added overflow interrupt
|
||||
vdp1:
|
||||
- Added function for displaying vdp1 textures for debugging
|
||||
- Other bug fixes
|
||||
vdp2:
|
||||
- Added more RBG0 debug info
|
||||
68k:
|
||||
- Added a core system for m68k and a c68k core interface.
|
||||
- Added a dummy m68k core based on old yabause code, working enough
|
||||
to boot the bios.
|
||||
emulated bios:
|
||||
- Registers are now reset correctly
|
||||
- Fixed bug in BiosSetSh2Interrupt
|
||||
- Added Read/Write Save support
|
||||
- Added undocumented CD Authentication function
|
||||
opengl video core:
|
||||
- RBG0 bug fixes
|
||||
- Rotation Screen improvements
|
||||
software video core:
|
||||
- Added 32 BPP cell draw mode
|
||||
bsd port:
|
||||
- Added support for OpenBSD
|
||||
linux port:
|
||||
- Fixed the segfault that occured when opening the preferences dialog.
|
||||
- Added texture display in vdp1 debug dialog
|
||||
- Other GUI improvements
|
||||
macos port:
|
||||
- Added browse button for bios setting
|
||||
- Other bug fixes
|
||||
windows port:
|
||||
- Fixed a bug that was causing sound to not work on some people's computers.
|
||||
- Added texture display in vdp1 debug dialog
|
||||
- Added window/full screen resizing
|
||||
- Added full screen on startup
|
||||
- Settings changed to use tabs instead of what was previously used
|
||||
- Other bug fixes
|
||||
- Logging now is done to a logging window when DEBUG is defined while
|
||||
compiling.
|
||||
- Added cheat dialog
|
||||
- Added memory editor
|
||||
- Added Visual C++ project file
|
||||
general:
|
||||
- Added Cheat support. Largely untested.
|
||||
0.7.2 -> 0.8.0
|
||||
cart:
|
||||
- Moved Netlink code to its own file: netlink.c
|
||||
- Improved Netlink AT command handling. Most games using the X-Band software
|
||||
should work now.
|
||||
- Fixed a number of bugs that were causing strange behaviour in Netlink
|
||||
emulation.
|
||||
- Added Modem states. Online Mode is now handled correctly.
|
||||
- Added Networking code that allows two Yabause instances to communicate
|
||||
with each other. Still somewhat buggy.
|
||||
cd block:
|
||||
- Fixed an issue where games that didn't specify an index along with the
|
||||
track when playing cd audio didn't work correctly.
|
||||
vdp1:
|
||||
- Code cleanups.
|
||||
vdp2:
|
||||
- Code cleanups.
|
||||
- Adjusted frameskip code so it skips up to a maximum of 9 frames at a time.
|
||||
direct sound core:
|
||||
- Fixed a bug that was screwing up the buffer position. Now it's almost
|
||||
perfect(at the very least there's no clicks or pops anymore).
|
||||
sdl sound core:
|
||||
- Fixed a bug that was screwing up the buffer position. Now it's almost
|
||||
perfect(at the very least there's no clicks or pops anymore).
|
||||
software video core:
|
||||
- Polygon drawing improvements
|
||||
- Removed the silly y-axis clipping technique
|
||||
- Added a filter for clipping detection
|
||||
- Added vdp1 "end codes" in textures, but didn't find a game that use it
|
||||
yet, please report bugs.
|
||||
- Code Cleanups
|
||||
- Fixed a potential bug in polygons
|
||||
- Fixed a bug in polygon clipping
|
||||
linux port:
|
||||
- Code cleanups
|
||||
- Changed a few things in configure script to fix compilation problems when
|
||||
OpenGL and/or gtkglext were not present.
|
||||
- Added a log popup window.
|
||||
- Added a screenshot window on gtk port.
|
||||
- Fixed Pause/Screenshot bug.
|
||||
- Removed the "Keep ratio" setting as it can't be done in gtk and
|
||||
replaced it by a "Fullscreen" setting.
|
||||
- Added a yabause entry in gnome and KDE application menus
|
||||
- Changed configure script so it fails on linux if --with-opengl is used
|
||||
and gtlglext is not installed.
|
||||
dreamcast port:
|
||||
- Compiles and runs again.
|
||||
- Added Normal Sprite support.
|
||||
- Added Distorted Sprite support.
|
||||
- Added Scaled Sprite support.
|
||||
- Added in YabauseGetTicks support.
|
||||
- Ported VDP2 portion of software renderer.
|
||||
- Added new cd core.
|
||||
- Added very simple GUI.
|
||||
- Other bug fixes.
|
||||
netbsd port:
|
||||
- Added patch to get yabause working on netbsd with cd support thanks to
|
||||
Takashi Kyohara.
|
||||
windows port:
|
||||
- Added pad configuration(first pad only).
|
||||
- Added support for gamepads/joysticks.
|
||||
- Removed duplicate cd code.
|
||||
- Added a separate thread for cd access. SPTICDGetStatus is the only
|
||||
function making use of it for now.
|
||||
- Fixed fullscreen bug
|
||||
- Added dialog and settings saving/loading for Netlink stuff(disabled for now).
|
||||
- Other bug fixes.
|
||||
general:
|
||||
- Commited mac port fix by Antime.
|
||||
- Coordinate Increment Registers are now set to 1 when using the quick load
|
||||
function. It seems there's at least one game out there that doesn't want
|
||||
to set it.
|
||||
- Improved Backup Ram bios emulation functions. The only functions that
|
||||
still aren't functioning correctly are Bup Write, Bup Read, Bup Verify,
|
||||
and Bup Set/Get Date. So still no saving, but at least there's no errors
|
||||
when running games now.
|
||||
0.7.1 -> 0.7.2
|
||||
cart:
|
||||
- A few Netlink changes(still doesn't work).
|
||||
cd block:
|
||||
- CD Block play disc command fixes and improvements. Play Modes now handled correctly.
|
||||
- Added correct Repeat counter support.
|
||||
- CD audio data is now written to its own buffer, which is then played by the SCSP.
|
||||
scsp:
|
||||
- CD audio data is now played by the SCSP. EFSDL and EFPAN support still needs to be added.
|
||||
opengl video core:
|
||||
- glutInit is now called before any other glut function(except for on the windows port).
|
||||
software video core:
|
||||
- Added normal sprite flipping(copied from scaled sprites).
|
||||
- Corrected a bug with 8 bpp color calculation in scaled and distorted sprites.
|
||||
- Fixed a bug that caused duplicated textures in 8 bpp regular sprites.
|
||||
- Distorted sprites made safer (won't read outside the texture)
|
||||
- Fixed transparency for distorted sprites.
|
||||
- Fixed scaled sprites bug in zoom points modes two points mode and C point
|
||||
upper than A.
|
||||
- Fixed a bug that was causing sprite priority problems.
|
||||
linux port:
|
||||
- Fixed a gtk warning.
|
||||
- Added Joystick support.
|
||||
- Added a test in configuration dialog so input tab is displayed only when
|
||||
emulation is initialized.
|
||||
- Added NTSC/PAL setting
|
||||
- Input settings are now disabled when PERCore isn't initialized.
|
||||
- Added a sound setting tab.
|
||||
macos port:
|
||||
- Added code to handle settings (everything should be working now, except
|
||||
the "browse" buttons).
|
||||
- Controls are now using the new Per* functions.
|
||||
- Fixed some bugs in combo boxes.
|
||||
windows port:
|
||||
- EC Compatibility list link added to help menu.
|
||||
- Fixed an issue where default values weren't set correctly when yabause.ini
|
||||
wasn't present.
|
||||
- Fixed an issue where Yabause would go into an endless loop if bios path
|
||||
was incorrect.
|
||||
- DirectX error messages now return more info when there's an error.
|
||||
- Fixed an issue where people without hardware sound buffers on their
|
||||
sound card would have problems trying to run with sound.
|
||||
- Fixed some inaccurate information in the README.WIN file.
|
||||
- Fixed cut-off text in Memory Transfer dialog.
|
||||
- All dialog windows can now be closed using the X icon in the top-right
|
||||
corner.
|
||||
general:
|
||||
- Fixed an issue where in certain cases Yabause would crash when sound
|
||||
settings were altered.
|
||||
- Some useless files were removed.
|
||||
- Moved SDL detection in "global" part of configure script as it may be used
|
||||
by all ports.
|
||||
- Fixed a weird issue where a few functions were trying to return a value
|
||||
when they obviously can't(How come GNU C compilers won't detect this?).
|
||||
- Fixed a number of things that were causing compilation issues in VC++(VC++
|
||||
still doesn't completely compile Yabause yet).
|
||||
- Configure now checks if c99 variadic macros are available.
|
||||
0.7.0 -> 0.7.1
|
||||
opengl video core:
|
||||
- Added polygons that use a palette.
|
||||
software video core:
|
||||
- Added scaled sprites with clipping and flipping.
|
||||
- Full screen mode now working correctly.
|
||||
- Added correct support for vdp2 resolutions other than 320x224.
|
||||
- Fixed compilation issue on big endian systems.
|
||||
- Added function to software renderer for fetching width/height of the display buffer
|
||||
- Memory leak when clearing VDP1 frame buffer fixed.
|
||||
linux port:
|
||||
- Added autostart and fullscreen command line switches.
|
||||
- Fixed a bug that was causing the emulator to sometimes start in using PAL
|
||||
timing.
|
||||
- Added an option to choose the peripheral interface at configure time.
|
||||
- Started to move the gtk controls code into a proper peripheral core.
|
||||
- Added code so software renderer can be used without OpenGL.
|
||||
- Added --without-opengl switch to configure script to prevent OpenGL
|
||||
detection.
|
||||
- Resizing is now enabled when using software renderer and opengl.
|
||||
macos port:
|
||||
- Fixed a bug that was causing the emulator to sometimes start in using PAL
|
||||
timing.
|
||||
- Some fixes to carbon interface (preferences should works now).
|
||||
windows port:
|
||||
- Fixed a bug that was causing the emulator to sometimes start in using PAL
|
||||
timing.
|
||||
- Added shortcuts to the Yabause website, forum, donation page, and the
|
||||
submit bug page to the main menu.
|
||||
- Added About dialog.
|
||||
general:
|
||||
- Fixed a potential issue when enabling/disabling auto frameskipping.
|
||||
0.6.0 -> 0.7.0
|
||||
cart:
|
||||
- Added Action Replay flash emulation.
|
||||
cd block:
|
||||
- Fixed Read Directory/Change Directory commands. This fixes Duke Nukem 3D
|
||||
and a few others that have Netlink support.
|
||||
- Audio data is no longer stored when read by the cd block. This fixes
|
||||
Guardian Heroes.
|
||||
- other bug fixes.
|
||||
scsp:
|
||||
- Added function that allows developers to get easy to read information on
|
||||
the requested scsp sound slot.
|
||||
- Fixed a bug where the phase wasn't getting updated if DISDL was set to 0.
|
||||
This fixes Falcom Classics, Nadesico, and many other games using ADX.
|
||||
- Fixed a bug that was causing OCT with a setting of 0x8 to play at the
|
||||
wrong octave.
|
||||
- Fixed a bug that was causing King of Fighters 95(and possibly others) to
|
||||
go into an endless loop.
|
||||
scu:
|
||||
- Improved SCU interrupt handling.
|
||||
sh2:
|
||||
- Fixed a bug in exts.b opcode.
|
||||
- Corrected some bugs in sh2idle
|
||||
- SCI emulation improvements
|
||||
smpc:
|
||||
- Added proper DOTSEL reporting.
|
||||
- Region settings are now properly preserved.
|
||||
- Changed region autodetection so it defaults to the japanese region if
|
||||
it can't autodetect.
|
||||
68k:
|
||||
- Fixed a few bugs.
|
||||
vdp2:
|
||||
- Debug info bug fixes
|
||||
- Implemented one mode of external HV latching. This fixes King of Fighters
|
||||
95.
|
||||
- External latch and sync flags are now cleared on TVSTAT reading.
|
||||
- Added speed throttle(basically skips 6 frame draws).
|
||||
- Added long writes for VCSTA, LSTA0, and LSTA1 registers.
|
||||
software video core:
|
||||
- Rewrote it so it's no longer dependent on SDL.
|
||||
- Added NBG2/NBG3 support.
|
||||
- Added tile mode rendering.
|
||||
- Added frame buffer emulation.
|
||||
- Added normal sprite drawing.
|
||||
- Changed Normal Sprite drawing so that Scaled Sprite and Distorted Sprite
|
||||
functions can use it too.
|
||||
- Added some support for Scaled/Distorted Sprites.
|
||||
- Added VDP1 Polyline and Line drawing to Software renderer.
|
||||
- Fixed a bunch of bugs.
|
||||
opengl video core:
|
||||
- Fixed a few issues with OpenGL initialization.
|
||||
- Fixed a window/fullscreen bug.
|
||||
- Added a smart Line Scroll/Vertical Cell Scroll interpreter.
|
||||
- Changed Color Offset so it uses the same method as the Software renderer.
|
||||
- Fixed Rotation Table reading.
|
||||
- Fixed a bug in VIDOGLVdp1PolylineDraw where coordinate reads were writing
|
||||
to invalid areas.
|
||||
linux port:
|
||||
- Removed some useless debug messages and fixed the "quit" menu entry.
|
||||
- Added vdp1 debug dialog in new gtk interface.
|
||||
- Added dialog for sh2, video core switching.
|
||||
- Added reset menu entry.
|
||||
- Added about dialog.
|
||||
- Added MSH2 and SSH2 debug dialogs to the GTK interface.
|
||||
- Added transfer dialog to the new gtk ui.
|
||||
- Added empty Memory Dump dialog.
|
||||
- Added the dialog box for scsp
|
||||
- Added shortcut F7 for command Step
|
||||
- Added support for memory breakpoints in sh2 debug dialog
|
||||
- Sound is now muted when emulation is paused (in gtk interface).
|
||||
- The window data is now saved while emulation is paused.
|
||||
- Screenshot function added.
|
||||
macos port:
|
||||
- Added carbon interface
|
||||
- Can now build .dmg image from .app directory
|
||||
- Other improvements
|
||||
windows port:
|
||||
- Added SCSP Debug Dialog.
|
||||
- Added Reset option to menu.
|
||||
- Now uses DirectInput and DirectSound instead of SDL.
|
||||
- Added dialog for video, sound and input core switching.
|
||||
- Fixed window/fullscreen switching.
|
||||
- Added support for memory breakpoints in sh2 debug dialog.
|
||||
- Sound volume can now be adjusted in the settings dialog.
|
||||
- Sound is now muted when dialog window has focus.
|
||||
- Auto frameskip can be be enabled via video settings menu.
|
||||
- Other bug fixes.
|
||||
general:
|
||||
- Better handling of NULL string when opening a file
|
||||
- Fixed a few memory leaks
|
||||
- ISO support fixes
|
||||
- PAL support added
|
||||
- Fixed v-blank timing
|
||||
- Added auto frameskipping(still not working correctly)
|
||||
- Improved sound buffering
|
||||
- Fixed handling of invalid SH2 opcodes
|
||||
- Dummy sound core bug fixes
|
||||
- Fixed some warnings
|
||||
- Added experimental bios emulation
|
||||
- Added memory breakpoints
|
||||
- Added a function to the sound cores for setting the volume.
|
||||
0.5.0 -> 0.6.0
|
||||
cart:
|
||||
- accesses to Netlink addresses when Netlink was not present was causing
|
||||
errors, this has been fixed.
|
||||
scu:
|
||||
- fixed DSP debugging.
|
||||
- fixed a Timer 0 bug. Fixes Shining the Holy Ark.
|
||||
sh2:
|
||||
- added SH2 idle detection. Speed should be significantly faster.
|
||||
- separated original core(now the "debug interpreter core") from the core
|
||||
with idle detection.
|
||||
- sh2 cores are now selectable.
|
||||
68k:
|
||||
- added 68k disassembler.
|
||||
- fixed some warnings.
|
||||
vdp1:
|
||||
- added debugging functions.
|
||||
- fixed bug that was causing garbage graphics in Albert Odyssey.
|
||||
- fixed bug that was causing graphics in Legend of Oasis to not get drawn.
|
||||
- other bug fixes.
|
||||
vdp2:
|
||||
- fixed a few priority bugs.
|
||||
- added initial special priority emulation.
|
||||
general:
|
||||
- added fullscreen and fixed resize in Windows. Still needs quite a bit of
|
||||
work.
|
||||
- changed event handling a bit. Gained quite a bit of speed from it.
|
||||
- fixed some Mac OS X port bugs.
|
||||
- fixed some Dreamcast port bugs.
|
||||
- added proper Linux gui.
|
||||
- Fixed YGL initialization.
|
||||
- fixed some Windows ports bugs
|
||||
- other bug fixes.
|
||||
0.0.7 -> 0.5.0
|
||||
cd block:
|
||||
- bug fixes.
|
||||
- improved timing.
|
||||
cart:
|
||||
- added Action Replay emulation.
|
||||
- added 8/32 Mbit dram emulation.
|
||||
- added 4/8/32 Mbit backup ram emulation.
|
||||
- added 16 Mbit rom emulation.
|
||||
- added very early Netlink emulation.
|
||||
scsp:
|
||||
- added Stephane Dallongeville's SCSP's core. Thanks again Stef!
|
||||
- fixed a couple of bugs that were causing movies to lock up.
|
||||
68k:
|
||||
- added Stephane Dallongeville's 68k's core. Thanks again Stef!
|
||||
- fixed a few endian related bugs.
|
||||
- added debugger(still need disassembler though).
|
||||
scu:
|
||||
- added dsp emulation.
|
||||
- added dsp debugger.
|
||||
- added indirect dma emulation.
|
||||
- added timer0 emulation.
|
||||
- bug fixes.
|
||||
smpc:
|
||||
- added very basic SH2 direct peripheral mode.
|
||||
- added clock change commands.
|
||||
- added slave sh2 off/on commands.
|
||||
- fixed intback command timing.
|
||||
- bug fixes.
|
||||
sh2:
|
||||
- added FRT, WDT, and partial UBC emulation.
|
||||
- fixed a couple of opcode bugs.
|
||||
- re-added debugger.
|
||||
- added some early dynarec code.
|
||||
vdp1:
|
||||
- added sprite priorities.
|
||||
- added color offset.
|
||||
- bug fixes.
|
||||
vdp2:
|
||||
- added basic rbg0 emulation(no rotation, etc.).
|
||||
- added backscreen emulation.
|
||||
- added caching.
|
||||
- added color offset.
|
||||
- added video mode changing.
|
||||
- added screen scrolling.
|
||||
- fix caching bug.
|
||||
- other bug fixes.
|
||||
- added early software video rendering. It's still pretty much unuseable at this point.
|
||||
general:
|
||||
- added binary execution.
|
||||
- rewrote entire code in C for portability and speed.
|
||||
- fixed a number of configure bugs, added a few more command-line options.
|
||||
- fixed code so it's 64-bit friendly.
|
||||
- added iso and bin/cue files support.
|
||||
- changed several parts of yabause to allow for multiple implementations of video, sound, and peripheral code..
|
||||
- added save states(currently broken unfortunately).
|
||||
|
||||
0.0.6 -> 0.0.7
|
||||
cd block:
|
||||
- added cd interface for porters.
|
||||
- whole bunch of cd commands were added. Most games should now
|
||||
start to boot.
|
||||
- added region auto-detection.
|
||||
mpeg card:
|
||||
- added basic emulation.
|
||||
- added mpeg rom loading support.
|
||||
scsp:
|
||||
- bug fixes.
|
||||
scu:
|
||||
- bug fixes.
|
||||
smpc:
|
||||
- bug fixes.
|
||||
superh:
|
||||
- fixed dma.
|
||||
- lots of other bugfixes.
|
||||
- opcode optimizations.
|
||||
vdp1:
|
||||
- added sprite caching.
|
||||
- added scaled sprites.
|
||||
- added sprite color modes 0, 1, 2, 3, 4.
|
||||
- macosx color bug fixed.
|
||||
- bug fixes.
|
||||
vdp2:
|
||||
- macosx color bug fixed.
|
||||
- bug fixes.
|
||||
general:
|
||||
- added fps counter.
|
||||
- switched to OpenGL, removed SDL_gfx.
|
||||
- yui interface added. Now each port should be able to provide
|
||||
a nice custom ui.
|
||||
- threads removed, program should be more stable now.
|
||||
- added save ram loading ability.
|
||||
|
||||
0.0.5 -> 0.0.6
|
||||
scu
|
||||
- added direct dma.
|
||||
superh
|
||||
- added division unit.
|
||||
- fixed endianess issue.
|
||||
vdp2
|
||||
- added NBG3.
|
||||
- fixed color bug.
|
||||
|
||||
0.0.4 -> 0.0.5
|
||||
vdp2:
|
||||
- lot of work, the vdp2 is now capable of
|
||||
displaying the set-clock screen of the
|
||||
bios.
|
||||
monitor/debugger:
|
||||
- added memory dump possibility.
|
||||
|
||||
0.0.2 -> 0.0.4
|
||||
monitor/debugger:
|
||||
- added debugging possibility, can now pause/resume emulation
|
||||
and execute instructions step by step;
|
||||
- opcodes are disassembled interactively.
|
||||
general:
|
||||
- early emulations of different cpu/onchip modules: scu, vdp1
|
||||
and dmac;
|
||||
- translate most of the code from french to english;
|
||||
- added synchronisation between processors;
|
||||
- yabause is now using SDL, remove all fork/ipc code and use
|
||||
SDL_Thread instead.
|
||||
|
||||
0.0.1 -> 0.0.2
|
||||
sh2:
|
||||
- "mull" is now decoded;
|
||||
- changed the way the opcodes are decoded, now using a table with pointers
|
||||
to function, should be faster.
|
||||
intc:
|
||||
- now tests if the interrupt level is correct before accepting one.
|
||||
vdp2:
|
||||
- early emulation, just throws an interrupt every half-frame.
|
||||
general:
|
||||
- vdp1 and vdp2 are now synchronized with the master sh;
|
||||
- fixed some memory bug, all the shared memory allocated is de-allocated;
|
||||
- now using configure/make, should be more portable;
|
||||
- modified things to be more c++ and less linux/c.
|
|
@ -1,8 +0,0 @@
|
|||
Goals for a 1.0.0 release
|
||||
--------------------------
|
||||
-Full "stock" saturn emulation. At the very least it should be "feature complete"(most major bugs should be fixed at this point too)
|
||||
-Any external carts or peripheral do not need to be fully emulated at this point
|
||||
-Switchable SH2 Dynarec/Interpreter cores
|
||||
-Full debugging support
|
||||
-Speed should be high at this point(It's too tough ironing out those bugs with Yabause at its current state)
|
||||
-Save States
|
229
yabause/INSTALL
229
yabause/INSTALL
|
@ -1,229 +0,0 @@
|
|||
Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
This file is free documentation; the Free Software Foundation gives
|
||||
unlimited permission to copy, distribute and modify it.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. (Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You only need
|
||||
`configure.ac' if you want to change it or regenerate `configure' using
|
||||
a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not support the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a
|
||||
time in the source code directory. After you have installed the
|
||||
package for one architecture, use `make distclean' before reconfiguring
|
||||
for another architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=PATH' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
will cause the specified gcc to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
SUBDIRS = src l10n
|
||||
EXTRA_DIST = README.DC README.LIN README.MAC README.WIN GOALS README.QT README.WII README.PSP
|
103
yabause/README
103
yabause/README
|
@ -1,103 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
____________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Introduction.............................................20
|
||||
2) Staff/Thanks.............................................39
|
||||
3) Contact information......................................75
|
||||
4) Disclaimer...............................................86
|
||||
|
||||
|
||||
1 Introduction________________________________________________
|
||||
|
||||
Yabause is a Sega Saturn emulator under GNU GPL.
|
||||
|
||||
Yabause can boot Saturn bios and games, some of those games
|
||||
are playable.
|
||||
|
||||
For installation/how to use information, check the ports
|
||||
specific README files:
|
||||
|
||||
* README.DC for the dreamcast port
|
||||
* README.LIN for the linux port
|
||||
* README.MAC for the mac port
|
||||
* README.PSP for the PSP port
|
||||
* README.QT for the crossplatform Qt 4 port
|
||||
* README.WII for the WII port
|
||||
* README.WIN for the windows port
|
||||
|
||||
|
||||
2 Staff/Thanks________________________________________________
|
||||
|
||||
See the AUTHORS file for team members list.
|
||||
|
||||
Thanks to:
|
||||
|
||||
* Runik (author of Saturnin), for all his help, especially
|
||||
on the vdp2.
|
||||
http://saturnin.consollection.com
|
||||
|
||||
* Fabien Autrel (author of Satourne),
|
||||
for letting me browse his sources.
|
||||
http://satourne.consollection.com
|
||||
|
||||
* Chuck Mason (author of semu),
|
||||
for releasing semu sources and for his handy debugger.
|
||||
|
||||
* Romain Vallet
|
||||
for winning the "Find a name for my emu" contest, for
|
||||
his contribution to this README and for this nice web
|
||||
site he did.
|
||||
http://romanito.free.fr/
|
||||
|
||||
* Stefano and all of segadev for their help.
|
||||
|
||||
* Josquin Debaz
|
||||
for writing the man page.
|
||||
|
||||
* Bart Trzynadlowski
|
||||
for his disassembler.
|
||||
|
||||
* Charles MacDonald
|
||||
for his saturn sample programs, docs, and being a major
|
||||
source for saturn information.
|
||||
|
||||
|
||||
3 Contact information_________________________________________
|
||||
|
||||
E-mail: guillaume@yabause.org
|
||||
Web: http://yabause.org
|
||||
IRC: irc://irc.freenode.net/yabause
|
||||
|
||||
Please don't ask for roms, bios files or any other copyrighted
|
||||
stuff. Please use the forum when you have any questions if
|
||||
possible.
|
||||
|
||||
|
||||
4 Disclaimer__________________________________________________
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be
|
||||
useful,but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301 USA
|
||||
|
||||
See the GNU General Public License details in COPYING.
|
|
@ -1,85 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
____________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Introduction.............................................20
|
||||
2) Compiling instructions...................................31
|
||||
2) How to use Yabause.......................................48
|
||||
4) Final Thoughts...........................................71
|
||||
|
||||
|
||||
1 Introduction________________________________________________
|
||||
|
||||
This file documents the Dreamcast version only, for general
|
||||
information check the README file. Note, that if you are just
|
||||
a casual user, and not a developer, you probably won't have
|
||||
to worry about the Compiling instructions below. Pick up with
|
||||
the section "How to use Yabause" to learn how to make a CD
|
||||
image you can burn to use Yabause (or use a program like
|
||||
Selfboot).
|
||||
|
||||
|
||||
2 Compiling instructions______________________________________
|
||||
|
||||
Yabause is written in C using KallistiOS. So, in order to
|
||||
compile it, you need a working sh-elf targetted C compiler,
|
||||
such as gcc and a working KallistiOS environment:
|
||||
|
||||
* http://gamedev.allusion.net
|
||||
|
||||
Once KallistiOS is set up, you should be ready to build
|
||||
Yabause.
|
||||
|
||||
Uncompress the Yabause source archive, move to the newly
|
||||
created directory, type "cd src", then "make -f Makefile.dc",
|
||||
it will generate one binary: "yabause.bin" in the "src"
|
||||
directory.
|
||||
|
||||
|
||||
3 How to use Yabause__________________________________________
|
||||
|
||||
Before using Yabause, you need to build a CD with a few files
|
||||
in the correct places. In order to build a CD with the
|
||||
compiled binary, you must first scramble the binary. This can
|
||||
be done with the scramble utility which can be obtained from
|
||||
http://mc.pp.se/dc/files/scramble.c . This will have to be
|
||||
compiled with your native compiler. Once you run the scramble
|
||||
program on the yabause.bin file created in section 2 above,
|
||||
you will have a binary file suitable for booting on a real
|
||||
Dreamcast.
|
||||
|
||||
Once you have your scrambled binary, you may choose to include
|
||||
a Sega Saturn BIOS image on your disc as well. As of 0.9.5,
|
||||
this is not a requirement for the Dreamcast port, but if you
|
||||
choose to use an actual BIOS image, it must be put on the
|
||||
root of the CD and named "saturn.bin".
|
||||
|
||||
From this point, follow your favorite guide for how to build
|
||||
a selfbooting CD out of plain files. I use the one available
|
||||
at http://mc.pp.se/dc/cdr.html .
|
||||
|
||||
|
||||
4 Final Thoughts______________________________________________
|
||||
|
||||
The Dreamcast port of Yabause is quite slow. I have done very
|
||||
little in the way of optimizing any of the core of Yabause
|
||||
toward the Dreamcast (there is quite a bit that could be done
|
||||
when time allows). Do not expect the Dreamcast port of
|
||||
Yabause to run your favorite Sega Saturn games at any sort of
|
||||
playable speed for now (or the near future). As Yabause
|
||||
matures, and I have more time to work on it, hopefully speed
|
||||
will improve. For now, think of it as a fancy tech demo.
|
||||
|
||||
Note that in 0.9.5, a small bit of assembly has appeared in
|
||||
the Dreamcast port. Hopefully as time goes on more of the
|
||||
Dreamcast specific code will be rewritten in assembly for at
|
||||
least some small speed increase.
|
|
@ -1,135 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
____________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Introduction.............................................19
|
||||
2) Compiling instructions...................................25
|
||||
3) How to use Yabause......................................102
|
||||
|
||||
|
||||
1 Introduction________________________________________________
|
||||
|
||||
This file documents the gtk version only, for general
|
||||
information check the README file.
|
||||
|
||||
|
||||
2 Compiling instructions______________________________________
|
||||
|
||||
The Gtk+ port of Yabause is written in C and depends on the
|
||||
Gtk+ library (thus the name). The recommended setup of the
|
||||
Gtk+ port is to link it against OpenGL and gtkglext libraries,
|
||||
but this is not mandatory; see "Full Software mode" for
|
||||
further instructions.
|
||||
|
||||
Yabause currently provides two build system, a legacy build
|
||||
process using the autotools and a newer build process using
|
||||
CMake.
|
||||
|
||||
|
||||
2.1 Recommended setup_________________________________________
|
||||
|
||||
You need a working C compiler, such as gcc and the above
|
||||
libraries runtime and development packages:
|
||||
|
||||
* http://www.gtk.org
|
||||
|
||||
* http://gtkglext.sourceforge.net
|
||||
|
||||
* OpenGL should be included with your compiler, if it isn't,
|
||||
check on your distribution's website for links.
|
||||
|
||||
* http://www.cmake.org, you'll need a CMake version >= 2.8
|
||||
|
||||
With those libraries, you'll get a working Yabause, but with
|
||||
some restrictions:
|
||||
|
||||
* No sound
|
||||
|
||||
* No translations
|
||||
|
||||
* Depending on your OS, keyboard input only
|
||||
|
||||
You may want to install some optional dependencies for a
|
||||
better experience.
|
||||
|
||||
|
||||
2.2 Optional libraries________________________________________
|
||||
|
||||
Yabause can use a number of optional libraries:
|
||||
|
||||
* SDL: provides sound and joystick support
|
||||
http://www.libsdl.org/
|
||||
|
||||
* OpenAL: provides sound support
|
||||
|
||||
* mini18n: provides translation support
|
||||
|
||||
|
||||
2.3 Compiling_________________________________________________
|
||||
|
||||
For the build process, we recommend using two directories: one
|
||||
for the Yabause sources (SOURCES) and one for the build (BUILD)
|
||||
|
||||
Uncompress the Yabause source archive into the $SOURCES dir
|
||||
and create the $BUILD directory.
|
||||
|
||||
Move to the build directory and type "cmake $SOURCES" then
|
||||
"make" it will generate one program: "yabause" in the "src/gtk"
|
||||
directory.
|
||||
|
||||
You can even type "make install" to install that program on
|
||||
your system (in /usr/local/ by default), but we don't support
|
||||
desinstalling it.
|
||||
|
||||
|
||||
2.4 Full Software mode________________________________________
|
||||
|
||||
The Gtk+ supports building without OpenGL support.
|
||||
|
||||
cmake -DYAB_WANT_OPENGL=NO $SOURCES
|
||||
make
|
||||
|
||||
|
||||
3 How to use Yabause__________________________________________
|
||||
|
||||
Before using Yabause, you need to configure a few things in
|
||||
the Preferences dialog (Yabause>Preferences).
|
||||
|
||||
|
||||
3.1 Configuration_____________________________________________
|
||||
|
||||
First, set the BIOS path.
|
||||
Yabause can run some games without a BIOS, but most of them
|
||||
needs it. If you want to use the emulated BIOS, just let the
|
||||
BIOS entry blank.
|
||||
|
||||
Next, set the cdrom device.
|
||||
It can be a cd device, an iso or a cue file. Set the cd type
|
||||
accordingly.
|
||||
|
||||
The last thing you have to configure is the keys.
|
||||
|
||||
Once eveything is set, you can start emulation with the
|
||||
"Yabause>run" entry.
|
||||
|
||||
|
||||
3.2 Command line arguments____________________________________
|
||||
|
||||
-b (or --bios=)
|
||||
Specify bios file.
|
||||
-c (or --cdrom=)
|
||||
Specify cd device. You can know which file is used as cd
|
||||
device by looking in /etc/fstab. It is commonly something
|
||||
like /dev/hdc or /dev/hdd for IDE devices and /dev/scd0
|
||||
for SCSI devices.
|
||||
-i (or --iso=)
|
||||
Specify iso file.
|
|
@ -1,98 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
____________________________________
|
||||
Copyright (c) 2002-2012 Yabause team
|
||||
|
||||
|
||||
1) Introduction.............................................20
|
||||
2) Compiling instructions...................................26
|
||||
3) How to use Yabause.......................................46
|
||||
4) Known Issues.............................................92
|
||||
|
||||
|
||||
1 Introduction________________________________________________
|
||||
|
||||
This file documents the mac version only, for general
|
||||
information check the README file.
|
||||
|
||||
|
||||
2 Compiling instructions______________________________________
|
||||
|
||||
Yabause is written in C and Objective C using the Cocoa,
|
||||
IOKit, OpenGL, and CoreAudio frameworks. All of these
|
||||
frameworks should be installed by default on your Mac OS X
|
||||
system. You must have the Mac OS X 10.6 SDK installed by the
|
||||
Xcode installer in order to build Yabause. In addition, you
|
||||
will need at least Xcode 3.2.
|
||||
|
||||
Once you have Xcode installed, you should be ready to build
|
||||
Yabause.
|
||||
|
||||
Uncompress the Yabause source archive, and open the
|
||||
Yabause.xcodeproj in the src/cocoa directory. From there it
|
||||
should be as easy as hitting the Build or Build and Run
|
||||
button in Xcode. This should generate a Yabause.app file
|
||||
that can be run just like any other application bundle on
|
||||
Mac OS X.
|
||||
|
||||
|
||||
3 How to use Yabause__________________________________________
|
||||
|
||||
Before using Yabause, you need to configure a few things in
|
||||
the Preferences dialog (Yabause > Preferences).
|
||||
|
||||
|
||||
3.1 Configuration_____________________________________________
|
||||
|
||||
First, set the BIOS path.
|
||||
Yabause can run some games without a BIOS, but many of them
|
||||
need it. If you want to use the emulated BIOS, select the
|
||||
checkbox for that.
|
||||
|
||||
Next, set up the video and sound cores. For the video core,
|
||||
you have 4 options:
|
||||
1. OpenGL Hardware Video Core - Potentially the fastest video
|
||||
core choice, at least with a discrete video card. However,
|
||||
it is also the least accurate.
|
||||
2. Software Video Core - The most accurate video core you can
|
||||
use, but also the slowest.
|
||||
3. Grand Central Dispatch Software Core - A multithreaded
|
||||
version of the Software Video Core. On a multi-core system
|
||||
this should be significantly faster than the Software core
|
||||
with a similar accuracy level.
|
||||
4. Disable Video - Does exactly what it sounds like.
|
||||
|
||||
For the sound core, you only have two options:
|
||||
1. Core Audio Sound Core - The default sound core. Select
|
||||
this one if you want sound.
|
||||
2. Disable Sound - Does exactly what it sounds like.
|
||||
|
||||
Next, set up keys for input. Go to the Input tab, and
|
||||
configure each button (at least on Controller 1). For the
|
||||
moment, this is limited to keyboard input only.
|
||||
|
||||
There are other options you can configure as well in here,
|
||||
including BRAM (for saving), a MPEG ROM (for games that use
|
||||
the VideoCD/MPEG card), and a cartridge for the cartridge
|
||||
port on the Saturn.
|
||||
|
||||
Once eveything is set, you can start emulation with the
|
||||
"File > Run BIOS", "File > Run CDROM" or "File > Run Image"
|
||||
menu options. Don't use the Run BIOS entry if you're using
|
||||
BIOS emulation.
|
||||
|
||||
|
||||
4 Known Issues________________________________________________
|
||||
|
||||
When running in GDB, you should not use fullscreen mode. If
|
||||
Yabause crashes while running under GDB in fullscreen mode,
|
||||
you will probably get stuck with no way to exit. This should
|
||||
only affect developers and shouldn't ever be an issue for
|
||||
normal users.
|
|
@ -1,802 +0,0 @@
|
|||
PSP-Specific Yabause Documentation
|
||||
==================================
|
||||
|
||||
Important notice
|
||||
----------------
|
||||
PSP support for Yabause is experimental; please be aware that some things
|
||||
may not work well (or at all).
|
||||
|
||||
Unlike Yabause 0.9.10, this version of Yabause now works on all PSPs,
|
||||
including the original PSP-1000 ("Phat"). However, some games may run
|
||||
more slowly on PSP Phats because of the limited amount of memory available
|
||||
for caching dynamically-translated program code.
|
||||
|
||||
|
||||
Installing from a binary distribution
|
||||
-------------------------------------
|
||||
The yabause-X.Y.Z.zip archive contains a "PSP" directory (folder); copy
|
||||
this into the root directory of your Memory Stick. (On Windows, for
|
||||
example, your Memory Stick might show up as the drive F: -- in this case,
|
||||
drag the "PSP" folder from the ZIP archive onto the "F:" drive icon in
|
||||
Windows Explorer.)
|
||||
|
||||
The "PSP" directory contains a directory called "GAME", which in turn
|
||||
contains a directory called "YABAUSE". Inside the "YABAUSE" directory are
|
||||
two files named "EBOOT.PBP" and "ME.PRX"; these are the program files used
|
||||
by Yabause, like .EXE and .DLL files on Windows. You'll also need to copy
|
||||
your CD image and other data files to this directory on your Memory Stick
|
||||
(see below).
|
||||
|
||||
Once you've copied Yabause to your Memory Stick, skip to "How to use
|
||||
Yabause" below.
|
||||
|
||||
|
||||
Installing from source
|
||||
----------------------
|
||||
To build Yabause for PSP from the source code, you'll need a recent (at
|
||||
least SVN r2450(*)) copy of the unofficial PSP SDK from http://ps2dev.org,
|
||||
along with the toolchain from the same site; Gentoo Linux users can also
|
||||
download a Portage overlay from http://achurch.org/portage-psp.tar.bz2 and
|
||||
"emerge pspsdk". Ensure that the PSP toolchain (psp-gcc) and tools
|
||||
(psp-prxgen, etc.) are in your $PATH, then configure Yabause with:
|
||||
|
||||
./configure --host=psp [options...]
|
||||
|
||||
(*) Note that the PSP SDK headers and libraries are, at least through
|
||||
r2493, missing some functions required by Yabause. If you get errors
|
||||
about the functions sceKernelIcacheInvalidateAll or
|
||||
sceKernelIcacheInvalidateRange, apply the patch found in
|
||||
src/psp/icache-funcs-2450.patch to the PSP SDK source, recompile and
|
||||
reinstall it, then rebuild Yabause. This patch is already included if
|
||||
you build the SDK from the Gentoo Portage overlay.
|
||||
|
||||
You can ignore the warning about the --build option that appears when you
|
||||
start the configure script. You may also see a warning about "using cross
|
||||
tools not prefixed with host triplet"; you can usually ignore this as well,
|
||||
but if you get strange build errors related to libraries like SDL or
|
||||
OpenGL, try disabling the optional libraries with the options
|
||||
"--without-sdl" and "--without-opengl".
|
||||
|
||||
The following additional options can be used when configuring for PSP:
|
||||
|
||||
--enable-psp-debug
|
||||
Enables printing of debug messages to standard error.
|
||||
|
||||
--enable-psp-profile
|
||||
Enables printing of profiling statistics to standard error.
|
||||
By default, statistics are output every 100 frames; edit
|
||||
src/psp/main.c to change this. Note that profiling has a
|
||||
significant impact on emulation speed.
|
||||
|
||||
--with-psp-me-test
|
||||
Builds an additional program, "me-test.prx", which tests the
|
||||
functionality of the Media Engine access library included with
|
||||
Yabause. Only useful for debugging or extending the library.
|
||||
|
||||
Note that if you build with optimization disabled (-O0) or at too low a
|
||||
level, you may get compilation errors in src/psp/satopt-sh2.c. -O3 is
|
||||
recommended; set this flag in the CFLAGS environment variable before
|
||||
running the "configure" script. For example, if you use the "bash" shell:
|
||||
|
||||
CFLAGS=-O3 ./configure --host=psp [options...]
|
||||
|
||||
After the configure script completes, run "make" to build Yabause. The
|
||||
build process will create the EBOOT.PBP and me.prx (note that the latter
|
||||
is lowercase) files in the src/psp/ subdirectory; create a directory for
|
||||
Yabause under /PSP/GAME on your memory stick (e.g. /PSP/GAME/YABAUSE) and
|
||||
copy the files there.
|
||||
|
||||
|
||||
How to use Yabause (PSP-specific notes)
|
||||
---------------------------------------
|
||||
All files you intend to use with Yabause (BIOS images, CD images, backup
|
||||
RAM images) must be stored in the same directory as the EBOOT.PBP and
|
||||
ME.PRX files mentioned above. The default filenames used by Yabause are
|
||||
as follows:
|
||||
|
||||
BIOS.BIN -- BIOS image
|
||||
CD.ISO -- CD image (can also be a *.CUE file)
|
||||
BACKUP.BIN -- Backup RAM image (will be created if it does not exist)
|
||||
|
||||
You can choose other files from the Yabause configuration menu, which is
|
||||
displayed the first time you start Yabause and can also be brought up at
|
||||
any time by pressing the Select button; see below for details. If you do
|
||||
not already have a backup RAM image, just leave the backup RAM filename at
|
||||
its default setting, and the file will be created the first time backup RAM
|
||||
is saved.
|
||||
|
||||
The directional pad and analog stick can both be used to emulate the
|
||||
Saturn controller's directional pad. The default button controls are as
|
||||
follows:
|
||||
|
||||
Start -- Start
|
||||
A -- Cross
|
||||
B -- Circle
|
||||
C -- (unassigned)
|
||||
X -- Square
|
||||
Y -- Triangle
|
||||
Z -- (unassigned)
|
||||
L -- L
|
||||
R -- R
|
||||
|
||||
Button controls can be changed via the configuration menu.
|
||||
|
||||
|
||||
The Yabause PSP configuration menu
|
||||
----------------------------------
|
||||
When you first run Yabause, the configuration menu will be displayed,
|
||||
allowing you to choose the CD image you want to run and configure other
|
||||
Yabause options. You can also press Select while the emulator is running
|
||||
to bring up the menu; the emulator will remain paused while you have the
|
||||
menu open.
|
||||
|
||||
The main menu contains six options:
|
||||
|
||||
* "Configure general options..."
|
||||
|
||||
This opens a submenu with the following options:
|
||||
|
||||
* "Start emulator immediately"
|
||||
|
||||
When enabled, the emulator will start running immediately when
|
||||
you load Yabause, instead of showing the configuration menu.
|
||||
|
||||
* "Select BIOS/CD/backup files..."
|
||||
|
||||
This opens a submenu which allows you to select the files
|
||||
containing the BIOS image, CD image, and backup data you want
|
||||
to use. Selecting one of the three options will open a file
|
||||
selector, allowing you to choose any file in the Yabause
|
||||
directory on your Memory Stick.
|
||||
|
||||
Note that changing any of the files will reset the emulator.
|
||||
|
||||
* "Auto-save backup RAM"
|
||||
|
||||
When enabled, automatically saves the contents of backup RAM to
|
||||
your Memory Stick whenever you save your game in the emulator.
|
||||
The emulator will display "Backup RAM saved." on the screen for
|
||||
a short time when an autosave occurs. Note that the emulator
|
||||
may pause for a fraction of a second while autosaving. This
|
||||
option is enabled by default.
|
||||
|
||||
Be aware that backup RAM is _not_ saved to the Memory Stick
|
||||
when you quit Yabause; if you disable this option, you need to
|
||||
manually save it using the "Save backup RAM now" option when
|
||||
appropriate.
|
||||
|
||||
* "Save backup RAM now"
|
||||
|
||||
Immediately saves the contents of backup RAM to your Memory
|
||||
Stick. If you have auto-save disabled, you should use this
|
||||
option to save backup RAM before quitting Yabause.
|
||||
|
||||
* "Save backup RAM as..."
|
||||
|
||||
Allows you to enter a new filename (using the PSP's built-in
|
||||
on-screen keyboard) for the backup RAM save file. This can be
|
||||
useful if you want to keep separate backup RAM files for
|
||||
different games, or if you want to save more slots than a game
|
||||
normally allows. Yabause will immediately save backup RAM to
|
||||
the filename you enter, and will also use that filename when
|
||||
later auto-saving backup RAM (or when you manually use "Save
|
||||
backup RAM now"). However, the new filename will only be used
|
||||
until you quit Yabause, unless you select "Save options" on the
|
||||
main menu.
|
||||
|
||||
Note that the emulator will _not_ be reset when you use this
|
||||
option, so you can feel free to select it while playing a game.
|
||||
(However, don't select it while the game is in the middle of
|
||||
loading or saving, as this can corrupt backup RAM -- just as if
|
||||
you tried to remove the PSP's Memory Stick while saving a game
|
||||
on your PSP.)
|
||||
|
||||
NOTE: For reasons currently unknown, the top part of the
|
||||
on-screen keyboard display may flicker or appear corrupted.
|
||||
However, text can be entered as usual.
|
||||
|
||||
* "Configure controller buttons..."
|
||||
|
||||
This opens a submenu which allows you to configure which PSP button
|
||||
corresponds to which button on the emulated Saturn controller.
|
||||
Pressing one of the Circle, Cross, Triangle, or Square buttons on
|
||||
the PSP will assign that button to the currently selected Saturn
|
||||
controller button. The PSP's Start, L, and R buttons are always
|
||||
assigned to the same-named buttons on the Saturn controller, and
|
||||
cannot be changed.
|
||||
|
||||
Since both the Circle and Cross buttons are used for button
|
||||
assignment, the Start button is used to return to the main menu.
|
||||
|
||||
* "Configure video options..."
|
||||
|
||||
This opens a submenu with the following options:
|
||||
|
||||
* "Use hardware video renderer" / "Use software video renderer"
|
||||
|
||||
These options allow you to choose between the PSP-specific
|
||||
hardware renderer and the default software renderer built into
|
||||
Yabause for displaying Saturn graphics. The hardware renderer
|
||||
is significantly faster; for simple 2-D graphics, it can run at
|
||||
a full 60fps without frame skipping (if the game program itself
|
||||
can be emulated quickly enough). However, a number of more
|
||||
complex graphics features are not supported, so if a game does
|
||||
not display correctly, try using the software renderer instead.
|
||||
|
||||
The selected renderer can be changed while the emulator is
|
||||
running without disturbing your game in progress. However,
|
||||
changing the renderer may cause the screen to blank out or
|
||||
display corrupted graphics for a short time.
|
||||
|
||||
* "Configure hardware rendering settings..."
|
||||
|
||||
This option opens another submenu which allows you to change
|
||||
certain aspects of the hardware video renderer's behavior:
|
||||
|
||||
* "Aggressively cache pixel data"
|
||||
|
||||
When enabled, Yabause will try to store a copy of all
|
||||
graphic data in the PSP's native pixel format, to speed up
|
||||
drawing. However, Yabause may not always notice when the
|
||||
data is changed, causing incorrect graphics to appear.
|
||||
(This can be fixed by disabling the option, exiting the
|
||||
menu for a moment, then re-enabling the option.) When
|
||||
disabled, all graphics are redrawn from the Saturn data
|
||||
every frame. This option is enabled by default.
|
||||
|
||||
* "Smooth textures and sprites"
|
||||
|
||||
When enabled, smoothing (antialiasing) is applied to all
|
||||
3-D textures and sprites drawn on the screen. This can
|
||||
make 3-D environments look smoother than on a real Saturn,
|
||||
but it will also cause zoomed sprites to look blurry, which
|
||||
may not be the game's intended behavior.
|
||||
|
||||
* "Smooth high-resolution graphics"
|
||||
|
||||
When enabled, high-resolution graphics (which ordinarly
|
||||
would not fit on the PSP's screen) are displayed by
|
||||
averaging adjacent pixels to give a smoother look to the
|
||||
display; this can particularly help in reading small text
|
||||
on a high-resolution screen. However, this smoothing is
|
||||
significantly slower than the default method of just
|
||||
skipping every second pixel.
|
||||
|
||||
* "Enable rotated/distorted graphics"
|
||||
|
||||
Selects whether to display rotated or distorted graphics
|
||||
at all. Most such graphics cannot be rendered by the
|
||||
PSP's hardware, so Yabause has to draw them in software,
|
||||
which can be a major source of slowdown. Disabling this
|
||||
option will turn such graphics off entirely. This option
|
||||
is enabled by default.
|
||||
|
||||
* "Optimize rotated/distorted graphics"
|
||||
|
||||
When enabled, Yabause will try to detect certain types of
|
||||
rotated or distorted graphics which can be approximated by
|
||||
PSP hardware operations such as 3D transformations, and use
|
||||
the PSP's hardware to draw them quickly. However, this
|
||||
will often result in graphics that look different from the
|
||||
game as played on an actual Saturn, so this option can be
|
||||
used to disable the optimizations and draw the graphcs more
|
||||
accurately (at the expense of speed). This option is
|
||||
enabled by default.
|
||||
|
||||
Note that none of the above options have any effect when the
|
||||
software video renderer is in use.
|
||||
|
||||
* "Configure frame-skip settings..."
|
||||
|
||||
This option opens another submenu which allows you to configure
|
||||
the hardware renderer's frame-skip behavior:
|
||||
|
||||
* "Frame-skip mode"
|
||||
|
||||
This option is intended to allow you to switch between
|
||||
manual setting and automatic adjustment of frame-skip
|
||||
parameters. However, automatic mode is not yet
|
||||
implemented, so always leave this set on "Manual".
|
||||
|
||||
* "Number of frames to skip"
|
||||
|
||||
In Manual mode, sets the number of frames to skip for every
|
||||
frame drawn. 0 means "draw every frame", 1 means "draw
|
||||
every second frame" (skip 1 frame for every frame drawn),
|
||||
and so on.
|
||||
|
||||
* "Limit to 30fps for interlaced display"
|
||||
|
||||
Always skip at least one frame when drawing interlaced
|
||||
(high-resolution) screens. Has no effect unless the number
|
||||
of frames to skip is set to zero. This option is enabled
|
||||
by default.
|
||||
|
||||
* "Halve framerate for rotated backgrounds"
|
||||
|
||||
Reduce the frame rate by half (in other words, skip every
|
||||
second frame that would otherwise be drawn) when rotated or
|
||||
distorted background graphics are displayed. Since rotation
|
||||
and distortion take a long time to process on the PSP, this
|
||||
option can help keep games playable even when they make use
|
||||
of these Saturn hardware features. This option is enabled
|
||||
by default.
|
||||
|
||||
Note that this option does not apply to rotated or
|
||||
distorted graphics which are displayed using an optimized
|
||||
algorithm (see the "Optimize rotated/distorted graphics"
|
||||
option above).
|
||||
|
||||
Frame skipping is not supported by the software renderer, so
|
||||
none of these options will have any effect when the software
|
||||
renderer is in use.
|
||||
|
||||
* "Show FPS"
|
||||
|
||||
When enabled, the emulator's current speed in emulated frames per
|
||||
second (FPS) will be displayed in the upper-right corner of the
|
||||
screen as "FPS: XX.X (Y/Z)". The number "XX.X" is the average
|
||||
frame rate, calculated from the last few seconds of emulation;
|
||||
"Y" shows the number of Saturn frames emulated since the previous
|
||||
frame was shown, while "Z" is the actual time that passed in
|
||||
60ths of a second. (Thus, the instantaneous frame rate can be
|
||||
calculated as (Y/Z)*60.)
|
||||
|
||||
This option has no effect when the software renderer is in use.
|
||||
|
||||
* "Configure advanced settings..."
|
||||
|
||||
This opens a submenu with the following options:
|
||||
|
||||
* "Use SH-2 recompiler"
|
||||
|
||||
This option allows you to choose between the default SH-2 core,
|
||||
which recompiles Saturn SH-2 code into native MIPS code for the
|
||||
PSP, and the SH-2 interpreter built into Yabause. The SH-2
|
||||
interpreter is much slower, often by an order of magnitude or
|
||||
more, so there is generally no reason to disable this option
|
||||
unless you suspect a bug in the recompiler.
|
||||
|
||||
Note that changing this option will reset the emulator. As with
|
||||
"Reset emulator" on the main menu, you must hold L and R while
|
||||
changing this option to avoid an accidental reset.
|
||||
|
||||
* "Select SH-2 optimizations..."
|
||||
|
||||
This option opens up another submenu which allows you to turn on
|
||||
or off certain optimizations used by the SH-2 recompiler. These
|
||||
are shortcuts taken by the recompiler to allow games to run more
|
||||
quickly, but in rare cases they can cause games to misbehave or
|
||||
even crash. If a game doesn't work correctly, turning one or
|
||||
more of these options off may fix it.
|
||||
|
||||
These options can be changed while the emulator is running
|
||||
without disturbing your game in progress. However, changing them
|
||||
causes the emulator to clear out any recompiled code it has in
|
||||
memory, so the game may run slowly for a short time after exiting
|
||||
the menu as the emulator recompiles SH-2 code using the new
|
||||
options.
|
||||
|
||||
All optimizations are enabled by default.
|
||||
|
||||
* "Configure Media Engine options..."
|
||||
|
||||
This option opens up another submenu with options for
|
||||
configuring the Media Engine:
|
||||
|
||||
* "Use Media Engine for emulation"
|
||||
|
||||
Enables the use of the PSP's Media Engine CPU to handle part
|
||||
of the emulation in parallel with the main CPU. This can
|
||||
provide a moderate boost to emulation speed; however, since
|
||||
the Media Engine is not designed for this sort of parallel
|
||||
processing, some games may behave incorrectly or even crash.
|
||||
As such, this option is still considered experimental; use
|
||||
it at your own risk.
|
||||
|
||||
IMPORTANT: It is not currently possible to suspend the PSP
|
||||
while the Media Engine is in use. If you start Yabause with
|
||||
the Media Engine enabled, the "suspend" function of the
|
||||
PSP's power switch will be disabled, so you must save your
|
||||
game inside the emulator and exit Yabause before putting the
|
||||
PSP into suspend mode.
|
||||
|
||||
This option only takes effect when Yabause is started, so if
|
||||
you change it, make sure you select "Save options" in the
|
||||
main menu and then quit and restart Yabause.
|
||||
|
||||
* "Cache writeback frequency"
|
||||
|
||||
Sets the frequency at which the main CPU and Media Engine
|
||||
caches are synchronized, relative to the frequency of code
|
||||
execution on the Media Engine. The default frequency of 1/1
|
||||
is safest; lower frequencies (1/2, 1/4, and so on) can
|
||||
increase emulation speed, but are also more likely to cause
|
||||
sound glitches, crashes, or other incorrect behavior
|
||||
depending on the particular game. However, adjusting the
|
||||
size of the write-through region (see below) can mitigate
|
||||
these problems for some games.
|
||||
|
||||
Naturally, this option has no effect if the Media Engine is
|
||||
not being used for emulation.
|
||||
|
||||
* "Sound RAM write-through region"
|
||||
|
||||
Sets the size of the region at the beginning of sound RAM
|
||||
which is written through the PSP's cache. Writing through
|
||||
the cache is an order of magnitude slower than normal
|
||||
operation, so setting this to a large value can slow down
|
||||
games significantly. However, most games only use a small
|
||||
portion of sound RAM for communication with the sound CPU,
|
||||
so by tuning this value appropriately, you may be able to
|
||||
reduce the cache writeback frequency (see above) while still
|
||||
getting stable operation. From experimentation, a value of
|
||||
2k seems to work well for some games.
|
||||
|
||||
Naturally, this option has no effect if the Media Engine is
|
||||
not being used for emulation.
|
||||
|
||||
* "Use more precise emulation timing"
|
||||
|
||||
When enabled, the emulator will keep the various parts of the
|
||||
emulated Saturn hardware more precisely in sync with each other.
|
||||
This carries a noticeable speed penalty, but some games may
|
||||
require this more precise timing to work correctly.
|
||||
|
||||
* "Sync audio output to emulation"
|
||||
|
||||
When enabled, the emulator will synchronize audio output with
|
||||
the rest of the emulation. In general, this improves audio/video
|
||||
synchronization but causes more frequent audio dropouts (or
|
||||
"popping") when the emulator runs more slowly than real time.
|
||||
However, the exact effect of this option can vary:
|
||||
|
||||
- When disabled, the audio can get ahead of the video if the
|
||||
emulator is running slowly; this can be seen, for example,
|
||||
in the Saturn BIOS startup animation. On the other hand,
|
||||
game code that uses the audio output speed for timing (such
|
||||
as the movie player in Panzer Dragoon Saga) can actually run
|
||||
faster with synchronization disabled. MIDI-style background
|
||||
music will also play more smoothly, though of course the
|
||||
music tempo will slow down depending on the emulation speed.
|
||||
|
||||
- When enabled, the audio output will match the output of a
|
||||
real Saturn much more closely. In particular, this option
|
||||
is needed to avoid popping in streamed audio such as Red
|
||||
Book audio tracks when the emulator runs at full speed
|
||||
(60fps). On the flip side, the audio will momentarily drop
|
||||
out (as described above) whenever the emulator takes more
|
||||
than 1/60th of a second to process an emulated frame.
|
||||
|
||||
This option is enabled by default.
|
||||
|
||||
* "Sync Saturn clock to emulation"
|
||||
|
||||
When enabled, the Saturn's internal clock is synchronized with
|
||||
the emulation, rather than following real time regardless of
|
||||
emulation speed. If the emulator is running slow, for example,
|
||||
this option will slow the Saturn's clock down to match the speed
|
||||
at which the emulator is running. This option is enabled by
|
||||
default.
|
||||
|
||||
* "Always start from 1998-01-01 12:00"
|
||||
|
||||
When enabled, the Saturn's internal clock will always be
|
||||
initialized to 12:00 noon on January 1, 1998, rather than the
|
||||
current time when the emulator starts. When used with the clock
|
||||
sync option above, this is useful in debugging because it ensures
|
||||
a consistent environment each time the emulator is started.
|
||||
Outside of debugging, however, there is usually no reason to
|
||||
enable this option.
|
||||
|
||||
* "Save options"
|
||||
|
||||
Save the current settings, so Yabause will use them automatically the
|
||||
next time you start it up.
|
||||
|
||||
* "Reset emulator"
|
||||
|
||||
Reset the emulator, as though you had pressed the Saturn's RESET
|
||||
button. To avoid accidentally resetting the emulator, you must hold
|
||||
the PSP's L and R buttons while selecting this option.
|
||||
|
||||
Pressing Select on any menu screen will exit the menu and return to the
|
||||
Saturn emulation.
|
||||
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
Q: "My game runs too slowly!"
|
||||
|
||||
A: C'est la vie. The PSP is unfortunately just not powerful enough to
|
||||
emulate the Saturn at full speed (see "Technical notes" below for the
|
||||
gory details). Here are some things you can do to improve the speed of
|
||||
the emulator:
|
||||
|
||||
* Make sure you are using the hardware video renderer (in the
|
||||
"Configure video options" menu) and the SH-2 recompiler (in the
|
||||
"Configure advanced settings" menu).
|
||||
|
||||
* Under "Configure video options" / "Configure hardware rendering"
|
||||
settings", turn off "Enable rotated/distorted graphics". A single
|
||||
distorted background can take the equivalent of 2 to 3 frames at
|
||||
60fps to render on the PSP.
|
||||
|
||||
* Under "Configure video options" / "Configure frame-skip settings",
|
||||
set the frame-skip mode to manual and increase the number of frames
|
||||
to skip. (Many games only run at 30 frames per second, so using a
|
||||
frame-skip count of 1 won't actually make a visible difference
|
||||
compared to a count of 0.)
|
||||
|
||||
* Under "Configure advanced emulation options" / "Select SH-2
|
||||
optimizations", make sure all optimizations are enabled.
|
||||
|
||||
* Under "Configure advanced emulation options", if "Use more precise
|
||||
emulation timing" is disabled, try enabling it. (This may cause
|
||||
the game to freeze or crash, however.)
|
||||
|
||||
* Try turning on the "Use Media Engine for emulation" option in the
|
||||
"Configure advanced emulation options" menu, but note that this
|
||||
option is experimental and may cause your game to misbehave or even
|
||||
crash.
|
||||
|
||||
* If the Media Engine is enabled, try lowering the cache writeback
|
||||
frequency in the "advanced emulation options" menu. Typically,
|
||||
1/4 to 1/8 will provide a noticeable speed increase over 1/1, while
|
||||
1/16 and lower are not likely to have much effect.
|
||||
|
||||
Q: "My game suddenly froze!"
|
||||
|
||||
A: Try pressing Select to open the Yabause menu.
|
||||
|
||||
* If the menu doesn't open, then either you've hit a bug in Yabause,
|
||||
or the SH-2 optimizer has caused the program to misbehave. Restart
|
||||
Yabause, then go to the "Configure advanced emulation options" /
|
||||
"Select SH-2 optimizations" and disable all of the options there.
|
||||
If that fixes the problem, you can then try turning the options on
|
||||
one by one to find the one that caused the crash (you may need to
|
||||
repeat whatever actions you performed in the game in order to
|
||||
determine whether the crash occurs or not), and disable only that
|
||||
option to keep the emulator running as fast as possible.
|
||||
|
||||
* If the menu does open, then one likely cause is a timing issue;
|
||||
this can be seen, for example, when starting Dead or Alive with the
|
||||
"Use more precise emulation timing" option disabled. Try enabling
|
||||
this option under the "Configure advanced emulation options" menu
|
||||
and resetting the emulator to see if it fixes the problem.
|
||||
|
||||
In either of the above cases, it's also possible that the game itself
|
||||
has a bug. Look in FAQs or other online resources and see if any
|
||||
similar problems have been reported.
|
||||
|
||||
|
||||
Technical notes
|
||||
---------------
|
||||
The Saturn, like the PSOne, is only one step down in power from the PSP
|
||||
itself, so full-speed emulation is a fairly difficult proposition from the
|
||||
outset. To make matters worse, the Saturn's architecture is about as
|
||||
different from the PSP as two modern computer architectures can be:
|
||||
different primary CPUs (SH-2 versus MIPS Allegrex), big-endian byte order
|
||||
(Saturn) versus little-endian (PSP), tile-based graphics (Saturn) versus
|
||||
texture-based graphics (PSP), and so on. As such, Yabause must take a
|
||||
number of shortcuts to make games even somewhat playable.
|
||||
|
||||
<<< SH-2 emulation >>>
|
||||
|
||||
Emulation of the Saturn's two SH-2 CPUs in particular is problematic.
|
||||
These processors run at either 26 or 28 MHz, and they use a RISC-like
|
||||
instruction set in which most instructions execute in one clock cycle, so
|
||||
in a worst-case scenario Yabause would need to process 56 million SH-2
|
||||
instructions per second--on top of sound, video, and other hardware
|
||||
emulation--to maintain full speed. But the PSP's single(*) Allegrex CPU
|
||||
runs at a maximum of 333MHz, meaning that the SH-2 emulator must be able to
|
||||
execute each instruction (including accessing the register file, swapping
|
||||
byte order in memory accesses, updating the SH-2 clock cycle counter, and
|
||||
so on) within at most 6 native clock cycles for full-speed emulation. In
|
||||
fact, the demands of emulating the other Saturn hardware reduce this to
|
||||
something closer to 4 native clock cycles.
|
||||
|
||||
(*) The PSP actually has a second CPU, the Media Engine, but limitations
|
||||
of the PSP architecture make it unsuitable for use as a full-fledged
|
||||
second processor. See below for details.
|
||||
|
||||
With these limitations, interpreted execution of SH-2 code is out of the
|
||||
question--merely looking up the instruction handler would exhaust the
|
||||
instruction's quota of execution time. For this reason, the PSP port uses
|
||||
a dynamic translator to convert blocks of SH-2 code into blocks of native
|
||||
MIPS code. When the emulator encounters a block of SH-2 code for the first
|
||||
time, it scans through the block, generating equivalent native code for the
|
||||
block which is then executed directly on the native CPU. This naturally
|
||||
causes the emulator to pause for a short time when it encounters a lot of
|
||||
new code at once, such as when loading a new part of a game from CD; this
|
||||
is the price that must be paid for the speed of native code execution.
|
||||
|
||||
Even with this dynamic translation, however, there are still a number of
|
||||
hurdles to fast emulation. For example:
|
||||
|
||||
* Every time the end of a code block is reached, the emulator must look up
|
||||
the next block to execute. This lookup consumes precious cycles which do
|
||||
not directly correspond to SH-2 instruction emulation (around 35 cycles
|
||||
per lookup in the current version).
|
||||
|
||||
In order to streamline code translation and increase the optimizability
|
||||
of individual blocks, the dynamic translator tends to choose minimally-
|
||||
sized blocks for translation. Tests showed that this was an improvement
|
||||
over an older algorithm that used larger blocks, but the resulting
|
||||
overhead of block lookups imposes a limit on execution speed for certain
|
||||
types of code, particularly algorithms which rely heavily on subroutine
|
||||
calls.
|
||||
|
||||
At the other end of the spectrum, one might consider modifying a true
|
||||
compiler like GCC to accept SH-2 instructions as input, then running
|
||||
each code block through the compiler itself to generate native code.
|
||||
This could undoubtedly produce efficient output with larger blocks, but
|
||||
it would also impose significant additional overhead when translating.
|
||||
|
||||
* The SH-2 is unable to load arbitrary constants into registers, instead
|
||||
using PC-relative accesses to load values outside the range of a MOV #imm
|
||||
instruction from memory. However, Saturn programs also use PC-relative
|
||||
accesses for function-local static variables, meaning that there is no
|
||||
general way to tell whether a given value is actually a constant or
|
||||
merely a variable that may be modified elsewhere.
|
||||
|
||||
This presents a particular problem in optimizing memory accesses, since
|
||||
if a pointer loaded from a PC-relative address is not known to be
|
||||
constant, the translated code must incur the overhead of checking the
|
||||
pointer's value every time the block is executed. The SH-2 core includes
|
||||
an optional optimization, SH2_OPTIMIZE_LOCAL_POINTERS, which takes the
|
||||
stance that all such pointers either are constant or will always point
|
||||
within the same memory region (high system RAM, VDP2 RAM, etc.). This
|
||||
optimization shows a marked improvement in execution speed in some cases,
|
||||
but any code which violates the assumption above will cause the emulator
|
||||
to crash.
|
||||
|
||||
* Some games make use of self-modifying code, presumably in an attempt to
|
||||
increase execution speed; one example can be found in the "light ray"
|
||||
animation used in Panzer Dragoon Saga when obtaining an item. Naturally,
|
||||
the use of self-modifying code has a severe impact on execution time in a
|
||||
dynamic translation environment, as each modification requires every
|
||||
block containing the modified instruction to be retranslated. (A similar
|
||||
effect can be seen on modern x86-family CPUs, which internally translate
|
||||
x86 instructions to native micro-ops for execution; self-modifying code
|
||||
can slow down the processor by an order of magnitude or more.)
|
||||
|
||||
The SH-2 core attempts to detect frequently modified instructions and
|
||||
pass them directly to the interpreter to avoid the overhead of repeated
|
||||
translation, but there is unfortunately no true solution to the problem
|
||||
other than rewriting the relevant part of the game program itself.
|
||||
|
||||
* Memory accesses are difficult to implement efficiently; in fact, the SH-2
|
||||
emulator devotes over 1,000 lines of source code to handling load and
|
||||
store operations, independently of the memory access handlers in the
|
||||
Yabause core. The current implementation is able to handle accesses to
|
||||
true RAM fairly quickly, but any access which falls back to the default
|
||||
MappedMemory*() handlers incurs a significant access penalty (typically
|
||||
20-30 cycles plus any handling needed for the specific address).
|
||||
|
||||
This is most obvious while loading data from the emulated CD, since the
|
||||
game program must access a hardware register in a loop while waiting for
|
||||
the CD data to be loaded, and additionally some games read CD data
|
||||
directly out of the CD data register rather than using DMA to load the
|
||||
data into memory. Currently, the only way to speed up such code blocks
|
||||
is through handwritten translation (see src/psp/satopt-sh2.c).
|
||||
|
||||
Patches to either speed up specific games or to improve the translation
|
||||
algorithm generally are of course welcome.
|
||||
|
||||
<<< Use of the Media Engine >>>
|
||||
|
||||
Aside from the two SH-2 cores, a third major consumer of CPU time is the
|
||||
SCSP, the Saturn's sound processor, and particularly the MC68EC000
|
||||
("68k") CPU used therein. While most games don't run particularly complex
|
||||
code on the 68k, it is nonetheless a proper CPU in its own right, and
|
||||
requires a fair amount of time to emulate; multi-channel FM background
|
||||
music takes time to generate as well. Currently, the PSP port of Yabause
|
||||
has the ability to make use of the PSP's Media Engine CPU to process 68k
|
||||
instructions and audio generation in parallel with the rest of the
|
||||
emulation, but this use of the Media Engine is a considerable departure
|
||||
from Sony's design and thus a risky endeavor.
|
||||
|
||||
The primary difficulty with using the ME as a "second core" in the sense
|
||||
of the multi-core processors used in PCs is that of cache coherency.
|
||||
Unlike generic multiprocessor or multi-core systems, the PSP's two CPUs
|
||||
do not implement cache coherency; this means that neither CPU knows what
|
||||
the other CPU has in its cache, and one CPU may inadvertently clobber the
|
||||
other's changes, causing stores to memory to get lost. As an example,
|
||||
consider these two simple loops, operating in parallel on a two-element
|
||||
array initialized to {1,1} that resides in a single cache line:
|
||||
|
||||
Core 1 Core 2
|
||||
------ ------
|
||||
for (;;) { for (;;) {
|
||||
array[0] += array[1]; array[1] += array[0];
|
||||
} }
|
||||
|
||||
This illustrates two problems caused by the lack of cache coherency:
|
||||
|
||||
* On a cache-coherent (or single-core) system, the two array elements
|
||||
will increase unpredictably as each loop sees the updated value stored
|
||||
by the other loop. On the PSP, however, both elements will increase
|
||||
monotonically; once each CPU loads the cache line, it never sees any
|
||||
stores performed by the other CPU, because accesses to the array always
|
||||
hit the cache.
|
||||
|
||||
* On a cache-coherent system, if the cache line is flushed to memory, it
|
||||
will always contain the current values of both array elements. On the
|
||||
PSP, however, the array element _not_ updated by the flushing CPU will
|
||||
be written with the same value it had when the cache line was loaded
|
||||
by that CPU. In particular, if the other CPU had already flushed the
|
||||
cache line, that change will be clobbered--for example (here "SC" is
|
||||
the main CPU and "ME" is the Media Engine):
|
||||
|
||||
Time Operation SC cache ME cache Memory Desired
|
||||
---- ---------- -------- -------- ------ -------
|
||||
T1 Initialize {1,1} {1,1} {1,1} {1,1}
|
||||
T2 SC flush {A,1} {1,B} {A,1} {A,B}
|
||||
T3 ME flush {C,1} {1,D} {1,D} {C,D}
|
||||
|
||||
Note that at no time after initialization are the contents of memory
|
||||
correct, and in particular, the value "A" written by the SC is lost
|
||||
when the ME flushes {1,D} from its cache, even though the ME loop
|
||||
never actually modified that array element.
|
||||
|
||||
In order for Yabause to have even a hope of stable operation, therefore,
|
||||
the use of both CPUs' caches must be carefully controlled to avoid data
|
||||
loss.
|
||||
|
||||
When use of the Media Engine is enabled, the following steps are taken
|
||||
to avoid data corruption due to the lack of cache coherency:
|
||||
|
||||
* SCSP state variables used for inter-thread communication are divided into
|
||||
separate, 64-byte (cache-line) aligned data sections, based on which
|
||||
thread (the main Yabause thread, running on the SC, or the SCSP thread,
|
||||
running on the ME) writes to them.
|
||||
|
||||
* SCSP state variables are accessed using uncached (0x4nnnnnnn) addresses
|
||||
in two cases: when _reading_ data written by the other CPU (to avoid an
|
||||
old value getting stuck in the cache), and when _writing_ data which is
|
||||
also written by the other CPU (to avoid the cache line clobbering problem
|
||||
described above).
|
||||
|
||||
* Sound RAM is accessed _with_ caching (except in one case described
|
||||
below), because forcing every sound RAM access through an uncached
|
||||
pointer causes significant slowdown. Instead, cached CPU data is written
|
||||
back to RAM at strategic points.
|
||||
|
||||
* The SC's data cache is flushed (written back and invalidated) immediately
|
||||
before waiting for the SCSP thread to finish processing, e.g. for
|
||||
ScspReset(). The data cache is written back on every ScspExec() call
|
||||
(though the writeback frequency may be reduced through the configuration
|
||||
menu), but it is _not_ flushed for performance reasons; instead, sound
|
||||
RAM read accesses from the SC are made through uncached addresses, as
|
||||
with SCSP state variables above.
|
||||
|
||||
* The ME's data cache is flushed after each iteration of the SCSP thread
|
||||
loop. This flushing is not coded directly into scsp.c, but instead
|
||||
takes place in the YabThreadYield() and YabThreadSleep() implementations.
|
||||
(These functions are naturally meaningless on the ME, but since the SCSP
|
||||
thread calls one or the other at the end of each loop, it's a convenient
|
||||
place to flush the cache.)
|
||||
|
||||
* The 68k state block, along with dynamically-generated native code when
|
||||
dynamic translation is enabled, is stored in a separately allocated pool
|
||||
and managed with custom memory allocation functions (local_malloc() and
|
||||
friends in psp-m68k.c), since the standard memory management functions
|
||||
are not designed to work with the ME and would likely cause a crash due
|
||||
to cache desynchronization.
|
||||
|
||||
In general, using the ME provides a moderate speed improvement (10-15%) to
|
||||
overall emulation speed. There are, however, some cases in which the lack
|
||||
of cache coherency could cause games to misbehave or even crash Yabause:
|
||||
|
||||
* If a game writes (from the SH-2) to a portion of sound RAM containing 68k
|
||||
program code while the 68k is executing, the 68k may execute incorrect
|
||||
code, or the dynamic translation memory pool may be corrupted. Normally,
|
||||
games should only load code while the 68k is stopped, but there may be
|
||||
cases when the SH-2 writes to a variable in sound RAM which is located in
|
||||
the same region as 68k code, thus triggering this issue.
|
||||
|
||||
* Games which rely on the precise relative timing of the SH-2 and 68k
|
||||
processors are likely to fail in any multithreaded emulator, but are more
|
||||
likely to fail when using the ME due to delays in data being written out
|
||||
from the data caches.
|
|
@ -1,138 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
_________________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Compiling instructions...................................20
|
||||
2) How to use Yabause.......................................82
|
||||
3) Contact information.....................................105
|
||||
4) Disclaimer..............................................121
|
||||
|
||||
|
||||
1 Compiling instructions______________________________________
|
||||
|
||||
Yabause is written in C using the OpenGL library, so you need a working C compiler(such as gcc) and
|
||||
these libraries, runtime and development packages:
|
||||
|
||||
* OpenGL should be included with your compiler, if it isn't,
|
||||
check on your compiler's website for links.
|
||||
|
||||
Yabause can also use the SDL library:
|
||||
|
||||
* http://www.libsdl.org/
|
||||
|
||||
Yabause can also use the GLUT library:
|
||||
|
||||
* Check google, I haven't been able to find a good
|
||||
source for it.
|
||||
|
||||
Once these libraries installed, you should be ready to
|
||||
install Yabause.
|
||||
|
||||
Building the Qt 4 port require the Qt 4.3.x libraries too, it's a crossplatform C++ library for various all days crossplatform work ( gui, threads ... ).
|
||||
I used the version 4.3.4 version for the developement and tests, so please don't report bugs if you are not using at least this version.
|
||||
|
||||
* http://www.trolltech.com/products/qt
|
||||
|
||||
Compiling for Windows : using mingw/cygwin__________________________________
|
||||
|
||||
All you have to do now is now is go into your mingw/cygwin
|
||||
shell environment, go into the directory where you extracted
|
||||
yabause, and type: "./configure --enable-newperinterface ---with-port=qt". Once that's done(and there
|
||||
was no errors), type: "make". It should now take some time to
|
||||
compile so go grab yourself a sandwich or beer - whatever suits
|
||||
your fancy and it should be done in a few minutes. Now all you
|
||||
have to do is type "./src/qt/release/yabause" in order to run it.
|
||||
|
||||
Compiling for Mac OS X : using gcc__________________________________________
|
||||
|
||||
Uncompress the Yabause source archive, move to the newly
|
||||
created directory, type "./configure --enable-newperinterface --disable-dependency-tracking --disable-shared --with-port=qt", then "make",
|
||||
it will generate a bundle: "Yabause.app" in the "src/qt"
|
||||
directory.
|
||||
You can then use Yabause by opening the bundle with:
|
||||
"open Yabause.app" or with the Mac OS X finder.
|
||||
|
||||
Compiling for *Nix/Linux/BSD ? : using gcc__________________________________
|
||||
|
||||
Uncompress the Yabause source archive, move to the newly
|
||||
created directory, type "./configure --enable-newperinterface ---with-port=qt", then "make",
|
||||
it will generate one program: "yabause" in the "src/qt"
|
||||
directory.
|
||||
|
||||
|
||||
You can also pass the --enable-debug option to the configure script, Yabause
|
||||
will then print debug messages in a special dock window.
|
||||
(Use the --help flag for a complete list of options.)
|
||||
|
||||
You can even type "make install" to install that program on
|
||||
your system (in /usr/local/ by default), then uninstalling is
|
||||
done by typing "make uninstall".
|
||||
|
||||
You can try to read other specific README files for more information.
|
||||
|
||||
2 How to use Yabause__________________________________________
|
||||
|
||||
Before using Yabause, you need to configure a few things in
|
||||
the Preferences dialog (File>Settings).
|
||||
|
||||
|
||||
2.1 Configuration_____________________________________________
|
||||
|
||||
First, set the BIOS path.
|
||||
Yabause can run some games without a BIOS, but most of them
|
||||
needs it. If you want to use the emulated BIOS, just let the
|
||||
BIOS entry blank.
|
||||
|
||||
Next, set the cdrom device.
|
||||
It can be a cd device, an iso or a cue file. Set the cd type
|
||||
accordingly.
|
||||
|
||||
The last thing you have to configure is the keys.
|
||||
|
||||
Once eveything is set, you can start emulation with the
|
||||
"Emulation>Run" entry.
|
||||
|
||||
|
||||
3 Contact information_________________________________________
|
||||
|
||||
General inquiries should go to:
|
||||
E-mail: guillaume.duhamel@gmail.com
|
||||
E-mail: cwx@cyberwarriorx.com
|
||||
|
||||
Qt Port-related inquiries should go to:
|
||||
E-mail: pasnox@yabause.org
|
||||
|
||||
Web: http://yabause.org
|
||||
|
||||
Please don't ask for roms, bios files or any other copyrighted
|
||||
stuff. Please use the forum when you have any questions if
|
||||
possible.
|
||||
|
||||
|
||||
4 Disclaimer__________________________________________________
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be
|
||||
useful,but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301 USA
|
||||
|
||||
See the GNU General Public License details in COPYING.
|
|
@ -1,88 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
_________________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Special Notice...........................................21
|
||||
2) Compiling instructions...................................28
|
||||
3) How to use Yabause.......................................50
|
||||
4) Contact information......................................55
|
||||
5) Disclaimer...............................................71
|
||||
|
||||
|
||||
1 Special Notice______________________________________________
|
||||
|
||||
Please note that the Wii port is in alpha status, and won't be
|
||||
officially supported until a later date. If you would like to
|
||||
contribute, please contact us(see the contact information
|
||||
section in README).
|
||||
|
||||
2 Compiling instructions______________________________________
|
||||
|
||||
Yabause is written in C using the devkitPro packages. You can
|
||||
download it from:
|
||||
|
||||
http://www.devkitpro.org
|
||||
|
||||
Once this is installed, you should be ready to install Yabause.
|
||||
|
||||
To compile, either use the Makefile.wii file in the src
|
||||
subdirectory to compile it(e.g. make -f Makefile.wii) or you can
|
||||
use configure in the main directory as follows:
|
||||
|
||||
./configure --build=i686-pc-linux-gnu --host=powerpc-gekko
|
||||
|
||||
Once that's done, type "make". It should now take some time to
|
||||
compile so go grab yourself a sandwich or beer - whatever suits
|
||||
your fancy and it should be done in a few minutes. You should
|
||||
now have a file called "yabause.elf". Now all you have to do is
|
||||
load it on your Wii(which is something we won't cover here).
|
||||
|
||||
|
||||
3 How to use Yabause__________________________________________
|
||||
|
||||
To be finished later.
|
||||
|
||||
|
||||
4 Contact information_________________________________________
|
||||
|
||||
General inquiries should go to:
|
||||
E-mail: guillaume@yabause.org
|
||||
E-mail: cwx@cyberwarriorx.com
|
||||
|
||||
Windows Port-related inquiries should go to:
|
||||
E-mail: cwx@cyberwarriorx.com
|
||||
|
||||
Web: http://yabause.org
|
||||
|
||||
Please don't ask for roms, bios files or any other copyrighted
|
||||
stuff. Please use the forum when you have any questions if
|
||||
possible.
|
||||
|
||||
|
||||
5 Disclaimer__________________________________________________
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be
|
||||
useful,but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301 USA
|
||||
|
||||
See the GNU General Public License details in COPYING.
|
|
@ -1,250 +0,0 @@
|
|||
_ _
|
||||
/ \_/ \ ___ _ ____
|
||||
\ /___ ___ / || | __ / \ ____
|
||||
\ // || \ / || | \ \\ \_// \
|
||||
/ // || // _ || |__\ \\ \ __/
|
||||
\_// _ || \\_/ \_||______/ \ \\ \__
|
||||
\_/ \_||___/ \____/ \____\
|
||||
Yet Another Buggy And Uncomplete Saturn Emulator
|
||||
|
||||
_________________________________________
|
||||
Copyright (c) 2002-2011 Yabause team
|
||||
|
||||
|
||||
1) Compiling instructions...................................20
|
||||
2) How to use Yabause.......................................68
|
||||
3) Contact information.....................................217
|
||||
4) Disclaimer..............................................233
|
||||
|
||||
|
||||
1 Compiling instructions______________________________________
|
||||
|
||||
Yabause is written in C using the DirectX 8.0, OpenGL, GLUT, and
|
||||
mini18n libraries, so you need a working C compiler(such as gcc)
|
||||
and these libraries, runtime and development packages:
|
||||
|
||||
* You can find DirectX headers and libraries(for mingw) at
|
||||
http://alleg.sourceforge.net/wip.html as the file
|
||||
"dx80_mgw.zip". The actual runtime libraries(or
|
||||
headers/libraries for Visual C++) can be gotten from
|
||||
http://www.microsoft.com/DirectX
|
||||
|
||||
* OpenGL should be included with your compiler, if it isn't,
|
||||
check on your compiler's website for links.
|
||||
|
||||
* Check google for GLUT. I haven't been able to find a good
|
||||
source for it.
|
||||
|
||||
* You can get mini18n from Yabause's sourceforge download page
|
||||
here: http://sourceforge.net/project/showfiles.php?group_id=89991&package_id=304859
|
||||
|
||||
Once these libraries installed, you should be ready to
|
||||
install Yabause.
|
||||
|
||||
Compiling using mingw/cygwin__________________________________
|
||||
|
||||
All you have to do now is now is go into your mingw/cygwin
|
||||
shell environment, go into the directory where you extracted
|
||||
yabause, and type: "./configure". Once that's done(and there
|
||||
was no errors), type: "make". It should now take some time to
|
||||
compile so go grab yourself a sandwich or beer - whatever suits
|
||||
your fancy and it should be done in a few minutes. Now all you
|
||||
have to do is type "./src/yabause" in order to run it.
|
||||
|
||||
Compiling using Visual C++____________________________________
|
||||
|
||||
Make sure you have the latest DirectX SDK and DDK installed. You
|
||||
can get both of them from Microsoft's website.
|
||||
|
||||
Load up IDE that comes with Visual C++/Visual Studio, go into the
|
||||
file menu, open an existing project. Go into the yabause's
|
||||
src/windows directory and open yabause.sln. Now all you have
|
||||
to do is build it like any other Visual C++ project.
|
||||
|
||||
You can compile for either x86 or x64(for those using Windows XP
|
||||
x64 or Vista x64.
|
||||
|
||||
|
||||
2 How to use Yabause__________________________________________
|
||||
|
||||
While not necessarily needed, it is recommended you get a Saturn
|
||||
ROM BIOS image. Please don't ask us where to get one.
|
||||
|
||||
Execute "yabause". The program will open a settings window.
|
||||
|
||||
Basic Settings________________________________________________
|
||||
|
||||
The Disc Type setting allows you to choose whether you'd like to
|
||||
use a real cdrom or a cdrom image of the game you're trying to
|
||||
run.
|
||||
|
||||
The Cue/Iso File setting allows you to specify the location
|
||||
of your Saturn game's cdrom image.
|
||||
|
||||
The Drive Letter setting is for you to be able to choose which
|
||||
cdrom drive you want yabause to use when trying to boot a game.
|
||||
|
||||
The SH2 Core setting is for you to be able to choose which SH2
|
||||
Core to use. Unless you're a developer, chances are, you should
|
||||
leave it as the default: "Fast Interpreter".
|
||||
|
||||
The Region setting allows you to choose which region of game
|
||||
you'll be booting. In most cases, it's best to leave it as
|
||||
"Auto-detect".
|
||||
|
||||
The Bios ROM File setting allows you to specify the location
|
||||
of your Saturn ROM BIOS image. If you leave it blank, yabause
|
||||
will try to emulate the bios instead. It's better to specify
|
||||
a ROM BIOS image if you can since the emulated bios isn't
|
||||
100% perfect and may not work with your games.
|
||||
|
||||
The Backup RAM File setting allows you to specify the location
|
||||
of the Backup RAM file. This file allows yabause to store and
|
||||
load save games.
|
||||
|
||||
The MPEG ROM File setting allows you to specify the location
|
||||
of a MPEG Card's ROM image. While not necessary, it does allow
|
||||
you to test out the saturn's vcd capabilities.
|
||||
|
||||
The Cartridge Type setting allows you to choose which type of
|
||||
external cartridge to emulate. Some carts also require you to
|
||||
supply a rom filename, or a new filename for the emulator to
|
||||
write to. You can enter that information in the field below it.
|
||||
|
||||
When you're done, just click on the "OK" button. If the bios
|
||||
location was specified correctly, emulation should start and
|
||||
you will see a brief animation of the saturn logo being formed.
|
||||
|
||||
Special Note: Some settings require a restart of the program.
|
||||
|
||||
There's also settings specifically for video, sound, and input.
|
||||
|
||||
Video Settings________________________________________________
|
||||
|
||||
If you click on the "Video" tab another list of settings is
|
||||
displayed. You can set the Video Core to either do hardware
|
||||
rendering using OpenGL, software renderer(uses OpenGL the final
|
||||
draw though), or disable drawing completely with the "None"
|
||||
option. You can also "Enable Auto Frame-skipping" which basically
|
||||
tries to skip rendering video frames if emulation is lagging in
|
||||
an attempt to speed things up.
|
||||
|
||||
The Full Screen on startup setting allows you to set Yabause to
|
||||
run using the full screen when started. You can also change what
|
||||
resolution is used while in full screen.
|
||||
|
||||
The custom window size setting allows you to set the size of the
|
||||
video display for yabause.
|
||||
|
||||
Sound Settings________________________________________________
|
||||
|
||||
If you click on the "Sound" tab another list of settings is
|
||||
displayed. You can set the Sound Core to either do sound mixing
|
||||
using DirectX Sound or disable sound completely with the "None"
|
||||
option. You can also adjust the sound volume using the volume
|
||||
slider underneath.
|
||||
|
||||
Input Settings________________________________________________
|
||||
|
||||
If you click on the "Input" tab another list of settings is
|
||||
displayed. Here you can choose which peripheral(s) emulate. If
|
||||
you press "Config" another window will pop up. Here can set which
|
||||
device you'd like to use at the top of the window. Control
|
||||
settings can be changed by clicking on the equivalent button, and
|
||||
then when a new window pops up that says "waiting for input..."
|
||||
press a key/button and that will set the new setting for that
|
||||
control.
|
||||
|
||||
Log Settings__________________________________________________
|
||||
|
||||
If you've compiled your own copy of Yabause with the processor
|
||||
define DEBUG, another tab will be available called "Log". This
|
||||
allows you to control whether or not the program should be
|
||||
logging emulation output using the "Enable Logging" setting. Log
|
||||
Type tells the program whether it should write the output to a
|
||||
file, or to a separate window so you can monitor the output while
|
||||
you're running the program.
|
||||
|
||||
Here are the default key mappings(they may be subject to change):
|
||||
Up arrow - Up
|
||||
Left arrow - Left
|
||||
Down arrow - Down
|
||||
right arrow - Right
|
||||
k - A button
|
||||
l - B button
|
||||
m - C button
|
||||
u - X button
|
||||
i - Y button
|
||||
o - Z button
|
||||
x - Left Trigger
|
||||
z - Right Trigger
|
||||
j - Start button
|
||||
q - Quit program
|
||||
F1 - Toggle FPS display
|
||||
Alt-Enter - Toggle fullscreen/window mode
|
||||
` - Enable Speed Throttle
|
||||
1 - Toggle VDP2 NBG0 display
|
||||
2 - Toggle VDP2 NBG1 display
|
||||
3 - Toggle VDP2 NBG2 display
|
||||
4 - Toggle VDP2 NBG3 display
|
||||
5 - Toggle VDP2 RBG0 display
|
||||
6 - Toggle VDP1 display
|
||||
F2 - Load State from slot 1
|
||||
F3 - Load State from slot 2
|
||||
F4 - Load State from slot 3
|
||||
F5 - Load State from slot 4
|
||||
F6 - Load State from slot 5
|
||||
F7 - Load State from slot 6
|
||||
F8 - Load State from slot 7
|
||||
F9 - Load State from slot 8
|
||||
F10 - Load State from slot 9
|
||||
Shift-F2 - Save State to slot 1
|
||||
Shift-F3 - Save State to slot 2
|
||||
Shift-F4 - Save State to slot 3
|
||||
Shift-F5 - Save State to slot 4
|
||||
Shift-F6 - Save State to slot 5
|
||||
Shift-F7 - Save State to slot 6
|
||||
Shift-F8 - Save State to slot 7
|
||||
Shift-F9 - Save State to slot 8
|
||||
Shift-F10 - Save State to slot 9
|
||||
|
||||
Command-line Options__________________________________________
|
||||
|
||||
You can also run the program using command-line options. To see a
|
||||
full list, run "yabause --help" in the command prompt.
|
||||
|
||||
|
||||
3 Contact information_________________________________________
|
||||
|
||||
General inquiries should go to:
|
||||
E-mail: guillaume@yabause.org
|
||||
E-mail: cwx@cyberwarriorx.com
|
||||
|
||||
Windows Port-related inquiries should go to:
|
||||
E-mail: cwx@cyberwarriorx.com
|
||||
|
||||
Web: http://yabause.org
|
||||
|
||||
Please don't ask for roms, bios files or any other copyrighted
|
||||
stuff. Please use the forum when you have any questions if
|
||||
possible.
|
||||
|
||||
|
||||
4 Disclaimer__________________________________________________
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be
|
||||
useful,but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301 USA
|
||||
|
||||
See the GNU General Public License details in COPYING.
|
|
@ -1 +0,0 @@
|
|||
Everything moved to sourceforge trackers.
|
|
@ -1,34 +0,0 @@
|
|||
AC_DEFUN([YAB_CHECK_HOST_TOOLS],
|
||||
[
|
||||
AC_CHECK_TOOLS([$1], [$2])
|
||||
if test `expr x$[$1] : x$host_alias` -eq 0 ; then
|
||||
[$1]=""
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([YAB_DEP_DISABLED],
|
||||
[
|
||||
depdisabled=no
|
||||
for i in $ac_configure_args ; do
|
||||
if test $i = "'--disable-dependency-tracking'" ; then
|
||||
depdisabled=yes
|
||||
fi
|
||||
done
|
||||
if test "$depdisabled" = "no" ; then
|
||||
AC_MSG_ERROR([You must disable dependency tracking
|
||||
run the configure script again with --disable-dependency-tracking])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([YAB_LINK_MINI18N],
|
||||
[
|
||||
AC_ARG_ENABLE(static-mini18n,
|
||||
AC_HELP_STRING(--enable-static-mini18n, Use a static dependency on mini18n),
|
||||
[use_static_mini18n=$enableval])
|
||||
if test "x$use_static_mini18n" = "xyes" ; then
|
||||
LIBS="-Wl,-Bstatic -lmini18n -Wl,-Bdynamic $LIBS"
|
||||
else
|
||||
LIBS="-lmini18n $LIBS"
|
||||
fi
|
||||
AC_DEFINE(HAVE_LIBMINI18N)
|
||||
])
|
|
@ -1,2 +0,0 @@
|
|||
aclocal && autoconf && automake --add-missing --copy
|
||||
cd src/c68k && aclocal && autoconf && automake
|
|
@ -1,57 +0,0 @@
|
|||
# Copyright 2006 Guillaume Duhamel
|
||||
# Copyright 2006 Fabien Coulon
|
||||
#
|
||||
# This file is part of Yabause.
|
||||
#
|
||||
# Yabause is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Yabause is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Yabause; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
# -*-shell-script-*-
|
||||
|
||||
[Meta]
|
||||
RootName: @yabause.org/yabause:$SOFTWAREVERSION
|
||||
DisplayName: Yabause Sega Saturn Emulator
|
||||
ShortName: yabause
|
||||
Maintainer: Guillaume Duhamel <guillaume@yabause.org>
|
||||
Packager: Guillaume Duhamel <guillaume@yabause.org>
|
||||
Summary: Yabause is a Sega Saturn emulator.
|
||||
URL: http://yabause.org/
|
||||
License: GNU General Public License, Version 2
|
||||
SoftwareVersion: @VERSION@
|
||||
AutopackageTarget: 1.0
|
||||
|
||||
[Description]
|
||||
This is a Sega Saturn emulator.
|
||||
|
||||
[BuildPrepare]
|
||||
prepareBuild --enable-static-mini18n CFLAGS='-D_FORTIFY_SOURCE=0'
|
||||
|
||||
[BuildUnprepare]
|
||||
unprepareBuild
|
||||
|
||||
[Imports]
|
||||
echo '*' | import
|
||||
|
||||
[Prepare]
|
||||
# Dependency checking
|
||||
require @gtk.org/gtk 2.4
|
||||
|
||||
[Install]
|
||||
# Put your installation script here
|
||||
installExe bin/yabause
|
||||
installDesktop "Game" share/applications/yabause.desktop
|
||||
installData share/yabause
|
||||
|
||||
[Uninstall]
|
||||
# Usually just the following line is enough to uninstall everything
|
||||
uninstallFromLog
|
|
@ -1,616 +0,0 @@
|
|||
AC_INIT(yabause, 0.9.10)
|
||||
|
||||
if test "x$host_alias" = "xpowerpc-gekko" ; then
|
||||
config_guess_sucks=$host_alias
|
||||
host_alias=powerpc
|
||||
elif test "x$host_alias" = "xpsp" ; then
|
||||
config_guess_sucks=$host_alias
|
||||
host_alias=mips
|
||||
fi
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AC_CANONICAL_TARGET
|
||||
|
||||
if test ! "x$config_guess_sucks" = "x" ; then
|
||||
host_alias=$config_guess_sucks
|
||||
fi
|
||||
|
||||
# hack to reset host_alias when we're not cross compiling
|
||||
if test "x$host_alias" = "x$build_alias"; then
|
||||
host_alias=
|
||||
fi
|
||||
|
||||
AM_INIT_AUTOMAKE([1.8.0])
|
||||
|
||||
AC_PROG_RANLIB
|
||||
|
||||
# Check for --host=psp now because we need to get the PSP SDK directory and
|
||||
# set linker flags/libraries
|
||||
if test "x$host_alias" = "xpsp" ; then
|
||||
AC_MSG_CHECKING([for PSPSDK])
|
||||
if test -z "$PSPSDK"; then
|
||||
saved_IFS=$IFS
|
||||
IFS=$PATH_SEPARATOR
|
||||
for dir in $PATH; do
|
||||
IFS=$saved_IFS
|
||||
test -z "$dir" && dir=.
|
||||
if test -x "$dir/psp-config"; then
|
||||
PSPSDK=`"$dir/psp-config" -p`
|
||||
test -n "$PSPSDK" && break
|
||||
fi
|
||||
done
|
||||
IFS=$saved_IFS
|
||||
fi
|
||||
if test -n "$PSPSDK"; then
|
||||
AC_MSG_RESULT([$PSPSDK])
|
||||
else
|
||||
AC_MSG_RESULT([not found])
|
||||
AC_MSG_ERROR([Please set the PSPSDK variable])
|
||||
fi
|
||||
CFLAGS="-G0 -falign-functions=16 -I$PSPSDK/include -DNO_CLI $CFLAGS"
|
||||
LDFLAGS="-specs=$PSPSDK/lib/prxspecs -Wl,-q,-T$PSPSDK/lib/linkfile.prx -L$PSPSDK/lib $LDFLAGS"
|
||||
LIBS="$LIBS -lm -lc -lpspaudio -lpspctrl -lpspdisplay -lpspgu -lpspge -lpsppower -lpsputility -lpspuser"
|
||||
fi
|
||||
|
||||
AC_PROG_CC
|
||||
|
||||
if test `expr x$CC : x$host_alias` -eq 0 ; then
|
||||
AC_MSG_ERROR([$CC is not a cross compiler and we're cross-compiling.])
|
||||
fi
|
||||
|
||||
AC_PROG_CPP
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AC_LANG(C)
|
||||
AC_LANG(C++)
|
||||
|
||||
AC_C_BIGENDIAN
|
||||
|
||||
AM_PROG_CC_C_O
|
||||
AM_PROG_AS
|
||||
|
||||
# Check what kind of CPU we're running on
|
||||
case "$target_cpu" in
|
||||
x86|i?86) yabause_cpu=x86; AC_DEFINE(CPU_X86);;
|
||||
x86_64|amd64) yabause_cpu=x64; AC_DEFINE(CPU_X64);;
|
||||
armv7*) yabause_cpu=arm; AC_DEFINE(CPU_ARM);;
|
||||
*) if test "$host_alias" = psp; then
|
||||
yabause_cpu=psp; AC_DEFINE(CPU_PSP)
|
||||
else
|
||||
yabause_cpu=unknown
|
||||
fi;;
|
||||
esac
|
||||
|
||||
|
||||
#################################################################################
|
||||
# #
|
||||
# phase 1, we're checking for things that could be used by Yabause library #
|
||||
# #
|
||||
#################################################################################
|
||||
|
||||
# checking for gettimeofday
|
||||
AC_CHECK_HEADERS([sys/time.h])
|
||||
AC_CHECK_FUNCS([gettimeofday])
|
||||
|
||||
# checking for floorf (C99 single-precision math)
|
||||
OLDLIBS="$LIBS"
|
||||
LIBS="$LIBS -lm"
|
||||
AC_CHECK_FUNCS([floorf])
|
||||
LIBS="$OLDLIBS"
|
||||
|
||||
# checking for mini18n
|
||||
if test ! "x$MINI18N" = "x" ; then
|
||||
OLDCPPFLAGS="$CPPFLAGS"
|
||||
OLDLDFLAGS="$LDFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$MINI18N/include"
|
||||
LDFLAGS="$LDFLAGS -L$MINI18N/lib"
|
||||
|
||||
AC_CHECK_LIB(mini18n, mini18n, [YAB_LINK_MINI18N], [
|
||||
CPPFLAGS="$OLDCPPFLAGS"
|
||||
LDFLAGS="$OLDLDFLAGS"
|
||||
])
|
||||
else
|
||||
AC_CHECK_LIB(mini18n, mini18n, [YAB_LINK_MINI18N])
|
||||
fi
|
||||
|
||||
# checking for variadic macros
|
||||
AC_MSG_CHECKING([[whether the compiled supports c99 variadic macros]])
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[#define MACRO(...) puts(__VA_ARGS__)]], [[MACRO("foo");]]),
|
||||
AC_DEFINE(HAVE_C99_VARIADIC_MACROS)
|
||||
AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
|
||||
|
||||
# checking for SDL (can be used for sound and input)
|
||||
use_sdl=yes
|
||||
AC_ARG_WITH(sdl, AC_HELP_STRING(--without-sdl, don't use SDL), [use_sdl=$withval])
|
||||
|
||||
if test x$use_sdl = xyes ; then
|
||||
case $host in
|
||||
*darwin*)
|
||||
OLDLDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -framework SDL"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
int t(void) { return 0; }
|
||||
]],[[
|
||||
int foo = t();
|
||||
]])],[AC_DEFINE(HAVE_LIBSDL)
|
||||
SDL_LIBS="-framework SDL"], [])
|
||||
LDFLAGS="$OLDLDFLAGS"
|
||||
;;
|
||||
*)
|
||||
YAB_CHECK_HOST_TOOLS(HAVE_LIBSDL, [sdl-config sdl11-config])
|
||||
|
||||
if test ! x$HAVE_LIBSDL = x ; then
|
||||
SDL_CFLAGS=`$HAVE_LIBSDL --cflags`
|
||||
SDL_LIBS=`$HAVE_LIBSDL --libs`
|
||||
AC_DEFINE(HAVE_LIBSDL)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
CFLAGS="$CFLAGS $SDL_CFLAGS"
|
||||
LIBS="$LIBS $SDL_LIBS"
|
||||
fi
|
||||
|
||||
# checking for OpenGL (most ports needs it for video)
|
||||
use_opengl=yes
|
||||
AC_ARG_WITH(opengl, AC_HELP_STRING(--without-opengl, don't use OpenGL), [use_opengl=$withval])
|
||||
|
||||
if test x$use_opengl = xyes ; then
|
||||
case $host in
|
||||
*darwin*)
|
||||
LIBS="$LIBS -framework OpenGL"
|
||||
AC_DEFINE(HAVE_LIBGL)
|
||||
;;
|
||||
*cygwin* | *mingw32*)
|
||||
YAB_LIBS="$YAB_LIBS -lopengl32 -lglut32"
|
||||
AC_DEFINE(HAVE_LIBGL)
|
||||
;;
|
||||
*linux* | *bsd*)
|
||||
AC_PATH_XTRA
|
||||
LIBS="$LIBS $X_LIBS"
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
|
||||
AC_CHECK_LIB(GL, glEnable, [
|
||||
LIBS="$LIBS -lGL"
|
||||
AC_DEFINE(HAVE_LIBGL)
|
||||
],, $LIBS)
|
||||
AC_CHECK_LIB(glut, glutGetModifiers,[
|
||||
LIBS="$LIBS -lglut"
|
||||
AC_DEFINE(HAVE_LIBGLUT)],, $LIBS)
|
||||
AC_CHECK_FUNC(glXGetProcAddress, AC_DEFINE(HAVE_GLXGETPROCADDRESS))
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(GL, glEnable, [
|
||||
LIBS="$LIBS -lGL"
|
||||
AC_DEFINE(HAVE_LIBGL)
|
||||
],, $LIBS)
|
||||
AC_CHECK_LIB(glut, glutGetModifiers,[
|
||||
LIBS="$LIBS -lglut"
|
||||
AC_DEFINE(HAVE_LIBGLUT)],, $LIBS)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# checking for OpenAL (can be used for sound)
|
||||
use_openal=yes
|
||||
AC_ARG_WITH(openal, AC_HELP_STRING(--without-openal, "don't use OpenAL"), [use_openal=$withval])
|
||||
|
||||
if test x$use_openal = xyes ; then
|
||||
case $host in
|
||||
*darwin*)
|
||||
LIBS="$LIBS -framework OpenAL"
|
||||
AC_DEFINE(HAVE_LIBAL)
|
||||
;;
|
||||
*mingw32*)
|
||||
# The OpenAL sound code uses Pthreads at the moment, so MinGW
|
||||
# won't work right now.
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(pthread, main)
|
||||
AC_CHECK_LIB(openal, alBufferData, [
|
||||
LIBS="$LIBS -lopenal"
|
||||
AC_DEFINE(HAVE_LIBAL)
|
||||
],, $LIBS)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# platform-specific features
|
||||
case $host in
|
||||
*darwin*)
|
||||
yabause_arch=macosx
|
||||
AC_DEFINE([ARCH_IS_MACOSX])
|
||||
LIBS="$LIBS -framework CoreFoundation -framework IOKit"
|
||||
major=`expr $host_os : "darwin\(@<:@^.@:>@*\)"`
|
||||
if test $major -ge 7 ; then
|
||||
sdkversion=0
|
||||
sdkfile=""
|
||||
for i in /Developer/SDKs/MacOSX10.*.sdk; do
|
||||
j=`expr $i : "/Developer/SDKs/MacOSX10.\(.\).*.sdk"`
|
||||
if test $j -gt $sdkversion ; then
|
||||
sdkversion=$j
|
||||
sdkfile=$i
|
||||
fi
|
||||
done
|
||||
AC_ARG_WITH([sdk], AC_HELP_STRING(--with-sdk, [choose your sdk (macosx only)]), [sdkfile=$withval])
|
||||
|
||||
YAB_DEP_DISABLED
|
||||
|
||||
CFLAGS="$CFLAGS -mmacosx-version-min=10.3 -isysroot $sdkfile -arch i386 -arch ppc"
|
||||
LDFLAGS="$LDFLAGS -Wl,-macosx_version_min,10.3 -arch i386 -arch ppc"
|
||||
AC_DEFINE(MAC_OS_X_VERSION_MAX_ALLOWED, MAC_OS_X_VERSION_10_3)
|
||||
fi
|
||||
;;
|
||||
*linux*)
|
||||
yabause_arch=linux
|
||||
LIBS="$LIBS -lm"
|
||||
AC_DEFINE([ARCH_IS_LINUX])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/cdrom.h>]], [[int i = CDSL_CURRENT;]])],
|
||||
[],
|
||||
[AC_DEFINE(LINUX_CDROM_H_IS_BROKEN)])
|
||||
;;
|
||||
*cygwin*)
|
||||
yabause_arch=windows
|
||||
AC_DEFINE([ARCH_IS_WINDOWS])
|
||||
AC_DEFINE(_WIN32_IE, 0x0500)
|
||||
;;
|
||||
*mingw32*)
|
||||
yabause_arch=windows
|
||||
AC_DEFINE([ARCH_IS_WINDOWS])
|
||||
AC_CHECK_HEADERS("wnaspi32.h", [], [], [#include <windows.h>])
|
||||
AC_DEFINE(_WIN32_IE, 0x0500)
|
||||
;;
|
||||
*freebsd*)
|
||||
yabause_arch=freebsd
|
||||
AC_DEFINE([ARCH_IS_FREEBSD])
|
||||
;;
|
||||
*netbsd* | *openbsd*)
|
||||
yabause_arch=netbsd
|
||||
AC_DEFINE([ARCH_IS_NETBSD])
|
||||
;;
|
||||
*)
|
||||
case $host_alias in
|
||||
psp)
|
||||
yabause_arch=psp
|
||||
;;
|
||||
*)
|
||||
yabause_arch="."
|
||||
AC_DEFINE(UNKNOWN_ARCH)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# users can turn c68k compilation off (forced off on PSP)
|
||||
if test "x$yabause_arch" = "xpsp"; then
|
||||
compile_c68k=no
|
||||
else
|
||||
compile_c68k=yes
|
||||
fi
|
||||
AC_ARG_WITH(c68k, AC_HELP_STRING(--without-c68k, don't compile C68k), [compile_c68k=$withval])
|
||||
if test x$compile_c68k = xyes ; then
|
||||
if test "x$yabause_arch" = "xpsp"; then
|
||||
AC_MSG_ERROR([c68k is not supported on PSP])
|
||||
fi
|
||||
AC_DEFINE(HAVE_C68K)
|
||||
fi
|
||||
AM_CONDITIONAL(COMPILE_C68K, test x$compile_c68k = xyes)
|
||||
|
||||
# Q68 emulator is optional (but required on PSP)
|
||||
if test "x$yabause_arch" = "xpsp"; then
|
||||
compile_q68=yes
|
||||
else
|
||||
compile_q68=no
|
||||
fi
|
||||
AC_ARG_WITH(q68, AC_HELP_STRING(--with-q68, [include Q68 68k emulator (requires a C99-compliant compiler like GCC)]), [compile_q68=$withval])
|
||||
if test "x$compile_q68" = "xyes"; then
|
||||
AC_DEFINE(HAVE_Q68)
|
||||
elif test "x$yabause_arch" = "xpsp"; then
|
||||
AC_MSG_ERROR([Q68 is required on PSP])
|
||||
fi
|
||||
AM_CONDITIONAL(COMPILE_Q68, test "x$compile_q68" = "xyes")
|
||||
|
||||
# JIT for Q68 can be disabled (and is automatically disabled on unsupported
|
||||
# systems)
|
||||
q68_use_jit=maybe
|
||||
AC_ARG_ENABLE(q68-jit, AC_HELP_STRING(--disable-q68-jit, [disable dynamic (Just-In-Time) translation for Q68]), [q68_use_jit=$enableval])
|
||||
case $yabause_cpu in
|
||||
x86|x64|psp)
|
||||
if test "x$q68_use_jit" = "xmaybe"; then
|
||||
q68_use_jit=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if test "x$q68_use_jit" = "xyes"; then
|
||||
AC_MSG_ERROR([Q68 dynamic translation is not supported on this CPU]);
|
||||
elif test "x$q68_use_jit" = "xmaybe"; then
|
||||
AC_MSG_WARN([Disabling Q68 dynamic translation (not supported on this CPU)]);
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "x$q68_use_jit" = "xyes"; then
|
||||
AC_DEFINE(Q68_USE_JIT)
|
||||
fi
|
||||
AM_CONDITIONAL([Q68_USE_JIT], test "x$q68_use_jit" = "xyes")
|
||||
|
||||
# Allow disabling of dynarec
|
||||
AC_ARG_ENABLE(dynarec, AC_HELP_STRING(--disable-dynarec, [Disable dynarec core]), [], [use_dynarec=yes])
|
||||
|
||||
if test "x$use_dynarec" = "xyes"; then
|
||||
AC_DEFINE(USE_DYNAREC)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([USE_DYNAREC], test "x$use_dynarec" = "xyes")
|
||||
|
||||
#################################################################################
|
||||
# #
|
||||
# phase 2, we're done with Yabause library, now we're tring to configure ports #
|
||||
# #
|
||||
#################################################################################
|
||||
|
||||
# qt
|
||||
AC_PATH_PROGS(HAVE_QMAKE, [qmake-qt4 qmake])
|
||||
|
||||
if test ! x$HAVE_QMAKE = x ; then
|
||||
yabause_available_yuis="qt $yabause_available_yuis"
|
||||
fi
|
||||
|
||||
# gtk
|
||||
want_gtk=yes
|
||||
AC_ARG_WITH(gtk, AC_HELP_STRING(--without-gtk, don't try to configure the gtk port), [want_gtk=$withval])
|
||||
|
||||
YAB_CHECK_HOST_TOOLS(HAVE_PKG, [pkg-config])
|
||||
if test ! x$HAVE_PKG = x ; then
|
||||
if test "x$want_gtk" = "xyes" && `$HAVE_PKG gtk+-2.0` ; then
|
||||
if test "x$use_opengl" = "xyes" ; then
|
||||
if `$HAVE_PKG gtkglext-1.0` ; then
|
||||
yabause_available_yuis="gtk $yabause_available_yuis"
|
||||
YUI_gtk_CFLAGS=`$HAVE_PKG gtkglext-1.0 --cflags`
|
||||
YUI_gtk_LIBS=`$HAVE_PKG gtkglext-1.0 --libs`
|
||||
AC_DEFINE(HAVE_LIBGTKGLEXT)
|
||||
else
|
||||
AC_MSG_NOTICE([Found OpenGL and Gtk+ but not libgtkglext.])
|
||||
AC_MSG_NOTICE([You can either:])
|
||||
AC_MSG_NOTICE([- install libgtkglext to compile a gtk port with OpenGL support])
|
||||
AC_MSG_NOTICE([- re-run configure with --without-opengl flag to compile a gtk port without OpenGL support])
|
||||
AC_MSG_NOTICE([- re-run configure with --without-gtk flag to disable gtk port compilation])
|
||||
AC_MSG_ERROR([Can't go further, please install libgtkglext or re-run configure with --without-opengl or --without-gtk])
|
||||
fi
|
||||
else
|
||||
yabause_available_yuis="gtk $yabause_available_yuis"
|
||||
YUI_gtk_CFLAGS=`$HAVE_PKG gtk+-2.0 --cflags`
|
||||
YUI_gtk_LIBS=`$HAVE_PKG gtk+-2.0 --libs`
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# carbon
|
||||
OLDLDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -framework Carbon"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
int t(void) { return 0; }
|
||||
]],[[
|
||||
int foo = t();
|
||||
]])],[YUI_carbon_LIBS="-framework Carbon -framework AGL"
|
||||
yabause_available_yuis="carbon $yabause_available_yuis"], [])
|
||||
LDFLAGS="$OLDLDFLAGS"
|
||||
|
||||
# windows
|
||||
YAB_CHECK_HOST_TOOLS(WINDRES, [windres])
|
||||
AC_CHECK_HEADER([windows.h], [yabause_available_yuis="windows $yabause_available_yuis"], [])
|
||||
|
||||
# wii
|
||||
if test "x$host_alias" = "xpowerpc-gekko" ; then
|
||||
if test \( "x$LIBOGC" = "x" \) -a \( ! "x$DEVKITPRO" = "x" \) ; then
|
||||
LIBOGC="$DEVKITPRO/libogc"
|
||||
fi
|
||||
if test "x$LIBOGC" = "x" ; then
|
||||
AC_MSG_ERROR([Please set the LIBOGC variable])
|
||||
else
|
||||
CPPFLAGS="-I$LIBOGC/include $CPPFLAGS"
|
||||
LDFLAGS="-L$LIBOGC/lib/wii $LDFLAGS"
|
||||
CFLAGS="-mrvl -mcpu=750 -meabi -mhard-float $CFLAGS"
|
||||
LIBS="-lfat -lwiiuse -lbte -logc -lm $LIBS"
|
||||
fi
|
||||
|
||||
AC_DEFINE(GEKKO)
|
||||
|
||||
yabause_available_yuis="wii"
|
||||
fi
|
||||
|
||||
# PSP
|
||||
if test "x$host_alias" = "xpsp" ; then
|
||||
AC_DEFINE(PSP)
|
||||
yabause_available_yuis="psp"
|
||||
fi
|
||||
|
||||
# adding . as a fallback when no other port is available
|
||||
yabause_available_yuis="$yabause_available_yuis ."
|
||||
|
||||
yabause_yui=`echo $yabause_available_yuis | cut -d\ -f1`
|
||||
|
||||
AC_ARG_WITH([port], AC_HELP_STRING(--with-port, choose your port), [yabause_manual_yui=$withval])
|
||||
for yabause_available_yui in $yabause_available_yuis; do
|
||||
if test x$yabause_available_yui = x$yabause_manual_yui; then
|
||||
yabause_yui=$yabause_manual_yui
|
||||
fi
|
||||
done
|
||||
|
||||
if ! test "x$yabause_yui" = "x." ; then
|
||||
eval YAB_CFLAGS=\$YUI_${yabause_yui}_CFLAGS
|
||||
eval YAB_LIBS=\$YUI_${yabause_yui}_LIBS
|
||||
AC_SUBST(YAB_CFLAGS)
|
||||
AC_SUBST(YAB_LIBS)
|
||||
fi
|
||||
|
||||
AC_SUBST(yabause_yui)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(debug, AC_HELP_STRING(--enable-debug, enable general debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(DEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(vdp1-debug, AC_HELP_STRING(--enable-vdp1-debug, enable vdp1 debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(VDP1_DEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(vdp2-debug, AC_HELP_STRING(--enable-vdp2-debug, enable vdp2 debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(VDP2_DEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(cd-debug, AC_HELP_STRING(--enable-cd-debug, enable cdblock debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(CDDEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(smpc-debug, AC_HELP_STRING(--enable-smpc-debug, enable smpc debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(SMPC_DEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(scsp-debug, AC_HELP_STRING(--enable-scsp-debug, enable scsp debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(SCSP_DEBUG)
|
||||
fi])
|
||||
AC_ARG_ENABLE(idle-debug, AC_HELP_STRING(--enable-idle-debug, enable idle cpu debug information) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(IDLE_DETECT_VERBOSE)
|
||||
fi])
|
||||
AC_ARG_ENABLE(mic-shaders, AC_HELP_STRING(--enable-mic-shaders, enable OpenGL shaders for gouraud and mesh) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(USEMICSHADERS)
|
||||
fi])
|
||||
AC_ARG_ENABLE(network, AC_HELP_STRING(--enable-network, enable network) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(USESOCKET)
|
||||
fi])
|
||||
AC_ARG_ENABLE(perkeyname, AC_HELP_STRING(--enable-perkeyname, use peripheral key name callback) ,
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(PERKEYNAME)
|
||||
fi])
|
||||
AC_ARG_ENABLE(exec-from-cache, AC_HELP_STRING(--enable-exec-from-cache, [allow code execution from 0xC0000000]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(EXEC_FROM_CACHE)
|
||||
fi])
|
||||
AC_ARG_ENABLE(optimized-dma, AC_HELP_STRING(--enable-optimized-dma, [use optimized DMA when possible]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(OPTIMIZED_DMA)
|
||||
fi])
|
||||
AC_ARG_ENABLE(new-scsp, AC_HELP_STRING(--enable-new-scsp, [enable experimental new SCSP implementation]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE(USE_SCSP2)
|
||||
fi])
|
||||
AM_CONDITIONAL([USE_SCSP2], [test "${enable_new_scsp}" = "yes"])
|
||||
|
||||
|
||||
#### PSP options
|
||||
|
||||
AC_ARG_ENABLE(psp-debug, AC_HELP_STRING(--enable-psp-debug, [enable PSP debugging output]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE([PSP_DEBUG])
|
||||
fi])
|
||||
|
||||
AC_ARG_ENABLE(psp-profile, AC_HELP_STRING(--enable-psp-profile, [enable profiling on PSP port]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE([SYS_PROFILE_H], ["psp/profile.h"])
|
||||
fi])
|
||||
|
||||
AC_ARG_WITH(psp-me-test, AC_HELP_STRING(--with-psp-me-test, [build ME library test program]))
|
||||
AM_CONDITIONAL([BUILD_ME_TEST], [test "${with_psp_me_test}" = "yes"])
|
||||
|
||||
AC_ARG_ENABLE(debug-psp-sh2, AC_HELP_STRING(--enable-debug-psp-sh2, [include PSP SH-2 core for testing]),
|
||||
[if test "x$enableval" = "xyes" ; then
|
||||
AC_DEFINE([TEST_PSP_SH2])
|
||||
fi])
|
||||
AM_CONDITIONAL([TEST_PSP_SH2], [test "${enable_debug_psp_sh2}" = "yes"])
|
||||
|
||||
### End PSP options
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
l10n/Makefile
|
||||
doc/Doxyfile
|
||||
src/Makefile
|
||||
src/carbon/Makefile
|
||||
src/dreamcast/Makefile
|
||||
src/gtk/Makefile
|
||||
src/gtk/doc/Makefile
|
||||
src/psp/Makefile
|
||||
src/qt/Makefile
|
||||
src/qt/yabause.pro
|
||||
src/qt/doc/Makefile
|
||||
src/wii/Makefile
|
||||
src/windows/Makefile
|
||||
autopackage/default.apspec
|
||||
])
|
||||
if test x$yabause_yui = xqt ; then
|
||||
case $host in
|
||||
*mingw*)
|
||||
case $build in
|
||||
*linux*)
|
||||
qmake_spec="-win32 -spec mkspecs/win32-x11-g++"
|
||||
;;
|
||||
*darwin*)
|
||||
qmake_spec="-win32 -spec mkspecs/win32-osx-g++"
|
||||
;;
|
||||
*)
|
||||
if test "x$cross_compiling" = "xyes" ; then
|
||||
AC_MSG_ERROR([cross-compiling $host port on $build is not supported yet])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*darwin*)
|
||||
case $build in
|
||||
*darwin*)
|
||||
qmake_spec="-spec macx-g++"
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([cross-compiling $host port on $build is not supported yet])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
if test "x$cross_compiling" = "xyes" ; then
|
||||
AC_MSG_ERROR([cross-compiling $host port on $build is not supported yet])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_CONFIG_FILES([src/qt/Makefile.qmake:src/qt/yabause.pro],
|
||||
[( cd src/qt && $QMAKE yabause.pro $QMAKE_SPEC -o Makefile.qmake )],
|
||||
[QMAKE=$HAVE_QMAKE QMAKE_SPEC="$qmake_spec"])
|
||||
fi
|
||||
|
||||
AC_CONFIG_COMMANDS([src/c68k/Makefile], [( cd src/c68k/ && $CONFIG_SHELL ${ac_srcdir}/configure )])
|
||||
|
||||
AM_CONDITIONAL([YUI_IS_CARBON], [test ${yabause_yui} = "carbon"])
|
||||
AM_CONDITIONAL([YUI_IS_DREAMCAST], [test ${yabause_yui} = "dreamcast"])
|
||||
AM_CONDITIONAL([YUI_IS_GTK], [test ${yabause_yui} = "gtk"])
|
||||
AM_CONDITIONAL([YUI_IS_PSP], [test ${yabause_yui} = "psp"])
|
||||
AM_CONDITIONAL([YUI_IS_QT], [test ${yabause_yui} = "qt"])
|
||||
AM_CONDITIONAL([YUI_IS_WII], [test ${yabause_yui} = "wii"])
|
||||
AM_CONDITIONAL([YUI_IS_WINDOWS], [test ${yabause_yui} = "windows"])
|
||||
|
||||
AM_CONDITIONAL([ARCH_IS_FREEBSD], [test ${yabause_arch} = "freebsd"])
|
||||
AM_CONDITIONAL([ARCH_IS_LINUX], [test ${yabause_arch} = "linux"])
|
||||
AM_CONDITIONAL([ARCH_IS_MACOSX], [test ${yabause_arch} = "macosx"])
|
||||
AM_CONDITIONAL([ARCH_IS_NETBSD], [test ${yabause_arch} = "netbsd"])
|
||||
AM_CONDITIONAL([ARCH_IS_WINDOWS], [test ${yabause_arch} = "windows"])
|
||||
|
||||
AM_CONDITIONAL([CPU_IS_ARM], [test ${yabause_cpu} = "arm"])
|
||||
AM_CONDITIONAL([CPU_IS_X86], [test ${yabause_cpu} = "x86"])
|
||||
AM_CONDITIONAL([CPU_IS_X64], [test ${yabause_cpu} = "x64"])
|
||||
AM_CONDITIONAL([CPU_IS_PSP], [test ${yabause_cpu} = "psp"])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
echo "=================="
|
||||
echo "WARNING"
|
||||
echo
|
||||
echo "Compiling Yabause with autootols is deprecated"
|
||||
echo
|
||||
echo "Please use CMake instead"
|
||||
echo
|
||||
echo "=================="
|
||||
echo "configure report"
|
||||
echo
|
||||
echo "available ports: $yabause_available_yuis"
|
||||
echo "selected port: $yabause_yui"
|
||||
echo "=================="
|
|
@ -1,11 +0,0 @@
|
|||
project(yabause-doc)
|
||||
|
||||
find_package(Doxygen)
|
||||
if(DOXYGEN_FOUND)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
||||
add_custom_target(doc
|
||||
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating documentation with Doxygen" VERBATIM
|
||||
)
|
||||
endif(DOXYGEN_FOUND)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,13 +0,0 @@
|
|||
project(yabause-l10n)
|
||||
|
||||
set(LANGS de es fr it lt pt pt_BR sv)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
foreach(LANG ${LANGS})
|
||||
install(FILES "yabause_${LANG}.yts" DESTINATION "share/yabause/yts" RENAME "${LANG}.yts")
|
||||
endforeach()
|
||||
elseif (WIN32)
|
||||
foreach(LANG ${LANGS})
|
||||
install(FILES "yabause_${LANG}.yts" DESTINATION "trans" RENAME "${LANG}.yts")
|
||||
endforeach()
|
||||
endif ()
|
|
@ -1,19 +0,0 @@
|
|||
LANGS=de es fr it lt pt pt_BR sv
|
||||
|
||||
dist-hook:
|
||||
@for l in $(LANGS) ; do \
|
||||
cp -p "$(srcdir)/$(PACKAGE)_$$l.yts" "$(distdir)/$(PACKAGE)_$$l.yts" ; \
|
||||
done
|
||||
|
||||
install-data-hook:
|
||||
test -z "$(DESTDIR)$(datadir)/$(PACKAGE)/yts" || $(MKDIR_P) "$(DESTDIR)$(datadir)/$(PACKAGE)/yts"
|
||||
@for l in $(LANGS) ; do \
|
||||
echo " $(INSTALL_DATA) $(PACKAGE)_$$l.yts $(DESTDIR)$(datadir)/$(PACKAGE)/yts/$$l.yts" ; \
|
||||
$(INSTALL_DATA) "$(srcdir)/$(PACKAGE)_$$l.yts" "$(DESTDIR)$(datadir)/$(PACKAGE)/yts/$$l.yts" ; \
|
||||
done
|
||||
|
||||
uninstall-hook:
|
||||
@for l in $(LANGS) ; do \
|
||||
echo " rm -f $(DESTDIR)$(datadir)/$(PACKAGE)/yts/$$l.yts" ; \
|
||||
rm -f "$(DESTDIR)$(datadir)/$(PACKAGE)/yts/$$l.yts" ; \
|
||||
done
|
|
@ -1,195 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 blöcke frei
|
||||
%1 Images (*.%2)|Bilder %1 (*.%2)
|
||||
503/512 blocks free|503/512 blöcke frei
|
||||
510/512 blocks free|510/512 blöcke frei
|
||||
About...|Über...
|
||||
&About...|&Ü Über...
|
||||
About|Über
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Action Replay Code :
|
||||
Add Action Replay Code|Action Replay Code zufügen
|
||||
Add Codes...|Codes zufügen...
|
||||
Add Raw Memory Code|Raw Memory Code zufügen
|
||||
Address :|Adresse :
|
||||
Advanced|Sonstiges
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|Sind Sie sicher, dass Sie '%1' löschen möchten ?
|
||||
Are you sure you want to format '%1' ?|Sind Sie sicher, dass Sie '%1' formatieren möchten ?
|
||||
Backup Manager|Backup Manager
|
||||
Backup Manager...|Backup Manager...
|
||||
&Backup Ram Manager|&Backup Ram Manager
|
||||
Backup Ram Manager|Backup Ram Manager
|
||||
Bios|Bios
|
||||
Block Size :|Blockgröße :
|
||||
&Browse|&Browse
|
||||
Browse|Suchen
|
||||
Byte Write|Byte schreiben
|
||||
Cancel|Abbrechen
|
||||
Cannot initialize|Initialisierung fehlgeschlagen
|
||||
&Capture Screen|&Capture Screen
|
||||
Cart/Memory|Cartridge/Speicher
|
||||
Cartridge|Cartridge
|
||||
CD Images (*.iso *.cue *.bin)|CD Images (*.iso *.cue *.bin)
|
||||
Cd-Rom|Cd-Rom
|
||||
&Cheats|&Cheats
|
||||
Cheats|Cheats
|
||||
Cheats File|Cheatdatei
|
||||
&Cheat List|&Cheat List
|
||||
Cheats List|Cheatliste
|
||||
Cheats List...|Cheatliste...
|
||||
Cheat Type|Cheattyp
|
||||
Choose a cdrom drive/mount point|CD-Rom Laufwerk/Mount-Punkt auswählen
|
||||
Choose a cheat file to open|Cheatdatei zum öffnen auswählen
|
||||
Choose a cheat file to save to|Cheatdatei zum speichern auswählen
|
||||
Choose a file to save your state|Datei zum speichern des Status auswählen
|
||||
Choose a location for your screenshot|Speicherort für das Bildschirmfoto auswählen
|
||||
&Clear|&Leeren
|
||||
Close|Schliessen
|
||||
Code|Code
|
||||
Comment :|Kommentar :
|
||||
Data Size :|Datengrösse :
|
||||
_Debug|_Debug
|
||||
&Debug|&Debug
|
||||
&Delete|&Löschen
|
||||
Delete|Löschen
|
||||
Description|Beschreibung
|
||||
Description :|Beschreibung :
|
||||
Device List|Geräteliste
|
||||
Disabled|Deaktiviert
|
||||
Down|Runter
|
||||
Download|Herunterladen
|
||||
Emu-Compatibility|Emu-Kombatibilität
|
||||
Emulation|Emulation
|
||||
End Address:|Adressende
|
||||
Enable|Aktivieren
|
||||
Enabled|Aktiviert
|
||||
English|Englisch
|
||||
&File|&Datei
|
||||
File|Datei
|
||||
File :|File :
|
||||
File Name :|Dateiname :
|
||||
File transfer|Dateiübertragung
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>WARNUNG :</b>Mastercodes werden <b>NICHT</b> unterstützt.</font>
|
||||
Format|Formatieren
|
||||
FPS|BPS
|
||||
Frame Skip/Limiter|Frames überspringen/limitieren
|
||||
French|Französisch
|
||||
From|Von
|
||||
From File|Von Datei
|
||||
From File...|Von Datei...
|
||||
&Fullscreen|&Vollbild
|
||||
Fullscreen|Vollbild
|
||||
General|Allgemein
|
||||
German|Deutsch
|
||||
Hard Reset|Hard Reset
|
||||
Height|Höhe
|
||||
_Help|_Hilfe
|
||||
&Help|&Hilfe
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=de
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Input|Eingabe
|
||||
Invalid Address|Ungültige Adresse
|
||||
Invalid Value|Ungültiger Wert
|
||||
Italian|Italienisch
|
||||
Japanese|Japanisch
|
||||
Language :|Sprache :
|
||||
&Layer|&Schicht
|
||||
Layer|Schicht
|
||||
Left|Links
|
||||
Left trigger|Linker Trigger
|
||||
Load as executable|Als ausführbar laden
|
||||
Load|Laden
|
||||
&Load From File|&Von Datei laden
|
||||
Load State|Spielstand laden
|
||||
Load State As|Spielstand laden als
|
||||
Log|Protokoll
|
||||
Long Write|Long schreiben
|
||||
M68K|M68K
|
||||
Memory dump|Speicherabzug
|
||||
Memory Dump|Speicherabzug
|
||||
Memory Editor|Memory Editor
|
||||
&Memory Transfer|&Memory Transfer
|
||||
Memory Transfer|Memory Transfer
|
||||
Memory|Speicher
|
||||
Mpeg ROM|Mpeg ROM
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
Open CD Rom|CD-Rom öffnen
|
||||
Open CD Rom...|CD-Rom öffnen...
|
||||
Open ISO|ISO öffnen
|
||||
Open ISO...|ISO öffnen...
|
||||
&Pause|&Pause
|
||||
Pause|Pause
|
||||
&Quit|&Schliessen
|
||||
Quit|Schliessen
|
||||
&Raw Memory Address|&Raw Speicheradresse
|
||||
RBG0|RBG0
|
||||
Region|Region
|
||||
&Reset|&Zurücksetzen
|
||||
Reset|Zurücksetzen
|
||||
Resolution|Auflösung
|
||||
Right|Rechts
|
||||
Right trigger|Rechter Trigger
|
||||
R&un|S&tarten
|
||||
Run|Starten
|
||||
Save Information|Informationen speichern
|
||||
Save List|Liste speichern
|
||||
Save|Speichern
|
||||
Save State|Status speichern
|
||||
Save State As|Save State As
|
||||
Save States|Stati speichern
|
||||
&Save To File|&In Datei speichern
|
||||
Screenshot|Bilschirmfoto
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Wählen Sie die Statusdatei aus
|
||||
Select your iso/cue/bin file|Wählen Sie Ihre iso/cue/bin-Datei
|
||||
&Settings...|Einstellungen...
|
||||
Settings|Einstellungen
|
||||
SH2 Interpreter|SH2 Interpreter
|
||||
Sound Core|Sound Kern
|
||||
Sound|Sound
|
||||
Spanish|Spanisch
|
||||
SSH2|SSH2
|
||||
Start|Start
|
||||
Start Address:|Adressanfang
|
||||
Status|Status
|
||||
Store|Sichern
|
||||
To File|in Datei
|
||||
To File...|in Datei...
|
||||
toolBar|Werkzeugleiste
|
||||
Tools|Tools
|
||||
To|zu
|
||||
Transfer|Transferieren
|
||||
Translation|Übersetzung
|
||||
Unable to add code|Code konnte nicht zugefügt werden
|
||||
Unable to change description|Beschreibung konnte nicht geändert werden
|
||||
Unable to open file for loading|Datei konnte nicht geöffnet werden
|
||||
Unable to open file for saving|Datei konnte nicht geschrieben werden
|
||||
Unable to remove code|Code konnte nicht entfernt werden
|
||||
Unknow (%1)|Unbekannt (%1)
|
||||
Up|Hoch
|
||||
Upload|Upload
|
||||
Value :|Wert :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Video Kern
|
||||
Video Driver|Video Treiber
|
||||
Video Format|Video Format
|
||||
Video|Video
|
||||
_View|_Sicht
|
||||
&View|&Sicht
|
||||
Waiting Input...|Warte auf EIngaben...
|
||||
Width|Breite
|
||||
Word Write|Word schreiben
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Yabause Cheat Dateien (*ycf);;Alle Dateien (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Qt Grafik-Interface für Yabause
|
||||
Yabause Save State (*.yss)|Yabause Speicherstände (*.yss)
|
|
@ -1,198 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 bloques libres
|
||||
%1 Images (*.%2)|%1 Imágenes (*.%2)
|
||||
503/512 blocks free|503/512 bloques libres
|
||||
510/512 blocks free|510/512 bloques libres
|
||||
About...|Acerca de...
|
||||
&About...|&Acerca de...
|
||||
About|Acerca de
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Código de Action Replay
|
||||
Add Action Replay Code|Añadir Código de Action Replay
|
||||
Add Codes...|Añadir Códigos...
|
||||
Add Raw Memory Code|Añadir código dirección de memoria
|
||||
Address :|Dirección :
|
||||
Advanced|Avanzado
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|¿Estás seguro de borrar '%1' ?
|
||||
Are you sure you want to format '%1' ?|¿Estás seguro de formatear '%1' ?
|
||||
Backup Manager|Gestor de memoria de backup
|
||||
Backup Manager...|Gestor de memoria de backup...
|
||||
&Backup Ram Manager|Gestor de RAM de &backup
|
||||
Backup Ram Manager|Gestor de RAM de backup
|
||||
Bios|Bios
|
||||
Block Size :|Tamaño de bloque:
|
||||
&Browse|&Examinar
|
||||
Browse|Examinar
|
||||
Byte Write|Escritura de byte
|
||||
Cancel|Cancelar
|
||||
Cannot initialize|Imposible iniciar
|
||||
&Capture Screen|&Capturar pantalla
|
||||
Cart/Memory|Cartucho/Memoria
|
||||
Cartridge|Cartucho
|
||||
CD Images (*.iso *.cue *.bin)|Imágenes de CD (*.iso *.cue *.bin)
|
||||
Cd-Rom|Cd-Rom
|
||||
&Cheats|&Trucos
|
||||
Cheats|Trucos
|
||||
Cheats File|Archivo de trucos
|
||||
&Cheat List|Listado de &Trucos
|
||||
Cheats List|Lista de trucos
|
||||
Cheats List...|Lista de trucos...
|
||||
Cheat Type|Tipo de truco
|
||||
Choose a cdrom drive/mount point|Selecciona una unidad de cdrom/punto de montaje
|
||||
Choose a cheat file to open|Selecciona un archivo de trucos para abrir
|
||||
Choose a cheat file to save to|Selecciona el archivo de trucos para guardar
|
||||
Choose a file to save your state|Selecciona un archivo para guardar tu estado
|
||||
Choose a location for your screenshot|Selecciona ubicación para tu captura
|
||||
&Clear|&Limpiar
|
||||
Close|Cerrar
|
||||
Code|Código
|
||||
Comment :|Comentario :
|
||||
Data Size :|Tamaño de datos :
|
||||
_Debug|_Debug
|
||||
&Debug|&Debug
|
||||
&Delete|&Borrar
|
||||
Delete|Borrar
|
||||
Description|Descripción
|
||||
Description :|Descripción :
|
||||
Device List|Lista de Dispositivos
|
||||
Disabled|Desactivado
|
||||
Down|Abajo
|
||||
Download|Descargar
|
||||
Emu-Compatibility|Compatibilidad del emulador
|
||||
Emulation|Emulación
|
||||
End Address:|Dirección final:
|
||||
Enable|Activar
|
||||
Enabled|Activado
|
||||
English|Inglés
|
||||
&File|&Archivo
|
||||
File|Archivo
|
||||
File :|Archivo:
|
||||
File Name :|Nombre de archivo :
|
||||
File transfer|Transferencia de archivo
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>AVISO:</b> Códigos Maestros <b>NO</b> soportados.</font>
|
||||
Format|Formato
|
||||
FPS|FPS
|
||||
Frame Skip/Limiter|Salto de cuadros/Limitador
|
||||
French|Francés
|
||||
From|De
|
||||
From File|De archivo
|
||||
From File...|De archivo...
|
||||
&Fullscreen|&Pantalla completa
|
||||
Fullscreen|Pantalla completa
|
||||
General|General
|
||||
German|Alemán
|
||||
Hard Reset|Reiniciar en frío
|
||||
Height|Altura
|
||||
_Help|_Ayuda
|
||||
&Help|&Ayuda
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=uk
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Input|Entrada
|
||||
Invalid Address|Dirección inválida
|
||||
Invalid Value|Valor inválido
|
||||
Italian|Italiano
|
||||
Japanese|Japonés
|
||||
Language :|Idioma :
|
||||
&Layer|&Capa
|
||||
Layer|Capa
|
||||
Left|Izquierda
|
||||
Left trigger|Gatillo izquierdo
|
||||
Load as executable|Cargar como ejecutable
|
||||
Load|Cargar
|
||||
&Load From File|&Cargar desde archivo
|
||||
Load State|Cargar estado
|
||||
Load State As|Cargar estado como
|
||||
Log|Log
|
||||
Long Write|Escritura larga
|
||||
M68K|M68K
|
||||
Memory dump|Volcado de memoria
|
||||
Memory Dump|Volcado de Memoria
|
||||
Memory Editor|Editor de memoria
|
||||
&Memory Transfer|Transferir &memoria
|
||||
Memory Transfer|Transferir memoria
|
||||
Memory|Memoria
|
||||
Mpeg ROM|ROM Mpeg
|
||||
Mouse|Ratón
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
None|Ninguno
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
Open CD Rom|Abrir CD Rom
|
||||
Open CD Rom...|Abrir CD Rom...
|
||||
Open ISO|Abrir ISO
|
||||
Open ISO...|Abrir ISO...
|
||||
Pad|Pad
|
||||
&Pause|&Pausar
|
||||
Pause|Pausar
|
||||
&Quit|&Sair
|
||||
Quit|Sair
|
||||
&Raw Memory Address|&Dirección de memoria Raw
|
||||
RBG0|RBG0
|
||||
Region|Región
|
||||
&Reset|&Resetear
|
||||
Reset|Resetear
|
||||
Resolution|Resolución
|
||||
Right|Derecha
|
||||
Right trigger|Gatillo derecho
|
||||
R&un|E&jecutar
|
||||
Run|Ejecutar
|
||||
Save Information|Guardar informes
|
||||
Save List|Lista de salvaguardados
|
||||
Save|Salvar
|
||||
Save State|Guardar Estado
|
||||
Save State As|Guardar estado como
|
||||
Save States|Guardar estados
|
||||
&Save To File|&Guardar a archivo
|
||||
Screenshot|Captura de pantalla
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Selecciona el archivo para cargar tu estado
|
||||
Select your iso/cue/bin file|Selecciona tu archivo iso/cue/bin
|
||||
&Settings...|&Configuración...
|
||||
Settings|Configuración
|
||||
SH2 Interpreter|Intérprete SH2
|
||||
Sound Core|Núcleo de sonido
|
||||
Sound|Sonido
|
||||
Spanish|Español
|
||||
SSH2|SSH2
|
||||
Start|Iniciar
|
||||
Start Address:|Dirección inicial:
|
||||
Status|Estado
|
||||
Store|Almacenar
|
||||
To File|A archivo
|
||||
To File...|A archivo...
|
||||
toolBar|Barra de herramientas
|
||||
Tools|Herramientas
|
||||
To|Para
|
||||
Transfer|Transferencia
|
||||
Translation|Traducción
|
||||
Unable to add code|Imposible añadir código
|
||||
Unable to change description|Imposible cambiar descripción
|
||||
Unable to open file for loading|Imposible abrir archivo para cargar
|
||||
Unable to open file for saving|Imposible abrir archivo para guardar
|
||||
Unable to remove code|Imposible eliminar código
|
||||
Unknow (%1)|Desconocido (%1)
|
||||
Up|Arriba
|
||||
Upload|Subir
|
||||
Value :|Valor :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Núcleo de Vídeo
|
||||
Video Driver|Driver de Vídeo
|
||||
Video Format|Formato de Vídeo
|
||||
Video|Vídeo
|
||||
_View|_Ver
|
||||
&View|&Ver
|
||||
Waiting Input...|Esperando Entrada de Datos...
|
||||
Width|Ancho
|
||||
Word Write|Escribir WORD
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Archivos de trucos para Yabause (*.yct);;Todos los archivos (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Interfaz gráfica QT<br />Basada en Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />El equipo de Yabause<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Interfaz gráfica Qt
|
||||
Yabause Save State (*.yss)|Salvaguardados de Yabause (*.yss)
|
|
@ -1,276 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 blocs libre
|
||||
%1 Images (*.%2)|Images %1 (*.%2)
|
||||
503/512 blocks free|503/512 blocs libre
|
||||
510/512 blocks free|510/512 blocs libre
|
||||
About...|A Propos De...
|
||||
&About...|&A Propos De...
|
||||
About|A Propos De
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Code Action Replay :
|
||||
Add Action Replay Code|Ajouter un Code Action Replay
|
||||
Add Cheat|Ajouter un Cheat
|
||||
Add Codes...|Ajouter un Code...
|
||||
Add Raw Memory Code|Ajouter un Code Mémoire Brut
|
||||
Address|Adresse
|
||||
Address :|Adresse :
|
||||
Advanced|Avancé
|
||||
Always|Toujours
|
||||
Asia (NTSC)|Asie (NTSC)
|
||||
Asia (PAL)|Asie (PAL)
|
||||
Are you sure you want to delete '%1' ?|Etes vous sûr de vouloir supprimer '%1' ?
|
||||
Are you sure you want to format '%1' ?|Etes vous sûr de vouloir formater '%1' ?
|
||||
Auto-detect|Détection Auto
|
||||
Autostart|Démarrage Automatique
|
||||
Backup Manager|Gestion des Sauvegardes
|
||||
&Backup Manager...|&Gestion des Sauvegardes...
|
||||
Backup Manager...|Gestion des Sauvegardes...
|
||||
&Backup Ram Manager|&Gestion des Sauvegardes
|
||||
Backup Ram Manager|Gestion des Sauvegardes
|
||||
Bios|Bios :
|
||||
Block Size :|Taille du Bloc :
|
||||
&Browse|&Parcourir
|
||||
Browse|Parcourir
|
||||
Byte Write|Ecrire un Byte
|
||||
&Cancel|&Annuler
|
||||
Cancel|Annuler
|
||||
Cannot initialize|Ne peut pas Initialiser
|
||||
Cannot initialize Windows SPTI Driver|Ne peut pas initialiser le pilote SPTI
|
||||
&Capture Screen|&Capture d'Ecran
|
||||
Cart/Memory|Cartouche/Mémoire
|
||||
Cartridge|Cartouche :
|
||||
CD Images (*.iso *.cue *.bin)|Images CD (*.iso *.cue *.bin)
|
||||
Cd-Rom|CD-Rom :
|
||||
Central/South America (NTSC)|Amérique du Sud/Centrale (NTSC)
|
||||
Central/South America (PAL)|Amérique du Sud/Centrale (PAL)
|
||||
&Cheats|&Cheats
|
||||
Cheats|Cheats
|
||||
Cheats File|Fichier Cheat
|
||||
&Cheat List|Liste de &Cheat
|
||||
Cheats List|Liste de Cheat
|
||||
&Cheats List...|Liste de &Cheat...
|
||||
Cheats List...|Liste de Cheat...
|
||||
Cheat &Search...|&Rechercher un Cheat...
|
||||
Cheat Search|Rechercher un Cheat
|
||||
Cheat Type|Type de Cheat
|
||||
Choose a cdrom drive/mount point|Choisir un lecteur CD ou un point de montage
|
||||
Choose a cheat file to open|Choisir un fichier de Cheat à ouvrir
|
||||
Choose a cheat file to save to|Choisir un fichier de Cheat à enregistrer
|
||||
Choose a file to save your state|Choisir un fichier où enregistrer l'état
|
||||
Choose a location for your screenshot|Choisir un nom de fichier pour votre capture d'écran
|
||||
&Clear|&Effacer
|
||||
Clear configuration|Vider la Configuration
|
||||
&Close|&Fermer
|
||||
Close|Fermer
|
||||
Code|Code
|
||||
Comment :|Commentaire :
|
||||
Compare Type|Type de Comparaison
|
||||
Data Size|Taille Donnée
|
||||
Data Size :|Taille des Données :
|
||||
Data Type|Type Donnée
|
||||
_Debug|_Débug
|
||||
&Debug|&Débug
|
||||
&Delete|&Effacer
|
||||
Delete|Effacer
|
||||
Description|Description
|
||||
Description :|Description :
|
||||
Device List|Liste des Périphériques
|
||||
Disabled|Désactivé
|
||||
Down|Bas
|
||||
Download|Télécharger
|
||||
Dummy CD Drive|Lecteur de CD Factice
|
||||
Dummy Input Interface|Interface Contrôleur Factice
|
||||
Dummy OSD Interface|Interface OSD Factice
|
||||
Dummy Sound Interface|Interface Son Factice
|
||||
Dummy Video Interface|Interface Vidéo Factice
|
||||
Edit configuration|Editer la Configuration
|
||||
Emu-Compatibility|Emu-Compatibility
|
||||
&Emulation|&Emulation
|
||||
Emulation|Emulation
|
||||
End Address:|Adresse de Fin :
|
||||
Enable|Activer
|
||||
Enable Frame Skip/Limiter|Active le Saut d'Image/Limitateur
|
||||
Enabled|Activé
|
||||
English|Anglais
|
||||
Europe + others (PAL)|Europe + Autres (PAL)
|
||||
Exact|Identique
|
||||
&File|&Fichier
|
||||
File|Fichier
|
||||
File :|Fichier :
|
||||
File:|Fichier :
|
||||
File Name :|Nom du Fichier :
|
||||
File transfer|Transfert de Fichier
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>AVERTISSEMENT :</b> Les Codes Maîtres <b>NE SONT PAS</b> supportés.</font>
|
||||
Format|Formater
|
||||
FPS|FPS
|
||||
Frame Skip/Limiter|Saut d'Image/Limitateur
|
||||
&Frame Skip/Limiter|&Saut d'Image/Limitateur
|
||||
French|Français
|
||||
From|A Partir De
|
||||
From File|A Partir d'un Fichier
|
||||
From File...|A Partir d'un Fichier...
|
||||
&Fullscreen|&Plein Ecran
|
||||
Fullscreen|Plein Ecran
|
||||
General|Général
|
||||
German|Allemand
|
||||
Glut OSD Interface|Interface OSD GLut
|
||||
Greater then|Plus grand que
|
||||
Hard Reset|Redémarrage Matériel
|
||||
Height|Hauteur :
|
||||
_Help|_Aide
|
||||
&Help|&Aide
|
||||
Hide menubar|Cacher la Barre de Menu
|
||||
Hide toolbar|Cacher la Barre d'Outils
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=fr
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Information...|Information...
|
||||
Input|Contrôleur
|
||||
Invalid Address|Adresse Invalide
|
||||
Invalid Value|Valeur Invalide
|
||||
ISO-File Virtual Drive|Lecteur de Fichier ISO Virtuel
|
||||
Italian|Italien
|
||||
Japan (NTSC)|Japon (NTSC)
|
||||
Japanese|Japonais
|
||||
Korea (NTSC)|Corée (NTSC)
|
||||
Language :|Langage :
|
||||
&Layer|&Couche
|
||||
Layer|Couche
|
||||
Left|Gauche
|
||||
Left trigger|Gâchette Gauche
|
||||
Less than|Moins que
|
||||
Linux CD Drive|Lecteur CD Linux
|
||||
Load as executable|Charger en tant qu'Executable
|
||||
Load|Charger
|
||||
&Load From File|&Charger à Partir d'un Fichier
|
||||
L&oad State|&Charger un Etat
|
||||
Load State|Charger l'Etat
|
||||
Load State As|Charger l'Etat sous
|
||||
&Log|&Journal
|
||||
Log|Journal
|
||||
Long Write|Ecrire un Long
|
||||
M68K|M68K
|
||||
&Master SH2|&Master SH2
|
||||
Master SH2|Master SH2
|
||||
Memory dump|Copier la mémoire
|
||||
Memory Dump|Copier la Mémoire
|
||||
Memory &Editor|&Editeur de Mémoire
|
||||
Memory Editor|Editeur de Mémoire
|
||||
&Memory Transfer|&Transfert de Mémoire
|
||||
Memory Transfer|Transfert de Mémoire
|
||||
Memory|Mémoire :
|
||||
Mpeg ROM|ROM MPEG :
|
||||
Mouse|Souris
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Never|Jamais
|
||||
None|Aucun
|
||||
North America (NTSC)|Amérique du Nord (NTSC)
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
On fullscreen|Plein Ecran
|
||||
Open CD Rom|Ouvrir un CD ROM
|
||||
Open &CD Rom...|Ouvrir un &CD Rom...
|
||||
Open CD Rom...|Ouvrir un CD ROM...
|
||||
Open ISO|Ouvrir un Fichier ISO
|
||||
Open &ISO...|Ouvrir un &ISO...
|
||||
Open ISO...|Ouvrir un Fichier ISO...
|
||||
OpenGL Video Interface|Interface Vidéo OpenGL
|
||||
OSD Core|Noyau OSD
|
||||
Pad|Manette
|
||||
Pad Configuration|Configuration de la Manette
|
||||
&Pause|&Pause
|
||||
Pause|Pause
|
||||
Qt Keyboard Input Interface|Interface Qt du Clavier
|
||||
&Quit|&Quitter
|
||||
Quit|Quitter
|
||||
&Raw Memory Address|Adresse Mémoire &Brut
|
||||
RBG0|RBG0
|
||||
Region|Région :
|
||||
&Reset|&Redémarrer
|
||||
Reset|Redémarrer
|
||||
Resolution|Résolution :
|
||||
Right|Droite
|
||||
Right trigger|Gâchette Droite
|
||||
R&un|L&ancer
|
||||
Run|Lancer
|
||||
Save Information|Informations sur la Sauvegarde
|
||||
Save List|Liste des Sauvegardes
|
||||
Save|Sauvegarder
|
||||
S&ave State|S&auvegarder un Etat
|
||||
Save State|Sauvegarder l'Etat
|
||||
Save State As|Sauvegarder l'Etat sous
|
||||
Save States|Sauvegarde d'Etat :
|
||||
&Save To File|&Sauvegarder Vers le Fichier
|
||||
Sc&reenshot|Copie d'Ec&ran
|
||||
Screenshot|Capture d'Ecran
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
SDL Joystick Interface|Interface SDL du Joystick
|
||||
SDL Sound Interface|Interface SDL du Son
|
||||
Search|Rechercher
|
||||
Search/Add Cheats|Rechercher/Ajouter un Cheat
|
||||
Search Value:|Rechercher une Valeur :
|
||||
Select a file to load your state|Choisissez un fichier pour charger l'état
|
||||
Select your iso/cue/bin file|Choisissez votre fichier iso/cue/bin
|
||||
Set PC to Start Address|Sélection PC vers l'Adresse de Démarrage
|
||||
&Settings...|&Paramétres...
|
||||
Settings|Paramétres
|
||||
SH2 Debugger Interpreter|Interpréteur de Débugeur SH2
|
||||
SH2 Dynamic Recompiler|Recompileur Dynamique SH2
|
||||
SH2 Interpreter|Interpréteur SH2 :
|
||||
Show FPS|Afficher les FPS
|
||||
&Slave SH2|&Slave SH2
|
||||
Slave SH2|Slave SH2
|
||||
Software Video Interface|Interface Vidéo Logiciel
|
||||
Sound Core|Noyau Son :
|
||||
Sound|Son
|
||||
Spanish|Espagnol
|
||||
SSH2|SSH2
|
||||
Signed|Signé
|
||||
Software OSD Interface|Interface OSD Logiciel
|
||||
Start|Démarrer
|
||||
Start Address:|Adresse de Début :
|
||||
Status|Statut
|
||||
Store|Stocker
|
||||
To File|Vers un Fichier
|
||||
To File...|Vers un Fichier...
|
||||
toolBar|Barre d'Outils
|
||||
&Tools|Ou&tils
|
||||
Tools|Outils
|
||||
To|Vers
|
||||
&Transfer|&Transfert
|
||||
Transfer|Transfert
|
||||
Translation|Traduction :
|
||||
Unable to add code|Ne peut pas ajouter de Code
|
||||
Unable to change description|Ne peut pas changer la Description
|
||||
Unable to open file for loading|Ne peut pas ouvrir le fichier à Charger
|
||||
Unable to open file for saving|Ne peut pas ouvrir le fichier à sauvegarder
|
||||
Unable to remove code|Ne peut pas enlever le Code
|
||||
Unknow (%1)|Inconnu (%1)
|
||||
Unsigned|Non Signé
|
||||
Up|Haut
|
||||
Upload|Upload
|
||||
Value|Valeur
|
||||
Value :|Valeur :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Noyau Vidéo :
|
||||
Video Driver|Pilote Vidéo :
|
||||
Video Format|Format Vidéo :
|
||||
Video|Vidéo
|
||||
_View|_Visualiser
|
||||
&View|&Visualiser
|
||||
View|Visualiser
|
||||
Waiting Input...|En Attente du Contrôleur
|
||||
Width|Largeur :
|
||||
Windows SPTI Driver|Pilote Windows SPTI
|
||||
Word Write|Ecrire un Word
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Fichiers de Cheat Yabause (*ycf);;Tous les Fichiers (*)
|
||||
Yabause is not initialized, can't manage backup ram.|Yabause n'est pas initialisé. Ne peut pas gérer la sauvegarde.
|
||||
Yabause Qt Gui<br />Based on Yabause %1<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Yabause Qt Gui<br />Basé sur Yabause %1 :<br /><a href="http://yabause.org">http://yabause.org</a><br />L'équipe de Yabause :<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Interface Graphique Qt pour Yabause
|
||||
Yabause Save State (*.yss)|Sauvegarde d'État Yabause (*.yss)
|
|
@ -1,198 +0,0 @@
|
|||
%1/%2 blocks free|%1%2 blocchi liberi
|
||||
%1 Images (*.%2)|%1 Immagini (*.%2)
|
||||
503/512 blocks free|503/512 blocchi liberi
|
||||
510/512 blocks free|510/512 blocchi liberi
|
||||
About...|Informazioni...
|
||||
&About...|&Informazioni...
|
||||
About|Informazioni
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Codice Action Replay
|
||||
Add Action Replay Code|Aggiungi codice Action Replay
|
||||
Add Codes...|Aggiungi codici....
|
||||
Add Raw Memory Code|Aggiungi Raw Memory Code
|
||||
Address :|Indirizzo:
|
||||
Advanced|Avanzate
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="<a href="http://www.monkeystudio.org" class="external free" rel="nofollow">http://www.monkeystudio.org</a>"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|Sicuro di voler cancellare '%1'?
|
||||
Are you sure you want to format '%1' ?|Sicuro di voler formattare '%1'?
|
||||
Backup Manager|Gestione Backup
|
||||
Backup Manager...|Gestione Backup...
|
||||
&Backup Ram Manager|&Gestione Backup RAM
|
||||
Backup Ram Manager|Gestione Backup RAM
|
||||
Bios|BIOS
|
||||
Block Size :|Dimensioni Blocco:
|
||||
&Browse|&Sfoglia
|
||||
Browse|Sfoglia
|
||||
Byte Write|Scrivi Byte
|
||||
Cancel|Annulla
|
||||
Cannot initialize|Impossibile Inizializzare
|
||||
&Capture Screen|&Cattura Schermo
|
||||
Cart/Memory|Cart/Memoria
|
||||
Cartridge|Cartuccia
|
||||
CD Images (*.iso *.cue *.bin)|Immagine CD (*.iso *.cue *.bin)
|
||||
Cd-Rom|Cd-Rom
|
||||
&Cheats|&Cheats
|
||||
Cheats|Cheats
|
||||
Cheats File|File Cheats
|
||||
&Cheat List|Lista &Cheat
|
||||
Cheats List|Lista Cheat
|
||||
Cheats List...|Lista Cheat...
|
||||
Cheat Type|Tipo di Cheat
|
||||
Choose a cdrom drive/mount point|Choose a cdrom drive/mount point
|
||||
Choose a cheat file to open|Selezionare un file cheat da aprire
|
||||
Choose a cheat file to save to|Selezionare un file cheat per salvare
|
||||
Choose a file to save your state|Selezionare un file per salvare lo stato
|
||||
Choose a location for your screenshot|Selezionare una directory per gli screenshoot
|
||||
&Clear|&Svuota
|
||||
Close|Chiudi
|
||||
Code|Codice
|
||||
Comment :|Commento:
|
||||
Data Size :|Dimensioni Dati:
|
||||
_Debug|_Debug
|
||||
&Debug|&Debug
|
||||
&Delete|&Elimina
|
||||
Delete|Elimina
|
||||
Description|Descrizione
|
||||
Description :|Descrizione:
|
||||
Device List|Lista periferiche
|
||||
Disabled|Disattivo
|
||||
Down|Giù
|
||||
Download|Download
|
||||
Emu-Compatibility|Compatibilità Emulatore
|
||||
Emulation|Emulazione
|
||||
End Address:|Indirizzo Finale:
|
||||
Enable|Abilita
|
||||
Enabled|Abilitato
|
||||
English|Inglese
|
||||
&File|&File
|
||||
File|File
|
||||
File :|File:
|
||||
File Name :|Nome file:
|
||||
File transfer|Trasferimento file
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>ATTENZIONE:</b> I Codici Master <b>NON</b> sono supportati.</font>
|
||||
Format|Formato
|
||||
FPS|FPS
|
||||
Frame Skip/Limiter|Limitatore frame
|
||||
French|Francese
|
||||
From|Da
|
||||
From File|Dal file
|
||||
From File...|Dal file...
|
||||
&Fullscreen|&Schermo Intero
|
||||
Fullscreen|Schermo Intero
|
||||
General|Generale
|
||||
German|Tedesco
|
||||
Hard Reset|Hard Reset
|
||||
Height|Altezza
|
||||
_Help|_Aiuto
|
||||
&Help|&Aiuto
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|<a href="http://www.emu-compatibility.com/yabause/index.php?lang=it" class="external free" rel="nofollow">http://www.emu-compatibility.com/yabause/index.php?lang=it</a>
|
||||
http://www.monkeystudio.org|<a href="http://www.monkeystudio.org" class="external free" rel="nofollow">http://www.monkeystudio.org</a>
|
||||
Input|Input
|
||||
Invalid Address|Indirizzo non valido
|
||||
Invalid Value|Valore non valido
|
||||
Italian|Italiano
|
||||
Japanese|Giapponese
|
||||
Language :|Lingua:
|
||||
&Layer|&Layer
|
||||
Layer|Layer
|
||||
Left|Sinistra
|
||||
Left trigger|Left trigger
|
||||
Load as executable|Carica come eseguibile
|
||||
Load|Carica
|
||||
&Load From File|Carica da&l file
|
||||
Load State|Carica stato
|
||||
Load State As|Carica stato come
|
||||
Log|Log
|
||||
Long Write|Scrivi Log
|
||||
M68K|M68K
|
||||
Memory dump|Dump Memoria
|
||||
Memory Dump|Dump Memoria
|
||||
Memory Editor|Editor Memoria
|
||||
&Memory Transfer|Trasferimento &Memoria
|
||||
Memory Transfer|Trasferimento Memoria
|
||||
Memory|Memoria
|
||||
Mpeg ROM|Mpeg ROM
|
||||
Mouse|Mouse
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
None|Nessuno
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
Open CD Rom|Apri CD Rom
|
||||
Open CD Rom...|Apri CD Rom...
|
||||
Open ISO|Apri ISO
|
||||
Open ISO...|Apri ISO...
|
||||
Pad|Pad
|
||||
&Pause|&Pausa
|
||||
Pause|Pausa
|
||||
&Quit|&Esci
|
||||
Quit|Esci
|
||||
&Raw Memory Address|Indirizzo Grezzo Memoria
|
||||
RBG0|RBG0
|
||||
Region|Regione
|
||||
&Reset|&Reset
|
||||
Reset|Reset
|
||||
Resolution|Risoluzione
|
||||
Right|Destra
|
||||
Right trigger|Right trigger
|
||||
R&un|Eseg&ui
|
||||
Run|Esegui
|
||||
Save Information|Salva Informazioni
|
||||
Save List|Salva lista
|
||||
Save|Salva
|
||||
Save State|Salva stato
|
||||
Save State As|Salva stato come
|
||||
Save States|Salva stati
|
||||
&Save To File|$Salva su file
|
||||
Screenshot|Screenshot
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Selezionare un file per caricare il tuo stato
|
||||
Select your iso/cue/bin file|Selezionare un file iso/cue/bin
|
||||
&Settings...|Impo&stazioni...
|
||||
Settings|Impostazioni
|
||||
SH2 Interpreter|Interprete SH2
|
||||
Sound Core|Sistema Audio
|
||||
Sound|Suono
|
||||
Spanish|Spagnolo
|
||||
SSH2|SSH2
|
||||
Start|Inizia
|
||||
Start Address:|Indirizzo Iniziale:
|
||||
Status|Stato
|
||||
Store|Store
|
||||
To File|Nel file
|
||||
To File...|Nel file...
|
||||
toolBar|Barra degli Strumenti
|
||||
Tools|Strumenti
|
||||
To|A
|
||||
Transfer|Trasferimento
|
||||
Translation|Traduzione
|
||||
Unable to add code|Impossibile aggiungere il codice
|
||||
Unable to change description|Impossibile cambiare la descrizione
|
||||
Unable to open file for loading|Impossibile aprire il file per il caricamento
|
||||
Unable to open file for saving|Impossibile aprire il file per il salvataggio
|
||||
Unable to remove code|Impossibile rimuovere il codice
|
||||
Unknow (%1)|Sconosciuto (%1)
|
||||
Up|Su
|
||||
Upload|Upload
|
||||
Value :|Valore:
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Sistema Video
|
||||
Video Driver|Driver Video
|
||||
Video Format|Formato Video
|
||||
Video|Video
|
||||
_View|_Visualizza
|
||||
&View|&Visualizza
|
||||
Waiting Input...|In attesa di input...
|
||||
Width|Larghezza
|
||||
Word Write|Word Write
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Yabause File Cheat (*.yct);;Tutti i file (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Interfaccia Qt Yabause<br />Basata su Yabause 0.9.5<br /><a href="<a href="http://yabause.org" class="external free" rel="nofollow">http://yabause.org</a>"><a href="http://yabause.org" class="external free" rel="nofollow">http://yabause.org</a></a><br />Il Team Yabause<br /><a href="<a href="mailto:pasnox@gmail.com" class="external free" rel="nofollow">mailto:pasnox@gmail.com</a>">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Interfaccia Qt Yabause
|
||||
Yabause Save State (*.yss)|Yabause Salvataggio Stato (*.yss)
|
|
@ -1,195 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 blokų laisvų
|
||||
%1 Images (*.%2)|%1 Images (*.%2)
|
||||
503/512 blocks free|503/512 blokų laisvų
|
||||
510/512 blocks free|510/512 blokų laisvų
|
||||
About...|Apie...
|
||||
&About...|&Apie...
|
||||
About|Apie
|
||||
&Action Replay|&Veiksmo pakartojimas
|
||||
Action Replay Code :|Veiksmo pakartojimo kodas:
|
||||
Add Action Replay Code|Pridėti veiksmo pakartojimo kodą:
|
||||
Add Codes...|Pridėti kodų...
|
||||
Add Raw Memory Code|Pridėti "Raw" atminties kodą
|
||||
Address :|Adresas :
|
||||
Advanced|Papildoma
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="<a href="http://www.monkeystudio.org" class="external free" rel="nofollow">http://www.monkeystudio.org</a>"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|Ar tu įsitikinęs,kad nori ištrinti '%1' ?
|
||||
Are you sure you want to format '%1' ?|Ar tu įsitikinęs,kad nori suformatuoti '%1' ?
|
||||
Backup Manager|Atsarginių failų tvarkyklė
|
||||
Backup Manager...|Atsarginių failų tvarkyklė...
|
||||
&Backup Ram Manager|&Atsarginės darbinės atminties tvarkyklė
|
||||
Backup Ram Manager|Atsarginės darbinės atminties tvarkyklė
|
||||
Bios|Bios'as
|
||||
Block Size :|Bloko dydis:
|
||||
&Browse|&Naršyti
|
||||
Browse|Browse
|
||||
Byte Write|Byte Write
|
||||
Cancel|Atšaukti
|
||||
Cannot initialize|Negalima pradėti
|
||||
&Capture Screen|&Nufotografuoti ekraną
|
||||
Cart/Memory|Darbinė atmintis
|
||||
Cartridge|Disketė
|
||||
CD Images (*.iso *.cue *.bin)|CD atvaizdai (*.iso *.cue *.bin)
|
||||
Cd-Rom|CD-ROM
|
||||
&Cheats|&Kodai
|
||||
Cheats|Kodai
|
||||
Cheats File|Kodų failas
|
||||
&Cheat List|&Kodų sąrašas
|
||||
Cheats List|Kodų sąrašas
|
||||
Cheats List...|Kodų sąrašas...
|
||||
Cheat Type|Kodų tipas
|
||||
Choose a cdrom drive/mount point|Pasirink CD-ROM prijungimo tašką
|
||||
Choose a cheat file to open|Pasirink kodų failą
|
||||
Choose a cheat file to save to|Pasirink kodų failą išsaugojimui į
|
||||
Choose a file to save your state|Pasirink failą išsaugoti žaidimui
|
||||
Choose a location for your screenshot|Pasirink vietą žaidimo ekranvaizdžiui
|
||||
&Clear|&Išvalyti
|
||||
Close|Uždaryti
|
||||
Code|Kodas
|
||||
Comment :|Komentaras:
|
||||
Data Size :|Duomenų dydis:
|
||||
_Debug|_Taisyti klaidas
|
||||
&Debug|&Klaidų taisymas
|
||||
&Delete|&Trinti
|
||||
Delete|Trinti
|
||||
Description|Aprašymas
|
||||
Description :|Aprašymas :
|
||||
Device List|Įrenginių sąrašas
|
||||
Disabled|Neįgalinta
|
||||
Down|Žemyn
|
||||
Download|Atsisiųsti
|
||||
Emu-Compatibility|Emuliatoriaus suderinamumas
|
||||
Emulation|Emuliacija
|
||||
End Address:|End Adress:
|
||||
Enable|Įgalinti
|
||||
Enabled|Įgalinta
|
||||
English|Anglų
|
||||
&File|&Failas
|
||||
File|Failas
|
||||
File :|Failas
|
||||
File Name :|Failo pavadinimas:
|
||||
File transfer|Failo perkėlimas
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>
|
||||
Format|Formatuoti
|
||||
FPS|KPS
|
||||
Frame Skip/Limiter|Kadrų praleidimas
|
||||
French|Prancūzų
|
||||
From|Iš
|
||||
From File|Iš failo
|
||||
From File...|Iš failo...
|
||||
&Fullscreen|&Pilnas ekranas
|
||||
Fullscreen|Pilnas ekranas
|
||||
General|Pagrindiniai
|
||||
German|Vokiečių
|
||||
Hard Reset|"Gilus" perkrovimas
|
||||
Height|Aukštis
|
||||
_Help|_Pagalba
|
||||
&Help|&Pagalba
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|<a href="http://www.emu-compatibility.com/yabause/index.php?lang=uk" class="external free" rel="nofollow">http://www.emu-compatibility.com/yabause/index.php?lang=uk</a>
|
||||
http://www.monkeystudio.org|<a href="http://www.monkeystudio.org" class="external free" rel="nofollow">http://www.monkeystudio.org</a>
|
||||
Input|Įvedimas
|
||||
Invalid Address|Neteisingas adresas
|
||||
Invalid Value|Neteisinga vertė
|
||||
Italian|Italų
|
||||
Japanese|Japonų
|
||||
Language :|Kalba :
|
||||
&Layer|&Sluoksniai
|
||||
Layer|Sluoksniai
|
||||
Left|Kairė
|
||||
Left trigger|Kairysis mygtukas
|
||||
Load as executable|Įkrauti kaip paleidžiamąjį failą
|
||||
Load|Įkrauti
|
||||
&Load From File|&Įkelti iš failo
|
||||
Load State|Įkelti išsaugotą žaidimą
|
||||
Load State As|Išsaugoti žaidimą kaip
|
||||
Log|Log'as
|
||||
Long Write|Long Write
|
||||
M68K|M68K
|
||||
Memory dump|Atminties "išmetimas"
|
||||
Memory Dump|Atminties "išmetimas"
|
||||
Memory Editor|Atminties tvarkymas
|
||||
&Memory Transfer|&Atminties pervedimas
|
||||
Memory Transfer|Atminties pervedimas
|
||||
Memory|Atmintis
|
||||
Mpeg ROM|Mpeg ROM'as
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Ok|Gerai
|
||||
&OK|&Gerai
|
||||
Open CD Rom|Atverti CD-ROM'ą
|
||||
Open CD Rom...|Atverti CD-ROM'ą...
|
||||
Open ISO|Atverti ISO
|
||||
Open ISO...|Atverti ISO...
|
||||
&Pause|&Pauzė
|
||||
Pause|Pauzė
|
||||
&Quit|&Išeiti
|
||||
Quit|Išeiti
|
||||
&Raw Memory Address|&Priėjimas prie Raw atminties
|
||||
RBG0|RBG0
|
||||
Region|Regionas
|
||||
&Reset|&Perkrauti
|
||||
Reset|Perkrauti
|
||||
Resolution|Raiška
|
||||
Right|Dešinė
|
||||
Right trigger|Dešinysis mygtukas
|
||||
R&un|&Leisti
|
||||
Run|Leisti
|
||||
Save Information|Išsaugoti informaciją
|
||||
Save List|Išsaugojimų sąrašas
|
||||
Save|Išsaugoti
|
||||
Save State|Išsaugoti žaidimą
|
||||
Save State As|Išsaugoti žaidimą kaip
|
||||
Save States|Žaidimų išsaugojimo failai
|
||||
&Save To File|&Išsaugoti į failą
|
||||
Screenshot|Ekrano nuotrauka
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Pasirink žaidimo išsaugojimo failą įkėlimui
|
||||
Select your iso/cue/bin file|Pasirink iso/cue/bin failą
|
||||
&Settings...|&Nuostatos
|
||||
Settings|Nuostatos
|
||||
SH2 Interpreter|SH2 Interpretatorius
|
||||
Sound Core|Garso įranga
|
||||
Sound|Garsas
|
||||
Spanish|Ispanų
|
||||
SSH2|SSH2
|
||||
Start|Pradėti
|
||||
Start Address:|Pradžios adresas:
|
||||
Status|Statusas
|
||||
Store|Saugoti
|
||||
To File|Į failą
|
||||
To File...|Į failą...
|
||||
toolBar|Įrankų juosta
|
||||
Tools|Įrankiai
|
||||
To|Į
|
||||
Transfer|Pervedimas
|
||||
Translation|Vertimas
|
||||
Unable to add code|Neįmanoma pridėti kodo
|
||||
Unable to change description|Neįmanoma keisti aprašymo
|
||||
Unable to open file for loading|Neįmanoma atverti failo įkrovimui
|
||||
Unable to open file for saving|Neįmanoma atverti failo saugojimui
|
||||
Unable to remove code|Neįmanoma pašalinti kodo
|
||||
Unknow (%1)|Nežinoma (%1)
|
||||
Up|Aukštyn
|
||||
Upload|Įkrauti
|
||||
Value :|Vertė:
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Video įranga
|
||||
Video Driver|Video tvarkyklė
|
||||
Video Format|Video formatas
|
||||
Video|Video
|
||||
_View|_Žiūrėti
|
||||
&View|&Žiūrėti
|
||||
Waiting Input...|Laukiama įvedimo
|
||||
Width|Plotis
|
||||
Word Write|Žodžių rašymas
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Yabause kodų failai (*.yct);;Visi failai (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Yabause Qt Gui<br />Paremtas pagal Yabause 0.9.5<br /><a href="<a href="http://yabause.org" class="external free" rel="nofollow">http://yabause.org</a>"><a href="http://yabause.org" class="external free" rel="nofollow">http://yabause.org</a></a><br />Yabause komanda<br /><a href="<a href="mailto:pasnox@gmail.com" class="external free" rel="nofollow">mailto:pasnox@gmail.com</a>">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Yabause Qt grafinė sąsaja
|
||||
Yabause Save State (*.yss)|Yabause žaidimo išsaugojimo failas (*.yss)
|
|
@ -1,195 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 blocos livres
|
||||
%1 Images (*.%2)|%1 Images (*.%2)
|
||||
503/512 blocks free|503/512 blocos livres
|
||||
510/512 blocks free|510/512 blocos livres
|
||||
About...|Sobre...
|
||||
&About...|&Sobre...
|
||||
About|Sobre
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Código do Action Replay
|
||||
Add Action Replay Code|Adicionar Código do Action Replay
|
||||
Add Codes...|Adicionar Códigos...
|
||||
Add Raw Memory Code|Adicionar o Endereço Original da Memória
|
||||
Address :|Endereço :
|
||||
Advanced|Avançado
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|Você tem certeza de que deseja excluir '%1' ?
|
||||
Are you sure you want to format '%1' ?|Você tem certeza de que deseja formatar '%1' ?
|
||||
Backup Manager|Gerenciador de Backups
|
||||
Backup Manager...|Gerenciador de Backups...
|
||||
&Backup Ram Manager|&Gerenciador da Ram de Backup
|
||||
Backup Ram Manager|Gerenciador da Ram de Backup
|
||||
Bios|Bios
|
||||
Block Size :|Tamanho dos Blocos :
|
||||
&Browse|&Procurar
|
||||
Browse|Procurar
|
||||
Byte Write|Gravar Byte
|
||||
Cancel|Cancelar
|
||||
Cannot initialize|Não pode inicializar
|
||||
&Capture Screen|&Capturar Tela
|
||||
Cart/Memory|Cartucho/Memória
|
||||
Cartridge|Cartucho
|
||||
CD Images (*.iso *.cue *.bin)|Imagens de CD (*.iso *.cue *.bin)
|
||||
Cd-Rom|CD-Rom
|
||||
&Cheats|&Trapaças
|
||||
Cheats|Trapaças
|
||||
Cheats File|Arquivo de Trapaças
|
||||
&Cheat List|Lista de &Trapaças
|
||||
Cheats List|Lista de Trapaças
|
||||
Cheats List...|Lista de Trapaças
|
||||
Cheat Type|Tipo de Trapaça
|
||||
Choose a cdrom drive/mount point|Escolha um leitor de CD ou um ponto de montagem
|
||||
Choose a cheat file to open|Escolha um arquivo de trapaças para abrir
|
||||
Choose a cheat file to save to|Escolha um arquivo de trapaças para salvar
|
||||
Choose a file to save your state|Escolha um arquivo para salvar seu estado
|
||||
Choose a location for your screenshot|Escolha um local para sua captura de tela
|
||||
&Clear|&Limpar
|
||||
Close|Fechar
|
||||
Code|Código
|
||||
Comment :|Comentário :
|
||||
Data Size :|Tamanho dos Dados :
|
||||
_Debug|_Debug
|
||||
&Debug|&Debug
|
||||
&Delete|&Excluir
|
||||
Delete|Excluir
|
||||
Description|Descrição
|
||||
Description :|Descrição :
|
||||
Device List|Lista de Dispositivos
|
||||
Disabled|Desativado
|
||||
Down|Para baixo
|
||||
Download|Baixar
|
||||
Emu-Compatibility|Compatibilidade com o Emu
|
||||
Emulation|Emulação
|
||||
End Address:|Endereço Final:
|
||||
Enable|Ativar
|
||||
Enabled|Ativado
|
||||
English|Inglês
|
||||
&File|&Arquivo
|
||||
File|Arquivo
|
||||
File :|Arquivo :
|
||||
File Name :|Nome do Arquivo :
|
||||
File transfer|Transferência de arquivo
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>AVISO:</b> Códigos Mestres <b>NÃO</b> são suportados.</font>
|
||||
Format|Formato
|
||||
FPS|QPS
|
||||
Frame Skip/Limiter|Pulo de quadros/Limitador
|
||||
French|Francês
|
||||
From|De
|
||||
From File|Do Arquivo
|
||||
From File...|Do Arquivo...
|
||||
&Fullscreen|Tela cheia
|
||||
Fullscreen|Tela cheia
|
||||
General|Geral
|
||||
German|Alemão
|
||||
Hard Reset|Reiniciar Hardware
|
||||
Height|Altura
|
||||
_Help|_Ajuda
|
||||
&Help|&Ajuda
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=uk
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Input|Controles
|
||||
Invalid Address|Endereço Inválido
|
||||
Invalid Value|Valor Inválido
|
||||
Italian|Italiano
|
||||
Japanese|Japonês
|
||||
Language :|Idioma :
|
||||
&Layer|&Camada
|
||||
Layer|Camada
|
||||
Left|Esquerda
|
||||
Left trigger|Gatilho esquerdo
|
||||
Load as executable|Carregar como executável
|
||||
Load|Carregar
|
||||
&Load From File|&Carregar Do Arquivo
|
||||
Load State|Carregar Estado
|
||||
Load State As|Carregar Estado como
|
||||
Log|Log
|
||||
Long Write|Escrita Longa
|
||||
M68K|M68K
|
||||
Memory dump|Dump de memória
|
||||
Memory Dump|Dump de Memória
|
||||
Memory Editor|Editor de Memória
|
||||
&Memory Transfer|&Transferência de Memória
|
||||
Memory Transfer|Transferência de Memória
|
||||
Memory|Memória
|
||||
Mpeg ROM|ROM Mpeg
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
Open CD Rom|Abrir CD Rom
|
||||
Open CD Rom...|Abrir CD Rom...
|
||||
Open ISO|Abrir ISO
|
||||
Open ISO...|Abrir ISO...
|
||||
&Pause|&Pausar
|
||||
Pause|Pausar
|
||||
&Quit|&Sair
|
||||
Quit|Sair
|
||||
&Raw Memory Address|&Endereço Original da Memória
|
||||
RBG0|RBG0
|
||||
Region|Região
|
||||
&Reset|&Reiniciar
|
||||
Reset|Reiniciar
|
||||
Resolution|Resolução
|
||||
Right|Direita
|
||||
Right trigger|Gatilho direito
|
||||
R&un|Exec&utar
|
||||
Run|Executar
|
||||
Save Information|Informações sobre os Saves
|
||||
Save List|Lista dos Saves
|
||||
Save|Salvar
|
||||
Save State|Salvar Estado
|
||||
Save State As|Salvar Estado Como
|
||||
Save States|Salvar Estado
|
||||
&Save To File|&Salvar Para Arquivo
|
||||
Screenshot|Captura de tela
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Escolha um arquivo para carregar seu estado
|
||||
Select your iso/cue/bin file|Escolha seu arquivo iso/cue/bin
|
||||
&Settings...|Configuraçõe&s...
|
||||
Settings|Configurações
|
||||
SH2 Interpreter|Interpretador SH2
|
||||
Sound Core|Núcleo de Som
|
||||
Sound|Som
|
||||
Spanish|Espanhol
|
||||
SSH2|SSH2
|
||||
Start|Iniciar
|
||||
Start Address:|Endereço Inicial:
|
||||
Status|Estado
|
||||
Store|Armazenar
|
||||
To File|Para Arquivo
|
||||
To File...|Para arquivo...
|
||||
toolBar|Barra de ferramentas
|
||||
Tools|Ferramentas
|
||||
To|Para
|
||||
Transfer|Transferência
|
||||
Translation|Tradução
|
||||
Unable to add code|Não foi possível adicionar código
|
||||
Unable to change description|Não foi possível modificar a descrição
|
||||
Unable to open file for loading|Não foi possível carregar o arquivo
|
||||
Unable to open file for saving|Não foi possível salvar o arquivo
|
||||
Unable to remove code|Não foi possível remover o código
|
||||
Unknow (%1)|Desconh (%1)
|
||||
Up|Para cima
|
||||
Upload|Subir
|
||||
Value :|Valor :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Núcleo de Vídeo
|
||||
Video Driver|Driver de Vídeo
|
||||
Video Format|Formato do Vídeo
|
||||
Video|Vídeo
|
||||
_View|_Visualizar
|
||||
&View|&Visualizar
|
||||
Waiting Input...|Aguardando Entrada de Dados...
|
||||
Width|Largura
|
||||
Word Write|Escrita Word
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Arquivos de trapaça Yabause (*.yct);;Todos os arquivos (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Gui Qt do Yabause<br />Baseada no Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />O Time do Yabause<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Interface Gráfica do Usuário em Qt do Yabause
|
||||
Yabause Save State (*.yss)|Estado Salvo do Yabause
|
|
@ -1,274 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 blocos livres
|
||||
%1 Images (*.%2)|%1 Imagens (*.%2)
|
||||
503/512 blocks free|503/512 blocos livres
|
||||
510/512 blocks free|510/512 blocos livres
|
||||
About...|Sobre...
|
||||
&About...|&Sobre...
|
||||
About|Sobre
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Código do Action Replay
|
||||
Add Action Replay Code|Adicionar Código do Action Replay
|
||||
Add Cheat|Adicionar Trapaça
|
||||
Add Codes...|Adicionar Códigos...
|
||||
Add Raw Memory Code|Adicionar o Código da Memória Original
|
||||
Address|Endereço
|
||||
Address :|Endereço :
|
||||
Advanced|Avançado
|
||||
Always|Sempre
|
||||
Asia (NTSC)|Ásia (NTSC)
|
||||
Asia (PAL)|Ásia (PAL)
|
||||
Are you sure you want to delete '%1' ?|Você tem certeza que você quer apagar '%1' ?
|
||||
Are you sure you want to format '%1' ?|Você tem certeza que você quer formatar '%1' ?
|
||||
Auto-detect|Auto-detectar
|
||||
Autostart|Auto-iniciar
|
||||
Backup Manager|Gerenciador de Backups
|
||||
&Backup Manager...|&Gerenciador de Backups...
|
||||
Backup Manager...|Gerenciador de Backups...
|
||||
&Backup Ram Manager|&Gerenciador da Ram de Backup
|
||||
Backup Ram Manager|Gerenciador da Ram de Backup
|
||||
Bios|Bios
|
||||
Block Size :|Tamanho dos Blocos :
|
||||
&Browse|&Explorar
|
||||
Browse|Explorar
|
||||
Byte Write|Gravação do Byte
|
||||
&Cancel|&Cancelar
|
||||
Cancel|Cancelar
|
||||
Cannot initialize|Não consegue inicializar
|
||||
&Capture Screen|&Capturar Tela
|
||||
Cart/Memory|Cartucho/Memória
|
||||
Cartridge|Cartucho
|
||||
CD Images (*.iso *.cue *.bin)|Imagens de CD (*.iso *.cue *.bin)
|
||||
Cd-Rom|Cd-Rom
|
||||
Central/South America (NTSC)|América Central/do Sul (NTSC)
|
||||
Central/South America (PAL)|América Central/do Sul (PAL)
|
||||
&Cheats|&Códigos
|
||||
Cheats|Trapaças
|
||||
Cheats File|Arquivo das Trapaças
|
||||
&Cheat List|Lista de &Trapaças
|
||||
Cheats List|Lista de Trapaças
|
||||
&Cheats List...|&Lista de Trapaças...
|
||||
Cheats List...|Lista de Trapaças...
|
||||
Cheat &Search...|Busca de &Trapaças...
|
||||
Cheat Search|Busca de Trapaças
|
||||
Cheat Type|Tipo de Trapaça
|
||||
Choose a cdrom drive/mount point|Escolha um drive de cdrom/ponto de montagem
|
||||
Choose a cheat file to open|Escolha um arquivo de códigos para abrir
|
||||
Choose a cheat file to save to|Escolha um arquivo de códigos para salvar
|
||||
Choose a file to save your state|Escolha um arquivo para salvar seu estado
|
||||
Choose a location for your screenshot|Escolha um local para seu screenshot
|
||||
&Clear|&Limpar
|
||||
Clear configuration|Limpar configuração
|
||||
&Close|&Fechar
|
||||
Close|Fechar
|
||||
Code|Código
|
||||
Comment :|Comentário :
|
||||
Compare Type|Tipo de Comparação
|
||||
Data Size|Tamanho dos Dados
|
||||
Data Size :|Tamanho dos Dados :
|
||||
Data Type|Tipo de Dados
|
||||
_Debug|_Debug
|
||||
&Debug|&Debug
|
||||
&Delete|&Apagar
|
||||
Delete|Apagar
|
||||
Description|Descrição
|
||||
Description :|Descrição :
|
||||
Device List|Lista de Dispositivos
|
||||
Disabled|Desativado
|
||||
Down|Pra baixo
|
||||
Download|Baixar
|
||||
Dummy CD Drive|Imitação do Drive de CD
|
||||
Dummy Input Interface|Imitação da Interface de Entrada de Dados
|
||||
Dummy OSD Interface|Imitação da Interface OSD
|
||||
Dummy Sound Interface|Imitação da Interface de Som
|
||||
Dummy Video Interface|Imitação da Interface de Vídeo
|
||||
Edit configuration|Editar configuração
|
||||
Emu-Compatibility|Compatibilidade com o Emu
|
||||
&Emulation|&Emulação
|
||||
Emulation|Emulação
|
||||
End Address:|Endereço Final:
|
||||
Enable|Ativar
|
||||
Enable Frame Skip/Limiter|Ativar o Frame Skip/Limitador
|
||||
Enabled|Ativado
|
||||
English|Inglês
|
||||
Europe + others (PAL)|Europa + outros (PAL)
|
||||
Exact|Exato
|
||||
&File|&Arquivo
|
||||
File|Arquivo
|
||||
File :|Arquivo :
|
||||
File:|Arquivo:
|
||||
File Name :|Nome do Arquivo :
|
||||
File transfer|Transferência de arquivo
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>AVISO:</b> Códigos Mestres <b>NÃO</b> são suportados.</font>
|
||||
Format|Formato
|
||||
FPS|FPS
|
||||
Frame Skip/Limiter|Frame Skip/Limitador
|
||||
&Frame Skip/Limiter|&Frame Skip/Limitador
|
||||
French|Francês
|
||||
From|De
|
||||
From File|Do Arquivo
|
||||
From File...|Do Arquivo...
|
||||
&Fullscreen|&Tela cheia
|
||||
Fullscreen|Tela cheia
|
||||
General|Geral
|
||||
German|Alemão
|
||||
Glut OSD Interface|Interface OSD do Glut
|
||||
Greater then|Maior do que
|
||||
Hard Reset|Reset Rígido
|
||||
Height|Altura
|
||||
_Help|_Ajuda
|
||||
&Help|&Ajuda
|
||||
Hide menubar|Esconder a barra do menu
|
||||
Hide toolbar|Esconder a barra de ferramentas
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=uk
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Information...|Informação...
|
||||
Input|Controles
|
||||
Invalid Address|Endereço Inválido
|
||||
Invalid Value|Valor Inválido
|
||||
ISO-File Virtual Drive|Drive Virtual do Arquivo-ISO
|
||||
Italian|Italiano
|
||||
Japan (NTSC)|Japão (NTSC)
|
||||
Japanese|Japonês
|
||||
Korea (NTSC)|Coréia (NTSC)
|
||||
Language :|Idioma :
|
||||
&Layer|&Camada
|
||||
Layer|Camada
|
||||
Left|Esquerda
|
||||
Left trigger|Gatilho esquerdo
|
||||
Less than|Menos do que
|
||||
Linux CD Drive|Drive de CD do Linux
|
||||
Load as executable|Carregar como executável
|
||||
Load|Carregar
|
||||
&Load From File|&Carregar Do Arquivo
|
||||
L&oad State|C&arregar o State
|
||||
Load State|Carregar State
|
||||
Load State As|Carregar State Como
|
||||
&Log|&Log
|
||||
Log|Log
|
||||
Long Write|Gravação Longa
|
||||
M68K|M68K
|
||||
&Master SH2|&SH2 Mestre
|
||||
Master SH2|SH2 Mestre
|
||||
Memory dump|Dump da memória
|
||||
Memory Dump|Dump da Memória
|
||||
Memory &Editor|Editor de &Memória
|
||||
Memory Editor|Editor de Memória
|
||||
&Memory Transfer|&Transferência de Memória
|
||||
Memory Transfer|Transferência de Memória
|
||||
Memory|Memória
|
||||
Mpeg ROM|ROM Mpeg
|
||||
Mouse|Mouse
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Never|Nunca
|
||||
None|Nenhum
|
||||
North America (NTSC)|América do Norte (NTSC)
|
||||
Ok|Ok
|
||||
&OK|&OK
|
||||
On fullscreen|Na tela cheia
|
||||
Open CD Rom|Abrir o CD Rom
|
||||
Open &CD Rom...|Abrir &CD Rom...
|
||||
Open CD Rom...|Abrir o CD Rom...
|
||||
Open ISO|Abrir a ISO
|
||||
Open &ISO...|Abrir &ISO...
|
||||
Open ISO...|Abrir a ISO...
|
||||
OpenGL Video Interface|Interface de Vídeo do OpenGL
|
||||
OSD Core|Núcleo do OSD
|
||||
Pad|Pad
|
||||
&Pause|&Pausar
|
||||
Pause|Pausar
|
||||
Qt Keyboard Input Interface|Interface da Entrada de Dados do Teclado do Qt
|
||||
&Quit|&Sair
|
||||
Quit|Sair
|
||||
&Raw Memory Address|&Endereço da Memória Original
|
||||
RBG0|RBG0
|
||||
Region|Região
|
||||
&Reset|&Resetar
|
||||
Reset|Resetar
|
||||
Resolution|Resolução
|
||||
Right|Direita
|
||||
Right trigger|Gatilho direito
|
||||
R&un|E&xecutar
|
||||
Run|Executar
|
||||
Save Information|Informações sobre os Saves
|
||||
Save List|Lista dos Saves
|
||||
Save|Salvar
|
||||
S&ave State|S&ave State
|
||||
Save State|Salvar o State
|
||||
Save State As|Salvar o State Como
|
||||
Save States|Salvar os States
|
||||
&Save To File|&Salvar para o Arquivo
|
||||
Sc&reenshot|Sc&reenshot
|
||||
Screenshot|Screenshot
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
SDL Joystick Interface|Interface SDL do Joystick
|
||||
SDL Sound Interface|Interface de Som SDL
|
||||
Search|Busca
|
||||
Search/Add Cheats|Procurar/Adicionar Trapaças
|
||||
Search Value:|Procurar Valor:
|
||||
Select a file to load your state|Selecione um arquivo para carregar seu state
|
||||
Select your iso/cue/bin file|Selecione seu arquivo iso/cue/bin
|
||||
Set PC to Start Address|Configurar o PC pra Iniciar no Endereço
|
||||
&Settings...|&Configurações...
|
||||
Settings|Configurações
|
||||
SH2 Debugger Interpreter|Interpretador do Debugger SH2
|
||||
SH2 Dynamic Recompiler|Recompilador Dinâmico do SH2
|
||||
SH2 Interpreter|Interpretador SH2
|
||||
Show FPS|Mostrar FPS
|
||||
&Slave SH2|&SH2 Escravo
|
||||
Slave SH2|SH2 Escravo
|
||||
Software Video Interface|Interface de Vídeo do Software
|
||||
Sound Core|Núcleo do Som
|
||||
Sound|Som
|
||||
Spanish|Espanhol
|
||||
SSH2|SSH2
|
||||
Signed|Assinado
|
||||
Software OSD Interface|Interface OSD do Software
|
||||
Start|Iniciar
|
||||
Start Address:|Endereço Inicial:
|
||||
Status|Status
|
||||
Store|Armazenar
|
||||
To File|Para o Arquivo
|
||||
To File...|Para o Arquivo...
|
||||
toolBar|Barra de ferramentas
|
||||
&Tools|&Ferramentas
|
||||
Tools|Ferramentas
|
||||
To|Para
|
||||
&Transfer|&Transferência
|
||||
Transfer|Transferência
|
||||
Translation|Tradução
|
||||
Unable to add code|Incapaz de adicionar o código
|
||||
Unable to change description|Incapaz de mudar a descrição
|
||||
Unable to open file for loading|Incapaz de abrir o arquivo para carregar
|
||||
Unable to open file for saving|Incapaz de abrir o arquivo para salvar
|
||||
Unable to remove code|Incapaz de remover o código
|
||||
Unknow (%1)|(%1) Desconhecido
|
||||
Unsigned|Não Assinado
|
||||
Up|Para cima
|
||||
Upload|Upload
|
||||
Value|Valor
|
||||
Value :|Valor :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Núcleo do Vídeo
|
||||
Video Driver|Driver do Vídeo
|
||||
Video Format|Formato do Vídeo
|
||||
Video|Vídeo
|
||||
_View|_Visualizar
|
||||
&View|&Visualizar
|
||||
View|Visualizar
|
||||
Waiting Input...|Esperando a Entrada dos Dados...
|
||||
Width|Largura
|
||||
Windows SPTI Driver|Drive SPTI do Windows
|
||||
Word Write|Gravação das Palavras
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Arquivos das Trapaças do Yabause (*.yct);;Todos os Arquivos (*)
|
||||
Yabause is not initialized, can't manage backup ram.|O Yabause não está inicializado, não pode gerenciar a ram do backup.
|
||||
Yabause Qt Gui<br />Based on Yabause %1<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Gui Qt do Yabause<br />Baseada no Yabause %1<br /><a href="http://yabause.org">http://yabause.org</a><br />O Time Yabause<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|GUI Qt do Yabause
|
||||
Yabause Save State (*.yss)|Save State do Yabause (*.yss)
|
|
@ -1,195 +0,0 @@
|
|||
%1/%2 blocks free|%1/%2 block fria
|
||||
%1 Images (*.%2)|%1 Avbilder (*.%2)
|
||||
503/512 blocks free|503/512 block fria
|
||||
510/512 blocks free|510/512 block fria
|
||||
About...|Om...
|
||||
&About...|&Om...
|
||||
About|Om
|
||||
&Action Replay|&Action Replay
|
||||
Action Replay Code :|Action Replay-kod
|
||||
Add Action Replay Code|Lägg till en Action Replay-kod
|
||||
Add Codes...|Lägg till kod...
|
||||
Add Raw Memory Code|Lägg till råminneskod
|
||||
Address :|Adress :
|
||||
Advanced|Avancerat
|
||||
<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>|<a href="http://www.monkeystudio.org"><img src=":/icons/icons/made.png"></a>
|
||||
Are you sure you want to delete '%1' ?|Är du säker på att du vill ta bort '%1' ?
|
||||
Are you sure you want to format '%1' ?|Är du säker på att du vill formatera '%1' ?
|
||||
Backup Manager|Backuphanterare
|
||||
Backup Manager...|Backuphanterare...
|
||||
&Backup Ram Manager|&Backup Ram Manager
|
||||
Backup Ram Manager|Backup Ram Manager
|
||||
Bios|Bios
|
||||
Block Size :|Blockstorlek
|
||||
&Browse|&Bläddra
|
||||
Browse|Bläddra
|
||||
Byte Write|Byteskrivning
|
||||
Cancel|Avbryt
|
||||
Cannot initialize|Kan inte initialisera
|
||||
&Capture Screen|&Skärmdump
|
||||
Cart/Memory|Kassett/Minne
|
||||
Cartridge|Kassett
|
||||
CD Images (*.iso *.cue *.bin)|CD-avbild (*.iso *.cue *.bin)
|
||||
Cd-Rom|CD-ROM
|
||||
&Cheats|&Fusk
|
||||
Cheats|Fusk
|
||||
Cheats File|Fuskfil
|
||||
&Cheat List|&Lista över fusk
|
||||
Cheats List|Lista över fusk
|
||||
Cheats List...|Lista över fusk...
|
||||
Cheat Type|Typ av fusk
|
||||
Choose a cdrom drive/mount point|Välj en CD-läsare eller en monteringspunkt
|
||||
Choose a cheat file to open|Välj fuskfil att öppna
|
||||
Choose a cheat file to save to|Välj fuskfil att spara till
|
||||
Choose a file to save your state|Välj en fil att spara ditt läge till
|
||||
Choose a location for your screenshot|Välj plats att spara skärmdump till
|
||||
&Clear|&Rensa
|
||||
Close|Stäng
|
||||
Code|Kod
|
||||
Comment :|Kommentar :
|
||||
Data Size :|Datastorlek :
|
||||
_Debug|_Debug
|
||||
&Debug|%Debug
|
||||
&Delete|&Ta bort
|
||||
Delete|Ta bort
|
||||
Description|Beskrivning
|
||||
Description :|Beskrivning :
|
||||
Device List|Lista över enheter
|
||||
Disabled|Inaktiverad
|
||||
Down|Ner
|
||||
Download|Nerladdning
|
||||
Emu-Compatibility|Emu-kompatibilitet
|
||||
Emulation|Emulering
|
||||
End Address:|Slutadress
|
||||
Enable|Aktivera
|
||||
Enabled|Aktiverad
|
||||
English|Engelska
|
||||
&File|&Fil
|
||||
File|Fil
|
||||
File :|File :
|
||||
File Name :|Filnamn :
|
||||
File transfer|Filöverföring
|
||||
<font color="red"><b>WARNING:</b> Master Codes are <b>NOT</b> supported.</font>|<font color="red"><b>VARNING:</b> Master Codes stöds <b>INTE</b></font>
|
||||
Format|Formatera
|
||||
FPS|FPS
|
||||
Frame Skip/Limiter|Frame Skip/Limiter
|
||||
French|Franska
|
||||
From|Från
|
||||
From File|Från fil
|
||||
From File...|Från fil...
|
||||
&Fullscreen|&Helskärm
|
||||
Fullscreen|Helskärm
|
||||
General|Allmänt
|
||||
German|Tyska
|
||||
Hard Reset|Hård reset
|
||||
Height|Höjd
|
||||
_Help|_Hjälp
|
||||
&Help|&Hjälp
|
||||
http://www.emu-compatibility.com/yabause/index.php?lang=uk|http://www.emu-compatibility.com/yabause/index.php?lang=uk
|
||||
http://www.monkeystudio.org|http://www.monkeystudio.org
|
||||
Input|Kontroller
|
||||
Invalid Address|Ogiltig adress
|
||||
Invalid Value|Ogiltigt värde
|
||||
Italian|Italienska
|
||||
Japanese|Japanska
|
||||
Language :|Språk :
|
||||
&Layer|&Lager
|
||||
Layer|Lager
|
||||
Left|Vänster
|
||||
Left trigger|Vänster avtryckare
|
||||
Load as executable|Ladda som exekverbar
|
||||
Load|Ladda
|
||||
&Load From File|Ladda från fil
|
||||
Load State|Ladda läge
|
||||
Load State As|Ladda läge som
|
||||
Log|Logg
|
||||
Long Write|Lång skrivning
|
||||
M68K|M68K
|
||||
Memory dump|Minnesdump
|
||||
Memory Dump|Minnesdump
|
||||
Memory Editor|Minnesredigerare
|
||||
&Memory Transfer|&Minnesöverföring
|
||||
Memory Transfer|Minnesöverföring
|
||||
Memory|Minne
|
||||
Mpeg ROM|MPEG ROM
|
||||
MSH2|MSH2
|
||||
NBG0|NBG0
|
||||
NBG1|NBG1
|
||||
NBG2|NBG2
|
||||
NBG3|NBG3
|
||||
Ok|OK
|
||||
&OK|&OK
|
||||
Open CD Rom|Öppna CD-ROM
|
||||
Open CD Rom...|Öppna CD-ROM...
|
||||
Open ISO|Öppna ISO
|
||||
Open ISO...|Öppna ISO...
|
||||
&Pause|&Paus
|
||||
Pause|Paus
|
||||
&Quit|&Avsluta
|
||||
Quit|Avsluta
|
||||
&Raw Memory Address|&Rå minnesadress
|
||||
RBG0|RBG0
|
||||
Region|Region
|
||||
&Reset|&Reset
|
||||
Reset|Reset
|
||||
Resolution|Upplösning
|
||||
Right|Höger
|
||||
Right trigger|Höger avtryckare
|
||||
R&un|&Kör
|
||||
Run|Kör
|
||||
Save Information|Spara information
|
||||
Save List|Spara lista
|
||||
Save|Spara
|
||||
Save State|Spara läge
|
||||
Save State As|Spara läge som
|
||||
Save States|Spara lägen
|
||||
&Save To File|&Spara till fil
|
||||
Screenshot|Skärmdump
|
||||
SCSP|SCSP
|
||||
SCU-DSP|SCU-DSP
|
||||
Select a file to load your state|Välj fil för att ladda ditt läge
|
||||
Select your iso/cue/bin file|Välj din iso/cue/bin-fil
|
||||
&Settings...|&Inställningar...
|
||||
Settings|Inställningar
|
||||
SH2 Interpreter|SH2-tolkare
|
||||
Sound Core|Ljudgränssnitt
|
||||
Sound|Ljud
|
||||
Spanish|Spanska
|
||||
SSH2|SSH2
|
||||
Start|Start
|
||||
Start Address:|Startadress
|
||||
Status|Status
|
||||
Store|Lagra
|
||||
To File|Till fil
|
||||
To File...|Till fil...
|
||||
toolBar|Verktygsfält
|
||||
Tools|Verktyg
|
||||
To|Till
|
||||
Transfer|Överföring
|
||||
Translation|Översättning
|
||||
Unable to add code|Kan inte lägga till kod
|
||||
Unable to change description|Kan inte ändra beskrivning
|
||||
Unable to open file for loading|Kan inte öppna fil för att ladda
|
||||
Unable to open file for saving|Kan inte öppna fil för att spara
|
||||
Unable to remove code|Kan inte ta bort kod
|
||||
Unknow (%1)|Okänt (%1)
|
||||
Up|Upp
|
||||
Upload|Uppladdning
|
||||
Value :|Värde :
|
||||
Vdp1|Vdp1
|
||||
VDP1|VDP1
|
||||
Vdp2|Vdp2
|
||||
VDP2|VDP2
|
||||
Video Core|Videogränssnitt
|
||||
Video Driver|Videodrivrutin
|
||||
Video Format|Videoformat
|
||||
Video|Video
|
||||
_View|_Visa
|
||||
&View|&Visa
|
||||
Waiting Input...|Väntar på input...
|
||||
Width|Bredd
|
||||
Word Write|Ordskrivning
|
||||
Yabause Cheat Files (*.yct);;All Files (*)|Yabause fuskfil (*.yct);;Alla filer (*)
|
||||
Yabause Qt Gui<br />Based on Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />The Yabause Team<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>|Yabause Qt GUI<br />Baserat på Yabause 0.9.5<br /><a href="http://yabause.org">http://yabause.org</a><br />Yabause-teamet<br /><a href="mailto:pasnox@gmail.com">Filipe AZEVEDO</a>
|
||||
Yabause Qt GUI|Yabause Qt GUI
|
||||
Yabause Save State (*.yss)|Yabause Sparat Läge (*.yss)
|
Loading…
Reference in New Issue