IOS: add Starlet LLE milestone through HBC
Boot original Wii firmware through boot0, boot1, boot2 and IOS on an emulated ARM Starlet. Model the required IPC, memory, SD, USB and Bluetooth hardware behavior, including IOS reload into IOS58, and add focused tests, launch utilities and architecture documentation.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
param(
|
||||
[string]$BuildDirectory = '.starlet_msvc2',
|
||||
|
||||
[string]$UserDirectory = '.starlet_user3',
|
||||
|
||||
[switch]$Wait
|
||||
)
|
||||
|
||||
$repoRoot = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$dolphinPath = Join-Path $repoRoot "$BuildDirectory\Binaries\DolphinNoGUI.exe"
|
||||
$userPath = Join-Path $repoRoot $UserDirectory
|
||||
|
||||
if (-not (Test-Path -LiteralPath $dolphinPath)) {
|
||||
throw "DolphinNoGUI.exe is missing: $dolphinPath"
|
||||
}
|
||||
|
||||
$dolphin = Start-Process -FilePath $dolphinPath -ArgumentList @(
|
||||
'-u', $userPath,
|
||||
'-n', '0000000100000002',
|
||||
'-v', 'D3D',
|
||||
'-p', 'win32'
|
||||
) -WorkingDirectory $repoRoot -PassThru
|
||||
|
||||
$dolphin.PriorityClass = 'High'
|
||||
|
||||
# Windows otherwise tends to schedule the ARM interpreter on an efficient core
|
||||
# of this hybrid CPU. Logical processors 0-3 are its two performance cores.
|
||||
$processorName = (Get-ItemPropertyValue `
|
||||
-LiteralPath 'HKLM:\HARDWARE\DESCRIPTION\System\CentralProcessor\0' `
|
||||
-Name 'ProcessorNameString' -ErrorAction SilentlyContinue)
|
||||
if ($processorName -match '12th Gen Intel\(R\) Core\(TM\) i7-1255U') {
|
||||
$dolphin.ProcessorAffinity = [IntPtr]0xF
|
||||
}
|
||||
|
||||
Write-Host "Dolphin IOS LLE started (PID $($dolphin.Id))."
|
||||
|
||||
if ($Wait) {
|
||||
$dolphin.WaitForExit()
|
||||
exit $dolphin.ExitCode
|
||||
}
|
||||
Reference in New Issue
Block a user