Skip to content

Commit

Permalink
PCFX
Browse files Browse the repository at this point in the history
  • Loading branch information
albertofustinoni authored Aug 19, 2017
1 parent 38a110b commit 68c6d12
Show file tree
Hide file tree
Showing 36 changed files with 2,244 additions and 69 deletions.
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,11 @@
path = BeetlePCEFast/src
url = https://github.com/libretro/beetle-pce-fast-libretro.git
branch = master
[submodule "BeetleSaturn/src"]
path = BeetleSaturn/src
url = https://github.com/Aftnet/beetle-saturn-libretro.git
branch = master
[submodule "BeetlePCFX/src"]
path = BeetlePCFX/src
url = https://github.com/libretro/beetle-pcfx-libretro.git
branch = master
407 changes: 407 additions & 0 deletions BeetlePCFX/BeetlePCFX.vcxproj

Large diffs are not rendered by default.

186 changes: 186 additions & 0 deletions BeetlePCFX/BeetlePCFX.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="targetver.h" />
<ClInclude Include="src\mednafen\pcfx\input.h" />
<ClInclude Include="src\mednafen\pcfx\king.h" />
<ClInclude Include="src\mednafen\pcfx\soundbox.h" />
<ClInclude Include="src\mednafen\pcfx\interrupt.h" />
<ClInclude Include="src\mednafen\pcfx\rainbow.h" />
<ClInclude Include="src\mednafen\pcfx\timer.h" />
<ClInclude Include="src\mednafen\pcfx\jrevdct.h" />
<ClInclude Include="src\mednafen\pcfx\input\gamepad.h" />
<ClInclude Include="src\mednafen\pcfx\input\mouse.h" />
<ClInclude Include="src\libretro-common\include\compat\msvc\stdint.h" />
<ClInclude Include="src\libretro-common\include\compat\apple_compat.h" />
<ClInclude Include="src\libretro-common\include\compat\fnmatch.h" />
<ClInclude Include="src\libretro-common\include\compat\getopt.h" />
<ClInclude Include="src\libretro-common\include\compat\ifaddrs.h" />
<ClInclude Include="src\libretro-common\include\compat\intrinsics.h" />
<ClInclude Include="src\libretro-common\include\compat\msvc.h" />
<ClInclude Include="src\libretro-common\include\compat\posix_string.h" />
<ClInclude Include="src\libretro-common\include\compat\strcasestr.h" />
<ClInclude Include="src\libretro-common\include\compat\strl.h" />
<ClInclude Include="src\libretro-common\include\rthreads\async_job.h" />
<ClInclude Include="src\libretro-common\include\rthreads\rsemaphore.h" />
<ClInclude Include="src\libretro-common\include\rthreads\rthreads.h" />
<ClInclude Include="src\libretro-common\include\string\stdstring.h" />
<ClInclude Include="src\libretro-common\include\boolean.h" />
<ClInclude Include="src\libretro-common\include\retro_common.h" />
<ClInclude Include="src\libretro-common\include\retro_common_api.h" />
<ClInclude Include="src\libretro-common\include\retro_inline.h" />
<ClInclude Include="src\libretro-common\include\retro_miscellaneous.h" />
<ClInclude Include="src\libretro-common\include\retro_stat.h" />
<ClInclude Include="src\mednafen\sound\OwlResampler.h" />
<ClInclude Include="src\mednafen\hw_cpu\v810\v810_cpu.h" />
<ClInclude Include="src\mednafen\hw_cpu\v810\v810_cpuD.h" />
<ClInclude Include="src\mednafen\hw_cpu\v810\v810_do_am.h" />
<ClInclude Include="src\mednafen\hw_cpu\v810\v810_opt.h" />
<ClInclude Include="src\mednafen\hw_sound\pce_psg\pce_psg.h" />
<ClInclude Include="src\mednafen\hw_video\huc6270\vdc.h" />
<ClInclude Include="src\mednafen\hw_cpu\v810\fpu-new\softfloat.h" />
<ClInclude Include="src\mednafen\cdrom\CDAccess.h" />
<ClInclude Include="src\mednafen\cdrom\CDAccess_Image.h" />
<ClInclude Include="src\mednafen\cdrom\CDAccess_CCD.h" />
<ClInclude Include="src\mednafen\cdrom\CDAFReader.h" />
<ClInclude Include="src\mednafen\cdrom\CDAFReader_Vorbis.h" />
<ClInclude Include="src\mednafen\cdrom\cdromif.h" />
<ClInclude Include="src\mednafen\cdrom\CDUtility.h" />
<ClInclude Include="src\mednafen\cdrom\lec.h" />
<ClInclude Include="src\mednafen\cdrom\galois-inlines.h" />
<ClInclude Include="src\mednafen\cdrom\scsicd.h" />
<ClInclude Include="src\mednafen\cdrom\SimpleFIFO.h" />
<ClInclude Include="src\mednafen\cdrom\dvdisaster.h" />
<ClInclude Include="src\mednafen\tremor\asm_arm.h" />
<ClInclude Include="src\mednafen\tremor\backends.h" />
<ClInclude Include="src\mednafen\tremor\block.h" />
<ClInclude Include="src\mednafen\tremor\codebook.h" />
<ClInclude Include="src\mednafen\tremor\codec_internal.h" />
<ClInclude Include="src\mednafen\tremor\config_types.h" />
<ClInclude Include="src\mednafen\tremor\ivorbiscodec.h" />
<ClInclude Include="src\mednafen\tremor\ivorbisfile.h" />
<ClInclude Include="src\mednafen\tremor\lsp_lookup.h" />
<ClInclude Include="src\mednafen\tremor\mdct.h" />
<ClInclude Include="src\mednafen\tremor\mdct_lookup.h" />
<ClInclude Include="src\mednafen\tremor\misc.h" />
<ClInclude Include="src\mednafen\tremor\ogg.h" />
<ClInclude Include="src\mednafen\tremor\os.h" />
<ClInclude Include="src\mednafen\tremor\os_types.h" />
<ClInclude Include="src\mednafen\tremor\registry.h" />
<ClInclude Include="src\mednafen\tremor\window.h" />
<ClInclude Include="src\mednafen\tremor\window_lookup.h" />
<ClInclude Include="src\mednafen\error.h" />
<ClInclude Include="src\mednafen\settings.h" />
<ClInclude Include="src\mednafen\FileWrapper.h" />
<ClInclude Include="src\mednafen\general.h" />
<ClInclude Include="src\mednafen\FileStream.h" />
<ClInclude Include="src\mednafen\MemoryStream.h" />
<ClInclude Include="src\mednafen\state.h" />
<ClInclude Include="src\mednafen\Stream.h" />
<ClInclude Include="src\mednafen\mempatcher.h" />
<ClInclude Include="src\mednafen\clamp.h" />
<ClInclude Include="src\mednafen\driver.h" />
<ClInclude Include="src\mednafen\git.h" />
<ClInclude Include="src\mednafen\lepacker.h" />
<ClInclude Include="src\mednafen\masmem.h" />
<ClInclude Include="src\mednafen\math_ops.h" />
<ClInclude Include="src\mednafen\md5.h" />
<ClInclude Include="src\mednafen\mednafen.h" />
<ClInclude Include="src\mednafen\mednafen-driver.h" />
<ClInclude Include="src\mednafen\mednafen-types.h" />
<ClInclude Include="src\mednafen\mednafen-endian.h" />
<ClInclude Include="src\mednafen\mempatcher-driver.h" />
<ClInclude Include="src\mednafen\msvc_compat.h" />
<ClInclude Include="src\mednafen\settings-common.h" />
<ClInclude Include="src\mednafen\settings-driver.h" />
<ClInclude Include="src\mednafen\video.h" />
<ClInclude Include="src\mednafen\file.h" />
<ClInclude Include="src\libretro.h" />
<ClInclude Include="src\mednafen\pcfx\huc6273.h" />
<ClInclude Include="src\mednafen\video\Deinterlacer.h" />
<ClInclude Include="src\mednafen\video\surface.h" />
<ClInclude Include="src\mednafen\pcfx\fxscsi.h" />
<ClInclude Include="src\libretro-common\include\streams\file_stream.h" />
<ClInclude Include="src\libretro-common\include\streams\file_stream_transforms.h" />
<ClInclude Include="src\libretro-common\include\file\file_path.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\mednafen\pcfx\input.cpp" />
<ClCompile Include="src\mednafen\pcfx\king.cpp" />
<ClCompile Include="src\mednafen\pcfx\soundbox.cpp" />
<ClCompile Include="src\mednafen\pcfx\interrupt.cpp" />
<ClCompile Include="src\mednafen\pcfx\rainbow.cpp" />
<ClCompile Include="src\mednafen\pcfx\timer.cpp" />
<ClCompile Include="src\mednafen\pcfx\jrevdct.cpp" />
<ClCompile Include="src\mednafen\pcfx\input\gamepad.cpp" />
<ClCompile Include="src\mednafen\pcfx\input\mouse.cpp" />
<ClCompile Include="src\mednafen\sound\OwlResampler.cpp" />
<ClCompile Include="src\mednafen\hw_cpu\v810\v810_cpu.cpp" />
<ClCompile Include="src\mednafen\hw_cpu\v810\v810_cpuD.cpp" />
<ClCompile Include="src\mednafen\hw_sound\pce_psg\pce_psg.cpp" />
<ClCompile Include="src\mednafen\hw_video\huc6270\vdc_video.cpp" />
<ClCompile Include="src\mednafen\hw_cpu\v810\fpu-new\softfloat.c" />
<ClCompile Include="src\libretro-common\rthreads\rthreads.c" />
<ClCompile Include="src\mednafen\cdrom\CDAccess.cpp" />
<ClCompile Include="src\mednafen\cdrom\CDAccess_Image.cpp" />
<ClCompile Include="src\mednafen\cdrom\CDAccess_CCD.cpp" />
<ClCompile Include="src\mednafen\cdrom\CDAFReader.cpp" />
<ClCompile Include="src\mednafen\cdrom\CDAFReader_Vorbis.cpp" />
<ClCompile Include="src\mednafen\cdrom\cdromif.cpp" />
<ClCompile Include="src\mednafen\cdrom\CDUtility.cpp" />
<ClCompile Include="src\mednafen\cdrom\lec.cpp" />
<ClCompile Include="src\mednafen\cdrom\l-ec.cpp" />
<ClCompile Include="src\mednafen\cdrom\galois.cpp" />
<ClCompile Include="src\mednafen\cdrom\recover-raw.cpp" />
<ClCompile Include="src\mednafen\cdrom\scsicd.cpp" />
<ClCompile Include="src\mednafen\cdrom\edc_crc32.cpp" />
<ClCompile Include="src\mednafen\tremor\bitwise.c" />
<ClCompile Include="src\mednafen\tremor\block.c" />
<ClCompile Include="src\mednafen\tremor\codebook.c" />
<ClCompile Include="src\mednafen\tremor\floor0.c" />
<ClCompile Include="src\mednafen\tremor\floor1.c" />
<ClCompile Include="src\mednafen\tremor\framing.c" />
<ClCompile Include="src\mednafen\tremor\info.c" />
<ClCompile Include="src\mednafen\tremor\ivorbisfile_example.c" />
<ClCompile Include="src\mednafen\tremor\mapping0.c" />
<ClCompile Include="src\mednafen\tremor\mdct.c" />
<ClCompile Include="src\mednafen\tremor\registry.c" />
<ClCompile Include="src\mednafen\tremor\res012.c" />
<ClCompile Include="src\mednafen\tremor\sharedbook.c" />
<ClCompile Include="src\mednafen\tremor\synthesis.c" />
<ClCompile Include="src\mednafen\tremor\vorbisfile.c" />
<ClCompile Include="src\mednafen\tremor\window.c" />
<ClCompile Include="src\mednafen\error.cpp" />
<ClCompile Include="src\mednafen\settings.cpp" />
<ClCompile Include="src\mednafen\FileWrapper.cpp" />
<ClCompile Include="src\mednafen\general.cpp" />
<ClCompile Include="src\mednafen\FileStream.cpp" />
<ClCompile Include="src\mednafen\MemoryStream.cpp" />
<ClCompile Include="src\mednafen\state.cpp" />
<ClCompile Include="src\mednafen\Stream.cpp" />
<ClCompile Include="src\mednafen\mempatcher.cpp" />
<ClCompile Include="src\mednafen\mednafen-endian.c" />
<ClCompile Include="src\mednafen\mednafen_md5.c" />
<ClCompile Include="src\mednafen\file.c" />
<ClCompile Include="src\libretro.cpp" />
<ClCompile Include="src\libretro-common\string\stdstring.c" />
<ClCompile Include="src\mednafen\pcfx\huc6273.cpp" />
<ClCompile Include="src\mednafen\video\Deinterlacer.cpp" />
<ClCompile Include="src\mednafen\video\surface.cpp" />
<ClCompile Include="src\mednafen\pcfx\fxscsi.cpp" />
<ClCompile Include="src\libretro-common\streams\file_stream_transforms.c" />
<ClCompile Include="..\LibretroRT_Tools\file_path.cpp" />
<ClCompile Include="..\LibretroRT_Tools\file_stream.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="src\mednafen\hw_cpu\v810\v810_op_table.inc" />
<None Include="src\mednafen\hw_cpu\v810\v810_op_table_msvc.inc" />
<None Include="src\mednafen\hw_cpu\v810\v810_oploop.inc" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions BeetlePCFX/src
Submodule src added at bb6ade
8 changes: 8 additions & 0 deletions BeetlePCFX/targetver.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#pragma once

// Including SDKDDKVer.h defines the highest available Windows platform.

// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.

#include <SDKDDKVer.h>
11 changes: 11 additions & 0 deletions BeetlePCFXRT/BeetlePCFXCore.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include "pch.h"
#include "BeetlePCFXCore.h"
#include "BeetlePCFXCoreInternal.h"

using namespace BeetlePCFXRT;
using namespace LibretroRT;

ICore^ BeetlePCFXCore::Instance::get()
{
return BeetlePCFXCoreInternal::Instance;
}
14 changes: 14 additions & 0 deletions BeetlePCFXRT/BeetlePCFXCore.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#pragma once

using namespace LibretroRT;

namespace BeetlePCFXRT
{
public ref class BeetlePCFXCore sealed
{
public:
static property ICore^ Instance { ICore^ get(); }
private:
BeetlePCFXCore() { }
};
}
43 changes: 43 additions & 0 deletions BeetlePCFXRT/BeetlePCFXCoreInternal.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#include "pch.h"
#include "BeetlePCFXCoreInternal.h"

#include "../LibretroRT/libretro.h"
#include "../LibretroRT/libretro_extra.h"
#include "../LibretroRT_Tools/Converter.h"

using namespace BeetlePCFXRT;
using namespace LibretroRT_Tools;

BeetlePCFXCoreInternal^ coreInstance = nullptr;

BeetlePCFXCoreInternal^ BeetlePCFXCoreInternal::Instance::get()
{
if (coreInstance == nullptr)
{
coreInstance = ref new BeetlePCFXCoreInternal();

retro_set_environment([](unsigned cmd, void* data) { return coreInstance->EnvironmentHandler(cmd, data); });
retro_set_input_poll([]() { coreInstance->RaisePollInput(); });
retro_set_input_state([](unsigned port, unsigned device, unsigned index, unsigned keyId) { return coreInstance->RaiseGetInputState(port, device, index, keyId); });
retro_set_audio_sample([](int16_t left, int16_t right) { coreInstance->SingleAudioFrameHandler(left, right); });
retro_set_audio_sample_batch([](const int16_t* data, size_t numFrames) { return coreInstance->RaiseRenderAudioFrames(data, numFrames); });
retro_set_video_refresh([](const void *data, unsigned width, unsigned height, size_t pitch) { coreInstance->RaiseRenderVideoFrame(data, width, height, pitch); });
retro_extra_set_open_file([](String^ filePath, FileAccessMode accessMode) { return coreInstance->OpenFileStream(filePath, accessMode); });
retro_extra_set_close_file([](IRandomAccessStream^ stream) { coreInstance->CloseFileStream(stream); });
retro_init();
}

return coreInstance;
}

BeetlePCFXCoreInternal::BeetlePCFXCoreInternal() : LibretroRT_Tools::CoreBase(retro_get_system_info, retro_get_system_av_info,
retro_load_game, retro_unload_game, retro_run, retro_reset, retro_serialize_size, retro_serialize, retro_unserialize, retro_deinit,
true, true)
{
fileDependencies->Append(ref new FileDependency(L"pcfx.rom", L"PC-FX BIOS", L"08e36edbea28a017f79f8d4f7ff9b6d7"));
}

BeetlePCFXCoreInternal::~BeetlePCFXCoreInternal()
{
coreInstance = nullptr;
}
20 changes: 20 additions & 0 deletions BeetlePCFXRT/BeetlePCFXCoreInternal.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#pragma once

#include "../LibretroRT_Tools/CoreBase.h"

using namespace Platform;
using namespace LibretroRT_Tools;
using namespace Windows::Storage;

namespace BeetlePCFXRT
{
private ref class BeetlePCFXCoreInternal sealed : public CoreBase
{
protected private:
BeetlePCFXCoreInternal();

public:
static property BeetlePCFXCoreInternal^ Instance { BeetlePCFXCoreInternal^ get(); }
virtual ~BeetlePCFXCoreInternal();
};
}
Loading

0 comments on commit 68c6d12

Please sign in to comment.