Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							944ff3d5f6 
							
						 
					 
					
						
						
							
							ncm: fix two comments  
						
						
						
					 
					
						2023-10-16 12:30:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2125f3c404 
							
						 
					 
					
						
						
							
							ncm: better detect + fix 17 brick after-the-fact  
						
						... 
						
						
						
						This adds detection for missing-save or empty-save, and rebuilds in either case. 
						
					 
					
						2023-10-16 12:30:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5d5699a7e8 
							
						 
					 
					
						
						
							
							ncm: work around change in Nintendo save handling behavior  
						
						... 
						
						
						
						Static save files do not require an entry in the save data indexer to mount.
Prior to 17.0.0, save data files were considered static if userid was 0.
In 17.0.0+, only 8000000000000000 is static.
However, some users using cfw do not have an entry for 8000000000000120 in the indexer,
for various reasons (but mostly manual nand-restore, I think). Thus, on boot of 17.0.0+,
FS will say 8000000000000120 is not present (not in indexer), and NCM will create it anew.
The 8000000000000120 save will then be empty, and then the firmware can't boot.
To workaround this, logic has been re-enabled on 17.0.0+ for building the content meta database.
Thus, if the user encounters this error, the 8000000000000120 save will be emptied, but then
it will be automatically reconstructed, fixing the problem. 
						
					 
					
						2023-10-12 09:22:32 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7a77f2ac8d 
							
						 
					 
					
						
						
							
							ncm: fix inversion in activation skipping  
						
						
						
					 
					
						2023-02-23 09:00:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a203daa849 
							
						 
					 
					
						
						
							
							ncm: first pass at ContentManagerImpl refactor (missing the IntegratedImpls, won't link)  
						
						
						
					 
					
						2023-02-23 09:00:37 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3cba51b85f 
							
						 
					 
					
						
						
							
							boot2: update for 16.0.0  
						
						
						
					 
					
						2023-02-23 09:00:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6a5d2ced4b 
							
						 
					 
					
						
						
							
							ams: globally prefer R_RETURN to return for ams::Result  
						
						
						
					 
					
						2022-04-04 17:46:58 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6f4618ea60 
							
						 
					 
					
						
						
							
							ams: use R_SUCCEED, R_THROW globally  
						
						
						
					 
					
						2022-04-04 17:46:57 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							39047de5c2 
							
						 
					 
					
						
						
							
							ncm: update client code to better reflect latest sysupdate  
						
						
						
					 
					
						2022-03-23 09:15:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d7a9c7ec4c 
							
						 
					 
					
						
						
							
							ams: support building unit test programs on windows/linux/macos  
						
						
						
					 
					
						2022-03-23 09:15:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3e33fb6361 
							
						 
					 
					
						
						
							
							strat: use m_ for member variables  
						
						
						
					 
					
						2021-10-15 23:54:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3b5f56ab9f 
							
						 
					 
					
						
						
							
							ams: replace most remaining operator & with std::addressof  
						
						
						
					 
					
						2021-10-15 23:54:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e2df2f98a3 
							
						 
					 
					
						
						
							
							strat: always use explicit result namespacing  
						
						
						
					 
					
						2021-10-15 23:54:33 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							002422d5dc 
							
						 
					 
					
						
						
							
							ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals  
						
						
						
					 
					
						2021-10-07 23:06:25 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
						
						
							
						
						
							4afce6965f 
							
						 
					 
					
						
						
							
							ncm: updated to 13.0.0  
						
						
						
					 
					
						2021-09-19 10:35:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							dc3f54a713 
							
						 
					 
					
						
						
							
							ams: std::optional -> util::optional  
						
						
						
					 
					
						2021-07-12 01:59:51 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3bcfb043f1 
							
						 
					 
					
						
						
							
							ncm: fix GameCardStorageRoot mount point ( closes   #1404 )  
						
						
						
					 
					
						2021-04-11 03:59:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							637c44f64d 
							
						 
					 
					
						
						
							
							libstrat: convert to experimental new (super-accurate) sf allocation semantics  
						
						
						
					 
					
						2021-02-02 12:16:20 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							26369e34f1 
							
						 
					 
					
						
						
							
							ams: use util::SNPrintf over std:: (size/linker improvements)  
						
						
						
					 
					
						2021-01-13 10:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							ecf8389efd 
							
						 
					 
					
						
						
							
							sf: Change interface definition methodology ( #1074 )  
						
						... 
						
						
						
						* sf: Begin experimenting with new interface declaration format
* sf: convert fs interfaces to new format
* sf: finish conversion of libstrat to new definitions
* sf: convert loader to new format
* sf: convert spl to new format
* sf: update ncm for new format
* sf: convert pm to new format
* sf: convert ro/sm to new format
* sf: update fatal for new format
* sf: support building dmnt under new scheme
* sf: update ams.mitm for new format
* sf: correct invocation def for pointer holder
* fs: correct 10.x+ user bindings for Get*SpaceSize 
						
					 
					
						2020-08-01 15:30:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							52088109b7 
							
						 
					 
					
						
						
							
							libstrat: correct firmware comparison in meta database builder  
						
						
						
					 
					
						2020-08-01 15:30:53 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
						
						
							
						
						
							345499c71e 
							
						 
					 
					
						
						
							
							ncm: update to 10.0.0 ( #879 )  
						
						
						
					 
					
						2020-04-15 11:55:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c190d46343 
							
						 
					 
					
						
						
							
							hos::Version: rename enum members  
						
						
						
					 
					
						2020-04-15 11:55:01 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
						
						
							
						
						
							6e8ea3aafd 
							
						 
					 
					
						
						
							
							NCM client implementation ( #858 )  
						
						... 
						
						
						
						* ncm: Implement InstallTaskDataBase and FileInstallTaskData
* ncm: minor bugfixes
* ncm: Implemented MemoryInstallTaskData
* ncm: more std
* ncm: begin implementing install task base
* ncm: move protected funcs
* ncm: fix recursive include
* ncm: more install task progress
* ncm install task: implement IncrementProgress and update UpdateThroughputMeasurement
* ncm: more work
* ncm client: more progress
* ncm client: more progress
* ncm client: finish implementing GetContentMetaInfoList
* ncm client: more progress
* ncm client: finished InstallTaskBase
* ncm client: implement PackageInstallTaskBase
* ncm client: fixes
* ncm: improve accuracy
* ncm client: implement PackageInstallTask
* ncm client: implement PackageSystemUpdateTask
* ncm client: minor name tweaks
* ncm client: implement SubmissionPackageInstallTask
* ncm client: add missing this to SubmissionPackageInstallTask
* ncm client: add missing nullptr check to SubmissionPackageInstallTask destructor
* ncm client: SubmissionPackageInstallTask fixes
* ncm: fix forward declarations
* ncm client: added simplified funcs
* ncm: cleanup client code
* ncm: fix bug introduced by cleanup
* ncm: fix typo
* ncm: implement correct ReadVariationContentMetaInfoList behavior
* ncm: correct InstallContentMetaWriter ctor
* ncm: correct conversion of content meta header types
Co-authored-by: Michael Scire <SciresM@gmail.com> 
						
					 
					
						2020-04-05 23:25:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ec527bc460 
							
						 
					 
					
						
						
							
							ncm: use static memory pools for different allocations  
						
						
						
					 
					
						2020-03-30 20:41:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7b0eca77bf 
							
						 
					 
					
						
						
							
							creport: use fs bindings  
						
						
						
					 
					
						2020-03-09 18:03:39 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
						
						
							
						
						
							aec0f45bdb 
							
						 
					 
					
						
						
							
							Implement the NCM sysmodule ( closes   #91 )  
						
						... 
						
						
						
						* Implement NCM
* Modernize ncm_main
* Remove unnecessary smExit
* Give access to svcCallSecureMonitor
* Stack size bump
* Fix incorrect setup for NandUser's content storage entry
* Fix a potential data abort when flushing the placeholder accessor cache
* Fix HasFile and HasDirectory
* Use r+b, not w+b
* Misc fixes
* errno begone
* Fixed more stdio error handling
* More main fixes
* Various command improvements
* Make dispatch tables great again
* Fix logic inversion
* Fixed content path generation
* Bump heap size, fix CleanupAllPlaceHolder
* Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes
* Fixed placeholder/content deletion
* Fixed incorrect content manager destruction
* Prevent automatic placeholder creation on open
* Fixed List implementation. Also lots of debug logging.
* Removed debug code
* Added a scope guard for WritePlaceHolder
* Manually prevent placeholder/content appending
* Revert "Removed debug code"
This reverts commit d6ff261fcc8c1f26968e894b02c17a01a12ec98b.
* Always cache placeholder file. Switch to ftell for preventing appending
* Universally use EnsureEnabled
* Abstract away file writing logic
* Misc cleanup
* Refactor placeholder cacheing
* Remove debug code (again)
* Revert "Remove debug code (again)"
This reverts commit 168447d80e9640768fb1b43f04a385507c1bb5ab.
* Misc changes
* Fixed file modes
* Fixed ContentId/PlaceHolderId alignment
* Improved type safety
* Fixed reinitialization
* Fixed doubleup on path creation
* Remove debug code
* Fixed 1.0.0 booting
* Correct amount of add on content
* Correct main thread stack size
* lr: Introducing registered data
* Reorder stratosphere Makefile
* Move results to libstrat
* lr: Cleanup lr_redirection
* lr: lr_manager tweaks
* lr: Imrpoved path handling and adjust ResolveAddOnContentPath order
* lr: Organise types
* Add eof newlines
* lr: Eliminate unnecessary vars
* lr: Unnecessary vars 2 electric boogaloo
* lr: Various helpers
* lr: RegisteredLocationResolver helpers
* ncm: Move ncm_types to libstrat
* ncm: Misc cleanup
* Implement NCM
* Modernize ncm_main
* Remove unnecessary smExit
* Give access to svcCallSecureMonitor
* Stack size bump
* Fix incorrect setup for NandUser's content storage entry
* Fix a potential data abort when flushing the placeholder accessor cache
* Fix HasFile and HasDirectory
* Use r+b, not w+b
* Misc fixes
* errno begone
* Fixed more stdio error handling
* More main fixes
* Various command improvements
* Make dispatch tables great again
* Fix logic inversion
* Fixed content path generation
* Bump heap size, fix CleanupAllPlaceHolder
* Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes
* Fixed placeholder/content deletion
* Fixed incorrect content manager destruction
* Prevent automatic placeholder creation on open
* Fixed List implementation. Also lots of debug logging.
* Removed debug code
* Added a scope guard for WritePlaceHolder
* Manually prevent placeholder/content appending
* Revert "Removed debug code"
This reverts commit d6ff261fcc8c1f26968e894b02c17a01a12ec98b.
* Always cache placeholder file. Switch to ftell for preventing appending
* Universally use EnsureEnabled
* Abstract away file writing logic
* Misc cleanup
* Refactor placeholder cacheing
* Remove debug code (again)
* Revert "Remove debug code (again)"
This reverts commit 168447d80e9640768fb1b43f04a385507c1bb5ab.
* Misc changes
* Fixed file modes
* Fixed ContentId/PlaceHolderId alignment
* Improved type safety
* Fixed reinitialization
* Fixed doubleup on path creation
* Remove debug code
* Fixed 1.0.0 booting
* Correct amount of add on content
* Correct main thread stack size
* lr: Introducing registered data
* Reorder stratosphere Makefile
* Move results to libstrat
* lr: Cleanup lr_redirection
* lr: lr_manager tweaks
* lr: Imrpoved path handling and adjust ResolveAddOnContentPath order
* lr: Organise types
* Add eof newlines
* lr: Eliminate unnecessary vars
* lr: Unnecessary vars 2 electric boogaloo
* lr: Various helpers
* lr: RegisteredLocationResolver helpers
* ncm: Move ncm_types to libstrat
* ncm: Misc cleanup
* Updated AddOnContentLocationResolver and RegisteredLocationResolver to 9.0.0
* Finished updating lr to 9.0.0
* Updated NCM to 9.0.0
* Fix libstrat includes
* Fixed application launching
* title_id_2 -> owner_tid
* Updated to new-ipc
* Change to using pure virtuals
* Title Id -> Program Id
* Fixed compilation against master
* std::scoped_lock<> -> std::scoped_lock
* Adopted R_UNLESS and R_CONVERT
* Prefix namespace to Results
* Adopt std::numeric_limits
* Fixed incorrect error handling in ReadFile
* Adopted AMS_ABORT_UNLESS
* Adopt util::GenerateUuid()
* Syntax improvements
* ncm_types: Address review
* Address more review comments
* Updated copyrights
* Address more feedback
* More feedback addressed
* More changes
* Move dispatch tables out of interface files
* Addressed remaining comments
* lr: move into libstratosphere
* ncm: Fix logic inversion
* lr: Add comments
* lr: Remove whitespace
* ncm: Start addressing feedback
* ncm: Cleanup InitializeContentManager
* lr: support client-side usage
* lr_service -> lr_api
* ncm: Begin refactoring content manager
* ncm: More content manager improvements
* ncm: Content manager mount improvements
* ldr: use lr bindings
* lr bindings usage: minor fixes
* ncm/lr: Pointer placement
* ncm: placeholder accessor cleanup
* ncm: minor fixes
* ncm: refactor rights cache
* ncm: content meta database cleanup
* ncm: move content meta database impl out of interface file
* ncm: Use const ContentMetaKey &
* ncm: fix other non-const ContentMetaKey references
* ncm: content meta database cleanup
* ncm: content storage fixes for 2.0.0
* ncm: add missing end of file newlines
* ncm: implement ContentMetaReader
* ncm: client-side api
* ncm: trim trailing spaces
* ncm: FS_MAX_PATH-1 -> fs::EntryNameLengthMax
* ncm: Use PathString and Path
* fs: implement accessor wrappers for ncm
* fs: implement user fs wrappers
* fs: add MountSdCard
* ncm: move to content manager impl
* ncm: fix up main
* kvdb: use fs::
* fs: Add wrappers needed for ncm
* ncm: use fs bindings, other refactoring
* ncm: minor fixes
* fsa: fix ReadFile without size output
* fs: add substorage, rom path tool
* ncm: fix dangling fsdev usage
* fs: fix bug in Commit
* fs: fixed incorrect mode check
* fs: implement Mount(System)Data
* ncm: don't delete hos
* results: add R_SUCCEED_IF
* ams-except-ncm: use R_SUCCEED_IF
* ncm: added comments
* ncm: fix api definitions
* ncm: use R_SUCCEED_IF
* pm: think of the savings
* ncm: employ kernel strats
* ncm: Nintendo has 5 MiB of heap. Give ourselves 4 to be safe, pending analysis
* ncm: refactor IDs, split types header into many headers
* ams.mitm: use fs bindings instead of stdio
* fs: SystemData uses SystemDataId
* ncm: improve meta-db accuracy
* ncm: inline getlatestkey
* fs: improve UnsupportedOperation results
* fs: modernize mount utils
* ams: misc fixes for merge-errors
* fs: improve unsupportedoperation results
* git subrepo pull emummc
subrepo:
  subdir:   "emummc"
  merged:   "d12dd546"
upstream:
  origin:   "https://github.com/m4xw/emuMMC "
  branch:   "develop"
  commit:   "d12dd546"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
* util: add boundedmap
* ncm: minor style fixes
* ncm: don't unmount if mounting fails
* lr: bug fixes
* ncm: implement ncm.for-initialize + ncm.for-safemode
* lr: ncm::ProgramId::Invalid -> ncm::InvalidProgramId
* ncm: fix open directory mode on 1.0.0
* ncm: fix fs use, implement more of < 4.0.0 for-initialize/safemode
* ncm: implement packagedcontent -> content for building metadb
* ncm: fix save data flag management
* ncm: address some review suggestions (thanks @leoetlino!)
* updater: use fs bindings
* fs: implement MountCode
* fs: prefer make_unique to operator new
* ncm: implement remaining ContentMetaDatabaseBuilder functionality
Co-authored-by: Michael Scire <SciresM@gmail.com> 
						
					 
					
						2020-03-09 18:03:38 -07:00