EShop

Revision as of 02:01, 5 July 2015 by WulfyStylez (talk | contribs) (the entire link actually varies between regions)

The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.

From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.

eShop uses the following domains over HTTPS:


  • cp3s-auth.c.shop.nintendowifi.net
  • a248.e.akamai.net
  • ninja.ctr.shop.nintendo.net
  • samurai.ctr.shop.nintendo.net
  • ccif.ctr.shop.nintendo.net
  • eou.c.shop.nintendowifi.net

These domains are used by NIM:


  • nus.c.shop.nintendowifi.net
  • ecs.c.shop.nintendowifi.net
  • cas.c.shop.nintendowifi.net


While eShop is loading, eShop will use command NIMS:CheckSysupdateAvailableSOAP. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the "system update is available" message.

The eShop application uses command AMNet:FinishInstallToMedia to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses AMNet:FinishInstallToMedia to finalize installing all system titles (from system updates).

eShop QR Codes

eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with "ESHOP://" string followed by a decimal eShop content link id(same IDs used internally by eShop for all content) and then some special data, delimited by a dot symbol, which can be ommited.

In order for the QR-code string data to be valid for eShop, it must begin with "ESHOP://5", with the first ID being all decimal.

QR Code source Region Title Serial Title ID
ESHOP://50010000000201.PEAALL000000 EUR Nintendogs & Cats Demo ADA/B/C 0004000200030c01
ESHOP://50010000007870.PEAALL000000 EUR Crush 3D A??P 00040002
ESHOP://50010000008009.PEAALL000000 EUR Resident Evil Revelations Demo ABRE 000400020005ee01
ESHOP://50010000008123.J00101Z00095 JPN Rhythm Thief And The Emperor's Treasure Demo ARTJ 00040002
ESHOP://50010000008404.PEAALL000000 EUR Mario And Sonic At The London 2012 Olympic Games Demo ACMP [1] 00040002
ESHOP://50010000008447.J00101Z00094 JPN Resident Evil Revelations Demo ABRJ 00040002
ESHOP://50010000008449.J00101Z00082 JPN Swapnote JFRJ ?
ESHOP://50010000008561 USA Swapnote JFRE 0004000000051700
ESHOP://50010000008647.J00101Z00096 JPN Metal Gear Solid Snake Eater 3D Demo AMGJ 0004000200048101
ESHOP://50010000008648.J00101Z00097 JPN Theatrythm Final Fantasy ATHJ ?
ESHOP://50010000008782.PEAALL000000 EUR Metal Gear Solid Snake Eater 3D Demo AMGE 0004000200082401
ESHOP://50010000008842.PEAALL000000 EUR Rhythm Thief And The Emperor's Treasure Demo ARTP [2] 00040002
ESHOP://50010000009084.J00101Z00121 JPN Hatsune Miku And Future Stars: Project Mirai Demo AM9J 00040002
ESHOP://50010000009102.J00101Z00106 JPN Denpa Ningen RPG JD8J ?
ESHOP://50010000009161.J00101Z00118 JPN Dillon's Rolling Western JAMJ 00040000
ESHOP://50010000009261 USA Dillon's Rolling Western JAME? 00040000
ESHOP://50010000009401.J00101Z00120 JPN Kingdom Hearts 3D Video Download JZ8J ?
ESHOP://50010000009403.J00101Z00119 JPN DQM 3D Video Download JZ7J ?
ESHOP://50010000009575.PEAALL000000 EUR Kid Icarus: Of Myths And Monsters (Virtual Console) ? ?
ESHOP://50010000009846 USA Ketzal's Corridors ? ?
  • New QR Code for Japanese "Photos with Super Mario" has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8
  • There is a link in the Japanese eShop [http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####] where you can replace the #### with the Japanese eShop title's serial and you will get it's QR code. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo QR code)

NS eShop application parameters

This section describes the 0x1C-byte structure stored at the application parameters from APT:StartApplication, under the 0x300-byte buffer listed there.

Offset Size Description
0x0 0x4 Unknown, usually 0x3?
0x4 0x4 Unknown, usually 0x0?
0x8 0x8 u64 binary eShop content ID, same ID from the first string in eShop QR-codes except in binary form.
0x10 0x10 This is the last string from the QR-code(if any), no NUL-termination.

ExtData

The ExtData File System for eShop is as follows:

root
├── icon
├── boss
│   └── TIGER100.tmp
└── user
File Details Size Firmware Introduced Plain text
icon Duplicate from application ExeFS. Always image 00000002 0x36C0 Bytes 2.0.0-2 Download_EUR
TIGER100.tmp Always image 00000003. 0xCE47 bytes (varies?) 2.0.0-2

Music

The eShop pulls its music from a static, region-specific link in a format similar to the following:

https:// a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/CtfKXACbUPl8s7lk/BGM1/US_BGM1 , where region is one of the primary system regions (JP, US, EU, KR, etc.) Support also exists for 'BGM2', but this seems to be unused. The music is held in a BOSS container.

The format consists of a brief XML header describing the audio (including the date it was set as the main eShop theme, loop times, size, etc) followed by a raw AAC stream. Tools such as FFmpeg can handle rebuilding this stream with ADTS headers for proper time info and such.

The Home Menu uses nearly the same format for the Theme Shop's background music.