Skip to content

Internal URLS

james edited this page Sep 29, 2018 · 5 revisions

Overview

These URIs can be used to call certain features of the app, such as the comment drawing screen or the keyboard. We also have (finicky) ways to access files on the sd card or nand.

Please note that due to the incomplete nature of the Flipnote Hatena data captures, some of these features aren't understood very well.

Menu URLs

These urls can only be used from ugomenus or meta-tag buttons on html pages. Please note that some aren't usable as of yet.

  • ugomemo://drawface

    Calls the comment writing interface

  • ugomemo://postmemo

    Calls the Flipnote posting interface

  • ugomemo://command

    Calls the command-search interface. (We got it working now!)

    When submitted, it requests <domain>/ds/v2-xx/jump?command=<command>, where xx is the two-letter region code, and the command parameter is the command input.

    The response for jump absolutely must have the X-DSi-Dialog-Type header. If it doesn't, the DSi will softlock.

    X-DSi-Dialog-Type has two possible values, telling the DSi what to do with the content:

    Value Type Content Encoding Content
    0 Redirect utf-8 url to redirect to
    1 Error uft-16le error message to show
  • ugomemo://keyboard

    Calls the keyboard interface -- we have only recently been able to get this to work.

    In order to use it properly, you must append a URL path to the link. For example, if you wanted the request to go to http://ds.example.com/input.htm, the url would look like this:

    ugomemo://keyboard/http://ds.example.com/input.htm

    This link will open the keyboard interface, then when the user submits their input, http://ds.example.com/input.htm will be requested. The X-Email-Addr header in the request will contain the text entered with the keyboard.

    Important note: while a page is requested when the input is submitted, we haven't found a way to direct the user to the new page yet. The user remains on the same page that they were on before they used the keyboard, with no changes/rerendering. They will have to click another link after submitting their input to get their input results.

    We're hoping to find a workaround for this soon

  • ugomemo://createmail

    TODO

SDMC and NAND Access

sdmc:/ and nand:/ can load files from any path on the SD card and NAND respectively.

For example, if we had a Flipnote with the filename of F78DA8_14768882B56B8_030.ppm on the SD card root, we could load it by adding this line to the <head></head> of a html page:

<meta name="upperlink" content="sdmc:/F78DA8_14768882B56B8_030.ppm">

dataPub:/ is used certain files within Flipnote Studio itself. We're not entirely sure what can be reached here except for the sample Flipnotes. The EU region (and presumably US too, but not JP) paths are:

Sample Flipnotes
dataPub:/ugo/005/0DD426_08F59C904C844_001.ppm
dataPub:/ugo/006/TDD426_08F59C7FAD056_001.ppm
dataPub:/ugo/011/3DD426_08F59C875A2A2_002.ppm
dataPub:/ugo/012/17D1EE_087CBDF2EF4BD_000.ppm
dataPub:/ugo/012/FDD426_08EB04AC8A0B3_000.ppm

Important note: these URIs were almost definitely never intended for production use -- or even dev use -- as their use nearly always results in a glitch where the screens switch and all input except the touch screen becomes unresponsive, essentially softlocking the DSi.

Also, nand:/ is just a hunch based off strings in the ROM's arm9.bin. We don't know any of the nand filepaths, but we assume that it can be done if they are known.