https://www.3dbrew.org/w/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=&size-mode=max&size=0
3dbrew - New pages [en]
2024-03-28T09:05:07Z
From 3dbrew
MediaWiki 1.35.8
https://www.3dbrew.org/wiki/BOSS_Savegame
BOSS Savegame
2024-03-22T19:46:13Z
<p>Meleemeister: Created page with "This page describes the content of the BOSS sysmodule savegame. The savegame contains 7 files and no directories ==BOSS_A.db== ==BOSS_SS.db== SS could stand fo..."</p>
<hr />
<div>This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame.<br />
<br />
The savegame contains 7 files and no directories<br />
<br />
==BOSS_A.db==<br />
<br />
==BOSS_SS.db==<br />
SS could stand for subscriptions<br />
{|class=wikitable<br />
!Offset!!Size!!Description<br />
|-<br />
|0x00||4||Magic Number (0x12348000)<br />
|}<br />
After an array of data chunks with a chunk size of 0xC00 follow.<br />
An index of this array seem to correspond to the data with same index in BOSS_SV.db<br />
<br />
==BOSS_SV.db==<br />
{|class=wikitable<br />
!Offset!!Size!!Description<br />
|-<br />
|0x00||4||Magic Number (0x12348000)<br />
|}<br />
After an array of data chunks with a chunk size of 0xC00 follow.<br />
An index of this array seem to correspond to the data with same index in BOSS_SS.db<br />
<br />
==BOSS_PH_INFO.db==<br />
<br />
==BOSS_PM_INFO.db==<br />
<br />
==BOSS_SP_INFO.db==<br />
<br />
==sendmgn00.up==</div>
Meleemeister
https://www.3dbrew.org/wiki/FRDU:GetServerTypes
FRDU:GetServerTypes
2024-02-10T13:23:23Z
<p>DaniElectra: Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00300000] |} =Response= {| class="wikitable" border="1" |- ! Index Word !..."</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00300000]<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Result code<br />
|-<br />
| 2<br />
| NASC Environment (0: Prod, 1: Test, 2: Dev)<br />
|-<br />
| 3<br />
| [[Friend_Services#Server_Types|Server type]] letter value<br />
|-<br />
| 4<br />
| [[Friend_Services#Server_Types|Server type]] number value<br />
|}<br />
<br />
=Description=<br />
This returns the environment settings of the current account being used by friends.</div>
DaniElectra
https://www.3dbrew.org/wiki/SOCU:SendToMultiple
SOCU:SendToMultiple
2024-01-20T17:05:35Z
<p>TimmSkiller: addrinfo -> sockaddr</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00200146]<br />
|-<br />
| 1<br />
| Socket descriptor<br />
|-<br />
| 2<br />
| size_t input buf len<br />
|-<br />
| 3<br />
| int flags<br />
|-<br />
| 4<br />
| socklen_t addrlen<br />
|-<br />
| 5<br />
| input sockaddr buffer size<br />
|-<br />
| 6<br />
| Value 0x20 (processID header)<br />
|-<br />
| 7<br />
| ProcessID set by the ARM11 kernel.<br />
|-<br />
| 8<br />
| (input buf len<<14) <nowiki>|</nowiki> 0x3002<br />
|-<br />
| 9<br />
| Pointer to input buf<br />
|-<br />
| 10<br />
| (input sockaddr buffer size<<14) <nowiki>|</nowiki> 0x3402<br />
|-<br />
| 11<br />
| Pointer to input dest_addr structures<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Result code<br />
|-<br />
| 2<br />
| POSIX return value<br />
|}<br />
<br />
=Description=<br />
This is the same as [[SOCU:sendto]], but instead of one sockaddr being passed in, multiple are allowed.<br />
As with [[SOCU:sendto]], the total input data size is limited to 0x2000. In FRD module, the input data must not be greater than 0x1E00 and the sockaddr buffer size must not exceed 0x200.</div>
TimmSkiller
https://www.3dbrew.org/wiki/NEWSS:GetTotalArrivedNotifications
NEWSS:GetTotalArrivedNotifications
2024-01-14T16:45:13Z
<p>DaniElectra: Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00140000] |} =Response= {| class="wikitable" border="1" |- ! Index Word !..."</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00140000]<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Resultcode<br />
|-<br />
| 2<br />
| Total pending BOSS notifications<br />
|}</div>
DaniElectra
https://www.3dbrew.org/wiki/NEWSS:SetAutomaticSyncFlag
NEWSS:SetAutomaticSyncFlag
2024-01-14T16:40:24Z
<p>DaniElectra: Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00110040] |- | 1 | u8 Flag |} =Response= {| class="wikitable" border="1" |-..."</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00110040]<br />
|-<br />
| 1<br />
| u8 Flag<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Resultcode<br />
|}<br />
<br />
=Description=<br />
This sets the input value to an internal state, which is checked when handling BOSS notifications. If the state isn't set to zero, then any new BOSS notifications will not be synced automatically. The "unread notifications" flag on news.db will still be set, regardless of this value.</div>
DaniElectra
https://www.3dbrew.org/wiki/NEWSS:SyncOneArrivedNotification
NEWSS:SyncOneArrivedNotification
2024-01-14T16:34:05Z
<p>DaniElectra: Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00100040] |- | 1 | u8 Flag |} =Response= {| class="wikitable" border="1" |-..."</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00100040]<br />
|-<br />
| 1<br />
| u8 Flag<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Resultcode<br />
|}<br />
<br />
=Description=<br />
This is similar to [[NEWSS:SyncArrivedNotifications|SyncArrivedNotifications]], but it only syncs the first entry of the NsDataList. If the input flag isn't zero, the BOSS notification flag 0x6 is set to 1.</div>
DaniElectra
https://www.3dbrew.org/wiki/NEWSS:SyncArrivedNotifications
NEWSS:SyncArrivedNotifications
2024-01-14T16:27:33Z
<p>DaniElectra: /* Header structure */ Define values always set</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x000F0000]<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Resultcode<br />
|}<br />
<br />
=Description=<br />
This manually syncs all pending notifications that are present on the sysmodule "boss savedata". The news sysmodule queries the list of notifications with <br />
BOSS command 0x00100102 (GetNsDataIdList), then gets some NS data information for each data ID with command 0x002700C2 (GetNsDataHeaderInfo) type=5 and command 0x002D0040 (GetNsDataLastUpdate), and finally reads the notification data.<br />
<br />
The sysmodule then extracts all the notification data from the BOSS notification and saves it to the savedata.<br />
<br />
=BOSS notification=<br />
The BOSS notification data is a modified version of a regular notification. It combines a custom header, a fully allocated message (size: 0x1780 bytes) and an optional image, all appended in a single file.<br />
<br />
==Header structure==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x1<br />
| u8 flag: 0 = invalid, 1 = valid ("notification exists" flag). Always 0x1<br />
|-<br />
| 0x1<br />
| 0x1<br />
| u8 flag: 0 = read, 1 = unread. Always 0x1<br />
|-<br />
| 0x2<br />
| 0x1<br />
| u8 flag: 0 = image data is not JPEG, 1 = image data is JPEG.<br />
|-<br />
| 0x3<br />
| 0x1<br />
| u8 flag: 0 = non-SpotPass notification, 1 = SpotPass notification (zero for system notifications)<br />
|-<br />
| 0x4<br />
| 0x1<br />
| u8 flag: 0 = opted in to this notification, 1 = opted out of this notification. Always 0x0<br />
|-<br />
| 0x5<br />
| 0x1<br />
| u8 flag: 0 = message doesn't have a browser link, 1 = message has a browser link<br />
|-<br />
| 0x6<br />
| 0x1<br />
| u8 flag: unknown<br />
|-<br />
| 0x7<br />
| 0x1<br />
| padding?<br />
|-<br />
| 0x8<br />
| 0x8<br />
| u64 programID: notification source (zero for system notifications)<br />
|-<br />
| 0x10<br />
| 0x8<br />
| u64 jumpParam: specified by source app and later retrieved via APT to identify which notification, if any, it was launched from<br />
|-<br />
| 0x18<br />
| 0x8<br />
| padding?<br />
|-<br />
| 0x20<br />
| 0x40<br />
| UTF-16 string for the notification title<br />
|}</div>
DaniElectra
https://www.3dbrew.org/wiki/NEWSS:ResetNotifications
NEWSS:ResetNotifications
2024-01-14T16:04:41Z
<p>DaniElectra: Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00040000] |} =Response= {| class="wikitable" border="1" |- ! Index Word !..."</p>
<hr />
<div>=Request=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code [0x00040000]<br />
|}<br />
<br />
=Response=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Index Word<br />
! Description<br />
|-<br />
| 0<br />
| Header code<br />
|-<br />
| 1<br />
| Resultcode<br />
|}<br />
<br />
=Description=<br />
This erases the internal database and then deletes the system savedata for the NEWS sysmodule and re-creates it again. The news.db file isn't created in this process.</div>
DaniElectra