Skyline Emu Skyline Versions Save

Run Nintendo Switch homebrew & games on your Android device!

v0.3

4 years ago

What was added:

  • Processes and Threads with valid TLS
  • IPC Marshalling
  • Service Handler
  • Services: (Just enough to pass libNX initalization, they haven't been completed)
    • sm
    • fatal:u
    • set:sys
    • apm
    • apm:ISession
    • am:appletOE
    • am:IApplicationProxy
    • am:ICommonStateGetter
    • am:IApplicationFunctions
    • am:ISelfController
    • am:IWindowController
    • am:IAudioController
    • am:IDisplayController
    • am:ILibraryAppletCreator
    • am:IDebugFunctions
    • hid
    • hid:IAppletResource
    • time
    • time:ISystemClock
    • time:ITimeZoneService
    • fsp-srv
    • fs:IFileSystem
  • Kernel Objects:
    • KProcess
    • KThread
    • KSharedMemory
    • KTransferMemory
    • KPrivateMemory
    • KSession
    • KEvent
    • KObject
    • KSyncObject
  • SVCs:
    • SetHeapSize
    • QueryMemory
    • ExitProcess
    • CreateThread
    • StartThread
    • ExitThread
    • SleepThread
    • GetThreadPriority
    • SetThreadPriority
    • MapSharedMemory
    • CloseHandle
    • WaitSynchronization
    • ArbitrateLock
    • ArbitrateUnlock
    • WaitProcessWideKeyAtomic
    • SignalProcessWide

What was improved:

(Nearly everything, the project has reached it's final structure)

  • Memory Management
  • NCE:
    • Multiple Processes support
    • Threading support
    • Event loop driven so arbitrary tasks can be performed within cycles
    • Support for KThread status and handling timeouts
    • All functions now support a PID parameter
  • Addition of comments to the codebase for every function and class in header files
  • New Icon
  • Signing of release APKs
  • SVCs:
    • SendSyncRequest - Attach to new Service handler
    • OutputDebugString - Newlines are now ommited from strings
    • GetInfo - Additional cases supported:
      • AliasRegionBaseAddr
      • AliasRegionSize
      • HeapRegionBaseAddr
      • HeapRegionSize
      • TotalMemoryAvailable
      • TotalMemoryUsage
      • AddressSpaceBaseAddr
      • AddressSpaceSize
      • StackRegionBaseAddr
      • StackRegionSize
      • PersonalMmHeapSize
      • PersonalMmHeapUsage
      • TotalMemoryAvailableWithoutMmHeap
      • TotalMemoryUsedWithoutMmHeap
      • UserExceptionContextAddr

What Works Now ?

What's next ?

For v0.4 we plan to have support for basic framebuffer display working, it should take a fraction of the 2 months this version took.

v0.2

4 years ago

The following release has the following changes:

  • Logger (and C++ API to write logs)
  • Settings API in C++
  • Complete restructure the entire project and rewrite nearly every file..
  • Native Code Execution using ptrace (Finally!!)
  • Remove Unicorn due to the addition of NCE
  • Change application name to emu.lightswitch and LightSwitch (You'll have to uninstall the old version otherwise you'll have two LightSwitch apps)
  • Rewrite how adapters work so headers can be put alongside items
  • Save list of games rather than refreshing them every time MainActivity is reloaded

v0.1-alpha

4 years ago

This release is more of a POC than anything, it cannot output anything except text in the application logs which can be viewed using logcat.