Hi,
I've just built ScummVM 2.0.0 ARM64 and it wasn't that difficult, though it took a while to compile all the dependency tree (everything's enabled except Fluidsynth and updates).
I've uploaded it here if you want it -
https://mega.nz/#F!PclhDIRB!-yhBZ6UM7S596ijNU3dx0A
If it doesn't run, install MSVC 2017 ARM64 runtime.
The build required very minor changes -
1. Edit common/scummsys.h
#if defined(__x86_64__) || \
defined(_M_X64) || \
+ defined(_M_ARM64) || \
defined(__ppc64__) || \
defined(__powerpc64__) || \
defined(__LP64__)
This is needed because otherwise it assumes 32-bit pointers. Maybe it would be wise to simply check for _WIN64, which it a catch-all macro for 64-bit Windows.
2. Edit backends/saves/windows/windows-saves.cpp
Look for #include <windows.h>, undef setjmp and longjmp before it and redefine them as forbidden after it (just copy-paste from backends/platform/sdl-sys.h). This has nothing to do with ARM64, it seems that MSVC builds are broken even on x86/x64.
3. When compiling, disable OpenGL because WoA doesn't support it at all. All other methods (e.g. DirectX) are available and SDL2 works fine.
Regarding the attached binary, I've tried running DOTT (scumm), Monkey Island II (scumm) and SQ5 (sci) and they seemed to play fine, though by "trying" I mean ~2 minutes each so it's basically just sanity. Also these games are not intensive enough for serious performance checks. If someone has an ARM64 laptop and some CPU-intensive games supported by ScummVM please do test.