初步Unity化,并跑起画面,Input,指针化画面数据
This commit is contained in:
parent
75b3f84ba1
commit
2088ffb8d9
180
Assets/Plugins/StoicGooseUnity/AxiMemory.cs
Normal file
180
Assets/Plugins/StoicGooseUnity/AxiMemory.cs
Normal file
@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace StoicGooseUnity
|
||||
{
|
||||
public static class StoicGooseUnityAxiMem
|
||||
{
|
||||
public static void Init() => AxiMemoryEx.Init();
|
||||
public static void FreeAllGCHandle() => AxiMemoryEx.FreeAllGCHandle();
|
||||
}
|
||||
internal unsafe static class AxiMemoryEx
|
||||
{
|
||||
static HashSet<GCHandle> GCHandles = new HashSet<GCHandle>();
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
FreeAllGCHandle();
|
||||
set_TempBuffer = new byte[0x100000];
|
||||
}
|
||||
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref uint* ptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out IntPtr intptr);
|
||||
ptr = (uint*)intptr;
|
||||
}
|
||||
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref short* ptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out IntPtr intptr);
|
||||
ptr = (short*)intptr;
|
||||
}
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref ushort* ptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out IntPtr intptr);
|
||||
ptr = (ushort*)intptr;
|
||||
}
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref int* ptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out IntPtr intptr);
|
||||
ptr = (int*)intptr;
|
||||
}
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref byte* ptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out IntPtr intptr);
|
||||
ptr = (byte*)intptr;
|
||||
}
|
||||
|
||||
public static void GetObjectPtr(this object srcObj, ref GCHandle handle, ref byte* ptr, out IntPtr intptr)
|
||||
{
|
||||
GetObjectPtr(srcObj, ref handle, out intptr);
|
||||
ptr = (byte*)intptr;
|
||||
}
|
||||
|
||||
static void GetObjectPtr(this object srcObj, ref GCHandle handle, out IntPtr intptr)
|
||||
{
|
||||
ReleaseGCHandle(ref handle);
|
||||
handle = GCHandle.Alloc(srcObj, GCHandleType.Pinned);
|
||||
GCHandles.Add(handle);
|
||||
intptr = handle.AddrOfPinnedObject();
|
||||
}
|
||||
|
||||
public static void ReleaseGCHandle(this ref GCHandle handle)
|
||||
{
|
||||
if (handle.IsAllocated)
|
||||
handle.Free();
|
||||
GCHandles.Remove(handle);
|
||||
}
|
||||
|
||||
public static void FreeAllGCHandle()
|
||||
{
|
||||
foreach (var handle in GCHandles)
|
||||
{
|
||||
if (handle.IsAllocated)
|
||||
handle.Free();
|
||||
}
|
||||
GCHandles.Clear();
|
||||
}
|
||||
|
||||
#region 指针化 TempBuffer
|
||||
static byte[] TempBuffer_src;
|
||||
static GCHandle TempBuffer_handle;
|
||||
public static byte* TempBuffer;
|
||||
public static byte[] set_TempBuffer
|
||||
{
|
||||
set
|
||||
{
|
||||
TempBuffer_handle.ReleaseGCHandle();
|
||||
if (value == null)
|
||||
return;
|
||||
TempBuffer_src = value;
|
||||
TempBuffer_src.GetObjectPtr(ref TempBuffer_handle, ref TempBuffer);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public static void Write(this BinaryWriter bw, byte* bufferPtr, int offset, int count)
|
||||
{
|
||||
// 使用指针复制数据到临时数组
|
||||
Buffer.MemoryCopy(bufferPtr + offset, TempBuffer, 0, count);
|
||||
// 使用BinaryWriter写入临时数组
|
||||
bw.Write(TempBuffer_src, 0, count);
|
||||
}
|
||||
public static void Write(this FileStream fs, byte* bufferPtr, int offset, int count)
|
||||
{
|
||||
// 使用指针复制数据到临时数组
|
||||
Buffer.MemoryCopy(bufferPtr + offset, TempBuffer, 0, count);
|
||||
// 使用BinaryWriter写入临时数组
|
||||
fs.Write(TempBuffer_src, 0, count);
|
||||
}
|
||||
public static int Read(this FileStream fs, byte* bufferPtr, int offset, int count)
|
||||
{
|
||||
// 使用BinaryWriter写入临时数组
|
||||
count = fs.Read(TempBuffer_src, offset, count);
|
||||
// 使用指针复制数据到临时数组
|
||||
Buffer.MemoryCopy(TempBuffer, bufferPtr + offset, 0, count);
|
||||
return count;
|
||||
}
|
||||
}
|
||||
|
||||
internal unsafe static class AxiArray
|
||||
{
|
||||
|
||||
public static void Copy(byte* src, int srcindex, byte* target, int targetindex, int count)
|
||||
{
|
||||
int singlesize = sizeof(byte);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(&src[srcindex], &target[targetindex], totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
public static void Copy(short* src, int srcindex, short* target, int targetindex, int count)
|
||||
{
|
||||
int singlesize = sizeof(short);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(&src[srcindex], &target[targetindex], totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
public static void Copy(ushort* src, int srcindex, ushort* target, int targetindex, int count)
|
||||
{
|
||||
int singlesize = sizeof(ushort);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(&src[srcindex], &target[targetindex], totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
|
||||
public static void Copy(byte* src, byte* target, int index, int count)
|
||||
{
|
||||
int singlesize = sizeof(byte);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(&src[index], &target[index], totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
|
||||
public static void Copy(ushort* src, ushort* target, int index, int count)
|
||||
{
|
||||
int singlesize = sizeof(ushort);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(&src[index], &target[index], totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
public static void Copy(ushort* src, ushort* target, int count)
|
||||
{
|
||||
int singlesize = sizeof(ushort);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(src, target, totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
public static void Copy(byte* src, byte* target, int count)
|
||||
{
|
||||
int singlesize = sizeof(byte);
|
||||
long totalBytesToCopy = count * singlesize;
|
||||
Buffer.MemoryCopy(src, target, totalBytesToCopy, totalBytesToCopy);
|
||||
}
|
||||
public static void Clear(byte* data, int index, int lenght)
|
||||
{
|
||||
for (int i = index; i < lenght; i++, index++)
|
||||
data[index] = 0;
|
||||
}
|
||||
public static void Clear(ushort* data, int index, int lenght)
|
||||
{
|
||||
for (int i = index; i < lenght; i++, index++)
|
||||
data[index] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Plugins/StoicGooseUnity/AxiMemory.cs.meta
Normal file
2
Assets/Plugins/StoicGooseUnity/AxiMemory.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 920eb4ce49315964e9537a20e38e6151
|
||||
@ -1,11 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using StoicGoose.Common.Extensions;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace StoicGoose.Common.Utilities
|
||||
{
|
||||
public enum LogSeverity { Verbose, Debug, Information, Warning, Error, Fatal }
|
||||
public enum LogSeverity { Verbose, Debug, Information, Warning, Error, Fatal }
|
||||
public enum LogType { Debug, Warning, Error }
|
||||
|
||||
public interface IStoicGooseLogger
|
||||
|
||||
@ -4,7 +4,7 @@ using static StoicGoose.Common.Utilities.BitHandling;
|
||||
|
||||
namespace StoicGoose.Core.Display
|
||||
{
|
||||
public sealed class AswanDisplayController : DisplayControllerCommon
|
||||
public sealed unsafe class AswanDisplayController : DisplayControllerCommon
|
||||
{
|
||||
public AswanDisplayController(IMachine machine) : base(machine) { }
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -50,16 +50,24 @@ namespace StoicGoose.Core.Display
|
||||
|
||||
private static byte DuplicateBits(int value) => (byte)((value & 0b1111) | (value & 0b1111) << 4);
|
||||
|
||||
public static (byte r, byte g, byte b) GeneratePixel(byte data) => (DuplicateBits(data), DuplicateBits(data), DuplicateBits(data));
|
||||
public static (byte r, byte g, byte b) GeneratePixel(byte data) => (DuplicateBits(data), DuplicateBits(data), DuplicateBits(data));
|
||||
public static (byte r, byte g, byte b) GeneratePixel(ushort data) => (DuplicateBits(data >> 8), DuplicateBits(data >> 4), DuplicateBits(data >> 0));
|
||||
|
||||
public static void CopyPixel((byte r, byte g, byte b) pixel, byte[] data, int x, int y, int stride) => CopyPixel(pixel, data, ((y * stride) + x) * 4);
|
||||
public static void CopyPixel((byte r, byte g, byte b) pixel, byte[] data, long address)
|
||||
{
|
||||
data[address + 0] = pixel.r;
|
||||
data[address + 1] = pixel.g;
|
||||
data[address + 2] = pixel.b;
|
||||
data[address + 3] = 255;
|
||||
}
|
||||
}
|
||||
public static unsafe void CopyPixel((byte r, byte g, byte b) pixel, byte* data, int x, int y, int stride) => CopyPixel(pixel, data, ((y * stride) + x) * 4);
|
||||
public static unsafe void CopyPixel((byte r, byte g, byte b) pixel, byte* data, long address)
|
||||
{
|
||||
data[address + 0] = pixel.r;
|
||||
data[address + 1] = pixel.g;
|
||||
data[address + 2] = pixel.b;
|
||||
data[address + 3] = 255;
|
||||
}
|
||||
//public static void CopyPixel((byte r, byte g, byte b) pixel, byte[] data, int x, int y, int stride) => CopyPixel(pixel, data, ((y * stride) + x) * 4);
|
||||
//public static void CopyPixel((byte r, byte g, byte b) pixel, byte[] data, long address)
|
||||
//{
|
||||
// data[address + 0] = pixel.r;
|
||||
// data[address + 1] = pixel.g;
|
||||
// data[address + 2] = pixel.b;
|
||||
// data[address + 3] = 255;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@ using static StoicGoose.Common.Utilities.BitHandling;
|
||||
|
||||
namespace StoicGoose.Core.Display
|
||||
{
|
||||
public sealed class SphinxDisplayController : DisplayControllerCommon
|
||||
public sealed unsafe class SphinxDisplayController : DisplayControllerCommon
|
||||
{
|
||||
// TODO: reimplement high contrast mode; also, get a WSC, figure out how it's supposed to look?
|
||||
|
||||
|
||||
@ -43,9 +43,11 @@ namespace StoicGoose.Core.Interfaces
|
||||
SoundControllerCommon SoundController { get; }
|
||||
EEPROM InternalEeprom { get; }
|
||||
|
||||
Func<(List<string> buttonsPressed, List<string> buttonsHeld)> ReceiveInput { get; set; }
|
||||
//Func<(List<string> buttonsPressed, List<string> buttonsHeld)> ReceiveInput { get; set; }
|
||||
|
||||
Func<long> ReceiveInput { get; set; }
|
||||
|
||||
Func<uint, byte, byte> ReadMemoryCallback { get; set; }
|
||||
Func<uint, byte, byte> ReadMemoryCallback { get; set; }
|
||||
Action<uint, byte> WriteMemoryCallback { get; set; }
|
||||
Func<ushort, byte, byte> ReadPortCallback { get; set; }
|
||||
Action<ushort, byte> WritePortCallback { get; set; }
|
||||
|
||||
@ -53,9 +53,10 @@ namespace StoicGoose.Core.Machines
|
||||
public abstract int BootstrapRomAddress { get; }
|
||||
public abstract int BootstrapRomSize { get; }
|
||||
|
||||
public Func<(List<string> buttonsPressed, List<string> buttonsHeld)> ReceiveInput { get; set; } = default;
|
||||
//public Func<(List<string> buttonsPressed, List<string> buttonsHeld)> ReceiveInput { get; set; } = default;
|
||||
public Func<long> ReceiveInput { get; set; } = default;
|
||||
|
||||
public Func<uint, byte, byte> ReadMemoryCallback { get; set; } = default;
|
||||
public Func<uint, byte, byte> ReadMemoryCallback { get; set; } = default;
|
||||
public Action<uint, byte> WriteMemoryCallback { get; set; } = default;
|
||||
public Func<ushort, byte, byte> ReadPortCallback { get; set; } = default;
|
||||
public Action<ushort, byte> WritePortCallback { get; set; } = default;
|
||||
|
||||
@ -4,7 +4,7 @@ using StoicGoose.Common.Attributes;
|
||||
using StoicGoose.Core.Display;
|
||||
using StoicGoose.Core.Serial;
|
||||
using StoicGoose.Core.Sound;
|
||||
|
||||
using StoicGooseUnity;
|
||||
using static StoicGoose.Common.Utilities.BitHandling;
|
||||
|
||||
namespace StoicGoose.Core.Machines
|
||||
@ -143,37 +143,68 @@ namespace StoicGoose.Core.Machines
|
||||
ChangeBit(ref retVal, 5, keypadXEnable);
|
||||
ChangeBit(ref retVal, 6, keypadButtonEnable);
|
||||
|
||||
/* Get input from UI */
|
||||
var buttonsHeld = ReceiveInput?.Invoke().buttonsHeld;
|
||||
if (buttonsHeld != null)
|
||||
{
|
||||
if (buttonsHeld.Count > 0)
|
||||
RaiseInterrupt(1);
|
||||
/* Get input from UI */
|
||||
var buttonsHeld = ReceiveInput?.Invoke();
|
||||
if (buttonsHeld != null)
|
||||
{
|
||||
if (buttonsHeld > 0)
|
||||
RaiseInterrupt(1);
|
||||
|
||||
if (keypadYEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("Y1")) ChangeBit(ref retVal, 0, true);
|
||||
if (buttonsHeld.Contains("Y2")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("Y3")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("Y4")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
if (keypadYEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y1) > 0) ChangeBit(ref retVal, 0, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y2) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y3) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y4) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
|
||||
if (keypadXEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("X1")) ChangeBit(ref retVal, 0, true);
|
||||
if (buttonsHeld.Contains("X2")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("X3")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("X4")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
if (keypadXEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X1) > 0) ChangeBit(ref retVal, 0, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X2) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X3) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X4) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
|
||||
if (keypadButtonEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("Start")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("A")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("B")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
if (keypadButtonEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Start) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.A) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.B) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
}
|
||||
//var buttonsHeld = ReceiveInput?.Invoke().buttonsHeld;
|
||||
//if (buttonsHeld != null)
|
||||
//{
|
||||
// if (buttonsHeld.Count > 0)
|
||||
// RaiseInterrupt(1);
|
||||
|
||||
// if (keypadYEnable)
|
||||
// {
|
||||
|
||||
|
||||
// if (buttonsHeld.Contains("Y1")) ChangeBit(ref retVal, 0, true);
|
||||
// if (buttonsHeld.Contains("Y2")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("Y3")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("Y4")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
|
||||
// if (keypadXEnable)
|
||||
// {
|
||||
// if (buttonsHeld.Contains("X1")) ChangeBit(ref retVal, 0, true);
|
||||
// if (buttonsHeld.Contains("X2")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("X3")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("X4")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
|
||||
// if (keypadButtonEnable)
|
||||
// {
|
||||
// if (buttonsHeld.Contains("Start")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("A")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("B")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
//}
|
||||
break;
|
||||
|
||||
case 0xB6:
|
||||
/* REG_INT_ACK */
|
||||
|
||||
@ -5,7 +5,7 @@ using StoicGoose.Core.Display;
|
||||
using StoicGoose.Core.DMA;
|
||||
using StoicGoose.Core.Serial;
|
||||
using StoicGoose.Core.Sound;
|
||||
|
||||
using StoicGooseUnity;
|
||||
using static StoicGoose.Common.Utilities.BitHandling;
|
||||
|
||||
namespace StoicGoose.Core.Machines
|
||||
@ -189,36 +189,65 @@ namespace StoicGoose.Core.Machines
|
||||
ChangeBit(ref retVal, 6, keypadButtonEnable);
|
||||
|
||||
/* Get input from UI */
|
||||
var buttonsHeld = ReceiveInput?.Invoke().buttonsHeld;
|
||||
if (buttonsHeld != null)
|
||||
{
|
||||
if (buttonsHeld.Count > 0)
|
||||
RaiseInterrupt(1);
|
||||
var buttonsHeld = ReceiveInput?.Invoke();
|
||||
if (buttonsHeld != null)
|
||||
{
|
||||
if (buttonsHeld > 0)
|
||||
RaiseInterrupt(1);
|
||||
|
||||
if (keypadYEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("Y1")) ChangeBit(ref retVal, 0, true);
|
||||
if (buttonsHeld.Contains("Y2")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("Y3")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("Y4")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
if (keypadYEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y1) > 0) ChangeBit(ref retVal, 0, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y2) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y3) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Y4) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
|
||||
if (keypadXEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("X1")) ChangeBit(ref retVal, 0, true);
|
||||
if (buttonsHeld.Contains("X2")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("X3")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("X4")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
if (keypadXEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X1) > 0) ChangeBit(ref retVal, 0, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X2) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X3) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.X4) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
|
||||
if (keypadButtonEnable)
|
||||
{
|
||||
if (buttonsHeld.Contains("Start")) ChangeBit(ref retVal, 1, true);
|
||||
if (buttonsHeld.Contains("A")) ChangeBit(ref retVal, 2, true);
|
||||
if (buttonsHeld.Contains("B")) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
if (keypadButtonEnable)
|
||||
{
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.Start) > 0) ChangeBit(ref retVal, 1, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.A) > 0) ChangeBit(ref retVal, 2, true);
|
||||
if ((buttonsHeld.Value & (ushort)StoicGooseKey.B) > 0) ChangeBit(ref retVal, 3, true);
|
||||
}
|
||||
}
|
||||
//var buttonsHeld = ReceiveInput?.Invoke().buttonsHeld;
|
||||
//if (buttonsHeld != null)
|
||||
//{
|
||||
// if (buttonsHeld.Count > 0)
|
||||
// RaiseInterrupt(1);
|
||||
|
||||
// if (keypadYEnable)
|
||||
// {
|
||||
// if (buttonsHeld.Contains("Y1")) ChangeBit(ref retVal, 0, true);
|
||||
// if (buttonsHeld.Contains("Y2")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("Y3")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("Y4")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
|
||||
// if (keypadXEnable)
|
||||
// {
|
||||
// if (buttonsHeld.Contains("X1")) ChangeBit(ref retVal, 0, true);
|
||||
// if (buttonsHeld.Contains("X2")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("X3")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("X4")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
|
||||
// if (keypadButtonEnable)
|
||||
// {
|
||||
// if (buttonsHeld.Contains("Start")) ChangeBit(ref retVal, 1, true);
|
||||
// if (buttonsHeld.Contains("A")) ChangeBit(ref retVal, 2, true);
|
||||
// if (buttonsHeld.Contains("B")) ChangeBit(ref retVal, 3, true);
|
||||
// }
|
||||
//}
|
||||
break;
|
||||
|
||||
case 0xB6:
|
||||
/* REG_INT_ACK */
|
||||
|
||||
20
Assets/Plugins/StoicGooseUnity/StoicGooseKey.cs
Normal file
20
Assets/Plugins/StoicGooseUnity/StoicGooseKey.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
|
||||
namespace StoicGooseUnity
|
||||
{
|
||||
[Flags]
|
||||
public enum StoicGooseKey : ushort
|
||||
{
|
||||
X1 = 1,
|
||||
X2 = 2,
|
||||
X3 = 4,
|
||||
X4 = 8,
|
||||
Y1 = 16,
|
||||
Y2 = 32,
|
||||
Y3 = 64,
|
||||
Y4 = 128,
|
||||
Start = 256,
|
||||
A = 512,
|
||||
B = 1024
|
||||
}
|
||||
}
|
||||
2
Assets/Plugins/StoicGooseUnity/StoicGooseKey.cs.meta
Normal file
2
Assets/Plugins/StoicGooseUnity/StoicGooseKey.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e6310aac38e03548983e7e42f83018b
|
||||
14
Assets/Plugins/StoicGooseUnity/StoicGooseUnity.asmdef
Normal file
14
Assets/Plugins/StoicGooseUnity/StoicGooseUnity.asmdef
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "StoicGooseUnity",
|
||||
"rootNamespace": "",
|
||||
"references": [],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": true,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28e943ec033eb584b994cc1198ac76be
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f08bda821691d2a41a751fae22728b71
|
||||
guid: 4e849eb07879d114a8cef36f1a3a9267
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
8
Assets/Resources/StoicGooseUnity.meta
Normal file
8
Assets/Resources/StoicGooseUnity.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e38b0e24f0e41b54fb38be7507821d5c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Resources/StoicGooseUnity/emu.meta
Normal file
8
Assets/Resources/StoicGooseUnity/emu.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c002056b1a3ebd541ba56af40fe41ac2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Resources/StoicGooseUnity/emu/Dat.meta
Normal file
8
Assets/Resources/StoicGooseUnity/emu/Dat.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: baecae65d43245441a7e7e2b16e96ae9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,479 @@
|
||||
<?xml version="1.0"?>
|
||||
<datafile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://datomatic.no-intro.org/stuff https://datomatic.no-intro.org/stuff/schema_nointro_datfile_v3.xsd">
|
||||
<header>
|
||||
<id>51</id>
|
||||
<name>Bandai - WonderSwan Color</name>
|
||||
<description>Bandai - WonderSwan Color</description>
|
||||
<version>20230827-003018</version>
|
||||
<author>C. V. Reynolds, Gefflon, Hiccup, omonim2007, PPLToast, rarenight, relax, sCZther, SonGoku, xuom2</author>
|
||||
<homepage>No-Intro</homepage>
|
||||
<url>https://www.no-intro.org</url>
|
||||
<clrmamepro forcenodump="required"/>
|
||||
</header>
|
||||
<game name="[BIOS] SwanCrystal Boot ROM (Japan) (En)" id="0121" cloneofid="0096">
|
||||
<description>[BIOS] SwanCrystal Boot ROM (Japan) (En)</description>
|
||||
<rom name="[BIOS] SwanCrystal Boot ROM (Japan) (En).wsc" size="8192" crc="0b382c81" md5="d3eff34719a363e586e12b700501ed91" sha1="8270c4a72624692842a3cb9f195058f2ffba48c5" sha256="82e96addf5ab1ce09a84b6eedaa904e4ca432756851f7e0cc0649006c183834d"/>
|
||||
</game>
|
||||
<game name="[BIOS] WonderSwan Color Boot ROM (Japan) (En)" id="0096">
|
||||
<description>[BIOS] WonderSwan Color Boot ROM (Japan) (En)</description>
|
||||
<rom name="[BIOS] WonderSwan Color Boot ROM (Japan) (En).wsc" size="8192" crc="cb06d9c3" md5="880893bd5a7d53fff826bd76a83d566e" sha1="c5ad0b8af45d762662a69f50b64161b9c8919efb" sha256="f5a5c044d84ce1681f94e9ef74287cb989784497be5bd5108df17908dfa55db2"/>
|
||||
</game>
|
||||
<game name="Alchemist Marie & Elie - Futari no Atelier (Japan)" id="0001">
|
||||
<description>Alchemist Marie & Elie - Futari no Atelier (Japan)</description>
|
||||
<rom name="Alchemist Marie & Elie - Futari no Atelier (Japan).wsc" size="4194304" crc="b18cdc0d" md5="cb58db877b8adfce59f2e34cc4224d8b" sha1="99d9d7f951ae589059f34e76aea7489ae4cd79f1"/>
|
||||
</game>
|
||||
<game name="Another Heaven - Memory of those Days (Japan)" id="0002">
|
||||
<description>Another Heaven - Memory of those Days (Japan)</description>
|
||||
<rom name="Another Heaven - Memory of those Days (Japan).wsc" size="4194304" crc="d7a0ab74" md5="30e5f0895254ea2952f4a6a707ace47c" sha1="caf4a8de853ded732b2a72619acf2784eeceafc7" status="verified"/>
|
||||
</game>
|
||||
<game name="Arc the Lad - Kishin Fukkatsu (Japan)" id="0003">
|
||||
<description>Arc the Lad - Kishin Fukkatsu (Japan)</description>
|
||||
<rom name="Arc the Lad - Kishin Fukkatsu (Japan).wsc" size="8388608" crc="e2317345" md5="7a1023850bddb3b9547a9be8075da01d" sha1="68981c05d8118d4189100eed462ee6639328dc59" status="verified"/>
|
||||
</game>
|
||||
<game name="Battle Spirit - Digimon Frontier (Japan) (Rev 1)" id="0004">
|
||||
<description>Battle Spirit - Digimon Frontier (Japan) (Rev 1)</description>
|
||||
<rom name="Battle Spirit - Digimon Frontier (Japan) (Rev 1).wsc" size="4194304" crc="8ba49dab" md5="5fd4676d03e21bf3eee5c9c0236c992c" sha1="fffb1aea34e0a96113cd10ba9de515000d27bfe6" status="verified"/>
|
||||
</game>
|
||||
<game name="Blue Wing Blitz (Japan)" id="0005">
|
||||
<description>Blue Wing Blitz (Japan)</description>
|
||||
<rom name="Blue Wing Blitz (Japan).wsc" size="2097152" crc="99027238" md5="1ea61538422bc2d6349c321fa15b334f" sha1="02103fc5fc97c3a38834ced32a3cfe6523832535"/>
|
||||
</game>
|
||||
<game name="Cardinal Sins - Recycle Edition (World) (v1.02) (WonderWitch Conversion)" id="0123">
|
||||
<description>Cardinal Sins - Recycle Edition (World) (v1.02) (WonderWitch Conversion)</description>
|
||||
<rom name="Cardinal Sins - Recycle Edition (World) (v1.02) (WonderWitch Conversion).wsc" size="524288" crc="7ee85eb9" md5="485072a6e4fbd66f7162ebbc899541c5" sha1="1c8af39ee8c499947e8cc14f42b274594e2da141" sha256="b3cd54eb15d212887ed41c2b574927a0379faae5d3fb3c461b025f0b51608cb5" mia="yes"/>
|
||||
</game>
|
||||
<game name="Dark Eyes - Battle Gate (Japan)" id="0006">
|
||||
<description>Dark Eyes - Battle Gate (Japan)</description>
|
||||
<rom name="Dark Eyes - Battle Gate (Japan).wsc" size="4194304" crc="12ae932c" md5="d3d18ea7800d93cb3a22e275bae9f836" sha1="c2188171dc0f78fb6a13bbb55b4e85bdf7b82fd5"/>
|
||||
</game>
|
||||
<game name="Dicing Knight. (Japan)" id="0007">
|
||||
<description>Dicing Knight. (Japan)</description>
|
||||
<rom name="Dicing Knight. (Japan).wsc" size="2097152" crc="1887389c" md5="098b747bf9d88f651735b45197e393e1" sha1="1e4d8e8b3d16083968055cc76b604da91fa0a132" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Hong Kong) (En)" id="0008">
|
||||
<description>Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Hong Kong) (En)</description>
|
||||
<rom name="Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Hong Kong) (En).wsc" size="4194304" crc="77689273" md5="47b23a84817217cc5b9bbd85fe634174" sha1="7a6411cf8a4d91e8a4e0532779f11bdd25b92363"/>
|
||||
</game>
|
||||
<game name="Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Korea) (En)" id="0111" cloneofid="0008">
|
||||
<description>Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Korea) (En)</description>
|
||||
<rom name="Digimon - Anode Tamer & Cathode Tamer - Veedramon Version (Korea) (En).wsc" size="4194304" crc="7b2a02e3" md5="31b9dc2a403ddacacf1a7cd0c15c5227" sha1="c43ce28fa21b0a6725a6f0e5b2b68bcae6c508f2"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure 02 - D1 Tamers (Japan)" id="0009" cloneofid="0097">
|
||||
<description>Digimon Adventure 02 - D1 Tamers (Japan)</description>
|
||||
<rom name="Digimon Adventure 02 - D1 Tamers (Japan).wsc" size="4194304" crc="4d28637e" md5="833bd00f18fac9b03392a1d2cec17a54" sha1="18d3dfe25d82964ab7bb61af363d368fd12f4d4b" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure 02 - D1 Tamers (Japan) (Rev 1)" id="0097">
|
||||
<description>Digimon Adventure 02 - D1 Tamers (Japan) (Rev 1)</description>
|
||||
<rom name="Digimon Adventure 02 - D1 Tamers (Japan) (Rev 1).wsc" size="4194304" crc="62f4e4b4" md5="bb1067e3df3b632b32cd38543da8bd81" sha1="6fbb07bfefac7832436ec56e4d95678428b0f7ba" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Tamers - Battle Spirit (Japan, Korea) (En,Ja)" id="0010">
|
||||
<description>Digimon Tamers - Battle Spirit (Japan, Korea) (En,Ja)</description>
|
||||
<rom name="Digimon Tamers - Battle Spirit (Japan, Korea) (En,Ja).wsc" size="4194304" crc="c927bfcb" md5="71146ab7c32bd1524c27da0faefcf46a" sha1="757e92177385a14d979227edee1cb544b4c56bd6" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Tamers - Battle Spirit Ver. 1.5 (Japan)" id="0011">
|
||||
<description>Digimon Tamers - Battle Spirit Ver. 1.5 (Japan)</description>
|
||||
<rom name="Digimon Tamers - Battle Spirit Ver. 1.5 (Japan).wsc" size="8388608" crc="6caad4a2" md5="7e1be9ec064d8e1e92f26668c8a74326" sha1="3f39ff494a3d8dd9d55a2e7cf86b47f1c8e8a156" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Tamers - Brave Tamer (Japan) (Rev 1)" id="0012">
|
||||
<description>Digimon Tamers - Brave Tamer (Japan) (Rev 1)</description>
|
||||
<rom name="Digimon Tamers - Brave Tamer (Japan) (Rev 1).wsc" size="4194304" crc="f1f4d41f" md5="5883b9d0f63fe8daa9c1a2259c154466" sha1="31a718cfbcff2dab56ab9606a0b5b2dfccecbbcb" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Tamers - Digimon Medley (Japan)" id="0013" cloneofid="0102">
|
||||
<description>Digimon Tamers - Digimon Medley (Japan)</description>
|
||||
<rom name="Digimon Tamers - Digimon Medley (Japan).wsc" size="4194304" crc="fa92418d" md5="aaa71e8698a1e765d655eb24fcac19e3" sha1="8638737e5a35c6be05a888dc81e504e0d80fd756" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Tamers - Digimon Medley (Japan) (Rev 1)" id="0102">
|
||||
<description>Digimon Tamers - Digimon Medley (Japan) (Rev 1)</description>
|
||||
<rom name="Digimon Tamers - Digimon Medley (Japan) (Rev 1).wsc" size="4194304" crc="84a46949" md5="367e9ef3630061fdf91a2110911611a7" sha1="6c5a2dc7e231ebd278fe22bb7f01b1a7cc3785d6" status="verified"/>
|
||||
</game>
|
||||
<game name="Digital Monster - D-Project (Japan)" id="0014" cloneofid="0105">
|
||||
<description>Digital Monster - D-Project (Japan)</description>
|
||||
<rom name="Digital Monster - D-Project (Japan).wsc" size="4194304" crc="faaefbcb" md5="88eee9ec8e4f093a55125f42cd868647" sha1="3e8fffe1f607ea5f855397d9d877cecb285507f7"/>
|
||||
</game>
|
||||
<game name="Digital Monster - D-Project (Japan) (Rev 1)" id="0098" cloneofid="0105">
|
||||
<description>Digital Monster - D-Project (Japan) (Rev 1)</description>
|
||||
<rom name="Digital Monster - D-Project (Japan) (Rev 1).wsc" size="4194304" crc="bd83b82d" md5="473af43db90ac49686c91672fc0bb095" sha1="7dab09df13e65aa778e3bc9100efffb10b93b8a9"/>
|
||||
</game>
|
||||
<game name="Digital Monster - D-Project (Japan) (Rev 2)" id="0105">
|
||||
<description>Digital Monster - D-Project (Japan) (Rev 2)</description>
|
||||
<rom name="Digital Monster - D-Project (Japan) (Rev 2).wsc" size="4194304" crc="0e40829c" md5="173e9d76206a88bf05696027b4d55850" sha1="016de32719e920fd9996c52d7eb81f2a60a24d7a" sha256="b8a4a641a896e205467b6c209aa5af604472e1779d1aed9888e3ecad84dbce33" status="verified"/>
|
||||
</game>
|
||||
<game name="Digital Monster Card Game - Ver. WonderSwan Color (Japan)" id="0015" cloneofid="0103">
|
||||
<description>Digital Monster Card Game - Ver. WonderSwan Color (Japan)</description>
|
||||
<rom name="Digital Monster Card Game - Ver. WonderSwan Color (Japan).wsc" size="4194304" crc="603cb5e6" md5="52b643d1564b4e093e786e670aa30582" sha1="ba16a0770f7a71dd49e2879799fd04a4f04f7e60" status="verified"/>
|
||||
</game>
|
||||
<game name="Digital Monster Card Game - Ver. WonderSwan Color (Japan) (Rev 2)" id="0103">
|
||||
<description>Digital Monster Card Game - Ver. WonderSwan Color (Japan) (Rev 2)</description>
|
||||
<rom name="Digital Monster Card Game - Ver. WonderSwan Color (Japan) (Rev 2).wsc" size="4194304" crc="1e760c41" md5="c17c4de6648c776b246ae83991ac3978" sha1="e31bfa54cbf539a9d28090b372d8e669a93c3e28" status="verified"/>
|
||||
</game>
|
||||
<game name="Dokodemo Hamster 3 - Odekake Saffron (Japan) (Rev 2)" id="0016">
|
||||
<description>Dokodemo Hamster 3 - Odekake Saffron (Japan) (Rev 2)</description>
|
||||
<rom name="Dokodemo Hamster 3 - Odekake Saffron (Japan) (Rev 2).wsc" size="2097152" crc="93e19f13" md5="9ca8890339c62cc782b1a61c81e055ef" sha1="66b4bd15ef67dc324736a1cc78d6aca335f03389"/>
|
||||
</game>
|
||||
<game name="Dragon Ball (Japan)" id="0017">
|
||||
<description>Dragon Ball (Japan)</description>
|
||||
<rom name="Dragon Ball (Japan).wsc" size="2097152" crc="067238d1" md5="7209acaa3415a4f179ac17fd574453a6" sha1="5384f9974c66e5e26129a4709976de0bb1ae1f17"/>
|
||||
</game>
|
||||
<game name="Final Fantasy (Japan)" id="0018">
|
||||
<description>Final Fantasy (Japan)</description>
|
||||
<rom name="Final Fantasy (Japan).wsc" size="4194304" crc="b7243e88" md5="e36650ac50df69d1832a0d496c165db2" sha1="26628eb76c16880b6faf2e706778d91a60144078" status="verified"/>
|
||||
</game>
|
||||
<game name="Final Fantasy II (Japan)" id="0019">
|
||||
<description>Final Fantasy II (Japan)</description>
|
||||
<rom name="Final Fantasy II (Japan).wsc" size="4194304" crc="f09e752f" md5="e03e666452651e82eb5734a9d684802a" sha1="959321e3b971516e38a4cbf95b0fc3efc0b0a825" sha256="73e6265656ad16118c7d0896eeba516c5e499ac0f214508fb0f232a8b459be2d" status="verified"/>
|
||||
</game>
|
||||
<game name="Final Fantasy IV (Japan)" id="0020">
|
||||
<description>Final Fantasy IV (Japan)</description>
|
||||
<rom name="Final Fantasy IV (Japan).wsc" size="4194304" crc="f699d6d1" md5="47d83279cbdbd91c51cb7b0063d5d3e5" sha1="6d707e88c85d1b5ef708631e709668006a9ee244"/>
|
||||
</game>
|
||||
<game name="Final Lap Special - GT & Formula Machine (Japan)" id="0021">
|
||||
<description>Final Lap Special - GT & Formula Machine (Japan)</description>
|
||||
<rom name="Final Lap Special - GT & Formula Machine (Japan).wsc" size="4194304" crc="b07e6a56" md5="0870f205e8a0148cc75d642f00558057" sha1="4c3f092b095bdb0afdaf8d32d4c54b4d6c209c96"/>
|
||||
</game>
|
||||
<game name="Flash Koibito-kun (Japan)" id="0022">
|
||||
<description>Flash Koibito-kun (Japan)</description>
|
||||
<rom name="Flash Koibito-kun (Japan).wsc" size="2097152" crc="69d8d433" md5="ca1526278a8cf00816b1a88a51916b00" sha1="a3d6717efdb8f243fe86b4c3d869a9734a2e02d3"/>
|
||||
</game>
|
||||
<game name="Flash Masta Firmware (USA) (2016-08-29) (Unl)" id="0116">
|
||||
<description>Flash Masta Firmware (USA) (2016-08-29) (Unl)</description>
|
||||
<rom name="Flash Masta Firmware (USA) (2016-08-29) (Unl).wsc" size="131072" crc="c071d240" md5="53a132ba86468f4b94ba5677ba8e6005" sha1="2fce8b8e08e3f90999589b2d226fc7038b17ef22"/>
|
||||
</game>
|
||||
<game name="Flash Masta Firmware (USA) (2016-05-13) (Unl)" id="0117" cloneofid="0116">
|
||||
<description>Flash Masta Firmware (USA) (2016-05-13) (Unl)</description>
|
||||
<rom name="Flash Masta Firmware (USA) (2016-05-13) (Unl).wsc" size="524288" crc="aabce377" md5="13bf6cd03774fb7ddb70d62813aa89b9" sha1="9869c7c97e229e103203360454495a4dbcdc3614"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Chopper no Daibouken (Japan)" id="0023">
|
||||
<description>From TV Animation One Piece - Chopper no Daibouken (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Chopper no Daibouken (Japan).wsc" size="4194304" crc="8e120b5a" md5="f19436970509e5e97b5fd96752aadb8a" sha1="221f48e97ec2c6d0046213956e1f36e923c0dec2"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Grand Battle Swan Colosseum (Japan)" id="0024">
|
||||
<description>From TV Animation One Piece - Grand Battle Swan Colosseum (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Grand Battle Swan Colosseum (Japan).wsc" size="8388608" crc="f8a1dd2b" md5="7fa6a3034b8c03fca0b756fb5526ce62" sha1="01e765bf356cdcb413bfd27c6321f7449465766a" sha256="f6d9727a3183bd8b9a9a4765f8437c07c232935219cf4907b993d4b23b4cffb7" status="verified"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Grand Battle Swan Colosseum (Japan) (Sample)" id="0100" cloneofid="0024">
|
||||
<description>From TV Animation One Piece - Grand Battle Swan Colosseum (Japan) (Sample)</description>
|
||||
<rom name="From TV Animation One Piece - Grand Battle Swan Colosseum (Japan) (Sample).wsc" size="8388608" crc="23853305" md5="3163aefecbb4daa562dcfa286e4084e1" sha1="60aad42f70367fad2e1ce4a84214e467c53f873c" sha256="cdc5d215df65383c8e84abb8da72682ae81ed96d2281489764d584072d342181" status="verified"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Niji no Shima Densetsu (Japan)" id="0025">
|
||||
<description>From TV Animation One Piece - Niji no Shima Densetsu (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Niji no Shima Densetsu (Japan).wsc" size="4194304" crc="427056c4" md5="547501367ccf6262a70d0030e68cc75e" sha1="2410690ad46667c52b63402df9e95fc8a75cee62" status="verified"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Treasure Wars (Japan)" id="0026" cloneofid="0099">
|
||||
<description>From TV Animation One Piece - Treasure Wars (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Treasure Wars (Japan).wsc" size="4194304" crc="205503c3" md5="9a860c9eea23a35bb5b17a1ae640e269" sha1="dd1e6e5467b72fcb5848f07a9747aa66bb207d45" status="verified"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Treasure Wars (Japan) (Rev 1)" id="0099">
|
||||
<description>From TV Animation One Piece - Treasure Wars (Japan) (Rev 1)</description>
|
||||
<rom name="From TV Animation One Piece - Treasure Wars (Japan) (Rev 1).wsc" size="4194304" crc="3df3e34c" md5="166946565e646215816123677c7c2108" sha1="55088795164170c24b243a1b572506f123064c0f"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Treasure Wars 2 - Buggy Land e Youkoso (Japan)" id="0027">
|
||||
<description>From TV Animation One Piece - Treasure Wars 2 - Buggy Land e Youkoso (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Treasure Wars 2 - Buggy Land e Youkoso (Japan).wsc" size="8388608" crc="0d1048f0" md5="852740c38184f0dbb27ee2bdf670869a" sha1="b7775e8f60fd62dc07f2865f8fad29a11e12dbb5"/>
|
||||
</game>
|
||||
<game name="Front Mission (Japan)" id="0028">
|
||||
<description>Front Mission (Japan)</description>
|
||||
<rom name="Front Mission (Japan).wsc" size="8388608" crc="2f9e2560" md5="9bfcf86bf65c9fdae4a0f88fadafd0d8" sha1="3c752694ab651f9a00ccd39c334a2e3ff78f5cb2"/>
|
||||
</game>
|
||||
<game name="Gekitou! Crash Gear Turbo - Gear Champion League (Japan)" id="0029">
|
||||
<description>Gekitou! Crash Gear Turbo - Gear Champion League (Japan)</description>
|
||||
<rom name="Gekitou! Crash Gear Turbo - Gear Champion League (Japan).wsc" size="4194304" crc="8a8b827c" md5="497bc31e5e84ade37a809aeb90208943" sha1="1bc1e831b9e2aefc59f2cac5f19f7d22be574fc1" status="verified"/>
|
||||
</game>
|
||||
<game name="Gensou Maden Saiyuuki Retribution - Hi no Ataru Basho de (Japan) (Rev 2)" id="0030">
|
||||
<description>Gensou Maden Saiyuuki Retribution - Hi no Ataru Basho de (Japan) (Rev 2)</description>
|
||||
<rom name="Gensou Maden Saiyuuki Retribution - Hi no Ataru Basho de (Japan) (Rev 2).wsc" size="2097152" crc="446e2581" md5="cdbcacff7dd0348beffb1e228592e2e1" sha1="adbe6e38a0bc6a2d19da64a444071977b771f14f" status="verified"/>
|
||||
</game>
|
||||
<game name="Golden Axe (Japan)" id="0031">
|
||||
<description>Golden Axe (Japan)</description>
|
||||
<rom name="Golden Axe (Japan).wsc" size="4194304" crc="bc944a98" md5="55c9cc830000f0aaf721eac69d1703cc" sha1="87661841ca63e99b04c0f6dc4ba3454c897e0c6d"/>
|
||||
</game>
|
||||
<game name="Gransta Chronicle (Japan)" id="0032">
|
||||
<description>Gransta Chronicle (Japan)</description>
|
||||
<rom name="Gransta Chronicle (Japan).wsc" size="8388608" crc="af24f95c" md5="f6a4c3b2b58b14dbb96c622757b89150" sha1="3a4c5d1c08b74cf05b4cb64cbfd7c3dd8b1c3789" status="verified"/>
|
||||
</game>
|
||||
<game name="Guilty Gear Petit (Japan)" id="0033">
|
||||
<description>Guilty Gear Petit (Japan)</description>
|
||||
<rom name="Guilty Gear Petit (Japan).wsc" size="2097152" crc="9750bc2a" md5="be0f50bc4470711a31be0bd33c775ad2" sha1="6d8f8fd330f32374b55cf6b998196a7db2131073"/>
|
||||
</game>
|
||||
<game name="Guilty Gear Petit 2 (Japan)" id="0034">
|
||||
<description>Guilty Gear Petit 2 (Japan)</description>
|
||||
<rom name="Guilty Gear Petit 2 (Japan).wsc" size="4194304" crc="d7a12bd5" md5="1eb91e6b46ab5624c7b707ea7b7abe9d" sha1="f7aeab6724154f7ef6a389f9f18b7100045e1064"/>
|
||||
</game>
|
||||
<game name="GunPey EX (Japan)" id="0035">
|
||||
<description>GunPey EX (Japan)</description>
|
||||
<rom name="GunPey EX (Japan).wsc" size="1048576" crc="0c9cb12c" md5="b7f9c3d80b83178ba192297ea755d066" sha1="1eb729aa9ab0a7df6f8a3470a6fede59d7622d4a"/>
|
||||
</game>
|
||||
<game name="Hanjuku Hero - Ah, Sekai yo Hanjuku Nare...!! (Japan) (Rev 1)" id="0036">
|
||||
<description>Hanjuku Hero - Ah, Sekai yo Hanjuku Nare...!! (Japan) (Rev 1)</description>
|
||||
<rom name="Hanjuku Hero - Ah, Sekai yo Hanjuku Nare...!! (Japan) (Rev 1).wsc" size="4194304" crc="31e09bed" md5="6c1b75de270e7e96df161833a5522b7d" sha1="2e3f221d6965f53b29586d2019ee81dec6d1ac30"/>
|
||||
</game>
|
||||
<game name="Hataraku Chocobo (Japan)" id="0037">
|
||||
<description>Hataraku Chocobo (Japan)</description>
|
||||
<rom name="Hataraku Chocobo (Japan).wsc" size="1048576" crc="7a29e9a6" md5="ebab0f1f4148d54437834971d9756431" sha1="9bd63ed48926b27be70333fbe07da2ceed56328a" status="verified"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Greed Island (Japan)" id="0038" cloneofid="0108">
|
||||
<description>Hunter X Hunter - Greed Island (Japan)</description>
|
||||
<rom name="Hunter X Hunter - Greed Island (Japan).wsc" size="8388608" crc="a487b7a8" md5="c8c0387c6a1f9e55a111da9fde7b854a" sha1="f66335b5af87e7cb72ae311eb9b339534722f738"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Greed Island (Japan) (Rev 1)" id="0108">
|
||||
<description>Hunter X Hunter - Greed Island (Japan) (Rev 1)</description>
|
||||
<rom name="Hunter X Hunter - Greed Island (Japan) (Rev 1).wsc" size="8388608" crc="130af567" md5="e54a236ff923346e1b6eaed84bc8033c" sha1="e26410d4eee4cc8cec5e2e369604aedf26d69d0c" status="verified"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Michibikareshi Mono (Japan)" id="0039">
|
||||
<description>Hunter X Hunter - Michibikareshi Mono (Japan)</description>
|
||||
<rom name="Hunter X Hunter - Michibikareshi Mono (Japan).wsc" size="4194304" crc="9402bca9" md5="d3e0f6a6731565c1bd57757a0e4bad3c" sha1="bc591fc24d3f8e94b70503fd8b6a35fa58151139"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Sorezore no Ketsui (Japan)" id="0040">
|
||||
<description>Hunter X Hunter - Sorezore no Ketsui (Japan)</description>
|
||||
<rom name="Hunter X Hunter - Sorezore no Ketsui (Japan).wsc" size="4194304" crc="d0b20c5a" md5="12a59977999dcf7baebd79c81ab8f5a7" sha1="2da2a9bcff4813abcb5b2c88095258d89a575378" status="verified"/>
|
||||
</game>
|
||||
<game name="Inuyasha - Fuuun Emaki (Japan)" id="0041">
|
||||
<description>Inuyasha - Fuuun Emaki (Japan)</description>
|
||||
<rom name="Inuyasha - Fuuun Emaki (Japan).wsc" size="4194304" crc="3ff5791f" md5="71578fb7c59a3a3923d03d1d48b5ffd3" sha1="99d5bdde193685a1d09ea73bb79a54b4da82625d" status="verified"/>
|
||||
</game>
|
||||
<game name="Inuyasha - Kagome no Sengoku Nikki (Japan)" id="0042">
|
||||
<description>Inuyasha - Kagome no Sengoku Nikki (Japan)</description>
|
||||
<rom name="Inuyasha - Kagome no Sengoku Nikki (Japan).wsc" size="2097152" crc="0c23d551" md5="f1e53c706af452671467b8f4595258d4" sha1="b4fbea1a2c50d8566685f72820b360af4b54f82f" status="verified"/>
|
||||
</game>
|
||||
<game name="Inuyasha - Kagome no Yume Nikki (Japan)" id="0043">
|
||||
<description>Inuyasha - Kagome no Yume Nikki (Japan)</description>
|
||||
<rom name="Inuyasha - Kagome no Yume Nikki (Japan).wsc" size="4194304" crc="44453234" md5="209a77802e1c1a5d73c0dfc9dc726f7d" sha1="f7c8f8b6b6d036df8fc4bde72fcfac2846dffe35" status="verified"/>
|
||||
</game>
|
||||
<game name="Judgement Silversword - Rebirth Edition (Japan) (Rev 4321)" id="0044" cloneofid="0045">
|
||||
<description>Judgement Silversword - Rebirth Edition (Japan) (Rev 4321)</description>
|
||||
<rom name="Judgement Silversword - Rebirth Edition (Japan) (Rev 4321).wsc" size="2097152" crc="aa13e9de" md5="282ff1481a55f7483d8defa4c9c1d81b" sha1="1dc66ac8ac21eb651723428657c9b18cb80d9ee0"/>
|
||||
</game>
|
||||
<game name="Judgement Silversword - Rebirth Edition (Japan) (Rev 5C21)" id="0045">
|
||||
<description>Judgement Silversword - Rebirth Edition (Japan) (Rev 5C21)</description>
|
||||
<rom name="Judgement Silversword - Rebirth Edition (Japan) (Rev 5C21).wsc" size="2097152" crc="85c4c9a1" md5="b017d367af1ba43171beba3e184d9ee9" sha1="58c691cb31f96eea5689693fd23768d02e8b133f" status="verified"/>
|
||||
</game>
|
||||
<game name="Kidou Senshi Gundam - Giren no Yabou - Tokubetsu Hen - Aoki Hoshi no Hasha (Japan)" id="0046">
|
||||
<description>Kidou Senshi Gundam - Giren no Yabou - Tokubetsu Hen - Aoki Hoshi no Hasha (Japan)</description>
|
||||
<rom name="Kidou Senshi Gundam - Giren no Yabou - Tokubetsu Hen - Aoki Hoshi no Hasha (Japan).wsc" size="4194304" crc="d4061551" md5="399e48a3347c378554de65848f1f496c" sha1="20b671bc14a8ab6373deecc641479d09658ac21f" status="verified"/>
|
||||
</game>
|
||||
<game name="Kidou Senshi Gundam Seed (Japan)" id="0047">
|
||||
<description>Kidou Senshi Gundam Seed (Japan)</description>
|
||||
<rom name="Kidou Senshi Gundam Seed (Japan).wsc" size="4194304" crc="bce15137" md5="8e7aabf85435384bd5e80a1eb6e6409a" sha1="e933ff8eace56a462019ae4654b0bab1b21b1d6c" status="verified"/>
|
||||
</game>
|
||||
<game name="Kidou Senshi Gundam Vol. 1 - Side 7 (Japan)" id="0048">
|
||||
<description>Kidou Senshi Gundam Vol. 1 - Side 7 (Japan)</description>
|
||||
<rom name="Kidou Senshi Gundam Vol. 1 - Side 7 (Japan).wsc" size="4194304" crc="08c0247b" md5="3f81d86b97a81ed8fb2fd90a20b94c7a" sha1="29e72e7f96f145a0ff56e447f577310df2ec463b" status="verified"/>
|
||||
</game>
|
||||
<game name="Kidou Senshi Gundam Vol. 2 - Jaburo (Japan)" id="0049">
|
||||
<description>Kidou Senshi Gundam Vol. 2 - Jaburo (Japan)</description>
|
||||
<rom name="Kidou Senshi Gundam Vol. 2 - Jaburo (Japan).wsc" size="8388608" crc="39a1391a" md5="95b2632395ce85fc5f0cdb762e665136" sha1="df1a794f7e3992b1e1e9de14141b607746202202" status="verified"/>
|
||||
</game>
|
||||
<game name="Kidou Senshi Gundam Vol. 3 - A Baoa Qu (Japan)" id="0050">
|
||||
<description>Kidou Senshi Gundam Vol. 3 - A Baoa Qu (Japan)</description>
|
||||
<rom name="Kidou Senshi Gundam Vol. 3 - A Baoa Qu (Japan).wsc" size="8388608" crc="a9f5bf54" md5="fc3bf32e77a2b1f6b749242e89f35e9a" sha1="35443e2ef8a20a0ad82da1274b2768c16239dd46" status="verified"/>
|
||||
</game>
|
||||
<game name="Kinnikuman II-Sei - Choujin Seisenshi (Japan)" id="0051">
|
||||
<description>Kinnikuman II-Sei - Choujin Seisenshi (Japan)</description>
|
||||
<rom name="Kinnikuman II-Sei - Choujin Seisenshi (Japan).wsc" size="4194304" crc="6142fd9d" md5="c69232823a6a14ad7bf6dd539c435ba3" sha1="efcf8f92357ffc6f6ec0e4aa960cd97a5070836e"/>
|
||||
</game>
|
||||
<game name="Kinnikuman II-Sei - Dream Tag Match (Japan)" id="0052">
|
||||
<description>Kinnikuman II-Sei - Dream Tag Match (Japan)</description>
|
||||
<rom name="Kinnikuman II-Sei - Dream Tag Match (Japan).wsc" size="2097152" crc="462f9275" md5="3d41e27fb5cc7eee9187ef275acb86b9" sha1="81dd3124cce8a1aafd423bfe0814187fb7c646cb" sha256="83c5f23f014d7b94f23169940c589b5a9749f4a4d3168114e615522c4446721e" status="verified"/>
|
||||
</game>
|
||||
<game name="Kurupara! (Japan) (Rev 1)" id="0053">
|
||||
<description>Kurupara! (Japan) (Rev 1)</description>
|
||||
<rom name="Kurupara! (Japan) (Rev 1).wsc" size="2097152" crc="274719f5" md5="9450a7cf7d4adea3aa9a97529bcd5b4b" sha1="9942d1b7d1c00126b9891e560e6a3e264f8fdc2e"/>
|
||||
</game>
|
||||
<game name="Last Alive (Japan)" id="0054">
|
||||
<description>Last Alive (Japan)</description>
|
||||
<rom name="Last Alive (Japan).wsc" size="4194304" crc="da4479bf" md5="5ee55daa90d63f97a01a569ef5023431" sha1="b019f41207e396d9fe3509dccdbe1cc6e7ac46bb"/>
|
||||
</game>
|
||||
<game name="Makai Toushi Sa-Ga (Japan)" id="0055">
|
||||
<description>Makai Toushi Sa-Ga (Japan)</description>
|
||||
<rom name="Makai Toushi Sa-Ga (Japan).wsc" size="4194304" crc="1b6f5f30" md5="957137e7d5249c02fecff063e0c86e87" sha1="6b7a9b810c932974cbda4de7178cf0ea5a90e628"/>
|
||||
</game>
|
||||
<game name="mama Mitte (Japan) (Program)" id="0110" cloneofid="0118">
|
||||
<description>mama Mitte (Japan) (Program)</description>
|
||||
<rom name="mama Mitte (Japan) (Program).wsc" size="1048576" crc="f366172e" md5="992fe1e67e917977fcb13afa54d9ff9b" sha1="196190b24297008ab4e48b418ff29b2f8d4bc610"/>
|
||||
</game>
|
||||
<game name="mama Mitte (Japan) (Rev D) (Program)" id="0118">
|
||||
<description>mama Mitte (Japan) (Rev D) (Program)</description>
|
||||
<rom name="mama Mitte (Japan) (Rev D) (Program).wsc" size="1048576" crc="867a8a3f" md5="c56c0d1c5f1d5f032d93554eb31d134a" sha1="b901a571d9e6c988245594588d875d696bc76594" sha256="462ee43b22bd922835894197718aca83b6963e681410312306da79108dbc10e5"/>
|
||||
</game>
|
||||
<game name="Meitantei Conan - Yuugure no Oujo (Japan)" id="0056">
|
||||
<description>Meitantei Conan - Yuugure no Oujo (Japan)</description>
|
||||
<rom name="Meitantei Conan - Yuugure no Oujo (Japan).wsc" size="4194304" crc="9f6e3f8d" md5="6ec4fe6789acab4347355fcb53f10146" sha1="36d8bc2ce7920d940943358d48f056f81055ab34" status="verified"/>
|
||||
</game>
|
||||
<game name="Memories Off - Festa (Japan)" id="0057">
|
||||
<description>Memories Off - Festa (Japan)</description>
|
||||
<rom name="Memories Off - Festa (Japan).wsc" size="2097152" crc="8e123373" md5="a23a6c63016540a3e6e1ed6f7eb5e5cc" sha1="f47b4ab9197999bbec351750601baa20fbbd7177"/>
|
||||
</game>
|
||||
<game name="Mikeneko Holmes - Ghost Panic (Japan)" id="0058">
|
||||
<description>Mikeneko Holmes - Ghost Panic (Japan)</description>
|
||||
<rom name="Mikeneko Holmes - Ghost Panic (Japan).wsc" size="4194304" crc="d75effc2" md5="861083eb47c62024cf3c99141c83a857" sha1="2358701531e8a38419859cd70bf2fbbd967b6745"/>
|
||||
</game>
|
||||
<game name="Mr. Driller (Japan)" id="0059">
|
||||
<description>Mr. Driller (Japan)</description>
|
||||
<rom name="Mr. Driller (Japan).wsc" size="2097152" crc="5555d95c" md5="9d600bfe28196609fbe4fb5b89486cbc" sha1="209232f1e91c05140529d466c0ef6b7ad3386de1"/>
|
||||
</game>
|
||||
<game name="Namco Super Wars (Japan)" id="0060">
|
||||
<description>Namco Super Wars (Japan)</description>
|
||||
<rom name="Namco Super Wars (Japan).wsc" size="2097152" crc="8ce4652f" md5="4180034fe25dbc97ddd0d7e3adf83e3b" sha1="c48569fd0a46ab7b7ceafeb5698be90420cd4fbe" status="verified"/>
|
||||
</game>
|
||||
<game name="Naruto - Konoha Ninpouchou (Japan)" id="0061">
|
||||
<description>Naruto - Konoha Ninpouchou (Japan)</description>
|
||||
<rom name="Naruto - Konoha Ninpouchou (Japan).wsc" size="4194304" crc="71556e6a" md5="5f742027ef79b71b0007ff5654e9565f" sha1="dbaa50fd56e69e72fdfe49362ef5fe4437d66667" status="verified"/>
|
||||
</game>
|
||||
<game name="NAVI GET 400 Million (Japan) (Version 1.0) (Program)" id="0119" cloneofid="0112">
|
||||
<description>NAVI GET 400 Million (Japan) (Version 1.0) (Program)</description>
|
||||
<rom name="NAVI GET 400 Million (Japan) (Version 1.0) (Program).wsc" size="1048576" crc="f79be3b5" md5="4278fd901c463102b2b683cffe40b1f6" sha1="b01a9572351ac8f36a578ea5486b1ae71c5d21a7"/>
|
||||
</game>
|
||||
<game name="NAVI GET 400 Million (Japan) (Version 3.0) (Program)" id="0112">
|
||||
<description>NAVI GET 400 Million (Japan) (Version 3.0) (Program)</description>
|
||||
<rom name="NAVI GET 400 Million (Japan) (Version 3.0) (Program).wsc" size="1048576" crc="4c6cbdb2" md5="9dce5e7af6841901b902f701ab6f861a" sha1="4253d5151a925c7ad766f3dd19497150d578940b"/>
|
||||
</game>
|
||||
<game name="NAVI GET 400 Million (Japan) (Version 2.1) (Program)" id="0113" cloneofid="0112">
|
||||
<description>NAVI GET 400 Million (Japan) (Version 2.1) (Program)</description>
|
||||
<rom name="NAVI GET 400 Million (Japan) (Version 2.1) (Program).wsc" size="1048576" crc="0a072698" md5="71bda13f8ab40f74c67b358528f08742" sha1="bc571f5cace41b17ddb5646d67329021be472aee"/>
|
||||
</game>
|
||||
<game name="NAVI GET 400 Million (Japan) (Version 9) (Program)" id="0120" cloneofid="0112">
|
||||
<description>NAVI GET 400 Million (Japan) (Version 9) (Program)</description>
|
||||
<rom name="NAVI GET 400 Million (Japan) (Version 9) (Program).wsc" size="1048576" crc="83512340" md5="269f61e701aec1720ecc205437f6912d" sha1="863260de4e0626ee7f4055ee7d9ce95824d635f2"/>
|
||||
</game>
|
||||
<game name="Pocket no Naka no Doraemon (Japan)" id="0062">
|
||||
<description>Pocket no Naka no Doraemon (Japan)</description>
|
||||
<rom name="Pocket no Naka no Doraemon (Japan).wsc" size="4194304" crc="2b61bb2b" md5="77e8335f51cd8f5baa2117bbf2b25307" sha1="57338999b949589c36ce116a30f433e9618685e4"/>
|
||||
</game>
|
||||
<game name="Raku Jongg (Japan)" id="0063">
|
||||
<description>Raku Jongg (Japan)</description>
|
||||
<rom name="Raku Jongg (Japan).wsc" size="1048576" crc="fe4ff701" md5="a461ad467a1bf5ba55fa1874017f621b" sha1="977d5830e45c78b9020e9d06a63a9ad6bc623745" status="verified"/>
|
||||
</game>
|
||||
<game name="Rhyme Rider Kerorican (Japan)" id="0064">
|
||||
<description>Rhyme Rider Kerorican (Japan)</description>
|
||||
<rom name="Rhyme Rider Kerorican (Japan).wsc" size="4194304" crc="60706555" md5="04237a449794b5a7a8e4a3572707befc" sha1="5973306a864c3804ee10b209e45067807d39a4de"/>
|
||||
</game>
|
||||
<game name="Riviera - Yakusoku no Chi Riviera (Japan)" id="0065">
|
||||
<description>Riviera - Yakusoku no Chi Riviera (Japan)</description>
|
||||
<rom name="Riviera - Yakusoku no Chi Riviera (Japan).wsc" size="8388608" crc="2460b45a" md5="3e62a6b6af656fcac225cd02446acb9d" sha1="a8f8d3efc9b2d5741081e05f517d746ee5437f87"/>
|
||||
</game>
|
||||
<game name="Rockman EXE - N1 Battle (Japan) (Rev 1)" id="0066">
|
||||
<description>Rockman EXE - N1 Battle (Japan) (Rev 1)</description>
|
||||
<rom name="Rockman EXE - N1 Battle (Japan) (Rev 1).wsc" size="4194304" crc="1f10ca75" md5="d902afdadf17b452621c50a1ffda2fa9" sha1="9b4786adca7b83fe66a9d4b9fd4ffaf32abe7656"/>
|
||||
</game>
|
||||
<game name="Rockman EXE WS (Japan)" id="0067">
|
||||
<description>Rockman EXE WS (Japan)</description>
|
||||
<rom name="Rockman EXE WS (Japan).wsc" size="4194304" crc="658c4b98" md5="a66390da2c2defcf092eb107edaf4fa0" sha1="b4a3ff3b72639f27d1a6f449b0335074aeb9e603"/>
|
||||
</game>
|
||||
<game name="Romancing Sa-Ga (Japan)" id="0068">
|
||||
<description>Romancing Sa-Ga (Japan)</description>
|
||||
<rom name="Romancing Sa-Ga (Japan).wsc" size="4194304" crc="9c98d97d" md5="a4862ef07e13231ae429a98ef667a74a" sha1="06fcc9aad3ae478db6eed27621af4f56a6488a67" status="verified"/>
|
||||
</game>
|
||||
<game name="RUN=DIM - Return to Earth (Japan)" id="0069">
|
||||
<description>RUN=DIM - Return to Earth (Japan)</description>
|
||||
<rom name="RUN=DIM - Return to Earth (Japan).wsc" size="2097152" crc="15c4552e" md5="5898c0dfee65ff9b47ce6ec1be2014d5" sha1="3a41a3b8fc126da07e2a82c21056a45c15efbc98" status="verified"/>
|
||||
</game>
|
||||
<game name="Saint Seiya - Ougon Densetsu Hen - Perfect Edition (Japan)" id="0070">
|
||||
<description>Saint Seiya - Ougon Densetsu Hen - Perfect Edition (Japan)</description>
|
||||
<rom name="Saint Seiya - Ougon Densetsu Hen - Perfect Edition (Japan).wsc" size="2097152" crc="6e8a792d" md5="fd7f1859cb0ee0b63ccb7f36e9a3351d" sha1="8542649963efe0976015759382c180b7c056be9a"/>
|
||||
</game>
|
||||
<game name="SD Gundam - Operation U.C. (Japan)" id="0071">
|
||||
<description>SD Gundam - Operation U.C. (Japan)</description>
|
||||
<rom name="SD Gundam - Operation U.C. (Japan).wsc" size="2097152" crc="f0acda5c" md5="12c3cca0ef52343509dda1c1fb4c1b65" sha1="152c4d63b1b17f2c717a43efc75d718b614f9ddc" status="verified"/>
|
||||
</game>
|
||||
<game name="SD Gundam Eiyuu Den - Kishi Densetsu (Japan)" id="0072">
|
||||
<description>SD Gundam Eiyuu Den - Kishi Densetsu (Japan)</description>
|
||||
<rom name="SD Gundam Eiyuu Den - Kishi Densetsu (Japan).wsc" size="4194304" crc="c60e5162" md5="3944c5d21434e5836f414b319af96331" sha1="ebd4b37ade6df717f7b637747a4d3c45a6cca037"/>
|
||||
</game>
|
||||
<game name="SD Gundam Eiyuu Den - Musha Densetsu (Japan)" id="0073">
|
||||
<description>SD Gundam Eiyuu Den - Musha Densetsu (Japan)</description>
|
||||
<rom name="SD Gundam Eiyuu Den - Musha Densetsu (Japan).wsc" size="4194304" crc="18ecffb8" md5="18267bcb9d31ffb6711f5464f6ab8077" sha1="d8097e25431f0ad5183b2479ee0837599677a300"/>
|
||||
</game>
|
||||
<game name="SD Gundam G Generation - Gather Beat 2 (Japan)" id="0074">
|
||||
<description>SD Gundam G Generation - Gather Beat 2 (Japan)</description>
|
||||
<rom name="SD Gundam G Generation - Gather Beat 2 (Japan).wsc" size="8388608" crc="4d21a347" md5="6c1949e0201437ed16d9182956b67b0e" sha1="016ff46509cbfe57a7440a1755d3a41ef49c048f"/>
|
||||
</game>
|
||||
<game name="SD Gundam G Generation - Mono-Eye Gundams (Japan)" id="0075" cloneofid="0107">
|
||||
<category>Games</category>
|
||||
<description>SD Gundam G Generation - Mono-Eye Gundams (Japan)</description>
|
||||
<rom name="SD Gundam G Generation - Mono-Eye Gundams (Japan).wsc" size="8388608" crc="6aca1f04" md5="c492c6406967e5533022e490b7584da9" sha1="91e087056207fce21e782e25e383c203bc046897"/>
|
||||
</game>
|
||||
<game name="SD Gundam G Generation - Mono-Eye Gundams (Japan) (Rev 2)" id="0107">
|
||||
<category>Games</category>
|
||||
<description>SD Gundam G Generation - Mono-Eye Gundams (Japan) (Rev 2)</description>
|
||||
<rom name="SD Gundam G Generation - Mono-Eye Gundams (Japan) (Rev 2).wsc" size="8388608" crc="a3ecc9ac" md5="c1cb619ec3a596366a324da1f8957985" sha1="1f7c28d9d575b260d973f8526ecadda834032149" sha256="e0ec49d6586787bf11c985787a921b69956770657e71461ffab00f217642dd98"/>
|
||||
</game>
|
||||
<game name="Senkaiden Ni - TV Animation Senkaiden Houshin Engi Yori (Japan)" id="0076">
|
||||
<description>Senkaiden Ni - TV Animation Senkaiden Houshin Engi Yori (Japan)</description>
|
||||
<rom name="Senkaiden Ni - TV Animation Senkaiden Houshin Engi Yori (Japan).wsc" size="4194304" crc="9f35d00f" md5="29badb7011c6d4d7b2047249f24fafb9" sha1="df9e831842072d9af613effbee7162229849de58"/>
|
||||
</game>
|
||||
<game name="Shaman King - Asu e no Ishi (Japan)" id="0077" cloneofid="0078">
|
||||
<description>Shaman King - Asu e no Ishi (Japan)</description>
|
||||
<rom name="Shaman King - Asu e no Ishi (Japan).wsc" size="4194304" crc="6c029674" md5="ed02c631f0915b7ce37c9267e13a2271" sha1="1e735d1e83a7bfa06c5c717c7e8a386d55a8e3f0"/>
|
||||
</game>
|
||||
<game name="Shaman King - Asu e no Ishi (Japan) (Rev 1)" id="0078">
|
||||
<description>Shaman King - Asu e no Ishi (Japan) (Rev 1)</description>
|
||||
<rom name="Shaman King - Asu e no Ishi (Japan) (Rev 1).wsc" size="4194304" crc="34908cb4" md5="0383d7778eac82483efb4e9d276581c6" sha1="473195666a633573c777d3be98d7e8f46569c84b"/>
|
||||
</game>
|
||||
<game name="Sorobang (Japan) (Rev 1)" id="0079">
|
||||
<description>Sorobang (Japan) (Rev 1)</description>
|
||||
<rom name="Sorobang (Japan) (Rev 1).wsc" size="1048576" crc="0e467d97" md5="8756f7653d5d7dd201c1048078ff1cd0" sha1="983582fe8d18839df30b6d29fb75780a9e32f4ec"/>
|
||||
</game>
|
||||
<game name="Star Hearts - Hoshi to Daichi no Shisha (Japan)" id="0081">
|
||||
<description>Star Hearts - Hoshi to Daichi no Shisha (Japan)</description>
|
||||
<rom name="Star Hearts - Hoshi to Daichi no Shisha (Japan).wsc" size="4194304" crc="138d1018" md5="41a4a0ab39c036fb4ad741f19027e443" sha1="2b2c2a0566646156bcdde2a00b728c5b8218aa23"/>
|
||||
</game>
|
||||
<game name="Star Hearts - Hoshi to Daichi no Shisha - Taikenban (Japan) (Not For Sale)" id="0080" cloneofid="0081">
|
||||
<description>Star Hearts - Hoshi to Daichi no Shisha - Taikenban (Japan) (Not For Sale)</description>
|
||||
<rom name="Star Hearts - Hoshi to Daichi no Shisha - Taikenban (Japan) (Not For Sale).wsc" size="4194304" crc="9874e9a2" md5="624cc1e06ade72315784b82f30f7f83f" sha1="44940ae0140df1bd91d742a166c459df1b6c2339"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact 3 (Japan) (Rev 5)" id="0082" cloneofid="0083">
|
||||
<description>Super Robot Taisen Compact 3 (Japan) (Rev 5)</description>
|
||||
<rom name="Super Robot Taisen Compact 3 (Japan) (Rev 5).wsc" size="8388608" crc="6918c824" md5="38be1f76e69fe58f9268c032c7f22fbb" sha1="b579f204be604ebef4e8238e5883152b70399c4d"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact 3 (Japan) (Rev 6)" id="0083">
|
||||
<description>Super Robot Taisen Compact 3 (Japan) (Rev 6)</description>
|
||||
<rom name="Super Robot Taisen Compact 3 (Japan) (Rev 6).wsc" size="8388608" crc="188ca644" md5="d43e85a61b91423de8a91f78e62936fe" sha1="dd6fe0f278cdec2670d3be8552dbb0cf6a3a2841"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact for WonderSwan Color (Japan)" id="0084">
|
||||
<description>Super Robot Taisen Compact for WonderSwan Color (Japan)</description>
|
||||
<rom name="Super Robot Taisen Compact for WonderSwan Color (Japan).wsc" size="4194304" crc="16e0d929" md5="59c20a67961e60791360d8d29d937ef0" sha1="bf212cecbbc51ee32ee2655a072f55e7bf70b9ec" status="verified"/>
|
||||
</game>
|
||||
<game name="Terrors 2 (Japan)" id="0085">
|
||||
<description>Terrors 2 (Japan)</description>
|
||||
<rom name="Terrors 2 (Japan).wsc" size="4194304" crc="9bd8f08c" md5="a8f950c87c0237ead29b23c04368de44" sha1="9532113e14b03c95f034c015168e21273d42eff1" status="verified"/>
|
||||
</game>
|
||||
<game name="Tetris (Japan)" id="0086">
|
||||
<description>Tetris (Japan)</description>
|
||||
<rom name="Tetris (Japan).wsc" size="1048576" crc="7b0caea9" md5="b7e66090d059f77636161fa4e21f3e89" sha1="1a86403d7896d60fcb7a4c09367f5a976c7ea5a5" status="verified"/>
|
||||
</game>
|
||||
<game name="Tonpuusou (Japan)" id="0087">
|
||||
<description>Tonpuusou (Japan)</description>
|
||||
<rom name="Tonpuusou (Japan).wsc" size="1048576" crc="47659b2c" md5="ccab821fe0db8dc9c468d2d3479b530a" sha1="fb53c28bd48174d3829467f1ab81d3f87f9a7f5b"/>
|
||||
</game>
|
||||
<game name="Uchuu Senkan Yamato (Japan)" id="0088">
|
||||
<description>Uchuu Senkan Yamato (Japan)</description>
|
||||
<rom name="Uchuu Senkan Yamato (Japan).wsc" size="4194304" crc="5793bdda" md5="9f612c697b72b2d5e87776edd95de077" sha1="dd1878279a6667fb66dd1ac44a2cdb9a5acbe415"/>
|
||||
</game>
|
||||
<game name="Ultraman - Hikari no Kuni no Shisha (Japan)" id="0089">
|
||||
<description>Ultraman - Hikari no Kuni no Shisha (Japan)</description>
|
||||
<rom name="Ultraman - Hikari no Kuni no Shisha (Japan).wsc" size="2097152" crc="de2208ab" md5="50afa9b3099b822b0f01e32fbecff9bf" sha1="bd107befe5ce6c5508d2da8be351b9984166ae1d"/>
|
||||
</game>
|
||||
<game name="Wild Card (Japan)" id="0090">
|
||||
<description>Wild Card (Japan)</description>
|
||||
<rom name="Wild Card (Japan).wsc" size="2097152" crc="d9401f0a" md5="3da84c8d458cb9ef07b923dadb209990" sha1="ea878a485a20abd5251065fd66e82d9d8b8a669d" status="verified"/>
|
||||
</game>
|
||||
<game name="With You - Mitsumete Itai (Japan)" id="0091">
|
||||
<description>With You - Mitsumete Itai (Japan)</description>
|
||||
<rom name="With You - Mitsumete Itai (Japan).wsc" size="4194304" crc="e14e9d36" md5="b810c7e4d13452444633b6a6a123664b" sha1="6a4f4a03c367ccf00aa7462191c929a2736eb44b"/>
|
||||
</game>
|
||||
<game name="Wizardry Scenario 1 - Proving Grounds of the Mad Overlord (Japan)" id="0092">
|
||||
<description>Wizardry Scenario 1 - Proving Grounds of the Mad Overlord (Japan)</description>
|
||||
<rom name="Wizardry Scenario 1 - Proving Grounds of the Mad Overlord (Japan).wsc" size="2097152" crc="15e55706" md5="f0ba64cd7b88eab7add0f7af02080072" sha1="c1ad383d337dba8a63295cfb8c7ca8470c893c67"/>
|
||||
</game>
|
||||
<game name="Wonder Classic (Japan)" id="0093">
|
||||
<description>Wonder Classic (Japan)</description>
|
||||
<rom name="Wonder Classic (Japan).wsc" size="4194304" crc="12f10b27" md5="50a6fd0e2a65487b5ea2672d2b93a862" sha1="55b54944efd6e277fa7140925ed2457a8cfb40b8"/>
|
||||
</game>
|
||||
<game name="X - Card of Fate (Japan)" id="0094">
|
||||
<description>X - Card of Fate (Japan)</description>
|
||||
<rom name="X - Card of Fate (Japan).wsc" size="4194304" crc="66b617d5" md5="26c76cfcb14c5c8799dbe4367184d4a5" sha1="c1ab4e24f261615ca59f937b866fcf7047b67796"/>
|
||||
</game>
|
||||
<game name="XI Little (Japan)" id="0095">
|
||||
<description>XI Little (Japan)</description>
|
||||
<rom name="XI Little (Japan).wsc" size="2097152" crc="25e2ba75" md5="3c5e5826998dcf3ee18b9396c860df6f" sha1="97c29917a78918a6905fd61a1466971cfd2a33c6"/>
|
||||
</game>
|
||||
</datafile>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af2f9150b8258834096b238494c8da95
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,561 @@
|
||||
<?xml version="1.0"?>
|
||||
<datafile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://datomatic.no-intro.org/stuff https://datomatic.no-intro.org/stuff/schema_nointro_datfile_v3.xsd">
|
||||
<header>
|
||||
<id>50</id>
|
||||
<name>Bandai - WonderSwan</name>
|
||||
<description>Bandai - WonderSwan</description>
|
||||
<version>20230717-110112</version>
|
||||
<author>C. V. Reynolds, Gefflon, gigadeath, Hiccup, kazumi213, MeguCocoa, omonim2007, PPLToast, RetroUprising, sCZther, SonGoku, xuom2</author>
|
||||
<homepage>No-Intro</homepage>
|
||||
<url>https://www.no-intro.org</url>
|
||||
<clrmamepro forcenodump="required"/>
|
||||
</header>
|
||||
<game name="[BIOS] WonderSwan Boot ROM (Japan) (En)" id="0118">
|
||||
<description>[BIOS] WonderSwan Boot ROM (Japan) (En)</description>
|
||||
<rom name="[BIOS] WonderSwan Boot ROM (Japan) (En).ws" size="4096" crc="7f35f890" md5="54b915694731cc22e07d3fb8a00ee2db" sha1="4015bcacea76bb0b5bbdb13c5358f7e1abb986a1" sha256="bf4480dbea1c47c8b54ce7be9382bc1006148f431fbe4277e136351fa74f635e"/>
|
||||
</game>
|
||||
<game name="Anchorz Field (Japan)" id="0001">
|
||||
<description>Anchorz Field (Japan)</description>
|
||||
<rom name="Anchorz Field (Japan).ws" size="1048576" crc="425eb893" md5="7528a5de5924896d152920b1eaf8fd5d" sha1="06447c248afce04c4f4a1c3b5f7a4ab6f383c94b"/>
|
||||
</game>
|
||||
<game name="Armored Unit (Japan)" id="0002">
|
||||
<description>Armored Unit (Japan)</description>
|
||||
<rom name="Armored Unit (Japan).ws" size="1048576" crc="04366d92" md5="9587c46e7a2d4d8c2e5ddc971b7325fd" sha1="1578669c1fcf59ab5f5e603c6a65121d7ae209b1"/>
|
||||
</game>
|
||||
<game name="Bakusou Dekotora Densetsu for WonderSwan (Japan)" id="0003">
|
||||
<description>Bakusou Dekotora Densetsu for WonderSwan (Japan)</description>
|
||||
<rom name="Bakusou Dekotora Densetsu for WonderSwan (Japan).ws" size="2097152" crc="392dd813" md5="c53a5d8c189a23b16c444c4e8ef581af" sha1="821bb81917445b63ac663c706ab4ce27de28543f"/>
|
||||
</game>
|
||||
<game name="BANDAI Default Splash Screen (Japan) (Program)" id="0140">
|
||||
<description>BANDAI Default Splash Screen (Japan) (Program)</description>
|
||||
<rom name="BANDAI Default Splash Screen (Japan) (Program).ws" size="16777216" crc="9da44185" md5="133aada0250cf13a3e34966cc0c0ba7c" sha1="930277816a22eeeb68646a135192c6104abbc948" sha256="a218fc09e9c6d62b2661039f47a6c115b81480c8fe3bccb9063abc21cbb42344"/>
|
||||
</game>
|
||||
<game name="beatmania for WonderSwan (Japan)" id="0004">
|
||||
<description>beatmania for WonderSwan (Japan)</description>
|
||||
<rom name="beatmania for WonderSwan (Japan).ws" size="16777216" crc="324622c9" md5="b814e71eb1d079466a9535566d605280" sha1="544e76133fa53fc0ae5e00e3465b9cf634f14fd0" status="verified"/>
|
||||
</game>
|
||||
<game name="Buffers Evolution (Japan)" id="0005">
|
||||
<description>Buffers Evolution (Japan)</description>
|
||||
<rom name="Buffers Evolution (Japan).ws" size="4194304" crc="b25a0635" md5="9b15b2236cae605f7bc3bea3859fdd36" sha1="35eea568f756bacf533bb9aaad7e3239ba00e411"/>
|
||||
</game>
|
||||
<game name="Cardcaptor Sakura - Sakura to Fushigi na Clow Card (Japan)" id="0006">
|
||||
<description>Cardcaptor Sakura - Sakura to Fushigi na Clow Card (Japan)</description>
|
||||
<rom name="Cardcaptor Sakura - Sakura to Fushigi na Clow Card (Japan).ws" size="2097152" crc="7f3a14c0" md5="bb9f130931b2b7d1f646f44d1667ad63" sha1="39e9a897b681b2c326b052827d7c534f22290286" status="verified"/>
|
||||
</game>
|
||||
<game name="Chaos Gear - Michibikareshi Mono (Japan)" id="0007">
|
||||
<description>Chaos Gear - Michibikareshi Mono (Japan)</description>
|
||||
<rom name="Chaos Gear - Michibikareshi Mono (Japan).ws" size="2097152" crc="27b3cc18" md5="f647a51827915109d1bc6a05c076eda4" sha1="e212bba4fac51bbfcf440966da0e67b1686dcfc5"/>
|
||||
</game>
|
||||
<game name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 2)" id="0008" cloneofid="0119">
|
||||
<description>Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 2)</description>
|
||||
<rom name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 2).ws" size="2097152" crc="ccaa4853" md5="edbc77ab0d585447d927318a6eb66c9b" sha1="3b62fd2841602f1077270848ab7a3aad58712ee9"/>
|
||||
</game>
|
||||
<game name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 1)" id="0114" cloneofid="0119">
|
||||
<description>Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 1).ws" size="2097152" crc="a607a350" md5="6d7d60c65e5a5cc92f83a62c434577b5" sha1="a8c4f423429a8683cfebd05370ea122613349033" status="verified"/>
|
||||
</game>
|
||||
<game name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 3)" id="0119">
|
||||
<description>Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 3)</description>
|
||||
<rom name="Chocobo no Fushigi na Dungeon for WonderSwan (Japan) (Rev 3).ws" size="2097152" crc="aa53971d" md5="03b416e7326a34c9546e8336f7d50bf2" sha1="f7a65e95a8e97f35ec2419897ad96af1e1d49676"/>
|
||||
</game>
|
||||
<game name="Chou Aniki - Otoko no Tamafuda (Japan) (Rev 4)" id="0009">
|
||||
<description>Chou Aniki - Otoko no Tamafuda (Japan) (Rev 4)</description>
|
||||
<rom name="Chou Aniki - Otoko no Tamafuda (Japan) (Rev 4).ws" size="1048576" crc="7fff2520" md5="24fd819c4f4866d7c5c340d0273acbf9" sha1="eb538b82c5516fae8ce38778e41fb118aa5c830f"/>
|
||||
</game>
|
||||
<game name="Chou Denki Card Battle - Youfu Makai (Japan) (Rev 3)" id="0010">
|
||||
<description>Chou Denki Card Battle - Youfu Makai (Japan) (Rev 3)</description>
|
||||
<rom name="Chou Denki Card Battle - Youfu Makai (Japan) (Rev 3).ws" size="2097152" crc="56e2c069" md5="5432d188664bc4e5dae0fc859580cda1" sha1="c4436a59fd830ba6af2d63462f71e1ab1cfa3212"/>
|
||||
</game>
|
||||
<game name="Clock Tower for WonderSwan (Japan) (Rev 1)" id="0011">
|
||||
<description>Clock Tower for WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Clock Tower for WonderSwan (Japan) (Rev 1).ws" size="4194304" crc="4e8909d1" md5="8f0ba3401662a40e8da5ebcfe7b85e81" sha1="db9b3308336b59aeff7bd173d687953a37739381"/>
|
||||
</game>
|
||||
<game name="Crazy Climber (Japan)" id="0012">
|
||||
<description>Crazy Climber (Japan)</description>
|
||||
<rom name="Crazy Climber (Japan).ws" size="1048576" crc="0cb57376" md5="0ed3a08a3a9858f65d1487889645dc55" sha1="a88882426bf435416616191902a26b2b066f2491"/>
|
||||
</game>
|
||||
<game name="D's Garage 21 Koubo Game - Tane o Maku Tori (Japan)" id="0013">
|
||||
<description>D's Garage 21 Koubo Game - Tane o Maku Tori (Japan)</description>
|
||||
<rom name="D's Garage 21 Koubo Game - Tane o Maku Tori (Japan).ws" size="1048576" crc="b1caec06" md5="e39e90944a683b9d4a996a53804826f0" sha1="83e190af2e25fbb3e93b1d5835c52fe6f1d279ce" sha256="3d791b4e9b05eb600ba89be687bc49dee171af645c3a046b5f8f695198005daf" status="verified"/>
|
||||
</game>
|
||||
<game name="Densha de Go! (Japan) (Rev 1)" id="0014">
|
||||
<description>Densha de Go! (Japan) (Rev 1)</description>
|
||||
<rom name="Densha de Go! (Japan) (Rev 1).ws" size="4194304" crc="b62e5dd0" md5="7b2180e38b4720ce711768a73c33c9df" sha1="d3da0ae529c6f78162682141154a95879f288ca7" sha256="4f68c09f93cce8ef4aa600394f22f8a14825e0fdbad4f4a13d799fdd08a6067b" status="verified"/>
|
||||
</game>
|
||||
<game name="Densha de Go! 2 (Japan)" id="0015">
|
||||
<description>Densha de Go! 2 (Japan)</description>
|
||||
<rom name="Densha de Go! 2 (Japan).ws" size="4194304" crc="af9d8f42" md5="eec79ad5bb634a90b9d020415046e921" sha1="c07f776ac4374b648d1a49efd9d6fcd0db2ac1fa"/>
|
||||
</game>
|
||||
<game name="Digimon - Ver. WonderSwan (Hong Kong) (En)" id="0016" cloneofid="0020">
|
||||
<description>Digimon - Ver. WonderSwan (Hong Kong) (En)</description>
|
||||
<rom name="Digimon - Ver. WonderSwan (Hong Kong) (En).ws" size="2097152" crc="94ea6ffc" md5="d5f7fbf06c57aa50f08c14e64d2e02a2" sha1="5cc59ec1687fe83ec5fb048d3dfc37849747df34"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure - Anode Tamer (Japan) (Rev 1)" id="0017">
|
||||
<description>Digimon Adventure - Anode Tamer (Japan) (Rev 1)</description>
|
||||
<rom name="Digimon Adventure - Anode Tamer (Japan) (Rev 1).ws" size="2097152" crc="6e9dd148" md5="ba249ee5c5ccb1512e0fb6af200a361a" sha1="9db54826c2887dea07aac774bd15e092596e37af"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure - Anode Tamer (Japan)" id="0115" cloneofid="0017">
|
||||
<description>Digimon Adventure - Anode Tamer (Japan)</description>
|
||||
<rom name="Digimon Adventure - Anode Tamer (Japan).ws" size="2097152" crc="fc6946f0" md5="db33df2754fb51ce740006cf9176049f" sha1="c49bd00c95bca49a183d59f85e81815efb1a2fb9" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure - Cathode Tamer (Japan)" id="0018">
|
||||
<description>Digimon Adventure - Cathode Tamer (Japan)</description>
|
||||
<rom name="Digimon Adventure - Cathode Tamer (Japan).ws" size="2097152" crc="42ad238b" md5="10f50d5b44a7b8b1f308c1bea8263823" sha1="0b54cc1d350ab92c42ce8214784389b994562bf6" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure 02 - Tag Tamers (Japan) (Rev 1)" id="0019">
|
||||
<description>Digimon Adventure 02 - Tag Tamers (Japan) (Rev 1)</description>
|
||||
<rom name="Digimon Adventure 02 - Tag Tamers (Japan) (Rev 1).ws" size="2097152" crc="6ededaf8" md5="2cb264ba76b88452d7576992f2b90dbf" sha1="44a5502b70ea75926b87377e3f634c8093bc574a" status="verified"/>
|
||||
</game>
|
||||
<game name="Digimon Adventure 02 - Tag Tamers (Japan)" id="0123" cloneofid="0019">
|
||||
<description>Digimon Adventure 02 - Tag Tamers (Japan)</description>
|
||||
<rom name="Digimon Adventure 02 - Tag Tamers (Japan).ws" size="2097152" crc="56ce1bc5" md5="0ae28388d68fb56bee38cc96faf37f90" sha1="521754084afc6321ae329421b9d2ab0f0cac8c70" status="verified"/>
|
||||
</game>
|
||||
<game name="Digital Monster - Ver. WonderSwan (Japan) (Rev 1)" id="0020">
|
||||
<description>Digital Monster - Ver. WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Digital Monster - Ver. WonderSwan (Japan) (Rev 1).ws" size="2097152" crc="ab59de2e" md5="deb2c37baea996386b2af10bdd0ca3b1" sha1="ecea24db6e65254ab4d6e312de0eb951c7df716f" status="verified"/>
|
||||
</game>
|
||||
<game name="Digital Partner (Japan)" id="0021">
|
||||
<description>Digital Partner (Japan)</description>
|
||||
<rom name="Digital Partner (Japan).ws" size="2097152" crc="b5e675ae" md5="768b8f5722f0b07be4e8ac356e90acf2" sha1="c622f6742ca3f0129fc12dce0a1c17d292388ffb" sha256="c98c05e7ed2005b162051a242ed91b68a47b576a44da329492718e168a18ee58" status="verified"/>
|
||||
</game>
|
||||
<game name="Dokodemo Hamster (Japan)" id="0022">
|
||||
<description>Dokodemo Hamster (Japan)</description>
|
||||
<rom name="Dokodemo Hamster (Japan).ws" size="1048576" crc="89e7d950" md5="da17db6b7f491510e4b284996ff0eebf" sha1="3d5a1ed77e721908eb1145aaedef17c0ee6355ae"/>
|
||||
</game>
|
||||
<game name="Engacho! for WonderSwan (Japan)" id="0023">
|
||||
<description>Engacho! for WonderSwan (Japan)</description>
|
||||
<rom name="Engacho! for WonderSwan (Japan).ws" size="1048576" crc="4e467626" md5="3584e4a63a6ae9fa546722a349f88573" sha1="f79451034b6d844f0e10c825306bbc26f26a5466"/>
|
||||
</game>
|
||||
<game name="Fever - Sankyo Koushiki Pachinko Simulation for WonderSwan (Japan)" id="0024">
|
||||
<description>Fever - Sankyo Koushiki Pachinko Simulation for WonderSwan (Japan)</description>
|
||||
<rom name="Fever - Sankyo Koushiki Pachinko Simulation for WonderSwan (Japan).ws" size="2097152" crc="8922dd0b" md5="ae2e0e9da1f25119cb4ad24a821446ba" sha1="f26b0215c49e04cb8ef6f031b627dff6a49d2015"/>
|
||||
</game>
|
||||
<game name="Final Lap 2000 (Japan)" id="0025">
|
||||
<description>Final Lap 2000 (Japan)</description>
|
||||
<rom name="Final Lap 2000 (Japan).ws" size="1048576" crc="ce2f1a1d" md5="a466797b353d610f43a0f030cec721c1" sha1="cfcb14be6d2f1dbffdfcefb8c8d83b4f39bc102b"/>
|
||||
</game>
|
||||
<game name="Fire Pro Wrestling for WonderSwan (Japan) (Rev 5)" id="0026">
|
||||
<description>Fire Pro Wrestling for WonderSwan (Japan) (Rev 5)</description>
|
||||
<rom name="Fire Pro Wrestling for WonderSwan (Japan) (Rev 5).ws" size="4194304" crc="f246a68e" md5="dd9be38cd66ffd3b526d3388c6b99b8e" sha1="fbb745b016cc710ff6f82ec3091a181415d8de61"/>
|
||||
</game>
|
||||
<game name="Fishing Freaks - Bass Rise for WonderSwan (Japan)" id="0027">
|
||||
<description>Fishing Freaks - Bass Rise for WonderSwan (Japan)</description>
|
||||
<rom name="Fishing Freaks - Bass Rise for WonderSwan (Japan).ws" size="1048576" crc="a1fb16fc" md5="eb3f161ea3db4ebd759c9b1346032d4f" sha1="f8f077da30f227f3793e97c7f1d656559f08b9d4"/>
|
||||
</game>
|
||||
<game name="From TV Animation One Piece - Mezase Kaizoku Ou! (Japan)" id="0028">
|
||||
<description>From TV Animation One Piece - Mezase Kaizoku Ou! (Japan)</description>
|
||||
<rom name="From TV Animation One Piece - Mezase Kaizoku Ou! (Japan).ws" size="1048576" crc="f2e362b8" md5="fe30867e698c071f6be94cce24b095ee" sha1="99c831c27c478064e3d3fa8f9f089cc28f0e946f" status="verified"/>
|
||||
</game>
|
||||
<game name="Ganso Jajamaru-kun (Japan)" id="0029">
|
||||
<description>Ganso Jajamaru-kun (Japan)</description>
|
||||
<rom name="Ganso Jajamaru-kun (Japan).ws" size="524288" crc="a193458c" md5="6f09fc64352ba0051e724c4ae58402f4" sha1="cbf6455e89b20a000b6121e5c485be1a20d1f726"/>
|
||||
</game>
|
||||
<game name="Glocal Hexcite (Japan)" id="0030">
|
||||
<description>Glocal Hexcite (Japan)</description>
|
||||
<rom name="Glocal Hexcite (Japan).ws" size="1048576" crc="4aed3911" md5="21744e51668ab1fca63e5b2a204c194d" sha1="837528b9d95e309f7b1e8c4ffd46ca3e2b68a5a3"/>
|
||||
</game>
|
||||
<game name="Gomoku Narabe & Reversi - Touryuumon (Japan)" id="0031">
|
||||
<description>Gomoku Narabe & Reversi - Touryuumon (Japan)</description>
|
||||
<rom name="Gomoku Narabe & Reversi - Touryuumon (Japan).ws" size="1048576" crc="a9f11523" md5="3ab76903152993aeee1118818bfad8f7" sha1="0931ddec058eefb32a68a1752716ed2ba68b78bf"/>
|
||||
</game>
|
||||
<game name="Goraku Ou Tango! (Japan) (Rev 2)" id="0032">
|
||||
<description>Goraku Ou Tango! (Japan) (Rev 2)</description>
|
||||
<rom name="Goraku Ou Tango! (Japan) (Rev 2).ws" size="1048576" crc="00137e86" md5="1adacf9cb5aa3eb5839a9e2c94933348" sha1="af3fe9da3f5ee0f5a7b06b0440223db88fcb3bf2" status="verified"/>
|
||||
</game>
|
||||
<game name="GunPey (Japan)" id="0033">
|
||||
<description>GunPey (Japan)</description>
|
||||
<rom name="GunPey (Japan).ws" size="1048576" crc="a1656bbb" md5="816c81b156146be62a45edd7d7d49fc6" sha1="ee4b777f029bac9561e60c19407d08360e733822" status="verified"/>
|
||||
</game>
|
||||
<game name="Hanafuda Shiyouyo (Japan)" id="0034">
|
||||
<description>Hanafuda Shiyouyo (Japan)</description>
|
||||
<rom name="Hanafuda Shiyouyo (Japan).ws" size="1048576" crc="4b22270d" md5="2e26e037cb01f70a6454a61c2955e8b1" sha1="1eda3327eb9b5a5844a95ac789f71b669f4cb6a7"/>
|
||||
</game>
|
||||
<game name="Harobots (Japan)" id="0035" cloneofid="0122">
|
||||
<description>Harobots (Japan)</description>
|
||||
<rom name="Harobots (Japan).ws" size="2097152" crc="aa525c04" md5="0eb951b486fe25f37371835be81eed75" sha1="1f42c5694a798de8ff3c68f63dfc7395be1669a5"/>
|
||||
</game>
|
||||
<game name="Harobots (Japan) (Rev 1)" id="0122">
|
||||
<description>Harobots (Japan) (Rev 1)</description>
|
||||
<rom name="Harobots (Japan) (Rev 1).ws" size="2097152" crc="f75ce82c" md5="b9020cfae65fe791bd52723cbff31707" sha1="ecbaf210f92c75a55df9dff4777ea364596ae0c9"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 2)" id="0036">
|
||||
<description>Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 2)</description>
|
||||
<rom name="Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 2).ws" size="4194304" crc="70aa800e" md5="fd2165de8c6bb617166f6bb34447e70d" sha1="57b4278fc5812f52413ca65f45225922d4f2ec3d"/>
|
||||
</game>
|
||||
<game name="Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 1)" id="0121" cloneofid="0036">
|
||||
<description>Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 1)</description>
|
||||
<rom name="Hunter X Hunter - Ishi o Tsugu Mono (Japan) (Rev 1).ws" size="4194304" crc="bd6fc68a" md5="cc9d1519e1aba4a0f48f2052af031671" sha1="43d985b31848e1ae58d07231da80ee7aa8d3f686" status="verified"/>
|
||||
</game>
|
||||
<game name="Kakutou Ryouri Densetsu Bistro Recipe - Wonder Battle Hen (Japan)" id="0038">
|
||||
<description>Kakutou Ryouri Densetsu Bistro Recipe - Wonder Battle Hen (Japan)</description>
|
||||
<rom name="Kakutou Ryouri Densetsu Bistro Recipe - Wonder Battle Hen (Japan).ws" size="1048576" crc="4d103236" md5="8be5abfaef7ad77d14f92f10b2460098" sha1="b40fbc7b72921c9ac31330831c0f77e4133ec7d6"/>
|
||||
</game>
|
||||
<game name="Kaze no Klonoa - Moonlight Museum (Japan)" id="0039">
|
||||
<description>Kaze no Klonoa - Moonlight Museum (Japan)</description>
|
||||
<rom name="Kaze no Klonoa - Moonlight Museum (Japan).ws" size="1048576" crc="80c6ef12" md5="5e907dd88b3cfb2855a18fb1bf689860" sha1="207a3ceb9a09eabca6e455deeb7035e7e04c9795" status="verified"/>
|
||||
</game>
|
||||
<game name="Keiba Yosou Shien Soft - Yosou Shinkaron (Japan)" id="0040">
|
||||
<description>Keiba Yosou Shien Soft - Yosou Shinkaron (Japan)</description>
|
||||
<rom name="Keiba Yosou Shien Soft - Yosou Shinkaron (Japan).ws" size="1048576" crc="517f962e" md5="840be356bd48676bd4e39f1e3d54c3b3" sha1="12d26522665cb8ecb3178bc242d984deae438e5c"/>
|
||||
</game>
|
||||
<game name="Kiss Yori... - Seaside Serenade (Japan) (Rev 2)" id="0041">
|
||||
<description>Kiss Yori... - Seaside Serenade (Japan) (Rev 2)</description>
|
||||
<rom name="Kiss Yori... - Seaside Serenade (Japan) (Rev 2).ws" size="2097152" crc="3b4c60c6" md5="611d42816a979ece34dd8221d3023c9c" sha1="9ef89b6fe68c5a06d34344e8c783ec24114ad959"/>
|
||||
</game>
|
||||
<game name="Kosodate Quiz - Dokodemo My Angel (Japan)" id="0042">
|
||||
<description>Kosodate Quiz - Dokodemo My Angel (Japan)</description>
|
||||
<rom name="Kosodate Quiz - Dokodemo My Angel (Japan).ws" size="2097152" crc="4c48624c" md5="a5e1cf7e43e991592890d916369bcf88" sha1="52b154a3e36d01357649a9f7f614139ce6cc46b8" status="verified"/>
|
||||
</game>
|
||||
<game name="Kyousouba Ikusei Simulation - Keiba (Japan) (Rev 1)" id="0043">
|
||||
<description>Kyousouba Ikusei Simulation - Keiba (Japan) (Rev 1)</description>
|
||||
<rom name="Kyousouba Ikusei Simulation - Keiba (Japan) (Rev 1).ws" size="1048576" crc="ecfbcb1d" md5="442e0025aeda0ad8df502696aa97c499" sha1="a309a430fbbed6c42f41d8ccaf4aba82e96d6a7b"/>
|
||||
</game>
|
||||
<game name="Langrisser Millennium WS - The Last Century (Japan) (Rev 1)" id="0044">
|
||||
<description>Langrisser Millennium WS - The Last Century (Japan) (Rev 1)</description>
|
||||
<rom name="Langrisser Millennium WS - The Last Century (Japan) (Rev 1).ws" size="1048576" crc="9e0854e2" md5="0e4369d3f611377433272b3563325ca2" sha1="9fdf3f5821f2a4488139525fe49e87b23de4571f"/>
|
||||
</game>
|
||||
<game name="Last Stand (Japan)" id="0045">
|
||||
<description>Last Stand (Japan)</description>
|
||||
<rom name="Last Stand (Japan).ws" size="2097152" crc="cccaf8a1" md5="cf7ee109aa551fdebaadd5bfbe344fd7" sha1="d524da01f2bfad92c2fa080950229955a3030ef2"/>
|
||||
</game>
|
||||
<game name="Lode Runner for WonderSwan (Japan)" id="0046">
|
||||
<description>Lode Runner for WonderSwan (Japan)</description>
|
||||
<rom name="Lode Runner for WonderSwan (Japan).ws" size="1048576" crc="21279e82" md5="c7445937d6fbc462256bd2ebcdbf3c25" sha1="847f51592f181aa68061900700149b86cdba651b"/>
|
||||
</game>
|
||||
<game name="Macross - True Love Song (Japan)" id="0047">
|
||||
<description>Macross - True Love Song (Japan)</description>
|
||||
<rom name="Macross - True Love Song (Japan).ws" size="4194304" crc="62d419cd" md5="694042e6f8eaa2423693c0a9bba8aef0" sha1="211e051db3fd4d7ae1ea143e043f87cfbcec5f1c"/>
|
||||
</game>
|
||||
<game name="Magical Drop for WonderSwan (Japan)" id="0048">
|
||||
<description>Magical Drop for WonderSwan (Japan)</description>
|
||||
<rom name="Magical Drop for WonderSwan (Japan).ws" size="1048576" crc="637ada93" md5="f98cbebf4a06794aa74636e7a6285ace" sha1="a25944969068ee495254f94c2c48dfffcb66ce8d"/>
|
||||
</game>
|
||||
<game name="Mahjong Touryuumon (Japan) (Rev 3)" id="0049">
|
||||
<description>Mahjong Touryuumon (Japan) (Rev 3)</description>
|
||||
<rom name="Mahjong Touryuumon (Japan) (Rev 3).ws" size="1048576" crc="e7e7fd4c" md5="7edd59281ec08fdb2daaf45e58085e7e" sha1="281079b22cb213ee4dda5c304b5b5be028130929" status="verified"/>
|
||||
</game>
|
||||
<game name="Mahjong Touryuumon (Japan) (Rev 1)" id="0116" cloneofid="0049">
|
||||
<description>Mahjong Touryuumon (Japan) (Rev 1)</description>
|
||||
<rom name="Mahjong Touryuumon (Japan) (Rev 1).ws" size="1048576" crc="c2ed122e" md5="60ad41d50a0b9dd55b0161b1853b824c" sha1="748ca335d39515a6650352449972684be749052a" status="verified"/>
|
||||
</game>
|
||||
<game name="Makaimura for WonderSwan (Japan)" id="0050">
|
||||
<description>Makaimura for WonderSwan (Japan)</description>
|
||||
<rom name="Makaimura for WonderSwan (Japan).ws" size="2097152" crc="00b31fbb" md5="f06beaff2703728baa8dddc0ddeb7094" sha1="5eaeab859e5f647fac354dad285a311387ea126b" status="verified"/>
|
||||
</game>
|
||||
<game name="Medarot Perfect Edition - Kabuto Version (Japan)" id="0051">
|
||||
<description>Medarot Perfect Edition - Kabuto Version (Japan)</description>
|
||||
<rom name="Medarot Perfect Edition - Kabuto Version (Japan).ws" size="1048576" crc="12fb8b28" md5="893ac7863337a65c919780b41bc52406" sha1="509e5748e5efdfb56093c78ae886153dd1838215"/>
|
||||
</game>
|
||||
<game name="Medarot Perfect Edition - Kuwagata Version (Japan)" id="0052">
|
||||
<description>Medarot Perfect Edition - Kuwagata Version (Japan)</description>
|
||||
<rom name="Medarot Perfect Edition - Kuwagata Version (Japan).ws" size="1048576" crc="2b40745d" md5="d8a29d331e9ba86609c75a4aedf9c269" sha1="315061e4739e947175d6ad7f006498cd61a33f8c"/>
|
||||
</game>
|
||||
<game name="Meitantei Conan - Majutsushi no Chousenjou! (Japan)" id="0053">
|
||||
<description>Meitantei Conan - Majutsushi no Chousenjou! (Japan)</description>
|
||||
<rom name="Meitantei Conan - Majutsushi no Chousenjou! (Japan).ws" size="1048576" crc="92fbf7fb" md5="98e88544d8b7df359e37bf2c17dd0641" sha1="8f3f97be31f3bd0e6922ab7795aa6f04bc5cfe2a" status="verified"/>
|
||||
</game>
|
||||
<game name="Meitantei Conan - Nishi no Meitantei Saidai no Kiki! (Japan)" id="0054">
|
||||
<description>Meitantei Conan - Nishi no Meitantei Saidai no Kiki! (Japan)</description>
|
||||
<rom name="Meitantei Conan - Nishi no Meitantei Saidai no Kiki! (Japan).ws" size="2097152" crc="e226863b" md5="1990a2c04395b08df6181f6c8be2a953" sha1="e5684789e81f9d739010db575022a12a448b5509"/>
|
||||
</game>
|
||||
<game name="Metakomi Theraphy - Nee Kiite! (Japan)" id="0055">
|
||||
<description>Metakomi Theraphy - Nee Kiite! (Japan)</description>
|
||||
<rom name="Metakomi Theraphy - Nee Kiite! (Japan).ws" size="2097152" crc="a3ead689" md5="a9c86af9db3743595186274b65c93f90" sha1="dc94e17a942acfdc1eb0c38d91bf72460a4bb8f9"/>
|
||||
</game>
|
||||
<game name="Mingle Magnet (Japan) (En,Ja) (Rev 1)" id="0056">
|
||||
<description>Mingle Magnet (Japan) (En,Ja) (Rev 1)</description>
|
||||
<rom name="Mingle Magnet (Japan) (En,Ja) (Rev 1).ws" size="524288" crc="9baac7bb" md5="555bee0c37a0726d8e8646a290de137f" sha1="c7230ef709f6ceaef9a220541c8cdc05c0cd549f"/>
|
||||
</game>
|
||||
<game name="Mobile Suit Gundam MSVS (Japan)" id="0057">
|
||||
<description>Mobile Suit Gundam MSVS (Japan)</description>
|
||||
<rom name="Mobile Suit Gundam MSVS (Japan).ws" size="2097152" crc="53b9fef8" md5="3ad90f3b8fdb3f2f5a7769e42ebc0792" sha1="2688ca67ac31ce3d5c3523b0e11cad55e70fa257" sha256="d82239a439c51ced0fa7243e21d8f834f70340d072ef55a3ebc73f3d38f560c0" status="verified"/>
|
||||
</game>
|
||||
<game name="MobileWonderGate (Japan) (Rev 1)" id="0058">
|
||||
<description>MobileWonderGate (Japan) (Rev 1)</description>
|
||||
<rom name="MobileWonderGate (Japan) (Rev 1).ws" size="2097152" crc="80de367d" md5="b1b20bb24be3767ab5bfcfca54b51c54" sha1="92d4a6ff6f2b1152d8935025f38f910155e5d709" status="verified"/>
|
||||
</game>
|
||||
<game name="Moero!! Pro Yakyuu Rookies (Japan)" id="0059">
|
||||
<description>Moero!! Pro Yakyuu Rookies (Japan)</description>
|
||||
<rom name="Moero!! Pro Yakyuu Rookies (Japan).ws" size="1048576" crc="eb995e86" md5="ff73a924c6e7d5190be8a9c749b4c9fd" sha1="e88e659cc04fc08a04b8c881f62fe086c5cdab06"/>
|
||||
</game>
|
||||
<game name="Morita Shougi for WonderSwan (Japan)" id="0060">
|
||||
<description>Morita Shougi for WonderSwan (Japan)</description>
|
||||
<rom name="Morita Shougi for WonderSwan (Japan).ws" size="1048576" crc="d675c265" md5="9472518275eaf9f3dedca8b59e2fa97f" sha1="3ce41c90cfc1d53a89ade2c88e0b16cdc92c0268"/>
|
||||
</game>
|
||||
<game name="Nazo Ou Pocket (Japan)" id="0061">
|
||||
<description>Nazo Ou Pocket (Japan)</description>
|
||||
<rom name="Nazo Ou Pocket (Japan).ws" size="1048576" crc="4ed8820c" md5="5e06ad2f0c65d68a124542ddfffdff37" sha1="b358c65bae818c4b3de6bf668d16c311534036c2"/>
|
||||
</game>
|
||||
<game name="Neon Genesis Evangelion - Shito Ikusei (Japan)" id="0062">
|
||||
<description>Neon Genesis Evangelion - Shito Ikusei (Japan)</description>
|
||||
<rom name="Neon Genesis Evangelion - Shito Ikusei (Japan).ws" size="2097152" crc="bf8d9212" md5="0215c4b8a395f6fcf8f5b07605eae08b" sha1="ae31488cee1c91f383efbe3083b4abec092dda36" status="verified"/>
|
||||
</game>
|
||||
<game name="Nice On (Japan) (Rev 1)" id="0063">
|
||||
<description>Nice On (Japan) (Rev 1)</description>
|
||||
<rom name="Nice On (Japan) (Rev 1).ws" size="1048576" crc="b5dbcf12" md5="4b33b1f24f05300c1504f1d9b92d4361" sha1="6a479ee45e69cd3d6cc6cdda5a60eff3077953b0" status="verified"/>
|
||||
</game>
|
||||
<game name="Nihon Pro Mahjong Renmei Kounin - Tetsuman (Japan) (Rev 2)" id="0064">
|
||||
<description>Nihon Pro Mahjong Renmei Kounin - Tetsuman (Japan) (Rev 2)</description>
|
||||
<rom name="Nihon Pro Mahjong Renmei Kounin - Tetsuman (Japan) (Rev 2).ws" size="1048576" crc="44b3e67c" md5="4aa43895710a9fa5a96b9cd1da46348f" sha1="4eefc5a51008c2ab33e8d04064ec9bdcbc03d036" status="verified"/>
|
||||
</game>
|
||||
<game name="Nobunaga no Yabou for WonderSwan (Japan)" id="0065">
|
||||
<description>Nobunaga no Yabou for WonderSwan (Japan)</description>
|
||||
<rom name="Nobunaga no Yabou for WonderSwan (Japan).ws" size="1048576" crc="04531734" md5="d8bb5304f1a68a07e0aca535555171d5" sha1="785ebb7528f5268e1a1fc10dffbe95ccf6d39560"/>
|
||||
</game>
|
||||
<game name="Ou-chan no Oekaki Logic (Japan)" id="0066">
|
||||
<description>Ou-chan no Oekaki Logic (Japan)</description>
|
||||
<rom name="Ou-chan no Oekaki Logic (Japan).ws" size="524288" crc="631bd97a" md5="5e92e316ce0998edbec00b31a6f2e112" sha1="0f73d3112b1184f74e728cf1252ffbee6a146fa6"/>
|
||||
</game>
|
||||
<game name="Pocket Fighter (Japan)" id="0067">
|
||||
<description>Pocket Fighter (Japan)</description>
|
||||
<rom name="Pocket Fighter (Japan).ws" size="2097152" crc="35361250" md5="e79dddc7db77ad96c52b0b7690f8c1b1" sha1="fb8d0f4e58a4192989ec71eb6e392d182aaa3eec"/>
|
||||
</game>
|
||||
<game name="Pro Mahjong Kiwame for WonderSwan (Japan) (Rev 1)" id="0068">
|
||||
<description>Pro Mahjong Kiwame for WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Pro Mahjong Kiwame for WonderSwan (Japan) (Rev 1).ws" size="1048576" crc="90f7e6d6" md5="a2e4f77f749fb0a95db697903d42e718" sha1="32013a7a745a3aa2fd63cc9427c5e1f2635655ed"/>
|
||||
</game>
|
||||
<game name="Puyo Puyo Tsuu (Japan)" id="0069">
|
||||
<description>Puyo Puyo Tsuu (Japan)</description>
|
||||
<rom name="Puyo Puyo Tsuu (Japan).ws" size="1048576" crc="5a41a7ba" md5="e5394d336231c99e9c93f1f41e80a401" sha1="d72c1221c2ce3e281a0ee288a3d079aa8e1b714b" status="verified"/>
|
||||
</game>
|
||||
<game name="Puzzle Bobble (Japan)" id="0070">
|
||||
<description>Puzzle Bobble (Japan)</description>
|
||||
<rom name="Puzzle Bobble (Japan).ws" size="1048576" crc="f504cd84" md5="cf5e9f022baadd1ed9b0a9e88b503e95" sha1="fdb8e9f37a4b097350b7c5b1b8ee381ca51dc0b6"/>
|
||||
</game>
|
||||
<game name="Rainbow Islands - Putty's Party (Japan)" id="0071">
|
||||
<description>Rainbow Islands - Putty's Party (Japan)</description>
|
||||
<rom name="Rainbow Islands - Putty's Party (Japan).ws" size="2097152" crc="8f8608ad" md5="854bd4105d726bf7e76fef8393d6ead0" sha1="759deb79a3fc3befed705d7264e4b88adbadacc7"/>
|
||||
</game>
|
||||
<game name="Ring Infinity (Japan)" id="0072">
|
||||
<description>Ring Infinity (Japan)</description>
|
||||
<rom name="Ring Infinity (Japan).ws" size="4194304" crc="14adbd4b" md5="ffee38c08b4e76cf68420f2e22973284" sha1="9896d93c97381dc06b6f044de6c9bd112ca0c94b" status="verified"/>
|
||||
</game>
|
||||
<game name="Robot Works (Japan)" id="0074">
|
||||
<description>Robot Works (Japan)</description>
|
||||
<rom name="Robot Works (Japan).ws" size="1048576" crc="6adf0e32" md5="6ca5dff7d8a86279591fbb14324e7c3d" sha1="4d4d4a3fde6b1dbbc8f008fbd035fb59624dfba7"/>
|
||||
</game>
|
||||
<game name="Robot Works (Hong Kong) (En,Ja) (Rev 1)" id="0073" cloneofid="0074">
|
||||
<description>Robot Works (Hong Kong) (En,Ja) (Rev 1)</description>
|
||||
<rom name="Robot Works (Hong Kong) (En,Ja) (Rev 1).ws" size="1048576" crc="be6be690" md5="dbaff79d3a241fba6af06cf5b7c935b8" sha1="2117ed92e8cb4ae61868535f1d4d16851b480890"/>
|
||||
</game>
|
||||
<game name="Rockman & Forte - Mirai Kara no Chousensha (Japan)" id="0075">
|
||||
<description>Rockman & Forte - Mirai Kara no Chousensha (Japan)</description>
|
||||
<rom name="Rockman & Forte - Mirai Kara no Chousensha (Japan).ws" size="2097152" crc="cd206a9e" md5="523004d48e9d606e1557c2c57af6790b" sha1="9f8829aa8ea523e8370cbb2acd2acce056bb7958"/>
|
||||
</game>
|
||||
<game name="Sangokushi for WonderSwan (Japan)" id="0076">
|
||||
<description>Sangokushi for WonderSwan (Japan)</description>
|
||||
<rom name="Sangokushi for WonderSwan (Japan).ws" size="524288" crc="e385ee88" md5="9434714e17547ebf3a67baf63c8a6d04" sha1="d064b94f31b15564c9a3dbd3a68690244ea043ac"/>
|
||||
</game>
|
||||
<game name="Sangokushi II for WonderSwan (Japan)" id="0077">
|
||||
<description>Sangokushi II for WonderSwan (Japan)</description>
|
||||
<rom name="Sangokushi II for WonderSwan (Japan).ws" size="1048576" crc="440b2630" md5="263e4218454f7350839ec257441bed85" sha1="3e7492478059d142a6a41b40219eba0c688a8e3f"/>
|
||||
</game>
|
||||
<game name="SD Gundam - Emotional Jam (Japan) (Rev 3)" id="0078">
|
||||
<description>SD Gundam - Emotional Jam (Japan) (Rev 3)</description>
|
||||
<rom name="SD Gundam - Emotional Jam (Japan) (Rev 3).ws" size="2097152" crc="ae83f873" md5="6620592b79b06d1857b449508fe1d557" sha1="ae54a1f8916a2d37a1e0c82c5a9b5d8fe0eeae51" status="verified"/>
|
||||
</game>
|
||||
<game name="SD Gundam - Emotional Jam (Japan) (Rev 2)" id="0129" cloneofid="0078">
|
||||
<description>SD Gundam - Emotional Jam (Japan) (Rev 2)</description>
|
||||
<rom name="SD Gundam - Emotional Jam (Japan) (Rev 2).ws" size="2097152" crc="adfc3048" md5="c38ac44ef65779506dabd0f6db59748c" sha1="b3b4cf8e996c2a1fb149074725dc4b07922b3133"/>
|
||||
</game>
|
||||
<game name="SD Gundam G Generation - Gather Beat (Japan)" id="0079">
|
||||
<description>SD Gundam G Generation - Gather Beat (Japan)</description>
|
||||
<rom name="SD Gundam G Generation - Gather Beat (Japan).ws" size="4194304" crc="e4eb3ab1" md5="39a4626ba187933297b3155180147778" sha1="5e5db8b066e1b41c5c12a2d4ffa97b73ed6c3f03" status="verified"/>
|
||||
</game>
|
||||
<game name="SD Gundam Gashapon Senki - Episode 1 (Japan)" id="0080">
|
||||
<description>SD Gundam Gashapon Senki - Episode 1 (Japan)</description>
|
||||
<rom name="SD Gundam Gashapon Senki - Episode 1 (Japan).ws" size="1048576" crc="21eb4c59" md5="aff7a473a087e38a1a1a7d5f71ffc426" sha1="e6899de5b53f73c8978e3330dca0f2daaf95f140" status="verified"/>
|
||||
</game>
|
||||
<game name="SD Gundam Gashapon Senki - Episode 1 (Japan) (Alt)" id="0125" cloneofid="0080">
|
||||
<description>SD Gundam Gashapon Senki - Episode 1 (Japan) (Alt)</description>
|
||||
<rom name="SD Gundam Gashapon Senki - Episode 1 (Japan) (Alt).ws" size="2097152" crc="2ec1e9c8" md5="c30a3facebc27ac58c359dedca66cce1" sha1="80eff574c75c2168fd0991c0efd16f9a9cadc24c"/>
|
||||
</game>
|
||||
<game name="Senkaiden - TV Animation Senkaiden Houshin Engi Yori (Japan)" id="0081">
|
||||
<description>Senkaiden - TV Animation Senkaiden Houshin Engi Yori (Japan)</description>
|
||||
<rom name="Senkaiden - TV Animation Senkaiden Houshin Engi Yori (Japan).ws" size="2097152" crc="07a3dd46" md5="0230c5ed802e72a9c6bb690e262a302b" sha1="fc8b0b9b7efeac54812e7ae54153b7ae0cb9c12f" status="verified"/>
|
||||
</game>
|
||||
<game name="Sennou Millennium (Japan)" id="0082">
|
||||
<description>Sennou Millennium (Japan)</description>
|
||||
<rom name="Sennou Millennium (Japan).ws" size="1048576" crc="301436ac" md5="e12db3065b59e51bae7bf86053dd5782" sha1="708288e70b3186f6c0ef07acaef1b50fe6b7ab22"/>
|
||||
</game>
|
||||
<game name="Shanghai Pocket (Japan)" id="0083">
|
||||
<description>Shanghai Pocket (Japan)</description>
|
||||
<rom name="Shanghai Pocket (Japan).ws" size="524288" crc="1c489351" md5="37772a59d2fc13b07ba6260b3c4299da" sha1="d64b9b2d567d1cea5960f64e5bdf83d4514446da" status="verified"/>
|
||||
</game>
|
||||
<game name="Shin Nihon Pro Wrestling - Toukon Retsuden (Japan) (Rev 1)" id="0084">
|
||||
<description>Shin Nihon Pro Wrestling - Toukon Retsuden (Japan) (Rev 1)</description>
|
||||
<rom name="Shin Nihon Pro Wrestling - Toukon Retsuden (Japan) (Rev 1).ws" size="1048576" crc="5b76f901" md5="91896b3ee0975f58a8cf322a59da85f2" sha1="7324c5939b8b64858c96bd9726f5b5c483a11e22"/>
|
||||
</game>
|
||||
<game name="Shougi Touryuumon (Japan)" id="0085">
|
||||
<description>Shougi Touryuumon (Japan)</description>
|
||||
<rom name="Shougi Touryuumon (Japan).ws" size="1048576" crc="3ad194eb" md5="f95259c0c48527db0f8a63cb3e9b0527" sha1="0bc88b0affa97225e22c531306e9930ddb8f8905"/>
|
||||
</game>
|
||||
<game name="Side Pocket for WonderSwan (Japan)" id="0086">
|
||||
<description>Side Pocket for WonderSwan (Japan)</description>
|
||||
<rom name="Side Pocket for WonderSwan (Japan).ws" size="1048576" crc="8655269e" md5="496100bcd73fbfa39e473c6ddee190b2" sha1="4a756dab81e0101475dc2e5494270f3df7dac1e6"/>
|
||||
</game>
|
||||
<game name="Slither Link (Japan)" id="0087">
|
||||
<description>Slither Link (Japan)</description>
|
||||
<rom name="Slither Link (Japan).ws" size="1048576" crc="352a570d" md5="d422d16a28390d395f4c0878c555e52c" sha1="9a087b0e6031e7e5e6d133ac82fecb8faa30816a"/>
|
||||
</game>
|
||||
<game name="Soccer Yarou! - Challenge the World (Japan)" id="0088">
|
||||
<description>Soccer Yarou! - Challenge the World (Japan)</description>
|
||||
<rom name="Soccer Yarou! - Challenge the World (Japan).ws" size="1048576" crc="1263da65" md5="5d0ef57b85182dcbe630edda46064cfb" sha1="435f207cce79ad6ac5b564e8a37e0d4395bd3739"/>
|
||||
</game>
|
||||
<game name="Sotsugyou for WonderSwan (Japan) (Rev 1)" id="0089">
|
||||
<description>Sotsugyou for WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Sotsugyou for WonderSwan (Japan) (Rev 1).ws" size="2097152" crc="f016dfe1" md5="2030ae7ddc9f47307165859d75026f13" sha1="e461762566d529d1b103f119da50353902d180d7"/>
|
||||
</game>
|
||||
<game name="Space Invaders (Japan)" id="0090">
|
||||
<description>Space Invaders (Japan)</description>
|
||||
<rom name="Space Invaders (Japan).ws" size="1048576" crc="8d83014f" md5="5558b39b21cc90b0b2f0a4358c043eec" sha1="54dd6e3fe81a8a384a0ffdd7a39211a5de9174c7"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact (Japan) (Rev 2)" id="0091">
|
||||
<description>Super Robot Taisen Compact (Japan) (Rev 2)</description>
|
||||
<rom name="Super Robot Taisen Compact (Japan) (Rev 2).ws" size="2097152" crc="7021d54f" md5="bd6d4cb18dbd098a797d6c09fad23ccd" sha1="e93d58ab5819992e54223f5d1c4d5aeb6983d6a3" status="verified"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact (Japan)" id="0117" cloneofid="0091">
|
||||
<description>Super Robot Taisen Compact (Japan)</description>
|
||||
<rom name="Super Robot Taisen Compact (Japan).ws" size="2097152" crc="8a8c5aa8" md5="4f678ef6dd98bd4c0ebad56271528857" sha1="a957111681951eb6a971a6b4f75bca7f89b29628" status="verified"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact (Japan) (Rev 1)" id="0124" cloneofid="0091">
|
||||
<description>Super Robot Taisen Compact (Japan) (Rev 1)</description>
|
||||
<rom name="Super Robot Taisen Compact (Japan) (Rev 1).ws" size="2097152" crc="7572e478" md5="5c4c57fbc68c5248cace4cb325236a83" sha1="c4a21084bff1f2a63784fe7d11e046f305ad310a" status="verified"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact 2 - Dai-1-bu - Chijou Gekidou Hen (Japan)" id="0092">
|
||||
<description>Super Robot Taisen Compact 2 - Dai-1-bu - Chijou Gekidou Hen (Japan)</description>
|
||||
<rom name="Super Robot Taisen Compact 2 - Dai-1-bu - Chijou Gekidou Hen (Japan).ws" size="4194304" crc="782877bc" md5="af355adec937a9db1d447980bf85aa2e" sha1="e6911e5bb0a742ba299e05b20ee81f2faa4854a5" status="verified"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact 2 - Dai-2-bu - Uchuu Gekishin Hen (Japan) (Rev 4)" id="0093">
|
||||
<description>Super Robot Taisen Compact 2 - Dai-2-bu - Uchuu Gekishin Hen (Japan) (Rev 4)</description>
|
||||
<rom name="Super Robot Taisen Compact 2 - Dai-2-bu - Uchuu Gekishin Hen (Japan) (Rev 4).ws" size="4194304" crc="ecbb46de" md5="bb1cf0d7237d7ae2c8aac562fc62906d" sha1="6014ac0b8978e710f26c9cc41180cdf788584743" status="verified"/>
|
||||
</game>
|
||||
<game name="Super Robot Taisen Compact 2 - Dai-3-bu - Ginga Kessen Hen (Japan) (Rev 2)" id="0094">
|
||||
<description>Super Robot Taisen Compact 2 - Dai-3-bu - Ginga Kessen Hen (Japan) (Rev 2)</description>
|
||||
<rom name="Super Robot Taisen Compact 2 - Dai-3-bu - Ginga Kessen Hen (Japan) (Rev 2).ws" size="4194304" crc="0b0f8981" md5="44f63dcb11c916df900a128a6f2e3839" sha1="d24d8cea57c5c487e877eaa523eefb0dd184556d"/>
|
||||
</game>
|
||||
<game name="Taikyoku Igo - Heisei Kiin (Japan)" id="0113">
|
||||
<description>Taikyoku Igo - Heisei Kiin (Japan)</description>
|
||||
<rom name="Taikyoku Igo - Heisei Kiin (Japan).ws" size="524288" crc="5023db90" md5="9fae96e8955c6a5684b04bfe53f93a5d" sha1="636395a62d16f31cac845fef1927dda3890d3f0c" sha256="cbb805f2ef607af3c2fb49509929d2b8df4ee0c8ded8b6b57b551f56eb6810cf"/>
|
||||
</game>
|
||||
<game name="Tanjou Debut for WonderSwan (Japan) (Rev 1)" id="0096">
|
||||
<description>Tanjou Debut for WonderSwan (Japan) (Rev 1)</description>
|
||||
<rom name="Tanjou Debut for WonderSwan (Japan) (Rev 1).ws" size="2097152" crc="8b74f59a" md5="c80ab865bc9a93e946354f41815e93c4" sha1="2f35d250b8ddeb98ca3a2704a4ad85713f4c71b0"/>
|
||||
</game>
|
||||
<game name="Tare Panda no GunPey (Japan)" id="0097">
|
||||
<description>Tare Panda no GunPey (Japan)</description>
|
||||
<rom name="Tare Panda no GunPey (Japan).ws" size="1048576" crc="a5643aa3" md5="c21571f057d05bb01db2ece8517b121d" sha1="9622c65c939f05a9dfae288919ec5bd15c348f14"/>
|
||||
</game>
|
||||
<game name="Tekken Card Challenge (Japan)" id="0098">
|
||||
<description>Tekken Card Challenge (Japan)</description>
|
||||
<rom name="Tekken Card Challenge (Japan).ws" size="1048576" crc="e7c608e5" md5="1e8bca5c31f62a9dd1121884351a2885" sha1="96a9ce5e56dc0c9648027ad4454e6f35e88d9a07" status="verified"/>
|
||||
</game>
|
||||
<game name="Tenori-on (Japan) (En)" id="0132">
|
||||
<description>Tenori-on (Japan) (En)</description>
|
||||
<rom name="Tenori-on (Japan) (En).ws" size="524288" crc="6fe79bb1" md5="8b5c2993d6eccf6a03f377f9c99d5a92" sha1="c0104db6e176cfa64a95e4c9bc9382beae4d70d1" sha256="8d11c841805a241a14af9c5d135840eb3e8106a32a7ee134e986b65af2cd8cc5"/>
|
||||
</game>
|
||||
<game name="Terrors (Japan)" id="0099">
|
||||
<description>Terrors (Japan)</description>
|
||||
<rom name="Terrors (Japan).ws" size="4194304" crc="ef5b6b82" md5="b03441b7b71af24450da7f06b4aac718" sha1="7148d750f12b5da9a0efd99f5a5a7ccadecbdf60"/>
|
||||
</game>
|
||||
<game name="Tetsujin 28 Gou (Japan)" id="0100">
|
||||
<description>Tetsujin 28 Gou (Japan)</description>
|
||||
<rom name="Tetsujin 28 Gou (Japan).ws" size="4194304" crc="6f304dca" md5="8b8ea655dbea4a3152b300126556404c" sha1="65c4c6aaa36328bba5d56419af59af5d3420ed78"/>
|
||||
</game>
|
||||
<game name="Time Bokan Series - Bokan Densetsu - Buta mo Odaterya Doronboo (Japan)" id="0101">
|
||||
<description>Time Bokan Series - Bokan Densetsu - Buta mo Odaterya Doronboo (Japan)</description>
|
||||
<rom name="Time Bokan Series - Bokan Densetsu - Buta mo Odaterya Doronboo (Japan).ws" size="1048576" crc="7da6acb9" md5="9a41ed23b82a090ec4508d3725e19f9b" sha1="ad77d2e8429d5ed926d514d926050086f4edbeee"/>
|
||||
</game>
|
||||
<game name="Tokyo Majin Gakuen - Fuju Houroku (Japan)" id="0102">
|
||||
<description>Tokyo Majin Gakuen - Fuju Houroku (Japan)</description>
|
||||
<rom name="Tokyo Majin Gakuen - Fuju Houroku (Japan).ws" size="8388608" crc="91117d1b" md5="a002e1af08611506555e9a2fe559eddc" sha1="866c67737a4fbb5f09a0b13bbdb89397bcab1f55" status="verified"/>
|
||||
</game>
|
||||
<game name="Trump Collection - Bottom-Up Teki Trump Seikatsu (Japan) (Rev 1)" id="0103">
|
||||
<description>Trump Collection - Bottom-Up Teki Trump Seikatsu (Japan) (Rev 1)</description>
|
||||
<rom name="Trump Collection - Bottom-Up Teki Trump Seikatsu (Japan) (Rev 1).ws" size="1048576" crc="c283ec5f" md5="c1c2fc60d813556480226d45d62121a1" sha1="9313e6d7090e91cca0304dc450b2f2f87329ae7a"/>
|
||||
</game>
|
||||
<game name="Trump Collection 2 - Bottom-Up Teki Sekaiisshuu no Tabi (Japan) (Rev 1)" id="0104">
|
||||
<description>Trump Collection 2 - Bottom-Up Teki Sekaiisshuu no Tabi (Japan) (Rev 1)</description>
|
||||
<rom name="Trump Collection 2 - Bottom-Up Teki Sekaiisshuu no Tabi (Japan) (Rev 1).ws" size="1048576" crc="64aaf392" md5="523da6fd9e07e6e1d1bee62be04d7b1e" sha1="b25ff8fc79168e439ba913a2cea6195094be9ac2"/>
|
||||
</game>
|
||||
<game name="Turntablist - DJ Battle (Japan)" id="0105">
|
||||
<description>Turntablist - DJ Battle (Japan)</description>
|
||||
<rom name="Turntablist - DJ Battle (Japan).ws" size="4194304" crc="0d5171f0" md5="144b29a9997c016fb4b2bb05e3965cfe" sha1="858f1f57b5522a1701cc8a0abae43cec948e26a6"/>
|
||||
</game>
|
||||
<game name="Umizuri ni Ikou! (Japan)" id="0106">
|
||||
<description>Umizuri ni Ikou! (Japan)</description>
|
||||
<rom name="Umizuri ni Ikou! (Japan).ws" size="524288" crc="86b56511" md5="bce82b55b44a7d9b8eeb06cdcc884968" sha1="4f739292d11a45490851eaf40c0a7081824ad75a"/>
|
||||
</game>
|
||||
<game name="Uzumaki - Denshi Kaiki Hen (Japan) (Rev 4)" id="0107">
|
||||
<description>Uzumaki - Denshi Kaiki Hen (Japan) (Rev 4)</description>
|
||||
<rom name="Uzumaki - Denshi Kaiki Hen (Japan) (Rev 4).ws" size="2097152" crc="812020ef" md5="eacb689de3482cf6e6da8befc7da65b2" sha1="4c8166e0632bdb8c098d586a7b1522ed7b63b5f7"/>
|
||||
</game>
|
||||
<game name="Uzumaki - Noroi Simulation (Japan)" id="0037">
|
||||
<description>Uzumaki - Noroi Simulation (Japan)</description>
|
||||
<rom name="Uzumaki - Noroi Simulation (Japan).ws" size="2097152" crc="ca3f0b00" md5="c329cc51abf1f9f85c33ca28d5a26f0c" sha1="38f708a4c0c4fcec0cf4d6ce051d1ff76466d617"/>
|
||||
</game>
|
||||
<game name="Vaitz Blade (Japan) (Rev 1)" id="0108">
|
||||
<description>Vaitz Blade (Japan) (Rev 1)</description>
|
||||
<rom name="Vaitz Blade (Japan) (Rev 1).ws" size="4194304" crc="8fc9e145" md5="49a2932821583fa7d3ed07312b47ab32" sha1="cfb877f0988920c8fe4da5cdd7583197799df621" status="verified"/>
|
||||
</game>
|
||||
<game name="Wasabi Produce - Street Dancer (Japan)" id="0109">
|
||||
<description>Wasabi Produce - Street Dancer (Japan)</description>
|
||||
<rom name="Wasabi Produce - Street Dancer (Japan).ws" size="4194304" crc="1860b655" md5="da0eb7a02b6a5250047eef22deba5c39" sha1="672cfc0e4547b2721d11b67476391b6e6cca81ae"/>
|
||||
</game>
|
||||
<game name="Wonder Stadium (Japan)" id="0111">
|
||||
<description>Wonder Stadium (Japan)</description>
|
||||
<rom name="Wonder Stadium (Japan).ws" size="1048576" crc="23bc0309" md5="56c33436c90f652e02092d064287b5ce" sha1="cb9454a8277bb2a7d5a6e3b4ddc84194fcbb1231" status="verified"/>
|
||||
</game>
|
||||
<game name="Wonder Stadium '99 (Japan)" id="0110">
|
||||
<description>Wonder Stadium '99 (Japan)</description>
|
||||
<rom name="Wonder Stadium '99 (Japan).ws" size="1048576" crc="e252919d" md5="cbd1f30650653d8ac845915bc2aea608" sha1="bb138765346d9f4d77615444d090b1328a59818a" status="verified"/>
|
||||
</game>
|
||||
<game name="WonderSwan Handy Sonar (Japan) (Rev 1)" id="0112" cloneofid="0126">
|
||||
<description>WonderSwan Handy Sonar (Japan) (Rev 1)</description>
|
||||
<rom name="WonderSwan Handy Sonar (Japan) (Rev 1).ws" size="1048576" crc="2ab9852d" md5="5db558122eabe25b930d57c8e5fb05d8" sha1="70d65a936ee1dfc2b89c543312c205285d955efb"/>
|
||||
</game>
|
||||
<game name="WonderSwan Handy Sonar (Japan) (Rev 2)" id="0126">
|
||||
<description>WonderSwan Handy Sonar (Japan) (Rev 2)</description>
|
||||
<rom name="WonderSwan Handy Sonar (Japan) (Rev 2).ws" size="1048576" crc="d4188811" md5="74562136e58960870694c8b6bc913cd2" sha1="a1691ef96097c409b56c77f1d4c731fbfb3f386b" status="verified"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.0.0) (Program)" id="0128" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.0.0) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.0.0) (Program).ws" size="524288" crc="dc60f640" md5="c0fe5cdc311f91aeaa350cda5a8cb31c" sha1="e8b8562d0d63eff76581782647d455cb94b58c77" status="verified"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.2.0) (Program)" id="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.2.0) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.2.0) (Program).ws" size="524288" crc="8e5e9633" md5="5670b16583073b43dc1b486ebee87660" sha1="d9dd280972ec45e56de98f3d425533dd49713caf" status="verified"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.5) (Program)" id="0131" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.5) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.5) (Program).ws" size="524288" crc="45ba7287" md5="dcc8ea5ccb5815f41692467775789770" sha1="905cca29fd6188b2c6237b1fb71e89d7b6a1f842" status="verified"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.0.2) (Program)" id="0133" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.0.2) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.0.2) (Program).ws" size="524288" crc="71aa2e39" md5="375e9ad8ee04587ba92c3adeecd429b5" sha1="f20af32f9e6a2d7deff2d474d20a9da8d2462e07"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.0.3) (Program)" id="0134" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.0.3) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.0.3) (Program).ws" size="524288" crc="f71ef60c" md5="8c4a28687ca4d042bea7df0aa20ad894" sha1="c98fecb3da5cd9712026eea7ca8943fd77356058"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.1) (Program)" id="0135" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.1) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.1) (Program).ws" size="524288" crc="f8bdf7ab" md5="e1afd5588561655121d97d94c20db1f9" sha1="0a09eca4a8a1bce2bad344216589ee833f0b8383"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.2) (Program)" id="0136" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.2) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.2) (Program).ws" size="524288" crc="05c0166e" md5="13566913cd2c8d529869ea03342f5249" sha1="159648c577811986397dbae86002793d18e9147b"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.3) (Program)" id="0137" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.3) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.3) (Program).ws" size="524288" crc="9303fa7e" md5="f7bc604aba650f56c06174bc0f31fbbc" sha1="4ed5d9ef000d33b785bbd659aaec376157faa646"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.4) (Program)" id="0138" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.4) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.4) (Program).ws" size="524288" crc="e8d001b8" md5="75a68a0739c137a4ced5bded8214c733" sha1="9e42a85003c66b286f8335c3372f05df86e1607b"/>
|
||||
</game>
|
||||
<game name="WonderWitch (Japan) (FreyaOS 1.1.6b1) (Program)" id="0139" cloneofid="0130">
|
||||
<description>WonderWitch (Japan) (FreyaOS 1.1.6b1) (Program)</description>
|
||||
<rom name="WonderWitch (Japan) (FreyaOS 1.1.6b1) (Program).ws" size="524288" crc="6480bf70" md5="08ec42043bf68583b830d4e9c2fd3e48" sha1="7913dcda7ec702e152a48e2df0cd721035138c54"/>
|
||||
</game>
|
||||
</datafile>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c7855ba6b3026744bae333b09af339f
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -273,7 +273,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!108 &410087040
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -377,6 +377,63 @@ MonoBehaviour:
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1001 &650240201
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 70883439141109485, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: StoicGooseUnity
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1697793132499616605, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 20e1ff69d8c691b4299757181385f497, type: 3}
|
||||
--- !u!1 &832575517
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -433,3 +490,4 @@ SceneRoots:
|
||||
- {fileID: 330585546}
|
||||
- {fileID: 410087041}
|
||||
- {fileID: 832575519}
|
||||
- {fileID: 650240201}
|
||||
|
||||
365
Assets/Scenes/StoicGooseUnity.prefab
Normal file
365
Assets/Scenes/StoicGooseUnity.prefab
Normal file
@ -0,0 +1,365 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &70883439141109485
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1697793132499616605}
|
||||
- component: {fileID: 8208523459577044397}
|
||||
- component: {fileID: 1761025800639127157}
|
||||
- component: {fileID: 175477975286986780}
|
||||
- component: {fileID: 8490678488192273632}
|
||||
- component: {fileID: 6011412303868462633}
|
||||
m_Layer: 0
|
||||
m_Name: StoicGooseUnity
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1697793132499616605
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4829774629647575852}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8208523459577044397
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b7e1a8282bc4d764c81f63e62fd7aec8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &1761025800639127157
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e8778828cf820b640b9d26ae977cdaba, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
mWidth: 0
|
||||
mHeight: 0
|
||||
mDataLenght: 0
|
||||
m_rawBufferWarper: {fileID: 0}
|
||||
m_drawCanvas: {fileID: 1415903496979242101}
|
||||
m_drawCanvasrect: {fileID: 4829774629647575852}
|
||||
--- !u!114 &175477975286986780
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 925771571ae9709429297d42587ce36d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_as: {fileID: 6011412303868462633}
|
||||
--- !u!114 &8490678488192273632
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 54c184e653057e64da4b9be96f4d876d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!82 &6011412303868462633
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 70883439141109485}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_Resource: {fileID: 0}
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 1
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!1 &2203418964758308711
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 153069469667130431}
|
||||
- component: {fileID: 1996193783355217829}
|
||||
- component: {fileID: 1415903496979242101}
|
||||
m_Layer: 5
|
||||
m_Name: GameRawImage
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &153069469667130431
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2203418964758308711}
|
||||
m_LocalRotation: {x: 1, y: 0, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4829774629647575852}
|
||||
m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1996193783355217829
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2203418964758308711}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1415903496979242101
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2203418964758308711}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 0}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
--- !u!1 &5558964681998005947
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4829774629647575852}
|
||||
- component: {fileID: 6904606342347745421}
|
||||
- component: {fileID: 2921482546112766419}
|
||||
- component: {fileID: 7864505849399022799}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4829774629647575852
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5558964681998005947}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 153069469667130431}
|
||||
m_Father: {fileID: 1697793132499616605}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!223 &6904606342347745421
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5558964681998005947}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &2921482546112766419
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5558964681998005947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!114 &7864505849399022799
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5558964681998005947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
7
Assets/Scenes/StoicGooseUnity.prefab.meta
Normal file
7
Assets/Scenes/StoicGooseUnity.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 20e1ff69d8c691b4299757181385f497
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,90 +1,89 @@
|
||||
using StoicGoose.Common.Utilities;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
||||
|
||||
public sealed class Configuration : ConfigurationBase<Configuration>
|
||||
{
|
||||
[DisplayName("General")]
|
||||
[Description("General settings.")]
|
||||
//[DisplayName("General")]
|
||||
//[Description("General settings.")]
|
||||
public GeneralConfiguration General { get; set; } = new GeneralConfiguration();
|
||||
[DisplayName("Video")]
|
||||
[Description("Settings related to video output.")]
|
||||
//[DisplayName("Video")]
|
||||
//[Description("Settings related to video output.")]
|
||||
public VideoConfiguration Video { get; set; } = new VideoConfiguration();
|
||||
[DisplayName("Sound")]
|
||||
[Description("Settings related to sound output.")]
|
||||
//[DisplayName("Sound")]
|
||||
//[Description("Settings related to sound output.")]
|
||||
public SoundConfiguration Sound { get; set; } = new SoundConfiguration();
|
||||
[DisplayName("Input")]
|
||||
[Description("Settings related to emulation input.")]
|
||||
//[DisplayName("Input")]
|
||||
//[Description("Settings related to emulation input.")]
|
||||
public InputConfiguration Input { get; set; } = new InputConfiguration();
|
||||
}
|
||||
|
||||
public sealed class GeneralConfiguration : ConfigurationBase<GeneralConfiguration>
|
||||
{
|
||||
[DisplayName("Prefer Original WS")]
|
||||
[Description("Prefer emulation of the original non-Color system.")]
|
||||
//[DisplayName("Prefer Original WS")]
|
||||
//[Description("Prefer emulation of the original non-Color system.")]
|
||||
public bool PreferOriginalWS { get; set; } = false;
|
||||
[DisplayName("Use Bootstrap ROM")]
|
||||
[Description("Toggle using WonderSwan bootstrap ROM images.")]
|
||||
//[DisplayName("Use Bootstrap ROM")]
|
||||
//[Description("Toggle using WonderSwan bootstrap ROM images.")]
|
||||
public bool UseBootstrap { get; set; } = false;
|
||||
[DisplayName("WS Bootstrap ROM Path")]
|
||||
[Description("Path to the WonderSwan bootstrap ROM image to use.")]
|
||||
//[DisplayName("WS Bootstrap ROM Path")]
|
||||
//[Description("Path to the WonderSwan bootstrap ROM image to use.")]
|
||||
public string BootstrapFile { get; set; } = string.Empty;
|
||||
[DisplayName("WSC Bootstrap ROM Path")]
|
||||
[Description("Path to the WonderSwan Color bootstrap ROM image to use.")]
|
||||
//[DisplayName("WSC Bootstrap ROM Path")]
|
||||
//[Description("Path to the WonderSwan Color bootstrap ROM image to use.")]
|
||||
public string BootstrapFileWSC { get; set; } = string.Empty;
|
||||
[DisplayName("Limit FPS")]
|
||||
[Description("Toggle limiting the framerate to the system's native ~75.47 Hz.")]
|
||||
//[DisplayName("Limit FPS")]
|
||||
//[Description("Toggle limiting the framerate to the system's native ~75.47 Hz.")]
|
||||
public bool LimitFps { get; set; } = true;
|
||||
[DisplayName("Enable Cheats")]
|
||||
[Description("Toggle using the cheat system.")]
|
||||
//[DisplayName("Enable Cheats")]
|
||||
//[Description("Toggle using the cheat system.")]
|
||||
public bool EnableCheats { get; set; } = true;
|
||||
[DisplayName("Recent Files")]
|
||||
[Description("List of recently loaded files.")]
|
||||
public List<string> RecentFiles { get; set; } = new List<string>(15);
|
||||
//[DisplayName("Recent Files")]
|
||||
//[Description("List of recently loaded files.")]
|
||||
//public List<string> RecentFiles { get; set; } = new List<string>(15);
|
||||
}
|
||||
|
||||
public sealed class VideoConfiguration : ConfigurationBase<VideoConfiguration>
|
||||
{
|
||||
[DisplayName("Screen Size")]
|
||||
[Description("Size of the emulated screen, in times original display resolution.")]
|
||||
//[DisplayName("Screen Size")]
|
||||
//[Description("Size of the emulated screen, in times original display resolution.")]
|
||||
public int ScreenSize { get; set; } = 3;
|
||||
[DisplayName("Shader")]
|
||||
[Description("Currently selected shader.")]
|
||||
//[DisplayName("Shader")]
|
||||
//[Description("Currently selected shader.")]
|
||||
public string Shader { get; set; } = string.Empty;
|
||||
[DisplayName("Brightness")]
|
||||
[Description("Adjust the brightness of the emulated screen, in percent.")]
|
||||
[Range(-100, 100)]
|
||||
//[DisplayName("Brightness")]
|
||||
//[Description("Adjust the brightness of the emulated screen, in percent.")]
|
||||
//[Range(-100, 100)]
|
||||
public int Brightness { get; set; } = 0;
|
||||
[DisplayName("Contrast")]
|
||||
[Description("Adjust the contrast of the emulated screen, in percent.")]
|
||||
[Range(0, 200)]
|
||||
//[DisplayName("Contrast")]
|
||||
//[Description("Adjust the contrast of the emulated screen, in percent.")]
|
||||
//[Range(0, 200)]
|
||||
public int Contrast { get; set; } = 100;
|
||||
[DisplayName("Saturation")]
|
||||
[Description("Adjust the saturation of the emulated screen, in percent.")]
|
||||
[Range(0, 200)]
|
||||
//[DisplayName("Saturation")]
|
||||
//[Description("Adjust the saturation of the emulated screen, in percent.")]
|
||||
//[Range(0, 200)]
|
||||
public int Saturation { get; set; } = 100;
|
||||
}
|
||||
|
||||
public sealed class SoundConfiguration : ConfigurationBase<SoundConfiguration>
|
||||
{
|
||||
[DisplayName("Mute")]
|
||||
[Description("Toggles muting all sound output.")]
|
||||
//[DisplayName("Mute")]
|
||||
//[Description("Toggles muting all sound output.")]
|
||||
public bool Mute { get; set; } = false;
|
||||
[DisplayName("Low-Pass Filter")]
|
||||
[Description("Toggles low-pass filter for all sound output.")]
|
||||
//[DisplayName("Low-Pass Filter")]
|
||||
//[Description("Toggles low-pass filter for all sound output.")]
|
||||
public bool LowPassFilter { get; set; } = true;
|
||||
}
|
||||
|
||||
public sealed class InputConfiguration : ConfigurationBase<InputConfiguration>
|
||||
{
|
||||
[DisplayName("Automatic Remapping")]
|
||||
[Description("Automatically remap X-/Y-pads with game orientation.")]
|
||||
//[DisplayName("Automatic Remapping")]
|
||||
//[Description("Automatically remap X-/Y-pads with game orientation.")]
|
||||
public bool AutoRemap { get; set; } = true;
|
||||
[DisplayName("Game Controls")]
|
||||
[Description("Controls related to game input, i.e. X-/Y-pads, etc.")]
|
||||
//[DisplayName("Game Controls")]
|
||||
//[Description("Controls related to game input, i.e. X-/Y-pads, etc.")]
|
||||
public Dictionary<string, List<string>> GameControls { get; set; } = new Dictionary<string, List<string>>();
|
||||
[DisplayName("System Controls")]
|
||||
[Description("Controls related to hardware functions, i.e. volume button.")]
|
||||
//[DisplayName("System Controls")]
|
||||
//[Description("Controls related to hardware functions, i.e. volume button.")]
|
||||
public Dictionary<string, List<string>> SystemControls { get; set; } = new Dictionary<string, List<string>>();
|
||||
}
|
||||
|
||||
@ -4,23 +4,37 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using StoicGoose.Common.Utilities;
|
||||
|
||||
|
||||
public sealed class DatabaseHandler
|
||||
{
|
||||
readonly Dictionary<string, DatFile> datFiles = new();
|
||||
const string ResourceRoot = "StoicGooseUnity/emu/";
|
||||
|
||||
public DatabaseHandler(string directory)
|
||||
public DatabaseHandler()
|
||||
{
|
||||
foreach (var file in Directory.EnumerateFiles(directory, "*.dat").OrderBy(x => x.Length))
|
||||
{
|
||||
var root = new XmlRootAttribute("datafile") { IsNullable = true };
|
||||
var serializer = new XmlSerializer(typeof(DatFile), root);
|
||||
using FileStream stream = new(Path.Combine(directory, file), FileMode.Open);
|
||||
var reader = XmlReader.Create(stream, new() { DtdProcessing = DtdProcessing.Ignore });
|
||||
datFiles.Add(Path.GetFileName(file), (DatFile)serializer.Deserialize(reader));
|
||||
string wsc = "Bandai - WonderSwan Color.dat";
|
||||
GetDatBytes(wsc, out byte[] loadedData);
|
||||
using (MemoryStream stream = new MemoryStream(loadedData))
|
||||
{
|
||||
var root = new XmlRootAttribute("datafile") { IsNullable = true };
|
||||
var serializer = new XmlSerializer(typeof(DatFile), root);
|
||||
var reader = XmlReader.Create(stream, new() { DtdProcessing = DtdProcessing.Ignore });
|
||||
datFiles.Add(Path.GetFileName(wsc), (DatFile)serializer.Deserialize(reader));
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
string ws = "Bandai - WonderSwan.dat";
|
||||
GetDatBytes(ws, out byte[] loadedData);
|
||||
using (MemoryStream stream = new MemoryStream(loadedData))
|
||||
{
|
||||
var root = new XmlRootAttribute("datafile") { IsNullable = true };
|
||||
var serializer = new XmlSerializer(typeof(DatFile), root);
|
||||
var reader = XmlReader.Create(stream, new() { DtdProcessing = DtdProcessing.Ignore });
|
||||
datFiles.Add(Path.GetFileName(ws), (DatFile)serializer.Deserialize(reader));
|
||||
}
|
||||
}
|
||||
|
||||
Log.WriteEvent(LogSeverity.Information, this, $"Loaded {datFiles.Count} .dat file(s) with {datFiles.Sum(x => x.Value.Game.Length)} known game(s).");
|
||||
@ -28,6 +42,20 @@ public sealed class DatabaseHandler
|
||||
Log.WriteLine($" '{datFile.Header.Name} ({datFile.Header.Version})' from {datFile.Header.Homepage}");
|
||||
}
|
||||
|
||||
bool GetDatBytes(string DatName, out byte[] loadedData)
|
||||
{
|
||||
try
|
||||
{
|
||||
loadedData = UnityEngine.Resources.Load<UnityEngine.TextAsset>(ResourceRoot + "Dat/" + DatName).bytes;
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
loadedData = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private DatGame GetGame(uint romCrc32, int romSize)
|
||||
{
|
||||
return datFiles.Select(x => x.Value.Game).Select(x => x.FirstOrDefault(x => x.Rom.Any(y => y.Crc.ToLowerInvariant() == $"{romCrc32:x8}" && y.Size.ToLowerInvariant() == $"{romSize:D}"))).FirstOrDefault(x => x != null);
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using StoicGoose.Core.Interfaces;
|
||||
using StoicGooseUnity;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
@ -7,7 +8,7 @@ public class EmulatorHandler
|
||||
{
|
||||
readonly static string threadName = $"Unity_Emulation";
|
||||
|
||||
Thread thread = default;
|
||||
//Thread thread = default;
|
||||
volatile bool threadRunning = false, threadPaused = false;
|
||||
|
||||
volatile bool isResetRequested = false;
|
||||
@ -21,6 +22,7 @@ public class EmulatorHandler
|
||||
|
||||
public EmulatorHandler(Type machineType)
|
||||
{
|
||||
StoicGooseUnityAxiMem.Init();
|
||||
Machine = Activator.CreateInstance(machineType) as IMachine;
|
||||
Machine.Initialize();
|
||||
}
|
||||
@ -32,8 +34,8 @@ public class EmulatorHandler
|
||||
threadRunning = true;
|
||||
threadPaused = false;
|
||||
|
||||
thread = new Thread(ThreadMainLoop) { Name = threadName, Priority = ThreadPriority.AboveNormal, IsBackground = false };
|
||||
thread.Start();
|
||||
//thread = new Thread(ThreadMainLoop) { Name = threadName, Priority = ThreadPriority.AboveNormal, IsBackground = false };
|
||||
//thread.Start();
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
@ -57,10 +59,9 @@ public class EmulatorHandler
|
||||
{
|
||||
threadRunning = false;
|
||||
threadPaused = false;
|
||||
|
||||
thread?.Join();
|
||||
|
||||
//thread?.Join();
|
||||
Machine.Shutdown();
|
||||
StoicGooseUnityAxiMem.FreeAllGCHandle();
|
||||
}
|
||||
|
||||
public void SetFpsLimiter(bool value)
|
||||
@ -118,4 +119,12 @@ public class EmulatorHandler
|
||||
lastTime = stopWatch.Elapsed.TotalMilliseconds;
|
||||
}
|
||||
}
|
||||
|
||||
public void Frame_Update()
|
||||
{
|
||||
if (!threadRunning)
|
||||
return;
|
||||
|
||||
Machine.RunFrame();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,16 +1,52 @@
|
||||
using StoicGooseUnity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
public class SGKeyboard : MonoBehaviour
|
||||
{
|
||||
internal void PollInput(ref List<string> buttonsPressed, ref List<string> buttonsHeld)
|
||||
Dictionary<KeyCode, StoicGooseKey> dictKey2SGKey = new Dictionary<KeyCode, StoicGooseKey>();
|
||||
KeyCode[] checkKeys;
|
||||
long currInput;
|
||||
private void Awake()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
SetVerticalOrientation(false);
|
||||
}
|
||||
|
||||
|
||||
internal void PollInput(ref long buttonsHeld)
|
||||
{
|
||||
buttonsHeld = currInput;
|
||||
}
|
||||
|
||||
internal void SetVerticalOrientation(bool isVerticalOrientation)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
dictKey2SGKey[KeyCode.Return] = StoicGooseKey.Start;
|
||||
dictKey2SGKey[KeyCode.W] = StoicGooseKey.X1;
|
||||
dictKey2SGKey[KeyCode.S] = StoicGooseKey.X2;
|
||||
dictKey2SGKey[KeyCode.A] = StoicGooseKey.X3;
|
||||
dictKey2SGKey[KeyCode.D] = StoicGooseKey.X4;
|
||||
dictKey2SGKey[KeyCode.G] = StoicGooseKey.Y1;
|
||||
dictKey2SGKey[KeyCode.V] = StoicGooseKey.Y2;
|
||||
dictKey2SGKey[KeyCode.C] = StoicGooseKey.Y3;
|
||||
dictKey2SGKey[KeyCode.B] = StoicGooseKey.Y4;
|
||||
dictKey2SGKey[KeyCode.Return] = StoicGooseKey.Start;
|
||||
dictKey2SGKey[KeyCode.J] = StoicGooseKey.B;
|
||||
dictKey2SGKey[KeyCode.K] = StoicGooseKey.A;
|
||||
checkKeys = dictKey2SGKey.Keys.ToArray();
|
||||
}
|
||||
|
||||
public void Update_InputData()
|
||||
{
|
||||
currInput = 0;
|
||||
for (int i = 0; i < checkKeys.Length; i++)
|
||||
{
|
||||
KeyCode key = checkKeys[i];
|
||||
if (Input.GetKey(key))
|
||||
{
|
||||
currInput |= (long)dictKey2SGKey[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
using StoicGoose.Common.Utilities;
|
||||
using System;
|
||||
|
||||
public class SGLogger : IStoicGooseLogger
|
||||
{
|
||||
public void Debug(string message)
|
||||
{
|
||||
UnityEngine.Debug.Log(message);
|
||||
}
|
||||
|
||||
public void Err(string message)
|
||||
{
|
||||
UnityEngine.Debug.LogError(message);
|
||||
}
|
||||
|
||||
public void Log(StoicGoose.Common.Utilities.LogType logtype, string message)
|
||||
{
|
||||
switch (logtype)
|
||||
{
|
||||
case LogType.Debug:
|
||||
Debug(message);
|
||||
break;
|
||||
case LogType.Warning:
|
||||
Warning(message);
|
||||
break;
|
||||
case LogType.Error:
|
||||
Err(message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void Warning(string message)
|
||||
{
|
||||
UnityEngine.Debug.LogWarning(message);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9f99144ff5ead44297997370fab702c
|
||||
@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
@ -12,7 +9,6 @@ public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
private RingBuffer<float> _buffer = new RingBuffer<float>(44100 * 2);
|
||||
private TimeSpan lastElapsed;
|
||||
public double audioFPS { get; private set; }
|
||||
public bool IsRecording { get; private set; }
|
||||
|
||||
void Awake()
|
||||
{
|
||||
@ -72,24 +68,19 @@ public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
}
|
||||
}
|
||||
|
||||
public void SubmitSamples(short[] buffer, short[][] ChannelSamples, int samples_a)
|
||||
{
|
||||
var current = UStoicGoose.sw.Elapsed;
|
||||
var delta = current - lastElapsed;
|
||||
lastElapsed = current;
|
||||
audioFPS = 1d / delta.TotalSeconds;
|
||||
//public void SubmitSamples(short[] buffer, short[][] ChannelSamples, int samples_a)
|
||||
//{
|
||||
// var current = UStoicGoose.sw.Elapsed;
|
||||
// var delta = current - lastElapsed;
|
||||
// lastElapsed = current;
|
||||
// audioFPS = 1d / delta.TotalSeconds;
|
||||
|
||||
for (int i = 0; i < samples_a; i += 1)
|
||||
{
|
||||
_buffer.Write(buffer[i] / 32767.0f);
|
||||
// for (int i = 0; i < samples_a; i += 1)
|
||||
// {
|
||||
// _buffer.Write(buffer[i] / 32767.0f);
|
||||
|
||||
}
|
||||
if (IsRecording)
|
||||
{
|
||||
dataChunk.AddSampleData(buffer, samples_a);
|
||||
waveHeader.FileLength += (uint)samples_a;
|
||||
}
|
||||
}
|
||||
// }
|
||||
//}
|
||||
public void BufferWirte(int Off, byte[] Data)
|
||||
{
|
||||
}
|
||||
@ -109,50 +100,17 @@ public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
}
|
||||
|
||||
|
||||
void Update()
|
||||
internal void EnqueueSamples(short[] buffer)
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.F3))
|
||||
var current = UStoicGoose.sw.Elapsed;
|
||||
var delta = current - lastElapsed;
|
||||
lastElapsed = current;
|
||||
audioFPS = 1d / delta.TotalSeconds;
|
||||
|
||||
for (int i = 0; i < buffer.Length; i += 1)
|
||||
{
|
||||
BeginRecording();
|
||||
Debug.Log("Â¼ÖÆ");
|
||||
_buffer.Write(buffer[i] / 32767.0f);
|
||||
}
|
||||
if (Input.GetKeyDown(KeyCode.F4))
|
||||
{
|
||||
SaveRecording("D:/1.wav");
|
||||
Debug.Log("±£´æ");
|
||||
}
|
||||
}
|
||||
WaveHeader waveHeader;
|
||||
FormatChunk formatChunk;
|
||||
DataChunk dataChunk;
|
||||
public void BeginRecording()
|
||||
{
|
||||
waveHeader = new WaveHeader();
|
||||
formatChunk = new FormatChunk(44100, 2);
|
||||
dataChunk = new DataChunk();
|
||||
waveHeader.FileLength += formatChunk.Length();
|
||||
|
||||
IsRecording = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void SaveRecording(string filename)
|
||||
{
|
||||
using (FileStream file = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
|
||||
{
|
||||
file.Write(waveHeader.GetBytes(), 0, (int)waveHeader.Length());
|
||||
file.Write(formatChunk.GetBytes(), 0, (int)formatChunk.Length());
|
||||
file.Write(dataChunk.GetBytes(), 0, (int)dataChunk.Length());
|
||||
}
|
||||
|
||||
IsRecording = false;
|
||||
|
||||
}
|
||||
|
||||
internal void EnqueueSamples(short[] s)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal void Unpause()
|
||||
@ -165,164 +123,4 @@ public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
class WaveHeader
|
||||
{
|
||||
const string fileTypeId = "RIFF";
|
||||
const string mediaTypeId = "WAVE";
|
||||
|
||||
public string FileTypeId { get; private set; }
|
||||
public uint FileLength { get; set; }
|
||||
public string MediaTypeId { get; private set; }
|
||||
|
||||
public WaveHeader()
|
||||
{
|
||||
FileTypeId = fileTypeId;
|
||||
MediaTypeId = mediaTypeId;
|
||||
FileLength = 4; /* Minimum size is always 4 bytes */
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
List<byte> chunkData = new List<byte>();
|
||||
|
||||
chunkData.AddRange(Encoding.ASCII.GetBytes(FileTypeId));
|
||||
chunkData.AddRange(BitConverter.GetBytes(FileLength));
|
||||
chunkData.AddRange(Encoding.ASCII.GetBytes(MediaTypeId));
|
||||
|
||||
return chunkData.ToArray();
|
||||
}
|
||||
|
||||
public uint Length()
|
||||
{
|
||||
return (uint)GetBytes().Length;
|
||||
}
|
||||
}
|
||||
|
||||
class FormatChunk
|
||||
{
|
||||
const string chunkId = "fmt ";
|
||||
|
||||
ushort bitsPerSample, channels;
|
||||
uint frequency;
|
||||
|
||||
public string ChunkId { get; private set; }
|
||||
public uint ChunkSize { get; private set; }
|
||||
public ushort FormatTag { get; private set; }
|
||||
|
||||
public ushort Channels
|
||||
{
|
||||
get { return channels; }
|
||||
set { channels = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public uint Frequency
|
||||
{
|
||||
get { return frequency; }
|
||||
set { frequency = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public uint AverageBytesPerSec { get; private set; }
|
||||
public ushort BlockAlign { get; private set; }
|
||||
|
||||
public ushort BitsPerSample
|
||||
{
|
||||
get { return bitsPerSample; }
|
||||
set { bitsPerSample = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public FormatChunk()
|
||||
{
|
||||
ChunkId = chunkId;
|
||||
ChunkSize = 16;
|
||||
FormatTag = 1; /* MS PCM (Uncompressed wave file) */
|
||||
Channels = 2; /* Default to stereo */
|
||||
Frequency = 44100; /* Default to 44100hz */
|
||||
BitsPerSample = 16; /* Default to 16bits */
|
||||
RecalcBlockSizes();
|
||||
}
|
||||
|
||||
public FormatChunk(int frequency, int channels) : this()
|
||||
{
|
||||
Channels = (ushort)channels;
|
||||
Frequency = (ushort)frequency;
|
||||
RecalcBlockSizes();
|
||||
}
|
||||
|
||||
private void RecalcBlockSizes()
|
||||
{
|
||||
BlockAlign = (ushort)(channels * (bitsPerSample / 8));
|
||||
AverageBytesPerSec = frequency * BlockAlign;
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
List<byte> chunkBytes = new List<byte>();
|
||||
|
||||
chunkBytes.AddRange(Encoding.ASCII.GetBytes(ChunkId));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(ChunkSize));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(FormatTag));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(Channels));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(Frequency));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(AverageBytesPerSec));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(BlockAlign));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(BitsPerSample));
|
||||
|
||||
return chunkBytes.ToArray();
|
||||
}
|
||||
|
||||
public uint Length()
|
||||
{
|
||||
return (uint)GetBytes().Length;
|
||||
}
|
||||
}
|
||||
|
||||
class DataChunk
|
||||
{
|
||||
const string chunkId = "data";
|
||||
|
||||
public string ChunkId { get; private set; }
|
||||
public uint ChunkSize { get; set; }
|
||||
public List<short> WaveData { get; private set; }
|
||||
|
||||
public DataChunk()
|
||||
{
|
||||
ChunkId = chunkId;
|
||||
ChunkSize = 0;
|
||||
WaveData = new List<short>();
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
List<byte> chunkBytes = new List<byte>();
|
||||
|
||||
chunkBytes.AddRange(Encoding.ASCII.GetBytes(ChunkId));
|
||||
chunkBytes.AddRange(BitConverter.GetBytes(ChunkSize));
|
||||
byte[] bufferBytes = new byte[WaveData.Count * 2];
|
||||
Buffer.BlockCopy(WaveData.ToArray(), 0, bufferBytes, 0, bufferBytes.Length);
|
||||
chunkBytes.AddRange(bufferBytes.ToList());
|
||||
|
||||
return chunkBytes.ToArray();
|
||||
}
|
||||
|
||||
public uint Length()
|
||||
{
|
||||
return (uint)GetBytes().Length;
|
||||
}
|
||||
|
||||
public void AddSampleData(short[] stereoBuffer)
|
||||
{
|
||||
WaveData.AddRange(stereoBuffer);
|
||||
|
||||
ChunkSize += (uint)(stereoBuffer.Length * 2);
|
||||
}
|
||||
//public unsafe void AddSampleData(short* stereoBuffer, int lenght)
|
||||
//{
|
||||
// for (int i = 0; i < lenght; i++)
|
||||
// {
|
||||
// WaveData.Add(stereoBuffer[i]);
|
||||
// }
|
||||
|
||||
// ChunkSize += (uint)(lenght * 2);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,112 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class SGVideoPlayer : MonoBehaviour//, ISoundPlayer
|
||||
public class SGVideoPlayer : MonoBehaviour
|
||||
{
|
||||
|
||||
[SerializeField]
|
||||
private int mWidth;
|
||||
[SerializeField]
|
||||
private int mHeight;
|
||||
[SerializeField]
|
||||
private int mDataLenght;
|
||||
[SerializeField]
|
||||
private Texture2D m_rawBufferWarper;
|
||||
[SerializeField]
|
||||
private RawImage m_drawCanvas;
|
||||
[SerializeField]
|
||||
private RectTransform m_drawCanvasrect;
|
||||
//byte[] mFrameData;
|
||||
IntPtr mFrameDataPtr;
|
||||
|
||||
private TimeSpan lastElapsed;
|
||||
public double videoFPS { get; private set; }
|
||||
public ulong mFrame { get; private set; }
|
||||
bool bInit = false;
|
||||
bool bHadData = false;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
bHadData = false;
|
||||
mFrame = 0;
|
||||
m_drawCanvas = GameObject.Find("GameRawImage").GetComponent<RawImage>();
|
||||
m_drawCanvasrect = m_drawCanvas.GetComponent<RectTransform>();
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
m_drawCanvas.color = Color.white;
|
||||
|
||||
if (m_rawBufferWarper == null)
|
||||
{
|
||||
mDataLenght = mWidth * mHeight * 4;
|
||||
//mFrameData = new byte[mDataLenght];
|
||||
|
||||
//// 固定数组,防止垃圾回收器移动它
|
||||
//var bitmapcolorRect_handle = GCHandle.Alloc(mFrameData, GCHandleType.Pinned);
|
||||
//// 获取数组的指针
|
||||
//mFrameDataPtr = bitmapcolorRect_handle.AddrOfPinnedObject();
|
||||
|
||||
|
||||
//MAME来的是BGRA32,好好好
|
||||
m_rawBufferWarper = new Texture2D(mWidth, mHeight, TextureFormat.BGRA32, false);
|
||||
//m_rawBufferWarper = new Texture2D(mWidth, mHeight, TextureFormat.ARGB32, false);
|
||||
m_rawBufferWarper.filterMode = FilterMode.Point;
|
||||
}
|
||||
|
||||
//mFrameDataPtr = framePtr;
|
||||
m_drawCanvas.texture = m_rawBufferWarper;
|
||||
bInit = true;
|
||||
|
||||
float targetWidth = ((float)mWidth / mHeight) * m_drawCanvasrect.rect.height;
|
||||
m_drawCanvasrect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, targetWidth);
|
||||
}
|
||||
|
||||
public void StopVideo()
|
||||
{
|
||||
bInit = false;
|
||||
m_drawCanvas.color = new Color(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (!bHadData
|
||||
||
|
||||
!UStoicGoose.instance.emulatorHandler.IsRunning)
|
||||
return;
|
||||
|
||||
if (!bInit)
|
||||
{
|
||||
Initialize();
|
||||
return;
|
||||
}
|
||||
m_rawBufferWarper.LoadRawTextureData(mFrameDataPtr, mDataLenght);
|
||||
m_rawBufferWarper.Apply();
|
||||
}
|
||||
|
||||
|
||||
public byte[] GetScreenImg()
|
||||
{
|
||||
return (m_drawCanvas.texture as Texture2D).EncodeToJPG();
|
||||
}
|
||||
|
||||
public bool IsVerticalOrientation { get; internal set; }
|
||||
|
||||
internal void UpdateScreen(byte[] obj)
|
||||
internal void UpdateScreen(IntPtr ptr, long frame_number)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
var current = UStoicGoose.sw.Elapsed;
|
||||
var delta = current - lastElapsed;
|
||||
lastElapsed = current;
|
||||
videoFPS = 1d / delta.TotalSeconds;
|
||||
mFrameDataPtr = ptr;
|
||||
if (!bHadData)
|
||||
bHadData = true;
|
||||
}
|
||||
|
||||
internal void SetSize(int screenWidth, int screenHeight)
|
||||
{
|
||||
mWidth = screenWidth;
|
||||
mHeight = screenHeight;
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,18 +13,6 @@ public class UStoicGoose : MonoBehaviour
|
||||
{
|
||||
public static UStoicGoose instance;
|
||||
public static System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew();
|
||||
void Awake()
|
||||
{
|
||||
instance = this;
|
||||
Program.InitPath(Application.persistentDataPath);
|
||||
Init();
|
||||
LoadAndRunCartridge("");
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
EmuClose();
|
||||
}
|
||||
|
||||
/* Constants */
|
||||
readonly static int maxScreenSizeFactor = 5;
|
||||
@ -43,7 +31,8 @@ public class UStoicGoose : MonoBehaviour
|
||||
SGVideoPlayer graphicsHandler = default;
|
||||
SGSoundPlayer soundHandler = default;
|
||||
SGKeyboard inputHandler = default;
|
||||
EmulatorHandler emulatorHandler = default;
|
||||
SGLogger loggerHandler = default;
|
||||
public EmulatorHandler emulatorHandler = default;
|
||||
|
||||
/* Misc. windows */
|
||||
//SoundRecorderForm soundRecorderForm = default;
|
||||
@ -53,9 +42,39 @@ public class UStoicGoose : MonoBehaviour
|
||||
Type machineType = default;
|
||||
bool isVerticalOrientation = false;
|
||||
string internalEepromPath = string.Empty;
|
||||
|
||||
public string CurrRomName { get; private set; }
|
||||
|
||||
//Cheat[] cheats = default;
|
||||
|
||||
#region Unity 生命周期
|
||||
|
||||
void Awake()
|
||||
{
|
||||
instance = this;
|
||||
loggerHandler = new SGLogger();
|
||||
graphicsHandler = this.gameObject.GetComponent<SGVideoPlayer>();
|
||||
soundHandler = this.gameObject.GetComponent<SGSoundPlayer>();
|
||||
inputHandler = this.gameObject.GetComponent<SGKeyboard>();
|
||||
Log.Initialize(loggerHandler);
|
||||
Program.InitPath(Application.persistentDataPath);
|
||||
Init();
|
||||
LoadAndRunCartridge("G:/BaiduNetdiskDownload/Rockman & Forte - Mirai Kara no Chousen Sha (J) [M][!].ws");
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
if (!emulatorHandler.IsRunning)
|
||||
return;
|
||||
|
||||
inputHandler.Update_InputData();
|
||||
|
||||
emulatorHandler.Frame_Update();
|
||||
}
|
||||
void OnDestroy()
|
||||
{
|
||||
EmuClose();
|
||||
}
|
||||
#endregion
|
||||
private void Init()
|
||||
{
|
||||
Log.WriteEvent(LogSeverity.Information, this, "Initializing emulator and UI...");
|
||||
@ -67,7 +86,7 @@ public class UStoicGoose : MonoBehaviour
|
||||
InitializeOtherHandlers();
|
||||
//InitializeWindows();
|
||||
|
||||
SizeAndPositionWindow();
|
||||
//SizeAndPositionWindow();
|
||||
SetWindowTitleAndStatus();
|
||||
Log.WriteEvent(LogSeverity.Information, this, "Initialization done!");
|
||||
}
|
||||
@ -111,25 +130,22 @@ public class UStoicGoose : MonoBehaviour
|
||||
|
||||
private void InitializeOtherHandlers()
|
||||
{
|
||||
databaseHandler = new DatabaseHandler(Program.NoIntroDatPath);
|
||||
databaseHandler = new DatabaseHandler();
|
||||
|
||||
//statusIconsLocation = machineType == typeof(WonderSwan) ? new(0, DisplayControllerCommon.ScreenHeight) : new(DisplayControllerCommon.ScreenWidth, 0);
|
||||
graphicsHandler = this.gameObject.GetComponent<SGVideoPlayer>();
|
||||
|
||||
//TODO graphicsHandler基本参数,可能需要补上
|
||||
//graphicsHandler = new GraphicsHandler(machineType, new(emulatorHandler.Machine.ScreenWidth, emulatorHandler.Machine.ScreenHeight), statusIconsLocation, statusIconSize, machineType != typeof(WonderSwan), Program.Configuration.Video.Shader)
|
||||
//{
|
||||
// IsVerticalOrientation = isVerticalOrientation
|
||||
//};
|
||||
|
||||
soundHandler = this.gameObject.GetComponent<SGSoundPlayer>();
|
||||
//TODO 声音基本参数,可能需要补上
|
||||
//soundHandler = new SoundHandler(44100, 2);
|
||||
//soundHandler.SetVolume(1.0f);
|
||||
//soundHandler.SetMute(Program.Configuration.Sound.Mute);
|
||||
//soundHandler.SetLowPassFilter(Program.Configuration.Sound.LowPassFilter);
|
||||
|
||||
inputHandler = this.gameObject.GetComponent<SGKeyboard>();
|
||||
|
||||
//TODO Input基本参数,可能需要补上
|
||||
//inputHandler = new InputHandler(renderControl);
|
||||
//inputHandler.SetKeyMapping(Program.Configuration.Input.GameControls, Program.Configuration.Input.SystemControls);
|
||||
@ -140,6 +156,7 @@ public class UStoicGoose : MonoBehaviour
|
||||
// .Select(x => x.Split('=', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries))
|
||||
// .ToDictionary(x => x[0], x => x[1]));
|
||||
|
||||
|
||||
emulatorHandler.Machine.DisplayController.SendFramebuffer = graphicsHandler.UpdateScreen;
|
||||
emulatorHandler.Machine.SoundController.SendSamples = (s) =>
|
||||
{
|
||||
@ -149,15 +166,17 @@ public class UStoicGoose : MonoBehaviour
|
||||
|
||||
emulatorHandler.Machine.ReceiveInput += () =>
|
||||
{
|
||||
var buttonsPressed = new List<string>();
|
||||
var buttonsHeld = new List<string>();
|
||||
//var buttonsPressed = new List<string>();
|
||||
//var buttonsHeld = new List<string>();
|
||||
|
||||
inputHandler.PollInput(ref buttonsPressed, ref buttonsHeld);
|
||||
//inputHandler.PollInput(ref buttonsPressed, ref buttonsHeld);
|
||||
long buttonsHeld = 0;
|
||||
inputHandler.PollInput(ref buttonsHeld);
|
||||
return buttonsHeld;
|
||||
//if (buttonsPressed.Contains("Volume"))
|
||||
// emulatorHandler.Machine.SoundController.ChangeMasterVolume();
|
||||
|
||||
if (buttonsPressed.Contains("Volume"))
|
||||
emulatorHandler.Machine.SoundController.ChangeMasterVolume();
|
||||
|
||||
return (buttonsPressed, buttonsHeld);
|
||||
//return (buttonsPressed, buttonsHeld);
|
||||
};
|
||||
|
||||
//renderControl.Resize += (s, e) => { if (s is Control control) graphicsHandler.Resize(control.ClientRectangle); };
|
||||
@ -209,12 +228,12 @@ public class UStoicGoose : MonoBehaviour
|
||||
|
||||
private void SizeAndPositionWindow()
|
||||
{
|
||||
//if (WindowState == FormWindowState.Maximized)
|
||||
graphicsHandler.SetSize(emulatorHandler.Machine.ScreenWidth, emulatorHandler.Machine.ScreenHeight);
|
||||
//if (WindowState == For emulatorHandler.Machine.ScreenHeight;mWindowState.Maximized)
|
||||
// WindowState = FormWindowState.Normal;
|
||||
|
||||
//MinimumSize = SizeFromClientSize(CalculateRequiredClientSize(2));
|
||||
//Size = SizeFromClientSize(CalculateRequiredClientSize(Program.Configuration.Video.ScreenSize));
|
||||
|
||||
//var screen = Screen.FromControl(this);
|
||||
//var workingArea = screen.WorkingArea;
|
||||
//Location = new Point()
|
||||
@ -224,6 +243,7 @@ public class UStoicGoose : MonoBehaviour
|
||||
//};
|
||||
}
|
||||
|
||||
|
||||
//TODO 设置屏幕宽高 看是否需要
|
||||
//private Size CalculateRequiredClientSize(int screenSize)
|
||||
//{
|
||||
@ -338,6 +358,8 @@ public class UStoicGoose : MonoBehaviour
|
||||
graphicsHandler.IsVerticalOrientation = isVerticalOrientation = emulatorHandler.Machine.Cartridge.Metadata.Orientation == CartridgeMetadata.Orientations.Vertical;
|
||||
inputHandler.SetVerticalOrientation(isVerticalOrientation);
|
||||
|
||||
CurrRomName = Path.GetFileName(filename);
|
||||
|
||||
LoadRam();
|
||||
|
||||
LoadBootstrap(emulatorHandler.Machine is WonderSwan ? Program.Configuration.General.BootstrapFile : Program.Configuration.General.BootstrapFileWSC);
|
||||
@ -353,7 +375,8 @@ public class UStoicGoose : MonoBehaviour
|
||||
|
||||
private void LoadRam()
|
||||
{
|
||||
var path = Path.Combine(Program.SaveDataPath, $"{Path.GetFileNameWithoutExtension(Program.Configuration.General.RecentFiles.First())}.sav");
|
||||
//var path = Path.Combine(Program.SaveDataPath, $"{Path.GetFileNameWithoutExtension(Program.Configuration.General.RecentFiles.First())}.sav");
|
||||
var path = Path.Combine(Program.SaveDataPath, $"{CurrRomName}.sav");
|
||||
if (!File.Exists(path)) return;
|
||||
|
||||
using var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||
@ -383,7 +406,8 @@ public class UStoicGoose : MonoBehaviour
|
||||
var data = emulatorHandler.Machine.GetSaveData();
|
||||
if (data.Length == 0) return;
|
||||
|
||||
var path = Path.Combine(Program.SaveDataPath, $"{Path.GetFileNameWithoutExtension(Program.Configuration.General.RecentFiles.First())}.sav");
|
||||
//var path = Path.Combine(Program.SaveDataPath, $"{Path.GetFileNameWithoutExtension(Program.Configuration.General.RecentFiles.First())}.sav");
|
||||
var path = Path.Combine(Program.SaveDataPath, $"{CurrRomName}.sav");
|
||||
|
||||
using var stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
|
||||
stream.Write(data, 0, data.Length);
|
||||
@ -435,7 +459,7 @@ static class Program
|
||||
static string programDataDirectory;//= Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Application.ProductName);
|
||||
static string programConfigPath;//= Path.Combine(programDataDirectory, jsonConfigFileName);
|
||||
|
||||
public static Configuration Configuration { get; private set; } = LoadConfiguration(programConfigPath);
|
||||
public static Configuration Configuration;// { get; private set; } = LoadConfiguration(programConfigPath);
|
||||
|
||||
public static string DataPath;//{ get; } = string.Empty;
|
||||
public static string InternalDataPath;//{ get; } = string.Empty;
|
||||
@ -443,8 +467,8 @@ static class Program
|
||||
public static string CheatsDataPath;//{ get; } = string.Empty;
|
||||
public static string DebuggingDataPath;//{ get; } = string.Empty;
|
||||
|
||||
readonly static string programApplicationDirectory = AppDomain.CurrentDomain.BaseDirectory;
|
||||
readonly static string programAssetsDirectory = Path.Combine(programApplicationDirectory, assetsDirectoryName);
|
||||
static string programApplicationDirectory;// = AppDomain.CurrentDomain.BaseDirectory;
|
||||
static string programAssetsDirectory;// = Path.Combine(programApplicationDirectory, assetsDirectoryName);
|
||||
|
||||
//public static string ShaderPath { get; } = string.Empty;
|
||||
public static string NoIntroDatPath;// { get; } = string.Empty;
|
||||
@ -455,7 +479,6 @@ static class Program
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
jsonConfigFileName = "Config.json";
|
||||
logFileName = "Log.txt";
|
||||
internalDataDirectoryName = "Internal";
|
||||
@ -468,9 +491,10 @@ static class Program
|
||||
mutexName = $"Unity_{GetVersionDetails()}";
|
||||
programDataDirectory = Path.Combine(CustonDataDir, "AxibugEmu");
|
||||
programConfigPath = Path.Combine(programDataDirectory, jsonConfigFileName);
|
||||
|
||||
Configuration = LoadConfiguration(programConfigPath);
|
||||
Log.WriteLine(Path.Combine(programDataDirectory, logFileName));
|
||||
|
||||
programApplicationDirectory = AppDomain.CurrentDomain.BaseDirectory;
|
||||
programAssetsDirectory = Path.Combine(programApplicationDirectory, assetsDirectoryName);
|
||||
Directory.CreateDirectory(DataPath = programDataDirectory);
|
||||
Directory.CreateDirectory(InternalDataPath = Path.Combine(programDataDirectory, internalDataDirectoryName));
|
||||
Directory.CreateDirectory(SaveDataPath = Path.Combine(programDataDirectory, saveDataDirectoryName));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user