Commit Graph

47 Commits

Author SHA1 Message Date
Gliniak
6ad5c39fac [XAM/Content] Implemented Custom CON Header Handling 2022-01-31 22:14:02 +01:00
gibbed
12ec728989 [Kernel] Use tables for export groups. 2022-01-09 14:16:37 -06:00
gibbed
3ad0a7dab2 [Kernel] Suffix export functions with _entry. 2022-01-09 12:17:03 -06:00
Gliniak
c9073e101f [XAM] Fix ContentCreate to pass copy of root_name.
[XAM] Fix xeXamContentCreate to pass copy of root_name for deferred
operation, as the pointer may no longer be valid when the callback
is executed.
2021-08-01 13:55:56 -05:00
gibbed
4498a28568 [XAM] Deferred xeXamContentCreate. 2021-06-30 03:39:22 -05:00
gibbed
e8fda5878c [XAM] Enumerator improvements.
- [Kernel] XEnumerator::WriteItems no longer cares about provided
  buffer size, since we know the size when the XEnumerator was created.
- [Kernel] Added XStaticEnumerator template. Previous
  XStaticEnumerator renamed to XStaticUntypedEnumerator.
- [XAM] Deferred xeXamEnumerate.
2021-06-30 03:39:22 -05:00
emoose
89e26d7b2b [Kernel] XamContentCreate*: pass XCONTENT_DATA size along to main content-creation func
This lets funcs like XamContentCreateInternal pass along a different XCONTENT_AGGREGATE_DATA struct, which the main func will know what to do with
2021-06-25 23:48:25 -05:00
emoose
fbf9c4630f [Kernel] Use XCONTENT_AGGREGATE_DATA in all ContentManager funcs
Since AGGREGATE_DATA contains extra info about title_id, and can be easily converted to/from XCONTENT_DATA.
2021-06-25 23:48:25 -05:00
emoose
13f30d3492 [Kernel] Merge Content*Data structs into XCONTENT*_DATA
Also moved XContentType to xbox.h so code can make use of it without needing to include STFS stuff
2021-06-25 23:48:25 -05:00
Gliniak
f298d7620a [Kernel/XAM] XamContentGetCreator: Added check for existing content 2021-05-27 16:11:35 -05:00
Gliniak
d4c3d665d5 [XAM/Content] Set disposition for overlapped cases 2021-04-30 20:12:56 -05:00
Gliniak
a6954aced3 [Kernel/XAM] XamContentCreateEx - Extended Error Support 2021-01-31 23:58:07 -06:00
gibbed
319699130a [XAM] Improvement rollup. Content, enumerators...
- [Kernel] Create guest object for XEnumerator.
- [XAM] Split content data into host/guest variants.
- [XAM] Correct message return type from RESULT to HRESULT.
- [XAM] Add a new dummy content device for ODD.
- [XAM] Implement XamContentAggregateCreateEnumerator.
- [XAM] Implement XamGetPrivateEnumStructureFromHandle.
- [XAM] Implement XMsgCompleteIORequest (sketchy).
- [XAM] Implement XamGetOverlappedResult (sketchy).
- [XAM] Implement XamTaskSchedule (sketchy).
2020-11-27 14:19:30 -06:00
gibbed
5328b72268 [XAM] Split content device exports to a new file. 2020-11-27 14:19:30 -06:00
Cancerous
94b9616b3a [XAM] Raise the size of the dummy HDD to 20GB.
- [XAM] Raise the size of the dummy HDD to 20GB.
- [XAM] Rename unknown field to device_type in X_CONTENT_DEVICE_DATA.
2020-11-15 15:04:40 -06:00
Triang3l
91d5ba444a [Base/Kernel] Add and use truncating null-terminating string copying 2020-11-15 11:27:59 -06:00
Gliniak
4f5c313fe3 [Kernel/XAM] Added Support For: XamContentDeleteInternal
Now some EA games should have working savefiles
2020-08-25 20:51:01 +03:00
Cancerous
596f1691c0 [XAM] - correct storage device ID fixes saving and storage detection in many games
most of the games this can be evidenced in are Unreal Engine titles or games that otherwise do not work in master yet but it can be shown in Saints Row 2 that does work in the master branch
this ID was found from debugging games where storage device detection wasn't working and reverse engineering of Unreal Engine 3
2020-07-07 01:57:40 -05:00
Gliniak
e80115020e [Kernel/XAM] Implemented XamContentCreateInternal 2020-05-18 14:07:07 -05:00
gibbed
6ab003dbf8 [Kernel] Reformat license mask description.
[Kernel] Reformat license mask description to include newlines.
2020-04-13 12:57:14 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
gibbed
6ab7720951 [Kernel] Fix stray whitespace in license_mask definition. 2019-08-14 14:15:56 -05:00
illusion98
c021c7741d [Kernel] Add license mask as a config variable 2019-08-14 10:25:24 -05:00
gibbed
12629fe101 [Kernel] Change dummy HDD to 3GB free/4GB total. 2018-12-03 12:07:42 -06:00
gibbed
9dc46eee85 [Kernel] Null terminate string in XamContentGetDeviceName. 2018-12-03 12:00:56 -06:00
gibbed
947eef4701 [Kernel] Static size assert for X_CONTENT_DEVICE_DATA. 2018-12-03 11:54:47 -06:00
gibbed
aa38d4b77b [Kernel] Zero out device data in XamContentGetDeviceData. 2018-12-03 11:54:23 -06:00
gibbed
213e688173 [Kernel] Fix some stuff from PR merge. 2018-11-23 17:27:35 -06:00
emoose
5e9e226c94 [Kernel] Add XamContentCreateDeviceEnumerator export
Also changed name field of DeviceInfo to be a wchar_t* of known length, makes it match the X360 DeviceInfo struct more closely and it's easier to make sure things reading it won't overflow anything.
2018-11-23 16:37:04 -06:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
7e78a79a2d [Kernel] Add a note to previous commit. 2018-11-20 14:25:18 -06:00
gibbed
de34bd81db [Kernel] Set default license mask when available in XamContentCreateEx. 2018-11-20 14:24:13 -06:00
gibbed
ff0b8a67cd [Kernel] Tag XamContentGetLicenseMask as high frequency. 2018-11-20 13:53:46 -06:00
gibbed
e1d448f630 [Kernel] Move xam_content to new shim convention. 2018-11-20 13:50:31 -06:00
gibbed
394105d359 [CPU/Kernel] Cleanup and rework of how kernel exports are declared. 2018-11-20 13:03:17 -06:00
gibbed
613be1425e [Kernel] Update XamContentOpenFile argument names. 2018-11-20 13:03:17 -06:00
emoose
7f479ffb79 [Kernel] Remove item limit from enumerators, fixes #1255
Like said in that issue, it seems the limit passed to XamContentCreateEnumerator is actually a limit on how many results XamEnumerate should return per call, not a limit on the number of enumeration items in total.
These changes fix Sonic Unleashed not loading more than 1 DLC (it passes 1 as the limit, but then loops over XamEnumerate to load in each DLC one at a time), and likely many other games.
2018-11-07 22:47:59 +00:00
gibbed
1e92a4e06c XAM: Write as many items possible when enumerating. Fixes Nier not detecting system save data (and possibly other games). 2017-08-08 04:53:01 -05:00
DrChat
8ccefa1600 Xam: (possibly) fix XamContentCreateEx extended result being incorrectly put as an extended error. 2017-04-24 15:11:46 -05:00
gibbed
2da97c1e6f Moved XamContentCreate and XamContentCreateEx to the new export convention. 2017-01-09 17:12:30 -06:00
Ben Vanik
b02ca62388 Fixing most remaining C++ warnings in clang. 2016-01-01 18:37:33 +00:00
Dr. Chat
d78f43c574 XamContentOpenFile stub 2015-09-25 18:35:57 -05:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
4d92720109 Moving all kernel files around just to fuck with whoever's keeping track ;) 2014-01-04 17:12:46 -08:00
Ben Vanik
fdb6a5cfa3 Initial Alloy implementation.
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
Ben Vanik
b7ffd46319 Massive refactoring of all code + audio skeleton.
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00