Skip to content

Conversation

@jdavidson89
Copy link

@jdavidson89 jdavidson89 commented Jan 4, 2026

This PR adds ARM64 platform support for RAIntegration.

Changes included:

  • Added ARM64 configuration to the solution and project files
  • Updated the VC toolset for the ARM64 configuration to the latest(v145)
  • Added RAPIDJSON_ENDIAN=RAPIDJSON_LITTLEENDIAN to fix endianness detection
  • Verified successful build on Windows ARM64
    Note: This PR does not modify Win32 or x64 configurations. All changes are isolated to the new ARM64 platform.

@jdavidson89
Copy link
Author

The build is successful and executes correctly when applying my changes to the source tree, when building my fork the build is 1 kb smaller and doesn't have proper versioning info so builds successfully but fails to execute.

Copy link
Member

@Jamiras Jamiras left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the goal state for this? Are you planning to make an ARM64 build of RALibretro or another emulator to consume it?

<ConfigurationType>StaticLibrary</ConfigurationType>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<PlatformToolset>v143</PlatformToolset>
<PlatformToolset>v145</PlatformToolset>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VS2026 has only been out for a couple weeks and I haven't upgraded yet. I don't know if the CI builds will support it either. Please leave these as v143.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update the logic in RA_Version.rc so the properties dialog will properly report the DLL as ARM64.

#ifdef _WIN64
#define RA_INTEGRATION_VERSION_PRODUCT_ARCH RA_INTEGRATION_VERSION_PRODUCT " (x64)"
#define RA_INTEGRATION_ORIGINAL_FILENAME "RA_Integration-x64.dll"
#else
#define RA_INTEGRATION_VERSION_PRODUCT_ARCH RA_INTEGRATION_VERSION_PRODUCT " (x86)"
#define RA_INTEGRATION_ORIGINAL_FILENAME "RA_Integration.dll"
#endif

<ConfigurationType>DynamicLibrary</ConfigurationType>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<PlatformToolset>v143</PlatformToolset>
<PlatformToolset>v145</PlatformToolset>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few lines up from here, please update the logic to set the TargetName to RA_Integration-ARM64.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will check these changes out when I next get a chance to, I can also revert to v143 that was simply as that was the toolset I had installed I will reupload and yes I have working builds of rasnes9x and rapplewin and am working at porting more over as well, just submitting so you can add a working architecture to your codebase if you so wish to but I will clean it up accordingly. Thank you for your feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants