Shared Database services: Difference between revisions

Line 218: Line 218:
Takes an input u8 '''event_xF''', an u8 '''event_xC''', an u8 '''event_xD''', an u8 '''event_xE''', an u32 '''event_x8''', and an u64 '''titleID'''. Returns no output.
Takes an input u8 '''event_xF''', an u8 '''event_xC''', an u8 '''event_xD''', an u8 '''event_xE''', an u32 '''event_x8''', and an u64 '''titleID'''. Returns no output.


Logs a new [[#PlayEvent]] with the following data:  
When '''event_xE''' is 2 this will immediately return 0.
 
Logs a new [[#PlayEvent]] with the following data:
* Clears the 0x10-bytes at +0x10.
* Clears the 0x10-bytes at +0x10.
* u8 +0xF = '''event_xF'''
* u8 +0xF = '''event_xF'''.
* Sets the 3 timestamps.
* Sets the 3 timestamps.
* Converts '''titleID''' and writes it to +0x0.
* Converts '''titleID''' and writes it to +0x0.
* u32 +0x8 = '''event_x8'''
* u32 +0x8 = '''event_x8'''.
* u8 +0xC = '''event_xC''', u8 +0xD = '''event_xD''', and u8 +0xE = '''event_xE'''.
* u8 +0xC = '''event_xC''', u8 +0xD = '''event_xD''', and u8 +0xE = '''event_xE'''.
After the initial logging, additional code runs with some of the above input params.


== NotifyOperationModeChangeEvent ==
== NotifyOperationModeChangeEvent ==
Line 235: Line 239:


Logs a new [[#PlayEvent]] with the following data: clears the 0x20-bytes at +0x0, u8 +0x1C = 0x2, u8 +0x0 = '''inval''', and sets the 3 timestamps.
Logs a new [[#PlayEvent]] with the following data: clears the 0x20-bytes at +0x0, u8 +0x1C = 0x2, u8 +0x0 = '''inval''', and sets the 3 timestamps.
After the initial logging, additional code runs which uses '''inval'''.


== NotifyClearAllEvent ==
== NotifyClearAllEvent ==
Line 245: Line 251:


Each [[#PlayEvent]] entry is validated, throwing an error on failure. After an entry is successfully validated, it is written to the log.
Each [[#PlayEvent]] entry is validated, throwing an error on failure. After an entry is successfully validated, it is written to the log.
== Cmd8 ==
Takes an input u8 '''event_xF''', an u8 '''event_x9''', an u8 '''event_xC''', an u8 '''event_xD''', an u8 '''event_xE''', and an u64 '''titleID'''. Returns no output.
This is similar to [[#NotifyAppletEvent]].
When '''event_xE''' is 2 this will immediately return 0.
Logs a new [[#PlayEvent]] with the following data:
* Clears the 0x20-bytes at +0x0.
* u8 +0xF = '''event_xF'''.
* Sets the 3 timestamps.
* Converts '''titleID''' and writes it to +0x0.
* u8 +0x9 = '''event_x9'''.
* u8 +0x8 = 1.
* u8 +0xC = '''event_xC''', u8 +0xD = '''event_xD''', and u8 +0xE = '''event_xE'''.
After the initial logging, additional code runs with some of the above input params.
== Cmd9 ==
Takes an input u8 '''event_xF''', an u8 '''event_xC''', an u8 '''event_xD''', an 0x20-byte struct, an u8 bool flag, an u8 '''event_xE''', an u32 '''event_x8''', and an u64 '''titleID'''. Returns no output.
This is identical to [[#NotifyAppletEvent]] except for the additional struct/flag params.
When '''event_xE''' is 2 this will immediately return 0.
Logs a new [[#PlayEvent]] with the following data:
* Clears the 0x10-bytes at +0x10.
* u8 +0xF = '''event_xF'''
* Sets the 3 timestamps.
* Converts '''titleID''' and writes it to +0x0.
* u32 +0x8 = '''event_x8'''
* u8 +0xC = '''event_xC''', u8 +0xD = '''event_xD''', and u8 +0xE = '''event_xE'''.
After the initial logging, additional code runs with some of the above input params. When the u8 bool flag is set, the input struct is used with this.


= pdm:qry =
= pdm:qry =