Commit Graph

452 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner
fd85367621 fixup! GSP: Small tweaks to shared memory initialization 2015-05-10 20:09:41 -03:00
Yuri Kunde Schlesner
1538a34eda GSP: Small tweaks to shared memory initialization 2015-05-10 20:05:30 -03:00
Yuri Kunde Schlesner
c96f22490a Kernel: Capture SharedMemory attributes at creation, not when mapping 2015-05-10 19:47:07 -03:00
Yuri Kunde Schlesner
1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner
e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
b89f644cfe FileSys: De-inline Path members 2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner
6f89d25f90 FileSys: Clean-up includes, de-inline destructors 2015-05-06 23:45:06 -03:00
bunnei
e0cb85691a Services: Initialize all state variables at bootup. 2015-05-01 18:27:02 -04:00
bunnei
2cc6511039 Merge pull request #692 from purpasmart96/log_improvements
Services/Loader: Use more sensible log formats for certain functions along with more info being logged.
2015-04-28 10:12:50 -04:00
purpasmart96
c3a480160e Services/Loader: Use more sensible log formats for certain functions
along with more info being logged.
2015-04-27 23:07:08 -07:00
Lioncash
1baab50e7c ptm_sysm: Add static specifier to IsLegacyPowerOff 2015-04-24 18:23:20 -04:00
Yuri Kunde Schlesner
ad3e25b414 De-inline functions from Interface, removing them from service.h
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
2015-04-14 15:34:28 -03:00
bunnei
bdd190363d APT: (Subv) Fix bug where start event was being incorrectly signaled. 2015-04-09 19:04:19 -04:00
bunnei
e630fd2a95 Merge pull request #676 from purpasmart96/ir_service_refc
IR: Move The IR services to their own folder and implement "GetHandles"
2015-04-07 23:01:07 -04:00
Yuri Kunde Schlesner
34b009cf38 Clean-up mem_map constants and fix framebuffer translation errors 2015-04-05 20:14:33 -03:00
purpasmart96
d6c9af600f IR: Move The IR services to their own folder and implement "GetHandles" 2015-04-03 19:36:03 -07:00
purpasmart96
198c0ddc72 Services: Stubs and minor changes 2015-04-02 20:05:11 -07:00
bunnei
03ceb7adf9 Merge pull request #656 from Subv/nz
Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and Del...
2015-03-22 14:58:38 -04:00
Subv
b9612fe919 Service/FS: Document and log some unknown values.
In CreateExtSaveData, DeleteExtSaveData and CreateSystemSaveData
2015-03-19 17:39:00 -05:00
bunnei
0bb4b77b78 Merge pull request #655 from purpasmart96/hid_fixes
HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along  with a stub for GetSoundVolume
2015-03-17 10:19:59 -04:00
purpasmart96
5b1757d6a5 HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along
with a stub for GetSoundVolume
2015-03-16 18:55:58 -07:00
Lioncash
8cf81643a9 arm_interface: Get rid of GetTicks.
Removes a TODO.
2015-03-16 12:18:37 -04:00
Subv
1d61cd4460 Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveData
Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
2015-03-14 12:00:01 -05:00
bunnei
ed5b275d21 Merge pull request #642 from bunnei/touchpad
Touchpad support
2015-03-11 21:28:57 -04:00
bunnei
4bbddda377 hid_user: Removed unnecessary includes. 2015-03-11 00:01:03 -04:00
bunnei
e79c27f1e0 HID: Removed unnecessary global variables. 2015-03-11 00:00:39 -04:00
bunnei
85cbccb1d3 HID: Added additional variable comments and some code cleanups. 2015-03-10 23:58:13 -04:00
bunnei
d61b26b79f HID: Complete refactor of pad/touch input to fix threading issues. 2015-03-10 23:58:07 -04:00
bunnei
b56829df02 Merge pull request #629 from archshift/lcdfb
Implement SetLcdForceBlack and add implementation for color filling in the GPU code
2015-03-10 18:08:55 -04:00
bunnei
a1a1a5c6c5 HID: Cleanup how next_touch_index is calculated for Pad and touch. 2015-03-10 18:05:19 -04:00
bunnei
432aa1044c HID: Changed TouchDataEntry valid to a BitField and added some doc strings. 2015-03-10 18:05:19 -04:00
bunnei
e9b9f1842b HID: Added static asserts to check register position in shared memory. 2015-03-10 18:05:19 -04:00
bunnei
1a904ded40 HID: Added functions to emulate the touchpad. 2015-03-10 18:05:17 -04:00
bunnei
3229b048d9 HID: Moved some docstrings to the header. 2015-03-10 18:05:17 -04:00
bunnei
83a66dd701 HID: Refactored shared memory decoding for touchpad support. 2015-03-10 18:05:16 -04:00
archshift
041e99b613 Added LCD registers, and implementation for color filling in OGL code. 2015-03-09 15:51:41 -07:00
bunnei
8a1cc5b805 Merge pull request #589 from kevinhartman/config-errors
Fix errorcodes for bad config block request
2015-03-09 15:44:34 -04:00
archshift
47010fea31 Implement SetLcdForceBlack, move register enum to hw.h 2015-03-05 19:38:23 -08:00
Subv
83a8975cb8 Services: Moved the PTM and APT services to their own folder
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.

Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-03-03 21:48:08 -05:00
Yuri Kunde Schlesner
44f46254dc Merge pull request #622 from Subv/titles
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
2015-03-02 10:26:56 -03:00
Subv
9a72fb79fc Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
They will always return 0 titles for every media type for now.
This is needed to boot Home Menu further
2015-03-02 08:12:04 -05:00
bunnei
d175f2b7f3 Merge pull request #623 from Subv/card
Services/FS: Stubbed CardSlotIsInserted to always return false
2015-03-01 22:49:29 -05:00
Subv
db1a5d4222 Services/FS: Stubbed CardSlotIsInserted to always return false
We won't be emulating this for the foreseeable future and it is needed for Home Menu to boot further
2015-02-28 23:00:46 -05:00
Subv
c36778e602 Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
This allows the Home Menu to boot further
2015-02-28 19:51:13 -05:00
Yuri Kunde Schlesner
1b5ee96797 Merge pull request #604 from Subv/arc_ssd
Archives: Properly implemented the SystemSaveData archive.
2015-02-25 22:35:55 -03:00
Subv
9db5c9b6dc Archives: Properly implemented the SystemSaveData archive.
Ported to the new factory pattern we have for archives.
2015-02-25 19:37:10 -05:00
Subv
ef66feaeba Services: Implemented Y2R_U::GetTransferEndEvent
Aero Porter was throwing an "Invalid Handle" fatal error without this.
2015-02-24 08:28:36 -05:00
bunnei
3700263f71 Merge pull request #595 from linkmauve/new-3ds-input
Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
2015-02-23 21:13:29 -05:00
archshift
0420a4d1de Added information reporting from ThrowFatalError
This was RE'd from the errdisp applet.
2015-02-22 12:19:30 -08:00
Emmanuel Gil Peyrot
aa64f69af0 Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one. 2015-02-22 21:09:08 +01:00
Kevin Hartman
a6fdb8f217 Fix error message for bad config block request. 2015-02-20 21:47:58 -08:00
Tony Wasserka
0da6a7e234 GPU: Properly implement memory fills. 2015-02-18 14:02:58 +01:00
Subv
cb3d254517 Services: Fixed "Tried to connect to named port err:f".
err:f is a named port, not a service
2015-02-16 15:24:15 -05:00
bunnei
12181c8a64 Merge pull request #529 from Subv/master
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
Lioncash
0c6434c379 core: Apply static to local functions 2015-02-13 10:48:32 -05:00
Subv
8e2b248e05 Build: Fixed some warnings 2015-02-12 09:25:35 -05:00
Kevin Hartman
a56f3f290e Implemented WriteHWRegsWithMask for GSP. 2015-02-11 11:03:17 -08:00
archshift
ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei
168eb27aee GSP: Fixed typo in SignalInterrupt 2015-02-10 19:57:48 -05:00
bunnei
76e7d41f88 Merge pull request #552 from bunnei/setbufferswap-fix
GSP SetBufferSwap fix
2015-02-10 19:21:48 -05:00
bunnei
9eae2400c0 GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. 2015-02-10 19:05:56 -05:00
bunnei
ca22ee3239 Merge pull request #526 from purpasmart96/citra_stubs
Services: Stub some functions
2015-02-10 18:39:37 -05:00
Subv
0d2b6dd656 PTM: Fixed a problem with the gamecoin PTM file. 2015-02-10 13:43:46 -02:00
Subv
1bbf0567b1 Archives: Made the Format function more generic. 2015-02-10 13:43:46 -02:00
Subv
071663e074 Archives: Expose the File and Directory classes to HLE 2015-02-10 13:43:45 -02:00
Yuri Kunde Schlesner
3f1a3952d7 FS: Allow multiple instances of the same archive type to be open at once 2015-02-10 13:43:44 -02:00
Yuri Kunde Schlesner
4468625080 FS: Get rid of completely useless Archive class 2015-02-10 13:43:43 -02:00
purpasmart96
60ce36f721 Services: Stub some functions 2015-02-07 17:34:59 -08:00
Yuri Kunde Schlesner
88a4a808c6 Kernel: Stop creating useless Handles during object creation
They're finally unnecessary, and will stop cluttering the application's
handle table.
2015-02-02 15:37:09 -02:00
Yuri Kunde Schlesner
0f69668fc6 HID: Fix crash when pressing a key when the emulator is stopped 2015-02-02 15:37:05 -02:00
Yuri Kunde Schlesner
8441591659 FS: Remove use of GetHandle 2015-02-02 15:37:01 -02:00
Yuri Kunde Schlesner
6e11570862 Service: Store function names as const char* instead of std::string
Uses less memory (strings and function table is stored in constant data)
and speeds up start up (no need to allocate and copy strings).
2015-02-02 15:37:00 -02:00
Yuri Kunde Schlesner
a79d21c83e Service: Clean-up Interface 2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
8779b31fe6 Make Port/Service registration and querying more HW-accurate 2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
5e91fc0d1a Filesys: Move creation of Handles for File/Directory to service handlers 2015-02-02 15:36:58 -02:00
Lioncash
551264f815 archive: Fix initializer list order for the File class. 2015-01-30 11:30:22 -05:00
Lioncash
0c53cc52bd apt_u: Fix missing printf specifiers 2015-01-30 11:28:09 -05:00
Yuri Kunde Schlesner
09ae6e1fa3 Remove result.h InvalidHandle
It was only being used in two places, where it was replaced by a local
constant.
2015-01-30 11:49:45 -02:00
Yuri Kunde Schlesner
d52d859936 Kernel: Convert Event to not use Handles 2015-01-30 11:49:43 -02:00
Yuri Kunde Schlesner
882b6fed75 Kernel: Convert Mutex to not use Handles 2015-01-30 11:47:06 -02:00
Yuri Kunde Schlesner
4bb33dfc30 Kernel: Convert SharedMemory to not use Handles 2015-01-30 11:47:04 -02:00
bunnei
326c451758 Merge pull request #345 from purpasmart96/apt_stubs
APT_U: Stub some functions & misc changes
2015-01-26 23:13:54 -05:00
bunnei
e7dd4d34aa Merge pull request #485 from Subv/more_servs
Services: Stubbed more services.
2015-01-25 22:13:13 -05:00
Subv
2ea60bdc7f Services/HID: Removed some files due to a rebase error 2015-01-24 15:54:24 -05:00
Subv
c2e9990149 Services: Stubbed more services.
Implemented FSUser::CreateExtSaveData
2015-01-24 15:44:40 -05:00
purpasmart96
2dd23b6467 APT_U: Stub some functions & misc changes 2015-01-22 16:03:48 -08:00
archshift
92a75df9b1 cam_u.h: fix indentation
Withholding my profanity towards Xcode.
2015-01-22 12:51:53 -08:00
bunnei
92550013cf Merge pull request #493 from archshift/ptmplay
Stubbed some services
2015-01-22 13:25:19 -05:00
bunnei
e4a5d8ad4f Event: Fixed some bugs and cleanup (Subv) 2015-01-21 18:43:50 -05:00
archshift
1f109c6b49 Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx 2015-01-21 13:31:10 -08:00
archshift
a68dda6328 Stubbed cam:u service 2015-01-21 12:50:18 -08:00
archshift
7516ceaf93 Stubbed ptm:play service 2015-01-21 12:50:18 -08:00
Lioncash
a3f5e5605c core: Fix a few docstrings 2015-01-20 13:52:44 -05:00
archshift
4d316cbd8e Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively 2015-01-18 15:15:14 -08:00
bunnei
2572a62480 APT: Fix typo in setting return code for NotifyToWait 2015-01-15 18:23:53 -05:00
bunnei
350c5a7e32 DSP: Removed useless spam log for SignalInterrupt 2015-01-15 18:20:58 -05:00
bunnei
4b47ed6194 Merge pull request #482 from yuriks/fix-vblank
Correctness fixes for GPU flipping and interrupts
2015-01-15 18:11:03 -05:00
Sebastian Valle
fd1b600e05 APT: Fixed the comment style in some variables 2015-01-14 10:14:22 -05:00
Yuri Kunde Schlesner
7630b31672 GSP: Fix appending of interrupts to the shared memory buffer
The code was previously appending the interrupt to after the end of the
buffer, instead of at the end.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
5961a2852d GSP: Update framebuffer info on all interrupts
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.

This also reverts the hack introduced in #404. It made a few games
behave better, but I believe it's incorrect and also breaks other games.
2015-01-14 05:20:12 -02:00
Yuri Kunde Schlesner
98e3274935 GPU: Fire GPU interrupts at the correct places.
PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a
HBlank interrupt and fired many more times than it should. They now both
fire together at 60 Hz. This puzzlingly *improves* apparent framerate on
many applications.

A few other interrupts were being fired inside the GSP command
processing instead of on the actual GPU register writes, so they were
moved there, which should cover direct writes tho those registers not
going through the GX command queue.
2015-01-14 05:07:35 -02:00
Subv
728c932dba APTU: Stubbed NotifyToWait, taken from 3dmoo.
Also renamed some handles in the APT:U service to be more descriptive.
Fixed a typo in InquireNotification
2015-01-13 19:18:10 -05:00
Subv
cf071cd897 Services: Added some missing services.
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
2015-01-13 14:43:30 -05:00
darkf
67c644e317 Fix building on MinGW 2015-01-11 20:22:08 -08:00
archshift
3b555e2512 Stubbed y2r:u IsBusyConversion
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift
95be6ad7ae Added Archive ID to fs:USER debug logs involving opening the archive. 2015-01-10 14:32:11 -08:00
archshift
228843c43e Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance. 2015-01-10 14:32:10 -08:00
Yuri Kunde Schlesner
8ad41775cc Kernel: Start using boost::intrusive_ptr for lifetime management 2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner
7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00
bunnei
b659cac2dc Merge pull request #404 from bunnei/more-frame-synch-fixes
GPU: Toggle active framebuffer each frame
2015-01-07 18:13:48 -05:00
bunnei
f7a3f45f1e GSP: Toggle active framebuffer each frame 2015-01-07 18:06:00 -05:00
Yuri Kunde Schlesner
a6ad68190f Fix double-free in Service manager during shutdown
Fixes #423.
2015-01-07 17:32:31 -02:00
bunnei
088863c921 Merge pull request #376 from Subv/arc_reorder
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00
Subv
32dbb76e00 Archives: Changed the unimplemented archives comment.
It now refers to me as the PoC
2015-01-06 15:34:37 -05:00
Subv
5244ac0e9c Archives: Addressed some comments 2015-01-06 15:02:30 -05:00
bunnei
9eaef4e04a Merge pull request #413 from purpasmart96/serv_clean
Services: Clean up a few things and add a few function names
2015-01-05 22:48:58 -05:00
bunnei
9b83f0e158 Merge pull request #272 from rohit-n/sign-compare
Silence some -Wsign-compare warnings.
2015-01-05 22:10:56 -05:00
purpasmart96
379b39e583 Services: Clean up a few things and add a few function names 2015-01-05 16:07:15 -08:00
bunnei
e9650f1c61 DSP: Signal (faked) interrupt on every frame.
- Hack to work around games checking that the DSP event has been signaled by a real DSP interrupt.
2015-01-05 00:25:37 -05:00
bunnei
26f31a2dfb Merge pull request #386 from archshift/y2ru
Stub the y2r:u service
2015-01-04 21:40:58 -05:00
Subv
90dffe3fc1 Archives: Make SYSTEM_ID and SDCARD_ID strings 2015-01-04 09:10:27 -05:00
Subv
71a063f45c Archives: Changed the way paths are built for the archives.
Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
2015-01-03 20:46:05 -05:00
archshift
48130b1eaa Stub the y2r:u service 2015-01-03 16:42:39 -03:00
Subv
3bc9f5509b Archives: Change the folder layout of some archives.
This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
2015-01-02 21:55:13 -05:00
Subv
aade417b14 Archives: Reduced duplicate code in RomFS and SaveCheck.
Fixed a few warnings and cleaned up the code
2015-01-02 21:13:54 -05:00
Subv
13efbdc201 SaveDataCheck: Preliminary work in this archive.
This allows Steel Diver to boot further, some files are needed.

This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives)
2015-01-02 21:13:53 -05:00
bunnei
3d9bf13439 Merge pull request #391 from lioncash/pedantic
archive/elf: Minor misc changes.
2015-01-02 21:04:49 -05:00
Lioncash
0d81b1e75b archive: Fix initializer list order 2015-01-02 20:30:57 -05:00
Lioncash
bdbd111c7e soc_u: Fix a missing formatting argument 2015-01-02 19:54:21 -05:00
Rohit Nirmal
c589d82052 Silence some -Wsign-compare warnings. 2015-01-01 16:38:36 -06:00
Subv
97a7381d29 SOC_U: Preliminary implementation of sockets.
Stubbed CreateMemoryBlock

Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections

SOC_U: Renamed functions to maintain consistency

Also prevents possible scope errors / conflicts with the actual Berkeley socket functions

SOCU: Close all the opened sockets when cleaning up SOCU
2014-12-31 10:51:44 -05:00
Subv
545ded954d APT:A: Some style changes 2014-12-29 22:59:28 -05:00
Subv
2c89d4d5cd Archives: Implemented ExtSaveData and SharedExtSaveData
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
Yuri Kunde Schlesner
7e2903cb74 Kernel: New handle manager
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.

Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
2014-12-28 11:52:55 -02:00
Yuri Kunde Schlesner
73fba22c01 Rename ObjectPool to HandleTable 2014-12-28 11:52:52 -02:00
bunnei
5d2ee78d8f Merge pull request #330 from purpasmart96/new_srv
More services & small clean ups
2014-12-25 22:51:38 -05:00
purpasmart96
9796bc1fa2 More services & small clean ups 2014-12-25 19:08:33 -08:00
archshift
81a538ccc2 Stubbed IsSdmcWriteable to always return writeable. 2014-12-23 22:22:48 -03:00
bunnei
2188af4a65 Merge pull request #322 from chinhodado/master
More warning cleanups
2014-12-22 00:12:43 -05:00
Subv
2030f9d946 CFG: Fixed some warnings and errors in Clang 2014-12-21 18:25:49 -05:00
Subv
304735fb52 CFG: More style changes 2014-12-21 18:02:27 -05:00
Subv
f080e3ccfa CFGU: Indentation 2014-12-21 17:54:14 -05:00
Subv
6f304d3b00 CFG: Some indentation 2014-12-21 17:41:35 -05:00
Subv
b3cee19289 CFG: Changed the CreateConfigInfoBlk search loop 2014-12-21 17:26:51 -05:00
Subv
3e94b9054c CFG: Corrected the licenses in cfg_i.cpp and cfg_u.cpp 2014-12-21 16:45:13 -05:00
Subv
6115f013a9 CFG: Create a new subfolder cfg inside service to handle cfg
Moved most of the shared CFG code there, implemented a few CFG:I functions
2014-12-21 16:41:06 -05:00
Subv
9e45240e23 CFGU: Some changes 2014-12-21 16:39:29 -05:00
Subv
cdd78fa01d CFGU: Addressed some issues. 2014-12-21 16:39:26 -05:00
Subv
718a120754 CFGU: Addressed some comments. 2014-12-21 16:39:23 -05:00
Subv
a1b9b80a55 Style: Addressed some comments 2014-12-21 16:39:20 -05:00