Commit Graph

443 Commits

Author SHA1 Message Date
yellows8
a1462c8b0b Fixed size of bufferProducerGraphicBuffer and removed the union for it. Removed an invalid comment from gfx.c, since bufferProducerRequestBuffer() is used after bufferProducerGraphicBufferInit(). 2018-02-17 19:35:04 -05:00
Mike H
0e40828c19 Initial audio support (#43)
Initial audio support
2018-02-17 11:40:59 -05:00
yellows8
c22655e7a2 Moved the applet GetEventHandle code outside of the regularapp block since appletMainLoop() uses this event. 2018-02-16 22:54:15 -05:00
yellows8
3c6b8bb6dd Removed envGetArgc() and the related code, since it was removed from wiki-ABI. Updated a comment in argv.c. 2018-02-16 22:40:53 -05:00
yellows8
3f90f3b64c Align width/height to 4 in gfxInitResolution() and gfxConfigureCrop(). Updated the image-transfer code in gfxFlushBuffers() for removing the width misalignment handling. 2018-02-16 20:13:47 -05:00
yellows8
67af341594 Fixed romfs_dir struct for the parent field and fixed romfs_dev.h formatting. 2018-02-13 17:50:21 -05:00
yellows8
f5606bfb8a Added disabled _appletExitProcessAndReturn(). 2018-02-13 12:16:17 -05:00
yellows8
7fa0397c16 Fixed formatting for GfxMode docs. 2018-02-13 00:08:23 -05:00
yellows8
4efcc5b439 Only handle appletIFunctions for non-LibraryApplet. Added remaining init/exit for LibraryApplet. Handle appletExit() properly. 2018-02-12 22:15:56 -05:00
yellows8
83349f946a Use u128 for data-transfer in gfxFlushBuffers() when width is aligned for this. 2018-02-12 18:09:15 -05:00
yellows8
ea612e3060 Added text-console note to GfxMode comment. 2018-02-12 17:52:10 -05:00
yellows8
13b4c74723 Updated gfx API. Replaced gfxSetDoubleBuffering() with gfxSetMode(), and added GfxMode enum. Updated gfx.h comments. Updated gfxGetFramebufferDisplayOffset() for using the aligned width. The new GfxMode_LinearDouble is now used by default, apps must not use gfxGetFramebufferDisplayOffset() with this mode. Apps using gfxGetFramebufferDisplayOffset() must be updated. 2018-02-12 16:08:25 -05:00
yellows8
4b2a32af59 Imported transform enums from Android and updated g_gfxQueueBufferData.transform for this. 2018-02-12 11:58:54 -05:00
yellows8
1d7556f583 Updated ioctl.h comment. 2018-02-11 18:29:30 -05:00
yellows8
a31e53d57a Added disabled applet code for cmds Exit, LockExit, and UnlockExit. 2018-02-11 15:44:49 -05:00
TuxSH
507bf71a7b Fix NV ioctl nameclashes...
...with bsd ioctls (coming soon) & C++ stdlib
2018-02-10 23:02:05 +01:00
profi200
7ef73113cb Optimize for Cortex-A57. 2018-02-10 22:40:22 +01:00
fincs
7a07d2c010 gfx/gfx.h: Fix doxygen formatting 2018-02-10 22:40:11 +01:00
fincs
95592641f5 services/: Add Doxygen file headers; document sm.h 2018-02-10 22:40:11 +01:00
fincs
6c79424f76 kernel/svc.h: Add descriptions/basic info for the rest of syscalls 2018-02-10 22:40:11 +01:00
fincs
521bc1c5c9 Document kernel/condvar.h 2018-02-10 22:40:11 +01:00
fincs
78ff885390 Rename __in/out/inout to _in_/etc to avoid problems with C++ system headers 2018-02-10 22:40:11 +01:00
fincs
32bdb14b1f Add author/copyright info to runtime/devices/romfs_dev.h 2018-02-10 22:40:11 +01:00
fincs
d2ab48262c Fix breakage after rebase 2018-02-10 22:40:11 +01:00
fincs
cde9d05c80 Optimize/fix several things in svc.s 2018-02-10 22:40:11 +01:00
fincs
e295994dd2 Begin documenting kernel/svc.h. SVCs classified in categories. 2018-02-10 22:40:11 +01:00
fincs
e54aadfc84 kernel/svc.h: Add MemoryType, MemoryState, MemoryAttribute 2018-02-10 22:40:11 +01:00
fincs
c8f62d94a3 Documentation: address second batch of comments (#38) 2018-02-10 22:40:11 +01:00
fincs
c20d372946 Clean up types.h:
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
fincs
41da28eb5c Document kernel/: shmem.h, thread.h, tmem.h, virtmem.h 2018-02-10 22:40:11 +01:00
fincs
8496f36879 Documentation: address first batch of comments (in #38) 2018-02-10 22:40:11 +01:00
fincs
cbd367c8a0 Document kernel/: detect.h, jit.h, mutex.h, random.h, rwlock.h 2018-02-10 22:40:11 +01:00
fincs
b791718a03 Document ipc.h 2018-02-10 22:40:11 +01:00
fincs
475cc5e941 Document env.h 2018-02-10 22:40:11 +01:00
fincs
ff472848a9 Start doxygen bringup, with some miscellaneous cleanup 2018-02-10 22:40:11 +01:00
yellows8
dc785c1fee Added appletSetScreenShotPermission and appletSetScreenShotImageOrientation. Added LibnxError_IncompatSysVer. 2018-02-08 22:13:56 -05:00
yellows8
4137f9aefe Allocate heap with the size determined via svcGetInfo by default. Updated heap comments. 2018-02-05 22:21:44 -05:00
plutoo
356a06fb94 Fix bug where attempts to parse __argdata__ while running as an NRO 2018-02-04 03:29:59 +01:00
yellows8
2103e40448 Better argdata validation. 2018-02-03 21:06:23 -05:00
yellows8
7a9e43b684 Removed outdated todo comment. 2018-02-02 16:22:23 -05:00
plutoo
75003f40f1 Add some syscalls 2018-02-01 22:04:37 +01:00
plutoo
89021287f8 Revert "We don't understand Auto -- disable for now"
This reverts commit 20c4bfd54a.
2018-02-01 00:26:39 +01:00
plutoo
20c4bfd54a We don't understand Auto -- disable for now 2018-02-01 00:16:38 +01:00
plutoo
b2810ab38d Condvar stylefix 2018-01-31 02:22:28 +01:00
plutoo
c7213b119b Condvar bugfix 2018-01-31 02:14:01 +01:00
TuxSH
e7c57fbd0b Fix 85d7ac4 2018-01-31 01:44:30 +01:00
TuxSH
85d7ac4da1 Restore initial sp on application exit 2018-01-31 01:14:48 +01:00
plutoo
000a7f05c9 Experimental implementation of condvars 2018-01-30 22:39:02 +01:00
yellows8
ca6d017be9 Started irs IR-sensor support. 2018-01-29 23:16:06 -05:00
yellows8
993071f67e Fixed filename in romfs_dev.h comment. 2018-01-28 21:23:22 -05:00
yellows8
83ea6fb32e Imported romfs_dev from libctru with adjustments, this is currently unusable. 2018-01-28 21:18:53 -05:00
Dave Murphy
0ddd63ea49 remove need for DEVKITA64 variable 2018-01-28 03:09:43 +01:00
Dave Murphy
7ed122eefc move switch specs, linkscript & rules to libnx 2018-01-28 03:09:43 +01:00
Lioncash
1e04b22bae applet: Remove redundant declaration of appletExit()
This is already present within the header.
2018-01-28 01:03:56 +01:00
Lioncash
b637276c48 Silence a few missing prototype warnings 2018-01-28 01:03:56 +01:00
yellows8
e1347f367c Enabled code which requires devkitA64 a6. 2018-01-25 22:16:14 -05:00
yellows8
e78f57d862 Check for fence id NO_FENCE before calling nvgfxEventWait() in _gfxDequeueBuffer(), since that does occur in some cases. 2018-01-25 01:34:31 -05:00
yellows8
53319ff6d2 Merge branch 'master' of github.com:switchbrew/libnx 2018-01-25 00:42:27 -05:00
yellows8
0f8f5e9732 Re-added g_appletProxySession closing, this was removed by an eariler commit. Renamed APT_BUSY_ERROR to AM_BUSY_ERROR. 2018-01-25 00:42:19 -05:00
plutoo
0890b20251 Fixed Windows build @fincs 2018-01-25 02:08:04 +01:00
Dave Murphy
305d4bf3e3 move crt0 to libnx 2018-01-25 01:44:59 +01:00
yellows8
e39dc2baf8 Fixed building when fsdev usage is enabled. 2018-01-24 16:05:47 -05:00
plutoo
673651a51f Fix broken header files 2018-01-23 00:27:00 +01:00
TuxSH
5b0de6c054 Move tmem allocation in bsdInitalize...
...add bsdExit, change the default config's "version" field to 1.
2018-01-22 22:11:33 +01:00
TuxSH
fb9e126f3a Make the bsd service work properly 2018-01-22 22:11:33 +01:00
plutoo
340266502a Cache management for jit 2018-01-22 21:06:53 +01:00
plutoo
b34f59e179 ARM cache operations 2018-01-22 20:29:49 +01:00
plutoo
9634a5467e Small stylefix 2018-01-22 20:15:03 +01:00
plutoo
6fa8370bfb This looks better 2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8 Include only what is really necessary...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
5a67f0909d Stop confusing Nvidia error codes and Switch error codes 2018-01-21 18:54:11 +01:00
plutoo
e54bbc54ea Fix codestyle for results 2018-01-21 18:40:23 +01:00
plutoo
6b4b693842 3.0.0 jit also requires own process handle 2018-01-21 17:24:42 +01:00
yellows8
cd881bbc0e Added envHasNextLoad(). 2018-01-20 18:25:35 -05:00
plutoo
200240f328 Actually reprotect code segment to RX 2018-01-20 19:37:11 +01:00
plutoo
d4db5b7647 Stylefix 2018-01-20 19:37:11 +01:00
plutoo
97141448e9 Implement NextLoadPath for loader env 2018-01-20 19:37:11 +01:00
fincs
af0e9eea7d Minor style change in appletMainLoop() 2018-01-20 14:41:05 +01:00
fincs
79e51cb733 More fatalSimple unique error codes (plus some fixing) 2018-01-20 14:41:05 +01:00
plutoo
a4cff4de13 Jit bug number two 2018-01-20 14:19:14 +01:00
plutoo
de8b3f81e4 Jit errorcode bugfix 2018-01-20 14:03:44 +01:00
plutoo
81a39130fe Whitespace fix in svc 2018-01-20 14:01:26 +01:00
plutoo
22e9a0fcc3 Jit bringup, improvements to virtmem 2018-01-20 13:56:12 +01:00
plutoo
b877e1b1c1 Why is this not crashing 2018-01-20 12:26:31 +01:00
shinyquagsire23
368fbbb570 hid: joystickPosition -> JoystickPosition 2018-01-20 10:37:47 +01:00
shinyquagsire23
52e928df0e hid: circlePosition -> joystickPosition 2018-01-20 10:37:47 +01:00
shinyquagsire23
a4dbd93b1f hid: Add hidJoystickRead 2018-01-20 10:37:47 +01:00
plutoo
8ae150d110 NRO loading bringup 2018-01-20 00:13:38 +01:00
yellows8
3a9451bbeb Added CONTROLLER_P1_AUTO. Added bounds checking for id in hid{Set|Get}ControllerLayout. 2018-01-19 13:58:32 -05:00
Lioncash
4b9a460fb6 usb_comms: Correct scenarios when freeing the endpoint out buffer
Previously g_usbComms_endpoint_out_buffer wouldnt be freed in
usbCommsExit, as g_usbComms_endpoint_out would be set to NULL before
the conditional check
2018-01-19 11:22:44 +01:00
plutoo
3faa6e8325 Add comment about seed 2018-01-18 21:11:58 +01:00
plutoo
15fe53dad3 Fix signature of randomGet64() 2018-01-18 20:53:04 +01:00
plutoo
ec4430d2e6 Introduce random 2018-01-18 20:51:55 +01:00
yellows8
e3f0e08a90 Skip HID init when applet-type is None. 2018-01-17 00:39:56 -05:00
Unknown
bddf244d0b default_icon now included in make install 2018-01-15 22:49:01 +01:00
fincs
fb9c53235e Fix ipc.h C++ compatibility errors (tested by compiling code as .cpp) 2018-01-15 22:48:46 +01:00
fincs
a8a15f7d16 Make fatalSimple error codes unique 2018-01-15 22:48:46 +01:00
yellows8
eec1fc2fcc Added svcSetProcessMemoryPermission and svcMapProcessCodeMemory/svcUnmapProcessCodeMemory. Added PERM_X. 2018-01-13 23:49:54 -05:00
yellows8
197b1900a1 Fixed appletInitialize() which broke during the Service changes. 2018-01-13 01:09:08 -05:00
plutoo
844f72fe67 Panic if any initialization fails 2018-01-13 00:43:38 +01:00
plutoo
61494b77cc Minor stuff 2018-01-13 00:36:31 +01:00
plutoo
d8061f67bd Introduce svcWaitForSynchronizationSingle to clean up code 2018-01-13 00:27:47 +01:00
plutoo
94658b9f60 More loader config 2018-01-13 00:18:04 +01:00
plutoo
fbf0b0643a Missed vi on the first round 2018-01-12 23:53:08 +01:00
plutoo
251e57fa59 Fix bug in newly introduced service impl 2018-01-12 23:31:59 +01:00
plutoo
f70d70f029 Introducing "Service" object, implemented service override, fixing minor formatting mistakes
NOT TESTED :(
2018-01-12 23:29:49 +01:00
cpasjuste
31049f051b Rename ipc function in vi 2018-01-12 22:13:21 +01:00
plutoo
efc7cbf653 Implement heap override 2018-01-12 19:10:46 +01:00
plutoo
3ac366528e
Merge pull request #24 from shinyquagsire23/vi-managedlayer
vi:m ManagedLayer support
2018-01-12 18:25:30 +01:00
shinyquagsire23
e5726cbc83 Move viCreateManagedLayer logic out of viOpenLayer 2018-01-11 19:11:39 -07:00
plutoo
6720355dd1 Bringup loader config block parsing
Not tested yet
2018-01-11 22:59:40 +01:00
plutoo
fd4522423b Hid stylefix 2018-01-11 22:29:16 +01:00
plutoo
7482c849fe Introducing RwLock, make hid threadsafe 2018-01-11 22:25:49 +01:00
plutoo
bf89c7526e Rename ipc functions before it's too late 2018-01-11 21:56:04 +01:00
plutoo
6585261210 Detect debugger and use svcBreak in panic 2018-01-11 21:49:41 +01:00
plutoo
5f860ad4b3 Rename version.{c.h} to detect 2018-01-11 21:43:37 +01:00
plutoo
4a19fb7022 Hide utf under runtime/, fix headers 2018-01-11 21:38:12 +01:00
shinyquagsire23
3fcd8a1596 This should be the ViServiceType 2018-01-09 03:47:13 -07:00
shinyquagsire23
ab3d5adb3d Add viCreateManagedLayer, attempt to use vi:m before using applet 2018-01-09 03:46:49 -07:00
plutoo
e1c762e2bd OCD fix. 2018-01-06 14:03:21 +01:00
plutoo
edcf789b6e C was developed in 1972 2018-01-06 13:54:59 +01:00
plutoo
cac3f735af Renamed misleading dir names "devices/" and "system/" to "runtime/" 2018-01-06 13:45:37 +01:00
plutoo
fbfb5cdba2 NV code style 2018-01-06 13:43:18 +01:00
plutoo
10246ebdbc Binder codestyle fix 2018-01-06 13:39:47 +01:00
plutoo
a63ce5d8bc Align VI code style 2018-01-06 13:34:08 +01:00
plutoo
3ca6e65984 Aligning code style of kernel primitives 2018-01-06 06:10:55 +01:00
plutoo
282fdefe2b Align code style of MemoryInfo 2018-01-06 06:04:35 +01:00
plutoo
fee6b42963 Align code style for AM 2018-01-06 05:57:56 +01:00
yellows8
6bf7eb84bf Added icon modified by @fincs, see README. 2018-01-05 18:21:50 -05:00
yellows8
9b64cfe3f8 Added empty default icon file. 2018-01-01 20:01:35 -05:00
plutoo
916dfb56f0 More threading functionality 2018-01-01 23:32:44 +01:00
plutoo
03e9fdb883 Make _SetupHeap overridable 2018-01-01 22:38:20 +01:00
plutoo
5739fda64a Make allocation of virtmem regions thread-safe 2018-01-01 22:35:54 +01:00
plutoo
53a63d861a Derp 2018-01-01 22:30:29 +01:00
plutoo
5cad71213b Cache version values, fix guard paging of threads on 2.0.0+ 2018-01-01 22:28:12 +01:00
plutoo
91afc81ce1 Detect 4.0.0 2018-01-01 19:52:41 +01:00
yellows8
a0ea8c53df Perf adjustments for gfxGetFramebufferDisplayOffset(). 2017-12-30 02:13:04 -05:00
yellows8
4e77c36c30 Perf adjustments for gfxGetFramebufferDisplayOffset(). 2017-12-29 22:04:15 -05:00
yellows8
28e2759412 Fixed vsync handling. 2017-12-29 18:44:09 -05:00
yellows8
1dda414f31 Implemented apm. 2017-12-29 16:15:17 -05:00
yellows8
02ec6d5c8a Updated the delay code in gfx-init and removed disabled get-{width/height} code. 2017-12-27 18:52:54 -05:00
yellows8
3c297c2a14 Added comment to vsync func. 2017-12-27 18:52:54 -05:00
yellows8
18a0d45afe Added gfxInitResolutionDefault(). Added gfxConfigureAutoResolution() and gfxConfigureAutoResolutionDefault(). 2017-12-27 18:52:54 -05:00
yellows8
b89036f6fd Added user-specified crop handling with gfxConfigureCrop() and gfxConfigureResolution(). Added gfxGetFramebufferResolution(). Updated gfxGetFramebufferDisplayOffset() for handling this. 2017-12-27 18:52:54 -05:00
yellows8
d62709adc7 Added gfxInitResolution() + added gfx.h comments. Updated gfxGetFramebufferDisplayOffset() so that the returned pixel-offset is in a region that's not displayed when the x/y is out-of-bounds. Fixed g_gfx_framebuf_aligned_{width/height} init when the initial width/height is not the default 0. Updated nvioctlNvhostAsGpu_InitializeEx/nvioctlNvhostAsGpu_AllocSpace usage etc, required for using non-720p framebufs. 2017-12-27 18:52:54 -05:00
yellows8
f00bc78569 Moved framebuf width/height/size fields from nvgfx into gfx + code used with those. Moved g_gfxprod_BufferInitData into gfx + renamed it. Moved code for using bufferProducerGraphicBufferInit() / struct init code into gfx. Removed commented out code for g_nvgfx_totalframebufs init. Replaced hard-coded width/height constants in gfx with the width/height fields. 2017-12-27 18:52:53 -05:00
yellows8
e128fd58f1 Disabled nvmap objs which aren't used afterwards which don't use an input_offset for MapBufferEx. Moved bufferProducerGraphicBufferInit() code outside of the loop and added a comment. Only use kind 0xdb for MapBufferEx framebuf init in the loop, since the other kind is unrelated to framebuf. 2017-12-27 18:52:53 -05:00
yellows8
a730cf977f Added bufferProducerRect for crop. Updated a resolution comment and added a comment for crop. 2017-12-27 18:52:53 -05:00
yellows8
a814c79827 Properly setup the data in bufferProducerGraphicBuffer via a struct. Setup size/width/height fields properly in bufferProducerGraphicBuffer, instead of hard-coding. 2017-12-27 18:52:53 -05:00
yellows8
917036cec6 Updated bufferProducerGraphicBuffer struct. 2017-12-27 18:52:53 -05:00