NXEmu est un émulateur Nintendo Switch open-source écrit en C++ pour Windows. Il en est encore à un stade précoce. N3XOX1 a commencé à travailler sur NXEmu en 2018 avec des progrès lents mais constants. Maintenant qu’il affiche des graphismes, l’auteur pense que c’est le bon moment pour montrer ce qu’il a réalisé jusqu’à présent.

Les changements depuis la version 0.4:
– UI: better shutdown of controller config
– update sciterui
– UI: Add menu option to open App Directory/Log dir
– add about window
– OS: get video setting for is_async_gpu
– UI: Confirm closure of the emulator
– Fixes BOTW & TOTK
– Loader: fix up how Service::AM::Process::Initialize interacts with the system
– Update copyright year in build version headers
– change how app init works with passing in the base dir and app dir
– Loader: Add setting for CheckForUpdatedFirmware
– loader: ask the user to upgrade firmware if upgraded firmware in xci
– UI: Remove controller svg out of input_config_player.html
– UI: Add svg to the menu
– have dma pusher stop when no longer powered on
– fix up ui settings bool/int32 setting
– UI: Add Notification::Query
– fix up .gitmodules zlib
– UI: update how motion cube works
– Add external CMakeLists.txt
– Android: Add java_vm to ModuleInterfaces
– update to latest sciterui
– UI: Update motion buttons
– ui: Update the look and feel of the loading screen
– UI: fix up game cube controller svg
– UI: Update the svg when button state is changed
– UI: Limit stick refresh to once every 50 milliseconds
– UI: Fix up recent pull request merges
– UI: Update how pause panel works
– UI: Do not constantly hammer refreshing UI on DiskCacheLoadChanged
– loader: GetRelativePathFromNcaID add hashing of the path
– UI: Update status bar function names
– Be able to show installed firmware on the status bar
– Be able to install firmware from a folder
– be able to change docked/handheld
– merge volume
– Remove wtl
– ui: give an option to hide/show the ui elements
– OS: have OS settings full handle setting with a float
– Update menu to be able to have icons/check box and add an option to start the emulator in fullscreen
– Loader: expose IFilesystem, IContentProvider and add CreateMemoryFile, ReadBanner, ReadLogo
– loader: Add IRomInfo::ReadManualRomFS
– OS: Add applets information to all the frontend to set Applets
– OS: be able to create web browser applet
– UI: Add a web browser applet to open the page in an external browser
– Add hotkey for stop emulation, controller and configuration
– Some work to prepare for android
– OS: move docked mode out of yuzu common, and purely in to the OS module
– OS: Move applet and audio settings out of common and in to OS
– OS: Move System and time settings in to OS setting from common settings
– OS: Move controller and linux setting out of common and in to OS module
– Some work on CMakeLists.txt
– ui: configurable hotkeys, menu accelerators
– Add borderless fullscreen
– CPU: Add PrefetchAbortBreakLoop halt reason
– Loader: In RomFsControllerImpl::OpenRomFS if the file fails to open return nullptr
– external: Suppress warnings in external projects
– Fix up some WIN32/non WIN32 issues
– Loader: Fix up VfsVirtualFile::GetContainingDirectory
– CPU: Code clean up and fixing fast memory in 64bit
– common: remove out the find files out of path and into path finder
– Common: remove usage of fixed path buffers
– common: get path more cross compatible with clang
– Common: Fix a bug in Path::DirectoryNormalize if normalized against a shallow base directory
– common: update file class so it does not have to use the window api
– Common: Json limit __debugbreak to just be for win32
– core: Change AppInit to pass the config path
– Change using __interface to nxinterface
– Update sciterui
– Update to dev 0.6
– Loader: rename SaveDataFactoryPtr to SaveDataFactoryImpl
– Loader: Rename RomFsControllerPtr to RomFsControllerImp
– Loader: rename VirtualDirectoryPtr, VirtualFilePtr to VirtualDirectoryImpl, VirtualFileImpl
– Loader: Some code clean up
– loader: change IFileSysRegisteredCache to return by reference only
– OS: Fix up saving SettingType::U16, SettingType::BooleanSwitchable, SettingType::Float
– loader: fix a typo
– OS/Loader: Add IDirectory and directory and file lists
– Loader: Some code clean up
– Loader: Code clean up of patch_manager.cpp
– OS: FSP_SRV::OpenDataStorageByDataId
– video: fix project so it includes ffmpeg in release
– NXEmu-Dev-0.6.0-290-991e8bc: Core Add ability to have a setting as a float
– Video: export ShadersBuilding
– OS: export GetAndResetPerfStats
– UI: Add status text
– Add 3rd Party/ffmpeg files
– UI: only show render render window when NXCoreSetting::DisplayedFrames it set true
– OS: remove System::GetFileSystemController
– Reset modules before starting a game
– Video: some code cleanup
– UI: update game browser config to use the new list widget
– Lang: Fix up width of input config
– UI: clean up input device list when controller configuration is closed
– Lang: update LoadingPanel default display
– UI: Update controller input so styles are in the parent header
– Update to use sciter to sciter-js-sdk-6.0.3.5
– Add rom browser
– OS: implement nvdrv Container::CloseSession
– Core: Make sure sdl and logging shutdowns correctly on close
– Core: Improve shut down when a game is playing
– Loader: Add ISystemloader::LoadedRomInfo
– UI: Start to add option to stop emulation
– OS: Rename GetPageTable to GetKPageTable
– CPU: move DynarmicCallbacks64 into a member variable
– CPU: Fix memory write exclusive
– CPU: Add IKernelProcess and some code clean up
– OS: remove arm_interface
– CPU: move CpuHaltReason out of ICpuCore
– CPU: Add ICoreSystem
– CPU: Update ICpuCore so the majority is handled by the cpu plugin
– CPU: Start to add 32bit cpu
– Core: Save core settings on saving config page
– UI: a little tweak to the menu display
– OS: rename GetMemory to GetCoreMemory and some code clean up
– CPU: move ProcessorArchitecture into cpu interface
– CPU: Update how exclusive monitor works
– CPU: Add CpuDebugWatchpointType
– CPU: Rename IArm64Executor to ICpuCore
– OS: rename GetOwnerProcess to GetOwnerKProcess()
– OS: change how LoadSvcArguments/SaveSvcArguments argument type
– CPU: Add CpuThreadContext to the cpu spec
– Lang: increase min window size
– Improve shutdown
– UI: Only show when set up
– Common: Move GetNestedValue and SetNestedValue into json_util
– nxemu: update ui settings to use JsonSetNestedValue
– OS: some code clean up
– Loader: Add information to query in IRomInfo
– Lang: Add RightJoycon svg
– Add .clang-format
– Core: Change switch system to system modules
– Loader: change RomFSFactoryPtr to RomFsControllerPtr
– UI: Fix up controller config for right controller
– update version number to 0.5
Explications ici.



























