2018-06-22

Decaf Git (2018/06/22)

EmuCR: WiiUDecaf Git (2018/06/22) is compiled. Decaf (originally called WiiU-EMU) is a researching Wii U emulation. The Wii U is a home video game console created by Nintendo and the successor to the Wii.

Decaf Git Changelog:
* cafe: Add new PPC function invocation code.
* Start migrating to new kernel.
* cpu: Fix Pointer be2_val constructor.
* kernel: Load all default shared libraries.
* kernel: Try load lle modules before hle modules.
* kernel: Correctly map MEM2MainApp memory.
* coreinit: Change dynLoadMemAlloc to use stack.
* kernel: Update memory map.
* cpu: Allocate dedicated physical memory for TilingApertures.
* cafe: Add cafe::StackObject.
* cpu: Add natvis for be2 types.
* decaf: Mount /dev/mlc01 as ReadWrite.
* decaf: Do not initialise folders on slc01.
* ios: Add make_stack_string.
* ios/mcp: Fix default boot flags.
* ios/kernel: Fix getIpcMessageQueueId.
* ios/mcp: isValidRootKey is only checked on Debug or Test security levels.
* ios/mcp: Add a hack to force initialise all directories.
* ios/mcp: Do not treat failing to mount /dev/ramdisk01 as a fatal error.
* ios/mcp: Set client filesystem caps for COSKERNEL.
* ios/mcp: Fix copy and paste fail.
* Initialise cpu in decaf::initialise.
* Move FileSystem ownership to IOS.
* ios/fs: Implement FSADevice makeQuota.
* ios/auxil: Fix writeItems not copying file data to write buffer.
* ios/auxil: Fix getRootKey not returning correct root when no key specified.
* ios/auxil: Add missing Open / Close commands for /dev/auxilproc.
* decaf: Mount sdcard where we mount other devices.
* cpu: Fix pointer comparison operators against a be2_val Pointer
* coreinit: Fix coroutine calls to kernel.
* coreinit: Add missing includes for be2_struct.
* ios: Fix some compiler warnings.
* ppcutils: Fix ppc function binding for virt_ptr.
* ios: Fix StackArray::size
* ios: Implement ARM alarm timer thread.
* Change decaf to boot ios, then ios to boot cpu / kernel.
* kernel: Fix splelling initialiseHleMmodules -> initialiseHleModules.
* kernel: Fix cpu callbacks.
* ios: Fix usage of std::max in StackObject.
* cpu: Fix some formatting in address.h
* cpu: Fix typo.
* cpu: Rename espresso_registers.h to espresso_registerformats.h
* ios/mcp: Fill out more values for MCPFileType and MCPCommand.
* cpu: Fix some inconsistencies in be2_array.
* cpu: Fix template argument type for {virt,phys}_addrof for be2_array.
* cpu: Fixes for Pointer.
* cpu: Fix shadowing of template parameters in FunctionPointer
* cpu: Cleanup be2_val.
* cpu: Add missing "typename" for virt_cast.
* cpu: Add be2_val overloads for Pointer.
* cpu: Change format_arg for Pointer.
* ios/bsp: Add intial /dev/bsp request and response structs.
* ios: Update StackObject to copy changes to cafe::StackObject.
* coreinit: Add a bit more research about OSDriver
* cpu: Change function pointer to work like std::function
* common: Add align_check for non pointer types
* interpreter: Fix call to branch trace handler.
* common: Change FrameAllocator alignment arg to be size_t
* ios: Add ios::Handle for IpcRequest.
* coreinit: Implement OSLoadCoroutine and OSSaveCoroutine.
* cpu: Add virt_addr_range and phys_addr_range alias.
* cpu: Add waitNextInterrupt that will sleep until next interrupt with a timeout.
* cpu: Change interrupt handles to all pass the core as argument.
* cpu: Add explicit Address::operator uint32_t
* common: Add an abort with provided stack trace to decaf_assert.
* common: Use MAX_SYM_NAME in platform_win_stacktrace
* ios: Set AHBLT.0 to SdHostController
* ios/mcp: Start work on /dev/ppc_app and /dev/ppc_kernel
* ios/mcp: Set cafe title path during initialisation.
* ios/mcp: Add LoadLibraryChunk request.
* ios: Fix MCP_Open actually opening /dev/fsa.
* cpu: Rework some be2_struct stuff.
* common: Add TeenyHeap default constructor and reset function.
* common: Add a single-producer single-consumer queue to AtomicQueue.
* cpu: Add FunctionPointer class
* cpu: Add Address::operator &(uint32_t)
* ios/kernel: Fix getOpenResource incorrectly handling closed devices.
* ios/kernel: Fix allocResourceHandle always returning handle[0].
* ios/kernel: Fix freeResourceRequest incorrectly handling id 0.
* ios/kernel: Fix allocResourceRequest setting nextIdx instead of prevIdx.
* ios/kernel: Fix findResourceManager ignoring id 0.
* ios/kernel: Fix usage of the wrong resource handle manager.
* ios/kernel: Fix dispatchRequest using the wrong message queue.
* ios/kernel: Fix IOS_CreateTimer return value.
* ios/mcp: Add missing IOS_ResourceReply for /dev/pm ioctl.
* ios/mcp: Fix handling of unimplemented /dev/pm resource managers.
* ios/mcp: Fix always using /dev/crypto as process name in pm manager list.
* ios/kernel: Fix 0x7FFFFFFF to be the magic value in getClientCapability.
* ios/fs: Add FS service thread.
* cpu: Fix BigEndianValue operator[] return type.
* ios: Make process local heap allocations more explicit.
* ios/kernel: Implement ordered insertion in IOS_RegisterResourceManager.
* Move IPC address translation into the Cafe kernel IPC driver.
* ios/kernel: Fix RegisterResourceManager returning Exists if No Exists!
* ios: Fix copypasta of NonBlocking receive everywhere!
* ios/kernel: Add unregister event handler.
* kernel: Fix submitting wrong ipc address to ios.
* ios/mcp: localHeapBuffer requries 0x20 byte alignment.
* ios/kernel: Change allocProcessStatic to use 16 byte alignment.
* ios/kernel: Allow the kernel to call IOS_StartThread for any process.
* ios/kernel: Fix priority inversion in scheduler.
* ios/kernel: Add some missing scheduler unlocks.
* ios/kernel: Fix wrong itnerrupt being set when an IPC is submitted.
* ios/kernel: Fix some heap bugs.
* ios/kernel: Fix updating of current thread when switching threads.
* ios/kernel: Fix threads not being put on the scheduler queue when woken.
* ios/kernel: Fix timer thread using NonBlocking receive message.
* ios/kernel: Fix incorrect stack pointer.
* ios/net: Add socket device and rip out the remaining OLD ios code!!
* ios/mcp: Further work on MCP.
* ios/kernel: Implement IOS_{Get,Set}SecurityLevel.
* ios/fs: Add ipc FSARemove, FSAMakeDir, FSAMakeQuota, FSAMount, FSAGetInfoByQuery.
* ios/fs: Fix missing values in FSAResponseGetInfoByQuery.
* cpu: Pointer should dereference to be_struct.
* ios/auxil: Move config reading/writing to ios_auxil_config.
* ios/net: Add network, socket and subsys threads.
* ios/mcp: Add mcp thread.
* auxil: Using namespace kernel in usr_cfg service thread.
* ios/kernel: Fix thread exit.
* ios/auxil: Update auxil to use MCP_RegisterResourceManager.
* ios/mcp: Add IPC functions, MCP_{Open,Close,RegisterResourceManager}.
* ios: Flesh out the NET process creation.
* ios: Start work on MCP.
* ios/kernel: Rename IOS_GetTimerTicks to IOS_GetUpTime64.
* ios/kernel: Add DeviceId 9 as SysEvent.
* ios/kernel: Rename IOS_SetResourcePermissionGroup to IOS_AssociateResourceManager.
* ios/kernel: Add IOS_SetClientCapabilities.
* ios/kernel: Add IOS_SetResourceManagerRegistrationDisabled.
* ios/auxil: Add missing calls to startImThread / stopImThread.
* ios/kernel: Add allocProcessStatic(std::string_view)
* ios/kernel: Add async IPC functions.
* ios/kernel: Add makeMessage, parseMessage utilities.
* cpu: Add be2_struct operator=(const Type &).
* ios: Add StackArray.
* cpu: Add a constructor for be2_array from std::array
* ios/auxil: Implement initialisation of IM parameters.
* ios/auxil: Add usr_cfg ipc.
* ios/auxil: Fix UC{Read,Write}SysConfigRequest arguments.
* ios/fs: Add ipc FSAOpen, FSAClose.
* be2_array: Add operator= string_view for be2_array.
* cpu: Remove BigEndianValue::getAddress as this was removed from Pointer.
* ios/auxil: Implement usr_cfg ioctls readSysConfig, writeSysConfig.
* ios/fs: Add FSAStatFile ipc.
* cpu: Make be2_array great again.
* ios/kernel: Boot all processes.
* ios/kernel: Add missing initialisation of interrupt registers.
* ios/kernel: Add missing startIpcThread function.
* ios/kernel: Fix allocProcessStatic variadic template.
* ios/kernel: Remove member initialisation in resource manager.
* ios/kernel: Add makeMessage utility function.
* ios/kernel: Fix compiler warnings in timer.
* ios: Add missing process entry points.
* ios: Change ProcessId::IOSTEST to ProcessId::TEST
* ios: Add a default constructor for IpcRequestArgs.
* common: Add FrameAllocator default constructor.
* ios/auxil: Fix compiler warnings.
* ios/fs: Fix process initialisation.
* ios: Initialise static data in AUXIL.
* ios: Initialise kernel static data.
* ios: Start fleshing out process static memory.
* ios: Add timeToTicks and durationToTicks.
* cpu: Use is_x::value instead of is_x_v as they seem to break intellisense.
* ios: Initial implementation of kernel timers.
* ios: Fix handling of id in resource manager.
* ios: Fix usage of rescheduleSelfNoLock.
* cpu: Cleanup use of TimerDuration.
* ios: Fix getMessageQueue to return an Error.
* ios: Add HandleManager::closeAll
* ios: Fix startFsaThread to return an Error.
* ios: Implement axuil stopImThread.
* ios: Implement auxil process with /dev/auxilproc, /dev/im.
* ios: Add a (hopefully) reusable handle manager for devices.
* ios: SvcMsg.unkArg0 is .command!
* ios: Add ThreadId CurrentThread constant.
* ios: Add FSA ipc syscalls FSACloseFile, FSAReadFile, FSAWriteFile.
* cpu: Improve explicit operator cast for BigEndianValue.
* ios: Port all FSA device functionality to new ios.
* ios_kernel: Make {SharedCrossProcess,LocalProcess}HeapId publically visible.
* kernel: Fix some missing name changes from ID -> Id.
* ios: Add enum value MCPCommand::SetSysProdSettings
* ios: Start trying to figure out what devices are going to look like.
* Rename ID -> Id
* ios: Map remaining PowerPC->ARM IPC commands.
* Fix some oopsies
* ios: Implement the remaining IPC commands.
* ios: Remove IpcHandle.
* Start of new IOS emulation.
* debugger: Fix trying to calculate next instruction on invalid instruction.
* loader: Implement R_PPC_GHS_REL16_HI, R_PPC_GHS_REL16_LO

Download: Decaf Git (2018/06/22)
Source: Here

1 Comments:

Can't post a comment? Try This!