Libtransistor-Examples Switch
From GameBrew
More actions
| libtransistor-examples | |
|---|---|
| General | |
| Author | ReSwitched Team |
| Type | Developments |
| Version | 2.1.1 |
| License | ISC |
| Last Updated | 2018/09/12 |
| Links | |
| Download | |
| Website | |
| Source | |
| This application has been obsoleted by one or more applications that serve the same purpose, but are more stable or maintained. |
Libtransistor is a userland library for the Nintendo Switch. Binaries should run under Mephisto, Yuzu, Ryujinx, or on hardware with any firmware version via Atmosphère.
The tests archives contain builds of all of the tests included with libtransistor.
Compatibility
Tested working:
1.0.0
3.0.0
Expected working:
2.0.0
2.1.0
2.2.0
2.3.0
5.0.0
5.0.1
5.0.2
Changelog
v2.1.1 2918/09/12
- Additions:
- Added
trn_recursive_mutex_interrupt_lock. - Various SVC bindings.
- Added
- Changes:
trn_result_to_errnonow usestrn_lookup_result.KDebuginherits fromKWaitable.
- Bugfixes:
- Waiter deadlocks/delays.
- Lifetime bug in C++ Waiter bindings.
v2.1.0 2019/08/23
- Additions:
- Added support for deferring
IPCServer++responses. - Added support for
InHandle,OutHandle, andInObjecttoIPCClient++. - Added
KTransferMemory. - Added default constructor for
KObject. - Added
_TRN_RUNCONF_STDIO_OVERRIDE_TWILI. - Added
include/libtransistor/cpp/nx.hpp. - Added
trn::svc::MapTransferMemoryandtrn::svc::MapSharedMemory. - Added
trn::svc::QueryMemory. - Added
env_get_stack_top. - Added
bindings for ITwiliService#CreateNamedPipe. - Added
trn::as::Reservation. - Added
trn_lookup_result.
- Added support for deferring
- Removals:
- Removed some old debug messages.
- Removed
ipcClients.h.
- Changes:
- Refactored
crt0_common. - Made
include/libtransistor/nx.hmore complete. - When building libtransistor, libtransistor headers are now included with
-Iso that warnings are not suppressed. - Makefile object/header listings are now alphabetical.
- Each source file now includes its most relevant header before any others to ensure header files' dependencies are properly included..
- Refactored
- Bugfixes:
- Made
trn::ResultErrorinherit publicly fromstd::runtime_exception. - Many warnings.
- Fixed issues with libc++, atomics, and
[[noreturn]].
- Made
v2.0.0 2019/07/20
- Additions:
- Added dynamic linker,
dlopen,dlsym, etc. - Added C++ API (see twili for examples of this API in action).
- Including templated IPC client/server.
- Added 1.0.0 support.
- Added
trn_threadandtrn_mutexlibrary. - Added
svcMapProcessCodeMemory,svcUnmapProcessCodeMemory,svcSetProcessMemoryPermission. - Added
svcCreateProcess,svcStartProcess. - Added
svcMapPhysicalMemory,svcUnmapPhysicalMemory. - Added resource limit, debug SVCs.
- Added
usbbindings. - Added
asmodule, for managing address space (replacesfind_empty_memory_block). - Added
fatalservice bindings. - Added process handle key to
loader_config. - Added
SECONDS_TO_NANOSECONDS,ASSERT_OK,TRACE, andDBG_TRACEmacros. - Added
ipc_helpers. - Added
ipc_debug_level(replacesipc_debug_flag)'. - Added
collections/list.h. - Added
waiter. - Added twili integration.
- Added
runtime_config. - Added hid_controller button state masks,
hid_controller_buttons_down. - Added
nvhost_ioctl_ctrl_syncpt_wait. - Added
surface_wait_buffer. - Added fsp_srv_open_bis_filesystem.
- Added NRO ASET sections for metadata and icons.
- Added
env_get_kernel_version().
- Added dynamic linker,
- Removals:
- Removed
ace_loader. - Removed
alloc_pagesand heap remapping system. - Removed
main_thread = 0xde00hack. - Removed
test_multiple_set_heap_size.
- Removed
- Changes:
- We now use display layers obtained from
amwherever possible (fixes drawing over lock screen and fixes screenshots). - Redid
file_operations_tto not be copied from the Linux kernel, and for consistency with other libtransistor filesystem APIs. - Moved
loader_configfunctions into their own file. - We now send type 2 message before closing IPC services.
- Change
struct filetotrn_file_t. - Enabled thread safety analysis, and thread safety for a few modules.
ipc_servernow useswaiter.sm_force_finalizeis now public.trn_mountfs_mounttakes inode by value.- Removed
restrictfrom bsd headers.
- We now use display layers obtained from
- Bugfixes.
- Made
ipc_servercheck that it has the SVCs it needs. - We now initialize all
loader_configfields. - Fixed syscall missing error code number collisions.
trn_result_to_errnonow callsdbg_printfinstead ofprintfwhen discarding errors.- Supported ipc messages with raw data sizes that are not multiples of 4.
svc.hnow includestypes.h.- Fixed missing
__malloc_lockand__malloc_unlock. - Fixed uninitialized variable usage in
syscalls.c. - Added missing typedef in
graphic_buffer_queue.h. - Fixed
fd_file_put not checkingfile->ops.release != NULL. - Fixed PID unpacking in PIC.
- Removed some ancient debug messages.
- Fixed terrible QueueBuffer transactions.
- Fixed bss clearing.
- Made
- Misc/CI:
- Moved support libraries into
libtransistor-base. - Run tests with
--initialize-memory. - Use container infrastructure.
- Added instructions to README for installing squashfs on osx.
- Moved support libraries into