Commit Graph

350 Commits

Author SHA1 Message Date
plutoo
2d697d6566 Merge pull request #31 from Subv/ptm_u
Added the PTMU_GetTotalStepCount function
2014-11-22 21:23:36 +01:00
smea
49c293e8bf Merge pull request #33 from minexew/master
Fix error in GPU example
2014-11-22 10:51:12 -08:00
Xeatheran Minexew
3ee89602fa Fix previous half-baked commit 2014-11-22 15:26:56 +01:00
yellows8
240ab44f9c Updated httpc code and added an example. 2014-11-22 00:43:39 -05:00
Subv
25d445818f Added the PTMU_GetTotalStepCount function 2014-11-21 23:36:48 -05:00
Subv
0cc31baaea Added more cfg:u functions
GetRegionCanadaUSA
GetModelNintendo2DS
GetCountryCodeString
2014-11-21 22:40:23 -05:00
Subv
8e8685b6e7 Addressed some style issues 2014-11-21 22:12:34 -05:00
Subv
e8c551b114 Added a file for the cfg:u service.
Implemented the CFGU_GetSystemModel function
2014-11-21 22:08:05 -05:00
fincs
b0c29ba658 Fix typo in soc_ioctl.c 2014-11-21 23:51:06 +01:00
fincs
4219a23ebd linear heap allocator: use rbtree to store allocation size information 2014-11-21 23:44:57 +01:00
Xeatheran Minexew
e7c3b7c8a1 Make SHDR_GetUniformRegister name argument const 2014-11-21 22:42:25 +01:00
mtheall
550f690c8d Add errno to error cases for FIONBIO. 2014-11-21 11:06:32 -06:00
Lioncash
0a0276dd20 soc_ioctl: Add missing va_end call 2014-11-21 07:47:24 -05:00
yellows8
7281abfcd7 Added code for APT_IsRegistered. Added code for launching library applets, which isn't usable from the homebrew launcher atm. 2014-11-21 00:35:37 -05:00
Dave Murphy
8cb3fad657 ignore generated archives 2014-11-20 22:47:34 +00:00
Dave Murphy
52d1347466 add versioning, install and dist targets 2014-11-20 22:47:08 +00:00
mtheall
55608adaad Overhauled soc service. 2014-11-20 15:36:50 -06:00
mtheall
919917b7ed Added svcCreateAddressArbiter() and svcArbitrateAddress() 2014-11-20 15:33:21 -06:00
mtheall
9d1181ef50 Merge branch 'master' of github.com:smealum/ctrulib 2014-11-20 15:29:37 -06:00
mtheall
d2fca0f721 Add rbtree 2014-11-20 15:28:13 -06:00
smea
463f366e2b added prototype to soc.h 2014-11-20 03:05:51 -08:00
smea
99a5c4406b added APT_HardwareResetAsync (tested) 2014-11-19 17:25:40 -08:00
yellows8
ce226ec1b2 Updated mvd code and added an example. 2014-11-19 16:37:02 -05:00
yellows8
c60bdb3670 With RUNFLAG_APTWORKAROUND enabled, at the start of aptReturnToMenu just set the status to APP_EXITING then return(this func won't actually get executed with RUNFLAG_APTWORKAROUND atm). Updated __handle_notification() to check for errors from APT_InquireNotification. In aptExit only call the applet-utility code when RUNFLAG_APTWORKAROUND is not set. Minor other changes. Fixed APT_CheckNew3DS code so that it properly only uses one of the APT cmds. 2014-11-18 23:48:50 -05:00
mtheall
8a3f532967 Add sdmc.h 2014-11-17 22:33:09 -06:00
yellows8
224a05a39e Merge pull request #22 from profi200/master
Added functions for launching other apps/applets
2014-11-17 23:22:03 -05:00
yellows8
bd9c33e139 Fixed broken path code in sdmc_dev.c. Disabled attributes code in sdmc_open() for now, since that was causing file truncation(even with read-only file opening). 2014-11-16 21:12:24 -05:00
smea
b30a8d4d3d gpu stuffs 2014-11-15 14:08:45 -08:00
smea
3dfe1f6d04 Merge branch 'master' of github.com:smealum/ctrulib 2014-11-12 22:08:40 -08:00
smea
b6b25b0163 fixed initArgv 2014-11-12 22:08:31 -08:00
profi200
aa2b5d1464 Little fix 2014-11-11 15:07:23 +01:00
StapleButter
6e9cd355a5 Scissor test.
(if calling SetScissorTest right after SetViewport, call FinishDrawing inbetween)
2014-11-11 00:12:31 +01:00
profi200
bcd91a9e81 Oops that should not be included 2014-11-10 17:38:50 +01:00
profi200
ffe682941f Added example for launching apps/applets 2014-11-10 17:34:11 +01:00
profi200
16ce5f4c7b Added functions for launching other apps/applets 2014-11-10 17:03:41 +01:00
smea
bb1bb0f554 Merge branch 'master' of github.com:smealum/ctrulib 2014-11-09 00:40:35 -08:00
smea
c1f6773fb6 GPUCMD_GetBuffer, GPUCMD_AddRawCommands 2014-11-09 00:40:23 -08:00
fincs
cf60fb7d0b Make GX_* functions accept NULL in order to use default GX cmdbuf 2014-11-08 23:28:51 +01:00
fincs
abc3530f57 Add gxCmdBuf to headers 2014-11-08 23:21:41 +01:00
fincs
fab8bc25eb Minor Makefile correction 2014-11-08 13:49:39 +01:00
fincs
f62297a438 Add 3DS application template 2014-11-07 19:12:43 +01:00
yellows8
6d2a0f5fa3 Started implementing code for new3ds mvd. Added osConvertOldLINEARMemToNew(). 2014-11-06 19:02:55 -05:00
fincs
d95e95cf13 Merge branch 'master' of github.com:smealum/ctrulib 2014-11-05 20:59:15 +01:00
fincs
562cc896a1 Add linearMemAlign() (current implementation sucks) 2014-11-05 20:58:50 +01:00
smea
5652a0f0fa macros for texture parameters 2014-11-05 10:32:30 -08:00
fincs
e460e6a673 aptMainLoop(): Add handling for APP_PREPARE_SLEEPMODE 2014-11-05 00:24:24 +01:00
fincs
e4aeaba747 Attempt to fix APT hang during startup due to bad event handling 2014-11-04 21:41:31 +01:00
fincs
a77e8ae1cd Add linearSpaceFree() for retrieving the free space in the linear heap 2014-11-03 20:20:33 +01:00
smea
c7be1e415f Merge branch 'master' of github.com:smealum/ctrulib 2014-11-02 21:11:13 -08:00
smea
974b1094f3 GPUCMD_FlushAndRun 2014-11-02 21:10:56 -08:00
fincs
7f10ad4097 Add aptMainLoop() for handling APT events in main() 2014-11-02 18:58:37 +01:00
yellows8
3135d1c344 Updated APT_CheckNew3DS to only use the APT cmds once(which also now calls aptOpenSession/aptCloseSession), then store the output value in a flag which is then used for all future APT_CheckNew3DS calls. Updated HID init/shutdown code to automatically call irrst init/shutdown code when running on new3ds. Updated irrst init code to only do init when it wasn't already initialized, likewise for the irrst shutdown code. 2014-11-01 23:48:35 -04:00
yellows8
4e90fbb905 Updated CheckNew3DS code. Now the out value is cleared first, then the out value is only set to the cmdreply data when ret is zero. 2014-11-01 22:11:19 -04:00
yellows8
c8795b1b79 Added APT CheckNew3DS code. Added code for attempting to use the other APT services when APT:U isn't accessible. 2014-11-01 21:39:18 -04:00
StapleButter
c38276e37d Add timer-related SVC calls. 2014-10-31 01:17:43 +01:00
plutoo
4982d1042a Merge pull request #21 from profi200/master
Fixed cmds
2014-10-30 23:39:17 +01:00
mtheall
0d6365aa2f use ARCH_SDMC for archive id 2014-10-30 15:40:19 -05:00
mtheall
c8a3207c42 fix typo 2014-10-30 13:52:30 -05:00
mtheall
498bc24808 return offset in sdmc_seek 2014-10-30 13:49:00 -05:00
mtheall
cdd066a4ba Merge branch 'refactor' 2014-10-30 13:39:47 -05:00
mtheall
a9d2f7b97f start sdmc devoptab 2014-10-30 13:34:13 -05:00
profi200
0570a8c02c Fixed cmds 2014-10-30 19:09:09 +01:00
smea
58a1f0c68e plugged a bunch of handle leaks ! 2014-10-29 21:26:58 -07:00
smea
08f8caf924 Merge pull request #20 from idunoe/master
Defined FS archive ids
2014-10-27 09:31:10 -07:00
fincs
76d55fc97a Fix APT initialization code when RUNFLAG_APTWORKAROUND is set 2014-10-27 17:30:55 +01:00
idunoe
ff2a97e35a Added archive ids to fs.h 2014-10-27 22:56:01 +08:00
StapleButter
afd2140cb7 Create APT event handler thread as soon as possible, and complete initialization automatically when needed. No more 'call aptSetupEventHandler() as late as possible' shit.
Adapt examples to the changes (not tested).
2014-10-27 15:37:30 +01:00
StapleButter
cb6b23b884 Add stencil op and other related stuff to make that functionality mostly complete.
Add color/depth write mask support (and rename GPU_SetDepthTest() accordingly).
Add blending color.

Blending color must be set right after stencil op. GPU freezes otherwise.
2014-10-27 15:19:27 +01:00
idunoe
d9c3b85d34 SRV: misc fix 2014-10-27 13:19:24 +08:00
idunoe
419815e4e4 PS: Added API 2014-10-27 13:17:56 +08:00
idunoe
bf68b2d4e5 PM: Added API 2014-10-27 13:17:47 +08:00
idunoe
3d798def58 NS: Added API 2014-10-27 13:17:34 +08:00
idunoe
b66d047e76 AM: Added API 2014-10-27 13:17:24 +08:00
idunoe
337eb60bae SRV: Added <7.X srv:pm 2014-10-27 13:17:07 +08:00
idunoe
4d891e6190 updated types.h 2014-10-27 13:11:55 +08:00
smea
a62ae8c225 SOC : close shared mem handle when shutting down 2014-10-26 18:34:58 -07:00
Lioncash
567b1ae4f7 os: Fix switch fallthrough in osGetTime. 2014-10-26 19:21:37 -04:00
fincs
d113e21434 Merge pull request #16 from lioncash/vaend
soc: Add missing va_end() calls in fcntl.
2014-10-27 00:15:22 +01:00
plutoo
c64bcbb078 Merge branch 'refactor' 2014-10-27 00:08:13 +01:00
Lioncash
1b0a0368d7 soc: Add missing va_end() calls in fcntl. 2014-10-26 19:08:07 -04:00
plutoo
950ae0b2a4 Added svcQueryMemory 2014-10-27 00:07:07 +01:00
smea
3032a15f95 Merge pull request #15 from neobrain/refactor
Add the system call outputDebugString.
2014-10-26 13:01:51 -07:00
smea
e115853aee added c-stick, ZL and ZR support via ir:rst 2014-10-25 18:30:19 -07:00
Tony Wasserka
90692fee60 Add the system call outputDebugString.
This doesn't do anything on retail consoles, but homebrew developers can use it to debug applications in Citra or in other 3DS emulators which HLE this system call.
2014-10-25 11:52:39 +02:00
smea
40d35ee420 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor 2014-10-23 22:12:08 -07:00
smea
77b421aa6b nothing important 2014-10-23 22:11:50 -07:00
StapleButter
af31a7c861 * add code for alphablending, color logic op, alpha test and multitexturing.
* add GPU_FinishDrawing() to be called after a batch of GPU_DrawArray() calls if you're done drawing or if you intend to change the GPU configuration before drawing more. Also fix GPU_Finalize(). With those changes, the GPU no longer freezes if you call GPU_DrawArray() an even number of times.
* fix GPU_SetViewport() to allow color buffer reading, so blending and logicop work as expected.
2014-10-23 17:56:56 +02:00
StapleButter
1f413a7d44 Add synchronization mechanism for entering sleep mode.
When the APT status is APP_PREPARE_SLEEPMODE, the application main thread should call aptSignalReadyForSleep() to signal that it is ready to enter sleep mode, and then call aptWaitStatusEvent() as usual.

Example code:

APP_STATUS status;
while ((status = aptGetStatus()) != APP_EXITING)
{
	if(status==APP_RUNNING)
	{
		// application logic here
	}
	else if(status == APP_SUSPENDING)
	{
		aptReturnToMenu();
	}
	else if(status == APP_PREPARE_SLEEPMODE)
	{
		aptSignalReadyForSleep();
		aptWaitStatusEvent();
	}
}

This maybe isn't the proper/recommended way to do sleep mode, but I tested it multiple times and it always worked reliably.

(note: maybe the sample code above will not work if GPU drawing is done in a separate thread, haven't tested that)
2014-09-18 22:09:15 +02:00
fincs
27be99a793 Add proper linear heap allocator 2014-09-17 00:22:30 +02:00
fincs
2c589cd2ef linearAlloc: use 16-byte alignment 2014-09-16 22:24:26 +02:00
StapleButter
8b27dbe623 * Make the GSP event handler signal events in the right order (essential for proper PICA200 sync)
* Add some comments about the GSP events (based on my observations, may not be right)
2014-09-13 17:01:20 +02:00
StapleButter
ad08977e37 Fix FS init. 2014-09-11 21:02:56 +02:00
yellows8
a9f4b3402b Fixed broken CSND_playsound() code for looping(use vaddr1 for that instead of vaddr0, and adjust the size). 2014-09-06 17:49:48 -04:00
plutoo
449ead1141 os: Added osGetTime(). 2014-09-06 21:07:26 +02:00
yellows8
aa77f9b1e2 Added code for using the microphone and an example app for it. 2014-09-03 14:36:05 -04:00
profi200
3d34e123ee Added functions for sysCore usage 2014-09-01 15:49:32 +02:00
yellows8
62f26e8760 Improved HID code, and added Accelerometer/Gyroscope support. 2014-08-30 20:41:09 -04:00
yellows8
9425edc406 Added HID event code, based on the GSP event code. Added event id check in gspWaitForEvent(). 2014-08-29 16:19:58 -04:00
smea
2a1c7c8ea9 some GSP and GPU fixes 2014-08-28 22:53:45 -07:00
fincs
b41f1ca796 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor 2014-08-28 00:02:56 +02:00
fincs
0275d6a924 initSystem: fix global ctor/dtor code 2014-08-28 00:00:53 +02:00
fincs
125398a52f Refactor linear heap code (formerly known as GSP heap) 2014-08-27 23:44:38 +02:00
yellows8
f37a7b004f Added checks for the array index code in hid.c. 2014-08-27 17:42:53 -04:00
fincs
16544492a2 Fix KEY_CRIGHT/CLEFT 2014-08-27 12:03:25 +02:00
smea
335acee5d5 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor
Conflicts:
	libctru/include/3ds/types.h
2014-08-26 23:13:36 -07:00
smea
9e78466af8 added stdlibs for size_t 2014-08-26 23:12:33 -07:00
mtheall
43661f8263 Add FSUSER_GetSdmcArchiveResource(). 2014-08-26 19:01:00 -05:00
mtheall
a2911e4883 Add word 2 to response for FSUSER_IsSdmcDetected() and FSUSER_IsSdmcWritable(). 2014-08-26 17:54:52 -05:00
mtheall
2eadd6d0b2 FIX DERP. 2014-08-26 17:43:34 -05:00
fincs
9b370c7eff Reorganize includes 2014-08-26 23:18:14 +02:00
mtheall
a253b10b24 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor 2014-08-26 15:58:24 -05:00
mtheall
cad12973c8 Add FSUSER_IsSdmcDetected() and FSUSER_IsSdmcWritable(). 2014-08-26 15:58:18 -05:00
fincs
8b9666ac40 3ds/types.h: #include <stddef.h> 2014-08-26 22:56:38 +02:00
fincs
589c59fab7 Move 3ds.h to root, add C++ guard, use #pragma once 2014-08-26 22:53:00 +02:00
smea
8e86af967a added Makefile rule to compile vsh shader code to gpu example (fincs, can you see if you can improve it ?) 2014-08-25 23:26:36 -07:00
smea
0aff9c6902 so sick of all these includes 2014-08-25 22:55:12 -07:00
smea
d30d5283c6 GSP/GFX stuff 2014-08-25 21:48:00 -07:00
smea
b9d6ffe8f2 oops, looks like i was editing deprecated files 2014-08-25 21:35:53 -07:00
smea
d287719900 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor
Conflicts:
	libctru/source/gfx.c
2014-08-25 21:32:00 -07:00
smea
47284dcd34 GPU stuff 2014-08-25 21:31:12 -07:00
mtheall
91f7e56129 Fix NULL handling for PTMU_GetBatteryLevel() and PTMU_GetBatteryChargeState(). 2014-08-25 23:24:06 -05:00
mtheall
4c04373046 Update FS_dirent. 2014-08-25 19:38:17 -05:00
plutoo
716fd86057 Merge branch 'refactor' of https://github.com/smealum/ctrulib into refactor 2014-08-25 23:12:35 +02:00
plutoo
dc052c19ee gsp: Added gspAllocLinear() to allocate from LINEAR heap
Required by CSND, for example
2014-08-25 23:11:53 +02:00
smea
56d9f4abb3 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor 2014-08-25 09:40:10 -07:00
smea
8f3997e3a7 PTM & AC stuff 2014-08-25 09:14:48 -07:00
fincs
fa18d4750b gfxInit(): initialize GSP event handler, use __gsp_heap_size 2014-08-25 12:07:00 +02:00
smea
14312cf851 APT WORKAROUND fix 2014-08-24 23:36:37 -07:00
smea
4c9abef1a9 APT WORKAROUND (update 3dsx_crt0.s to https://gist.github.com/smealum/305802b2b9bf4c877ddb and recompile everything please) 2014-08-24 23:25:54 -07:00
smea
fb1dc89eab fsInit fix 2014-08-24 22:50:57 -07:00
smea
3fae8817cc minifix gfxSetFramebufferInfo (for 3D) 2014-08-24 22:03:47 -07:00
smea
3884ce985c added gfx for simplified framebuffer access 2014-08-24 21:37:49 -07:00
smea
f9fbfc3c48 Merge branch 'refactor' of github.com:smealum/ctrulib into refactor 2014-08-24 21:01:35 -07:00
smea
d5ac7a7cb0 minor GSP adjustments 2014-08-24 21:01:21 -07:00
mtheall
c2315a618d Merge branch 'refactor_mtheall' into refactor 2014-08-24 22:37:34 -05:00
plutoo
41c2a759f8 Merge branch 'refactor' of https://github.com/smealum/ctrulib into refactor 2014-08-24 22:51:19 +02:00
plutoo
65878d99c6 gsp: Update header as part of renaming. 2014-08-24 22:42:23 +02:00
plutoo
4c2fe7d103 gpu: Added small description to gpu files. 2014-08-24 22:40:12 +02:00
plutoo
dc16d99b53 gsp: Renamed GSPGPU_submitGxCommand to GSPGPU_SubmitGxCommand. 2014-08-24 22:33:57 +02:00
plutoo
37fc01383f gpu: Moved all non-service-related gpu files into source/gpu/. 2014-08-24 22:31:02 +02:00
plutoo
6f57364680 apt: Trying to make code more managable. 2014-08-24 22:22:28 +02:00
mtheall
d5c39263d8 Add more filesystem service commands. 2014-08-21 21:47:25 -05:00
mtheall
ff76b94cf1 add doxygen support 2014-08-21 21:40:52 -05:00
fincs
94f59bb076 Update Makefile flags 2014-08-21 22:59:59 +02:00
fincs
8fccb570e5 Homogenize indentation (use tabs) 2014-08-21 22:59:42 +02:00
plutoo
a0f8a6d153 os: Changed Get*Version format. 2014-08-21 22:35:20 +02:00
plutoo
ef1323a3a1 APT: Enumerated the notification signals. 2014-08-21 20:54:23 +02:00
plutoo
8c3ecfc621 os: Added functions for getting Firm/Kernel version. 2014-08-21 20:41:51 +02:00
plutoo
5045c830a8 os: Added DSP memory to virt->phys translation. 2014-08-21 20:35:12 +02:00
plutoo
9ff9ce5ad4 os: Added osStrError().
This will summarize an error-code given by the OS/sysmodules in few words.
Useful for debugging.
2014-08-21 20:20:23 +02:00