Git Product home page Git Product logo

dbi's Introduction

DBI

Github latest downloads

ENGLISH GUIDE

Инструкция базируется на работе Брикачу

Ультимативное решение для установки NSP, NSZ, XCI и XCZ и работы с Nintendo Switch. Поддержка установки по MTP, USB, http (с вашего личного сервера), внешнего USB и многое другое. Поддержка просмотра картинок в формате jpg, png и psd. Поддержка работы с архивами zip и rar, а так же с контейнерами cbr/cbz. Поддержка текстовых файлов, просмотр в режиме обычного текста и в режиме hex-просмотра. Может быть использован в качестве файлового менеджера (копирование, перемещение, удаление файлов и папок, создание папок). Работа с сохранениями (в том числе резервное копирование и восстановление) и многое другое.

Содержание:

  1. Установка
  2. Использование
  3. Интерфейс
  4. Управление
  5. Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска
  6. Install title from DBIbackend / Установка через DBIbackend
  7. Home server / Подключение к серверу
  8. Browse installed applications / Просмотр установленных игр
  9. Browse tickets / Просмотр тикетов
  10. Tools / Инструменты
  11. Browse saves / Просмотр сохранений
  12. Run MTP responder / Запустить MTP соединение
  13. Activity Log / Настройки активности * Applications / Запускавшиеся игры * Activity / Диаграмма активности
  14. Configuration / Настройки DBI и параметры файла dbi.config
  15. Exit / Выход
  16. Уведомления и коды ошибок
    1. Уведомления
    2. Ошибки
    3. Цветовые кода
  17. dbi.config
  18. Другие возможности
  19. Благодарности

Установка

Поместите dbi.nro и dbi.config в папку sdmc:/switch/DBI/ на вашей каре памяти. Запускайте из режима апплета с помощью Homebrew Launcher (через альбомы)

В режиме апплета программа запускается с синим фоном. В режиме тайла - с чёрным

Использование

Интерфейс

2021041010520200

  • Browse SD Card / Просмотр SD карты — установка NSP/NSZ/XCI/XCZ-файлов из карты памяти.
  • Browse USB0 Drive / Просмотр USB0 диска — установка NSP/NSZ/XCI/XCZ-файлов с внешнего USB-накопителя в exFAT/FAT32: флешки, жёсткого диска, проч.
  • Install title from DBIbackend / Установка через DBIbackend — установка NSP/NSZ/XCI/XCZ из ПК по USB 2.0 и 3.0-проводу, через прилагаемую программу dbibackend. Горячая клавиша для этой опции: кнопка (Y).
  • Install title from Gamecard / Установка с картриджа — этот пункт появляется при вставленном в Switch игровом картридже, — для установки игры из имеющегося игрового картриджа в SD-карту или внутреннюю NAND-память консоли.
  • Home server / Подключение к серверу — начиная с версии v150, есть возможность устанавливать игры по сети (HTTP), через WiFi без провода или LAN-USB-адаптер. Подробнее об этом ниже
  • Browse installed applications / Просмотр установленных игр — просмотр установленных игр, их общее установленное количество, посмотреть потраченное время на игру и количество её запусков, проверить (верифицировать) на ошибки, перенести игровые данные между встроенной памятью, картой памяти и обратно, возможность их выборочного или потокового удаления вместе с прилагаемыми LayeredFS-модами, просмотр наличия у них обновлений и DLC, ручное удаление DLC/обновлений/LaryeredFS (LFS) мода, функция Reset Required version для сброса системной проверки обновления у выбранной игры. Горячая клавиша для этой опции: кнопка (L).
  • Cleanup orphaned files / Очистка потерянных файлов — автоматическая чистка ненужных удалённых файлов игр, если они есть
  • Browse tickets / Просмотр тикетов — просмотр и ручное удаление системных тикетов игр.
  • Browse saves / Просмотр сохранений - просмотр и удаление сохранений
  • Run MTP responder / Запустить MTP соединение — включение внутреннего MTP-сервера для присоединения Switch к ПК или к Android-устройству (телефон/планшет/пр., протестированы Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7" TB-7304X), можно: просматривать и работать с картой памяти (1: SD Card) и внутренней память консоли, просматривать установленные игры (4: Installed games), сделать бекап игровых сохранений на ПК (7: Saves), при вставленном игровом картридже дампить его (full/trimmed/сертификат) на ПК/Android (9: Gamecard). Горячая клавиша для этой опции: кнопка (X).
  • Run FTP server / Запустить FTP сервер - включает FTP-сервер DBI для доступа к файлам SD через порт 5000 или установку файлов через порт 6000
  • Exit / Выход — выход из программы. Горячая клавиша для этой опции: кнопка (+)

В самом левом нижнем углу (SD) написано про занятый размер данных на карте/общий размер карты. В правом нижнем углу (NAND) написан занятый размер данных во встроенной памяти Switch/общий встроенной памяти Switch. Внизу по центру (dbi: XXX) написан номер версии dbi — старайтесь всегда использовать самую последнюю версию программы

Управление

  • (А) - выбор, подтверждение
  • (B) - отмена. На главном экране - выход из программы
  • (X) - выделение файла. На главном экране - горячая клавиша для монтирования MTP (пункт меню "Run MTP responder / Запустить MTP соединение")
  • (Y) - инвертировать выделение, выделить всё, если ничего не выделено. На главном экране - установка по USB с помощью dbibackend (пункт меню "Install title from DBIbackend / Установка через DBIbackend")
  • (ZL), (ZR) - быстрое перемещение по меню
  • (L) на главном экране - перейти в меню "Browse installed applications / Просмотр установленных игр"
  • (R) - изменить порядок отображения файлов/тайтлов
  • (L3) - запустить игру из списка установленных игр
  • (+) на правом джойконе - контекстное меню, которое позволяет производить контекстные операции, как-то удаление, сброс требуемой версии прошивки, монтирование по MTP и др.
  • (-) на левом джойконе при установке приложений отключает/включает экран

Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска

Выберите этот пункт, если хотите установить игры/обновления/DLC из уже имеющихся файлов на карте памяти/внешнем USB. Кнопка (A) открывает папку, кнопка (B) возвращает назад, после открытия папки с файлами для установки, кнопкой (X) можно выделить только необходимые файлы, кнопокй (Y) инвертировать выбор. При этом цвет названия выделенных файлов изменится с белого на светло-синий.

После этого нажмите кнопку (А) для подтверждения. Возникнет окно с опциями установки:

2021041011441100

  • Total transfer size / Общий размер передачи — объём установочных дистрибутивов (файлов NSP/NSZ/XCI/XCZ), выбранных и готовых к установке.
  • Total install size / Общий размер установки — объём свободного пространства, которое необходимо для установки выбранных файлов.
  • Install target / Место установки — локация установки данных: NAND — внутренняя память консоли Nintendo Switch, SD — карта памяти SD, AUTO — опция по-умолчанию для установки всегда на карту памяти SD, но если на ней будет недостаточно места, данные установятся во внутреннюю память.
  • Delete after install / Удалять после установки — это опция удаления установочных дистрибутивов (файлов NSP/NSZ/XCI/XCZ) с карты после их успешной установки; чтобы она работала, с файлов должен быть снят атрибут «Только чтение». По-умолчанию файлы не удаляются. Опция видна только при установке с карты памяти/внешнего USB
  • Turn off screen / Выключать экран — возможность выключить экран на время установки для экономия электроэнергии аккумулятора, сразу после успешной установки экран автоматически включится. Эта опция работает только в портативном режиме.
  • Нажмите Start install / Начать установку, чтобы начать установку. После успешной установки, появится статистика установки и надпись Installation Complete. Press B to return / Установка завершена. Чтобы вернуться нажмите В.

В программе имеется встроенная автоматическая функция удаления старых апдейтов при установке нового обновления к игре, поэтому за лишнее занимаемое место ими можно не беспокоиться.

Вы можете запускать .NRO-файлы кнопкой (A)

Install title from DBIbackend / Установка через DBIbackend

Через "Install title from DBIbackend / Установка через DBIbackend" очень удобно устанавливать игры, обновления и DLC к ним сразу напрямую по USB-проводу с ПК на Switch, минуя необходимость вынимать карту и тратить двойное время, закачивая дистрибутивы (NSP/NSZ/XCI/XCZ-файлы) на карту памяти и устанавливая их оттуда. Горячая клавиша для вызова этой опции из главного меню: кнопка (Y).

Для работы сперва нужно скачать на ПК dbibackend (dbibackend.exe для Windows или dbibackend для всех ОС), запустить его, выбрать игры для установки, нажать Start server, затем подключить USB-C кабель к ПК и Switch, выбрать пункт Install title from DBIbackend в dbi и установить все необходимые игры.

Для правильной работы dbibackend на Windows, необходимо поставить драйвера "libusbK (v3.1.0.0)". Их можно установить через программу Zadig, введя DBI в режим "Install title from DBIbackend" и выбрав в программе появившееся устройство.

Выделение файлов, а так же их установка происходит способом идентичным способу из пункта Browse SD Card/Browse USB0 Drive

Для быстрой отправки файлов или папок с играми на установку, нажмите на них правой клавишей мыши, выберите Отправить > dbibackend, установочные файлы сразу помещаются в очередь dbibackend. Для того, чтобы это настроить в Windows, нажмите Win+R, введите shell:sendto, положите в папку ярлык для dbibackend.exe

Существуют альтернативные клиенты для работы с DBIbackend, например headless-реализация, NSW-DBI 2.0.0 на nodegui (требуется установка драйвера libusb для Linux или WinUSB (libusb) для Windows через Zadig).

Вы можете передавать команды скрипту путем запуска его из командной строки с последующим указанием пути к необходимой для установки игры или игр. Например:

python ~/dbi/dbibackend ~/Switch/File1.nsp ~/Switch/File2.nsp ~/Switch/File3.nsp
dbibackend.exe "e:\Switch\Games\File1.nsp" "e:\Switch\Games\File2.nsp" "e:\Switch\Games\File3.nsp"

Зависимости, которые могут потребоваться для работы в MacOS или Linux

brew install python-tk
pip3 install pyusb

Home server / Подключение к серверу

Пункт "Home server / Подключение к серверу" появляется при наличии настроенного раздела Network install sources в dbi.config (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле

Для установки игр по сети, отредактируйте файл dbi.config, находящийся в папке sdmc:/switch/DBI/, согласно примеру

; Network install sources
[Network sources]
; <display name>=<type>|<URL>
Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/

Установите на ПК любой другой HTTP-сервер c включённым DirectoryListing: Apache, Mongoose, Python SimpleHTTP, sheret, rclone и т. д.,

Пример для nginx на Windows: отредактируйте файл /nginx/conf/nginx.conf, прописав в location адрес вашего Switch, вместо указанного в примере 127.0.0.1 (или всю свою подсеть вида 192.168.1.1/24 или 192.168.0.0/16); его можно узнать на Switch в Системных настройках > Интернет:

location/{
root html;
index index.html index.htm;
}
location /Nintendo/Switch/ {
allow 127.0.0.1;
deny all;
autoindex on;
}

Сохраните конфиг, запустите nginx.exe, разрешив программе доступ в сеть, затем скопируйте нужную игру в локальную папку /nginx/html/Nintendo/Switch/ на ПК, а на Switch выберите строку «Home server». Получаем обычный интерфейс инсталляции файлов, и можно начать устанавливать все игры по сети, после чего, при желании веб-сервер можно остановить через nginx -s stop.

В качестве адреса сервера, можно использовать и доменное имя в интернете, например, своего удалённого VPS — лучше с HTTP Basic-аутентификацией вида http://user:password@host:port/Nintendo/Switch/

Например:

ApacheHTTP|Network repo|http://127.0.0.1/Nintendo/Switch/
ApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/

Сгенерировать файл htpasswd, положить в /nginx/conf/, затем в nginx.conf изменить в блоке (пример):

  location /Nintendo/Switch/ {
			   satisfy all;
			   allow 127.0.0.1;
			   deny all;
			   auth_basic "Password Protected Area";
			   auth_basic_user_file htpasswd; 
   autoindex on;
  }

Логин «switch», пароль «pwd»:

Файл htpasswd:

switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk=

Browse installed applications / Просмотр установленных игр

В Browse installed applications можно посмотреть список установленных программ, обновлений, DLC к ним, по отдельности их занимаемый объём и версию, порядковую и в HEX-формате, их titleID, посмотреть общее время игры и количество запусков, наличие установленного LayeredFS-мода к игре (для Atmosphére).

Горячая клавиша для вызова этой опции из главного меню: кнопка (L):

Сверху в центре написано общее количество установленных игр и тип сортировки

2021062719353200

В квадратных скобках перед названием игры написана базовая информация о месте установки, составе и наличии мода игры. Отображается только то, что установлено. То есть, если буквы b в квадратных скобках нет, значит у игры не установлена сама базовая часть (в таком случае строка будет окрашена красным)

  • N/S/M/G - NAND/SD/Mixed/Gamecart - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed, а если на картридже - Gamecart
  • b - BASE - сама игра
  • u - Update - обновление игры
  • d - DLC - DLC игры
  • l - LayeredFS mod - наличие модификаций, читов или перевода, которые находятся в папке sdmc:/atmosphere/contents/%titleID%/

Нажав (L3) можно запустить игру прямо отсюда

Обратите внимание! Если игра выделена красным, значит не установлена её базовая часть, а установлено только обновление или DLC

Контекстное меню тайтла

2021062719354100

Отображается при нажатии на (+) на выбранных тайтлах (или тайтле)

В верху контекстного окна отображается количество выбранных тайтлов и их размер

  • Delete title / Удалить - удалить выбранные тайтлы
  • Move title to SD/NAND / Переместить в NAND/SD - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта
  • Reset required version / Сбросить требуемую версию - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere)
  • Check integrity / Проверить целостность - проверка целостности данных выбранных тайтлов
  • Expose contents via MTP / Открыть контент по MTP - смонтировать содержимое выбранных тайтлов по MTP
  • Dump to SD / Сдампить на SD - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию switch/DBI/dumps)
  • Content info / Информация о контенте - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)

Если нажать на тайтле кнопку (A), то откроется детальное меню игры

Детальное меню игры

Детальное меню игры открывается, если нажать на тайтле кнопку (A), находясь в меню просмотра установленных игр (Browse installed applications / Просмотр установленных игр)

2021062719353600

Отображается иконка игры, TitleID, название (Name / Имя), автор (Author / Автор), версия (Version / Версия), поддерживаемые языки (Language / Языки) и наличие LFS-мода (LFS-mod / LFS-мод.)

Так же здесь можно узнать количество времени, проведённого в игре (Total play time / Общее время игры), сколько раз игра была запущена (Total launches / Общее число запусков), сколько она весит (в целом (Total occupied space / Общее занимаемое место), а так же сколько места занимает в NAND (Space in NAND / Место в NAND) и на SD (Space on SD / Место на SD)), размер сохранений (Total saves size / ****) и какой язык у игры активен (Forced Language / Форсированный язык)

Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками (L) и (R)

  • Content records / Контент
  • Tickets / Тикеты
  • Saves / Сохранения

Content records / Контент

2021062719354800

Информация показана в следующем виде:

[Location] Type | version [version number] | Size

Location - NAND или SD, в зависимости от места, в которое установлен контент Type - Application для базовой игры, Update для обновления, Addon для DLC, причем рядом с последним будет указан номер самого DLC version [version number] - версия контента в dec и [hex] (например, 786432 это 0.12.0.0) Size - занимаемое место

При нажатии на контенте кнопкой (A), можно посмотреть его содержимое. Содержимое можно скопировать, выбрав соответствующий пункт в контекстном меню (напоминаю, открывается по нажатию кнопки (+)). Содержимое открывается в режиме "только для чтения".

При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню:

  • Delete record / Удалить - удалить выбранную запись
  • Move records to SD/NAND / Переместить в SD/NAND - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта
  • Reset required version / Сбросить требуемую версию - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere). Не поможет, если игра собрана на новой версии SDK
  • Force language / Форсировать язык - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле Forced Language
  • Check integrity / Проверить целостность - проверка целостности данных выбранных тайтлов
  • Expose contents via MTP / Открыть контент по MTP - смонтировать содержимое выбранных тайтлов по MTP
  • Dump to SD / Сдампить на SD - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию switch/DBI/dumps)
  • Content info / Информация о контенте - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)

Tickets / Тикеты

Ticket (или encrypted title key) — это зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (000 в конце titleID)/обновления (800 в конце titleID)/каждого DLC.

Отображаются установленные для контента тикеты:

  • Personalized ticket / Персонализированный тикет (личный) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть уникальный для каждой учетной записи
  • Common ticket / Общий тикет - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх

Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. А в Common-тикетах нет шифрования, только подпись.

При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню, где можете удалить выбранные тикеты.

Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC. Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.

Saves / Сохранения

Просмотр и удаление сохранений. Если сохранения нет, его можно создать через контекстное меню (кнопка (+)) для выбранного аккаунта. Если оно есть, то:

  • Backup / Сделать бекап - сделать резервную копию сохранения. По-умолчанию она будет расположена в папке switch/DBI/saves
  • Restore / Восстановить бекап - восстановить резервную копию сохранений
  • Save info... / Информация о сохранении... - подробная информация о сохранении, например, тип, размер, имя аккаунта и т.п.
  • Increase save size / Увеличить размер - Увеличивает место, выделенное под сохранение на заданное значение
  • Delete / Удалить - удалить сохранение

Browse tickets / Просмотр тикетов

Просмотр и удаление тикетов игр. Ticket (или encrypted title key) — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (000 в конце titleID)/обновления (800 в конце titleID)/каждого DLC.

  • (+) означает наличие установленной игры
  • [c] (Personalized ticket / Персонализированный тикет (личный)) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть зашифрован уникальным ключем вашей консоли
  • [p] (Common ticket / Общий тикет) - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх

Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. А в Common-тикетах нет шифрования, только подпись.

Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC.

Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.

Контекстное меню тикетов

Отображается при нажатии на (+) на выбранных тикетах

В верху контекстного окна отображается количество выбранных тикетов

  • Delete tickets / Удалить - удалить выбранные тикеты
  • Select same game / Выбрать ту же игру- выделить все тикеты, относящиеся к выделенной игре

Tools / Инструменты

  • Cleanup orphaned files / Очистка потерянных файлов - автоматически чистит ненужные файлы игр, файлы от прерванных установок игр, скачанное (официально) обновление OFW прошивки и все неиспользуемые тикеты игр, если они были найдены.
  • Delete parental controls / Удаление родительского контроля - полностью удаляет родительский контроль. Не требует перезагрузки
  • Delete user... / Удаление пользователя - полностью удаляет выбранного пользователя из системы (сохранения удаленного пользователя остаются в системе)
  • Run random game / Запустить случайно игры - запускает случайную игру из установленных
  • NTP time sync / Синхронизация времени по NTP - синхронизирует время на консоли с удаленным сервером синхронизации времени. Для работы необходимо подключение к интернету и правильно выставленный часовой пояс в настройках консоли
  • Check for title updates / Проверка обновлений игр - проверяет обновления и новые DLC для установленных игр. База для проверки устанавливается в настройках

Browse saves / Просмотр сохранений

Просмотр и удаление сохранений.

В общем виде сохранения показываются так:

[Account] Game-Name Backup-date Size

  • Account - показывает имя аккаунта для которого был создан сейв, если тип сейва Account, если тип сейва другойб показывает его тип
  • Game-Name - показывает название игры для которой был создан сейв
  • Backup-date - показывает дату создания бекапа, отображается только во вкладке Backup
  • Size - размер сохранения или бекапа

Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками (L) и (R)

  • Installed / Установленные - показывает сохранения для всех установленных игр
  • Uninstalled / Удалённые - показывает сохранения для всех не установленных игр
  • Backups / Бекапы - показывает созданные бекапы

Контекстное меню Installed / Установленные и Uninstalled / Удалённые

Отображается при нажатии на (+) на выбранных сохранениях

  • Backup / Сделать бекап - сделать бекап выбранных сохранений
  • Open / Открыть - открыть сохранение
  • Save info... / Информация... - информация о сохранении (Id, тип, размер, время создания и прочее)
  • Delete / Удалить - удалить выбранные сохранения
  • Select same app / Выбрать ту же игру - выделить все сохранения, относящиеся к выделенной игре
  • Browse app(s) / Просмотреть игры - перейти на карточку выбранных игр. Переключаться между карточками можно кнопками (ZL)/(ZR). Только во вкладке Installed / Установленные

Контекстное меню Backups / Бекапы

Отображается при нажатии на (+) на выбранных сохранениях

  • Validate saves / Проверка сохранений - проверить целостность сохранений
  • Restore / Восстановить бекап - восстановить бекап выбранных сохранений
  • Open / Открыть - открыть сохранение
  • Delete / Удалить - удалить выбранные сохранения
  • Browse app(s) / Просмотреть игры - перейти на карточку выбранных игр. Переключаться между карточками можно кнопками (ZL)/(ZR)
  • Select same user / Выбрать того же пользователя - выделить все сохранения, относящиеся к определенному пользователю

Если в списке на одну игру, одного пользователя выбрано несколько бекапов, то восстановится только самый свежий.

Run MTP responder / Запустить MTP соединение

Run MTP responder / Запустить MTP соединение включает встроенный в DBI MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). Горячая клавиша для вызова этой опции из главного меню: кнопка (X) (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно:

изображение

Где: 1: SD Card, для просмотра, копирования и удаления файлов и папок c/на ПК и с/на карту памяти SD. В случае, если размер файла превышает 4Гб, DBI автоматически разобьёт его на фрагменты специальным образом, чтобы свитч видел такой файл как цельный

2: NAND User, просмотр, копирование файлов и папок на ПК с внутренней память Switch, в его системный раздел USER (раздел доступен только для чтения).

3: NAND System, просмотр, копирование файлов и папок на ПК с внутренней памяти Switch, в его системный раздел SYSTEM (раздел доступен только для чтения).

4: Installed games, для просмотра установленных игр.

В Installed games отображаются все игры как в NAND, внутренней памяти Switch, так и установленные на карту памяти, все вместе. Чтобы сделать дамп (дистрибутив) установленный игры себе на ПК в формате .NSP, просто скопируйте папку с названием игры из Installed games на свой ПК, при этом на базе вашего personalized-тикета генерируется общий common-тикет с полностью очищенной личной информацией. Вы получите дамп этой игры в виде раздельных файлов - отдельно саму игру, отдельно обновление и DLC. Если для игры были установлены читы или моды, они будут находится в папке Mods & Cheats. Так же можно получить скомбинированный дамп, в котором в один файл будет склеяны сама игры, все её DLC и обновление. Такой файл лежит прямо в корне раздела Installed games.

Здесь так же хранится сгенерированный dbi InstalledApplications.csv, с таблицей списка установленных игр, их TitleID и текущей версии.

5: SD install
Скопируйте в эту папку ваши NSP/NSZ/XCI или XCZ. По окончанию копирования игра будет установлена на карту памяти вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.

6: NAND install: Скопируйте в эту папку ваши NSP/NSZ/XCI или XCZ. По окончанию копирования игра будет установлена во внутреннюю память вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.

7: Saves: Доступ ко всем сохранениям игр — в аккаунтах (Account), системных программ (System), в Background Content Asymmetric synchronized delivery and Transmission (BCAT, пример: ивенты в ACNH), временных (Temporary), кэш (Cache, пример: аддоны в DOOM), системных BCAT (SystemBCAT), — хранящимся во внутренней памяти Switch

В папке Installed games — сохранения для имеющихся установленных сейчас игр

Uninstalled games — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения.

Для того, чтобы восстановить сохранения, скопируйте их в соответствующую папку с ПК. DBI не требует предварительного запуска игры для восстановления сохранения, однако это касается только обычных сохранений. BCAT или Cache сохранения требуют предварительного запуска игры перед восстановлением.

8: Album: доступ к скриншотам и видеороликам (Альбому), точно так же, как это сделано в OFW 11.0.0 Nintendo.

9: Gamecard: при вставленном в Switch игровом картридже появляется возможность скопировать его дамп в .XCI либо trimmed .XCI на ПК, вместе со встроенным в него обновлением, если оно есть, с уже убранным его персональным RSA-сертификатом; кроме того, возможно отдельно экспортировать его сертификат

Также, на дисплее Switch после включения MTP-сервера появится окно с вашим ником учётной записи и его UID, а также количеством игровых сохранений:

2021041013152900

Чтобы выключить MTP-сервер и выйти в главное меню, нажмите кнопку (X) или (B).

Activity Log / Настройки активности

Показывает графики активности в играх по датам для всех имеющихся пользователей для каждой конкретной игры.

При запуске показаны две вкладки, которыми можно переключаться кнопками (L) и (R):

Горячие клавиши:

  • (L)/(R) - переключение на соседнюю вкладку
  • (ZL)/(ZR) - смена даты
  • (Y) - смена периода отображения: всё время, день, месяц, год
  • (X) - сортировка: по названию игры, по числу запусков, по времени проведенному в игре
  • (+) - выбор пользователя для отображения

Applications / Запускавшиеся игры

Показан список игр для которых есть статистика запуска. Вверху окна находится статусная строка следующего вида:

[игрок] период. Всего: количество часов (метод сортировки). Например, строка [Все игроки] 2023 Январь. Всего: 72 часа (по времени игры) будет означать, что на экране отображается статистика для всех игроков за январь 2023 года с сортировкой по времени игры, где наиграно 72 часа

Окно разделено на три колонки. Слева направо:

  • Название игры
  • Количество запусков
  • Количество времени проведенного в игре

При нажатии (А) на игре вы попадаете в Диаграмму активности для текущей игры, где показана статистика по выбранной игре. При нажатии (A) на пункте, вы переместитесь глубже (год -> месяц -> день -> час)

Activity / Диаграмма активности

Показана активность в виде диаграммы для всех игор сразу. Для перехода к диаграмме по конкретной игре, перейдите во вкладку Запускавшиеся игры и выберите игру для отображения

Configuration / Настройки DBI и параметры файла dbi.config

Менеджер конфигурации программы, позволяет легко настроить программу без редактирования dbi.config.

Ниже будут описаны пункты конфигурации через GUI/ Пункты, которым они соответствуют в dbi.config будут указаны в скобках.

true в конфиге соответствует Yes / Да в настройках, false - No / Нет

General / Общие ([General])

  • Use external USB drives / Использовать внешние USB (UseLibUsbHsFS) - true включает библиотеку libusbhsfs для работы с внешними USB-накопителями через USB-OTG на Switch, false отключает её.
  • Direct exit to homescreen / Выход на рабочий стол (ExitToHomeScreen) - при false выход из dbi происходит в hbmenu, при true на рабочий стол Switch.
  • Log events & operations / Журналирование действий (LogEvents) - сохранять или нет логи для событий "Install", "Check integrity" and "Cleanup"
  • Highlight update files / Подсвечивать файлы обновлений (HighlightUpdates) - подсвечивать или нет в файловом менеджере обновления для установленных игр
  • Rotate screen upside down / Перевернуть экран (RotateScreen) - переворачивает экран на 180 градусов
  • Rotate joycon upside down / Перевернуть джойконы (RotateJoycon) - переворачивает управление, чтобы соответствовать перевёрнутому экрану
  • Use under/over clock / Использовать разгон (OptimizeClockSpeed) - отключает оптимизацию частоты SoC в простое. Отключено по-умолчанию, поскольку может привести к лагам на стартовом экране при некорректном выходе из DBI! Корректный выход - через пункт меню Exit.
  • Browse saves in RO mode / Сохранения только в RO режиме (ROSaveFS) - просматривать сохранения в режиме только для чтения
  • Show 'Update From Here' / Показывать 'Обновить отсюда' (ShowUpdateFromHere) - показывать кнопку "Update all titles" в контекстном меню для автообновления установленных игр из всех (SD/USB/HTTP/FTP) доступных источников
  • Save backup folder / Папка для бекапа сохранений (SavesFolder) - папка для хранения дампов сохранений
  • Logs folder / Папка журналов (LogsFolder) - папка для хранения логов
  • Title dumps folder / Папка для дампа игр (DumpsFolder) - папка на карте памяти в которую будут дампиться игры
  • Version info URL / URL для проверки обновлений (VersionsURL) - может принимать прямую ссылку на файл на уудалённом сервере, либо на файл на карте памяти. Примеры: https://raw.githubusercontent.com/blawar/titledb/master/versions.txt или sdmc:/versions.txt
  • Show cache warming indicator / Показывать прогрев кеша (ShowCacheWarmingIndicator) - показывать уведомление о кешировании информации об установленных программах
  • Put cursor down after selection / Смещать курсор после выделения (MoveDownAfterX) - сдвигать или нет курсор после отмечания игры кнопкой (X)
  • Screen idle time in seconds / Время гашения экрана в секундах (ScreenIdleTimeout) - таймаут гашения дисплея
  • Autorepeat buttons when holding / Автоповтор кнопки при удержании (Autorepeat) - перемещаться по меню удерживанием кнопки
  • Cursor on both panels / Курсор на обеих панелях (Secondcursor) - отображать или нет курсор на неактивной панели

Есть в конфиге, но нет в меню:

  • AppSorting - опции для сортировки списка приложений
  • SaveSorting - опции для сортировки сохранений

Main menu / Главное меню ([MainMenu])

Настройки пунктов меню, которые будут отображаться в главном меню DBI. Yes / Да в настройках, соответствует true в конфиге, No / Нет - false

  • Browse SD Card / Просмотр SD карты (BrowseSD) - пункт "Browse SD Card / Просмотр SD карты", для установки игр с Sd карты
  • Browse SYSTEM / Просмотр раздела SYSTEM (BrowseSystem) - возможность просматривать и копировать файлы из раздела SYSTEM
  • Browse USER / Просмотр раздела USER (BrowseUser) - возможность просматривать и копировать файлы из раздела USER
  • Browse USB / Просмотр USB носителей (USBHost) - пункт "Browse USB0 Drive / Просмотр USB0 диска, для установки игр с внешнего USB
  • Install from USB / Установка через DBIbackend (BackendInstall) - пункт "Install title from DBIbackend / Установка через DBIbackend"
  • Install from Gamecard / Установка с картриджа (GameCard) - пункт "Install title from Gamecard / Установка с картриджа", для установки содержимого картриджа в память консоли
  • Browse network / Просмотр сети (Network) - пункт "Home server / Подключение к серверу...", для установки игр с домашнего веб-сервера
  • Browse SD shortcuts / Закладки на SD (Local) - показывать или нет ссылки на папки из раздела Local sources
  • Browse applications / Просмотр установленных игр (BrowseApps) - пункт "Browse installed applications", для управления установленными приложениями
  • Cleanup orphaned files / Очистка потерянных файлов (Cleanup) - пункт "Cleanup orphaned files / Очистка потерянных файлов", для очистки "осиротевших" файлов с карты памяти
  • Check title updates / Проверка обновлений игр (UpdateCheck) - пункт "Check for title updates / Проверка обновлений игр", для проверки обновлений и DLC для установленных игр
  • Browse tickets / Просмотр тикетов (Tickets) - пункт "Browse tickets / Просмотр тикетов", для управления тикетами
  • Browse saves / Просмотр сохранений (Saves) - Browse saves / Просмотр сохранений
  • Run MTP responder / Запустить МТР соединение (MTP) - пункт "Run MTP responder / Запустить MTP соединение", для запуска MTP
  • Run FTP server / Запустить FTP сервер (FTP) - пункт "Run FTP server / Запустить FTP сервер", для запуска FTP

Applications / Установленные игры ([Applications])

  • Show LFS folder size (slow) / Показывать размер LFS (долго) (CalculateLFSSize) - включает или отключает подсчёт размера установленных LFS-модов. Если включено, может повлиять на скорость открытия меню "Browse installed applications"

Install options / Параметры установки ([Install])

  • Check hash during install / Проверять хэш при установке (CheckHash) - при true проверяются хеши .nca-файлов при установке игр на Switch, при false - нет
  • Chunked HTTP/FTP transfer / Блочная передача по HTTP/FTP (ChunkedTransfer) - использование чанковую передачу данных по HTTP

MTP options / Параметры MTP ([MTP])

  • Show combined NSP / Показывать объединённый NSP (ShowCombinedNSPInInstalledGames) - false выключает показ комбинированных (multi-title .NSP-file) тайтлов.
  • Show 'Mods & Cheats' folder / Показывать папку 'Mods&Cheats' (ShowMACInInstalledGames) - false выключает показ виртуальной директории Mods & cheats в пункте Installed games в MTP, перенаправляющей по пути sdmc:/atmosphere/contents/TITLEID/ на карту памяти
  • Use TitleID for 'Mods & Cheats' / Использовать для неё TitleID (MACasTID) - отображать папку "Mods & Cheats" в режиме MTP в виде TitleID
  • Turn off screen / Выключать экран (TurnOffScreen) - отключать или нет экран консоли при подключении её в режиме MTP
  • Android extensions (ReportAndroidExtension) - использовать или нет соответствующий набор команд при работе по MTP. Иногда ПК клиенты на базе libmtp (Mac или linux) не корректно распознают девайс в связи с чем может упасть скорость передачи данных. В таких случая рекомендуется попробовать изменить эту настройку.

Есть в конфиге, но нет в меню:

  • LogAllFilesfalse выключает логирование файлов меньше 4Мб при работе с MTP, при true логируются все файлы.

MTP storages / Хранилища MTP ([MTP Storages])

Показ соответствующих элементов при работе MTP Responder с ПК/Android, по умолчанию все пункты включены для отображения.

true - отображать в главном меню, false - нет

Названия пунктов соответствуют названиям разделов

  • SD Card (1: SD Card)
  • Nand USER (2: Nand USER)
  • Nand SYSTEM (3: Nand SYSTEM)
  • Installed games (4: Installed games)
  • SD Card install (5: SD Card install)
  • NAND install (6: NAND install)
  • Saves (7: Saves)
  • Album (8: Album)
  • Gamecard (9: Gamecard)
  • Show custom storages / Пользовательские хранилища (CustomStorages) - отображать или спрятать кастомные пункты меню, прописанные в секции MTP custom storages

FTP options / Параметры FTP ([FTP])

  • Turn off screen / Выключать экран (TurnOffScreen) - выключать экран при входе в режим FTP
  • Start local Access point / Запускать точку доступа (UseAP) - работа Switch в режиме точки доступа, к которой FTP-клиенты могут подключаться напрямую. Ниже настройки этой точки доступа
  • Read file date / Читать дату файлов (ReadMT) - читать или нет дату изменения файла

Access point / Точка доступа ([Access point])

  • SSID (SSID) - название точки доступа
  • Password / Пароль (Password) - пароль
  • Use 5 GHz / Использовать 5 GHz (Use5GHz) - использовать ли 5 гигагерц. Если выключено, то будет работать в режиме 2.4 Ггц
  • Use hidden SSID / Использовать скрытый SSID (Hidden) - скрывать SSID для поиска. То есть подключиться можно будет только введя указанный SSID

Есть в конфиге, но нет в меню

Задаются имена и адреса для установки игр по сети (через WiFi/LAN-адаптер)

NSP Indexer - адрес для индексации NSP (подробнее)

Local sources

Создание пунктов меню с быстрым доступом к выбранным в конфиге папкам на карте памяти («ярлыки»), например:

Homebrew Shortcut=sdmc:/switch создаст в главном меню пункт "Homebrew Shortcut", который откроет папку sdmc:/switch

MTP custom storages

Кастомные пункты для MTP-режима для быстрого доступа к папкам на вашей карте памяти. Формат: <отображаемое_имя папки>=<путь>, например: Homebrew=sdmc:/switch. В режиме MTP появится папка Homebrew, ссылающаяся на папку switch на вашей карте памяти

Title name override

Позволяет изменить имя отображаемого тайтла. Например, если указать 10023901191C000=Naheulbeuk, то в приложении вместо The Dungeon of Naheulbeuk: The Amulet of Chaos будет отображаться просто Naheulbeuk

Exit / Выход

Exit / Выход — выход из программы в HOS, минуя hbmenu, либо в hbmenu (это настраивается в dbi.config); если dbi был запущен из тайтла/форвардера, программа перезагрузится либо останется на чёрном экране.

Уведомления и коды ошибок

УВЕДОМЛЕНИЯ:

Отображаются оранжевым цветом. Это НЕ ошибки!

  • [SIGNATURE: Invalid] / [ПОДПИСЬ: OK], [SIGNATURE: XCI->NSP] / [ПОДПИСЬ: XCI->NSP], [HASH NOT MATCHED TO META] /[ХЕШ НЕ СОВПАДАЕТ], [HASH FIXED IN META] / [ХЕШ ИСПРАВЛЕН] — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера.
  • HASH MISMATCH — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch. Если игра не запускается или запускается с ошибкой, попробуйте переустановить её снова, проверить либо заменить USB-кабель/SD/сменить USB-порт.
  • [DELTA SKIPPED] / [ДЕЛЬТА ФРАГМЕНТ НЕ НУЖЕН] — это НЕ ОШИБКА, а уведомление, что ненужные фрагменты в файле обновления были пропущены, если они в нём были, как и было должно.
  • No tickets found» / «Тикеты не найдены — это НЕ ОШИБКА, на работоспособность игры не влият, но информирование, что игра без тикетов. Она может быть дампом из .XCI-картриджа или переконвертирована в Standard Crypto.
  • Application uses AddonContent titleId / Игра использует titleId от дополнения, Application uses Update titleId / Игра использует titleId от обновления — это НЕ ОШИБКА, обычно это указывает на homebrew-игру в .NSP, созданную не по стандартам, к примеру, когда в Application-тайтл (основную игру, v0) добавили и AddonContent-флаг (DLC). Если такая игра запускается и работает, тогда всё в порядке.
  • This application base is not stand alone. Make sure you installed update / База этой игры не самодостаточна. Не забудьте установить обновление - при установке новых Sparse Storage игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском.

ОШИБКИ:

  • USB communication failed / Ошибка USB обмена — проверьте/замените USB-кабель и USB-порт на ПК.
  • Cannot parse content meta / Невозможно разобрать content meta:
    • Old firmware / УСТАРЕВШАЯ ПРОШИВКА — ваша прошивка слишком устарела для анализа метафайла. Обновите CFW и системное ПО до последних версий
    • Unexpected error / Неожиданная ошибка — файл поврежден. Проверьте и перекачайте файл.
  • Invalid PFS0 magic! / Ошибка PFS0 magic" — перекачайте установочный файл игры и проверьте его целостность, этот файл повреждён.
  • [INVALID NCA MAGIC] / [ОШИБКА NCA MAGIC] — обновитесь на последнюю версию OFW и CFW, если ошибка сохраняется после этого, перепроверьте целостность установочного файла игры.
  • Installation aborted / Установка прервана — ошибка в передаче данных, перепроверьте и при необходимости замените USB-кабель/USB-порт между Switch и ПК. Также обязательно убедитесь, что у вас установлена самая последняя версия программы, как вот в этом посте.
  • Nothing to install / Нечего устанавливать в окне выборе файлов — переименуйте файл без спецсимволов, иероглифов или кириллицы в имени и пути к нему.
  • Transfer error / Ошибка при передаче, [TRANSFER CRC ERROR] / [CRC ОШИБКА ПРЕДАЧИ], [TRANSFER ABORTED] / [ПЕРЕДАЧА ПРЕРВАНА] — проверить соединение USB-C кабеля и USB-порта, проверить с другими USB-C-кабелями, целостность файла игры и карту памяти на ошибки, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R), а не в режиме апплета через альбомы.
  • Error occurred: Invalid argument — обновите ваш dbi на последнюю версию.
  • SOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE / ЧАСТЬ КОНТЕНТА ОТСУТСТВУЕТ. ИГРА НЕ БУДЕТ РАБОТАТЬ — битая файловая система карты памяти, или нерабочая/некачественная флешка. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.
  • [NOT ENOUGH SPACE] / [НЕДОСТАТОЧНО МЕСТА], [CAN NOT CREATE PLACEHOLDER] / [НЕ СОЗДАТЬ ПЛЕЙСХОЛДЕР] — не хватает места на карте памяти/NAND, освободите его побольше, либо проблема с картой памяти. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.
  • Extra buffers exceeded. Media write speed is too low / Закончились дополнительные буферы. Скорость записи на носитель слишком низка, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R); альтернативно — через NSP-форвардер, и использовать более быструю SD-карту с другим USB-кабелем/портом.
  • No tickets found but they are required / Не найдены требуемые тикеты — некорректный (неполный, без тикета но с titlerights) дамп игры, найдите другой.
  • Invalid personalized ticket / Неподерживаемый персонализированный тикет, в конце установки игры при инсталлировании .tik-тикета — некорректный дамп игры, где вместо common-тикета остался персонализированный с той консоли, на которой была куплена игра; скачайте другой, корректный дамп.
  • No ES sigpatches! / Отсутствуют ES сигпатчи! — не все, либо устаревшие, либо некорректно или не установленые сигпатчи на консоли, установите их самую новейшую версию.

Цветовые коды:

  • Общее
    • WHITE on BLACK BG - файл в фокусе
    • BLUE - выделенный файл (кнопкой (X))
  • В меню "Browse SD Card"
    • WHITE - папка
    • LIGHT GREY - файл
    • DARK GREY - установленная игра
    • GREEN - обновление и/или DLC для уже установленной игры
  • В меню "Browse installed applications"
    • WHITE - установленная игра
    • RED - установлен апдейт и/или DLC, без самой игры
  • В логах при установке:
    • GREEN - завершено без ошибок
    • ORANGE - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш
    • RED - ошибка. Файл не был установлен.
  • В логах после установки:
    • GREEN - завершено без ошибок
    • YELLOW - завершено без ошибок, но с предупреждениями
    • RED - завершено с ошибками

dbi.config

Файл dbi.config отвечает за хранение настроек программы. Он находится рядом с DBI.nro.

Рассмотрим его содержимое:

; General settings
[General]
; Use libusbhsfs for access to USB mass storage drives connected to switch or dock
UseLibUsbHsFS=true
; Direct exit to homescreen
ExitToHomeScreen=false
; Folder where saves backups are stored
SavesFolder=sdmc:/switch/DBI/saves/
; Log "Install", "Check integrity" and "Cleanup" processes
LogEvents=false
; Folder where logs are stored
LogsFolder=sdmc:/switch/DBI/logs/
; Folder where game dumps are stored
DumpsFolder=sdmc:/switch/DBI/dumps/
; Sorting options for application list
AppSorting=LastPlayed,InstallLocation,Size,Name
; Sorting options for save list
SaveSorting=AppLastPlayed,AppName,UserUid,Size,SaveId
; Highlight files with updates to curently instaled titles in file browsers
HighlightUpdates=true
; Rotate screen upside down
RotateScreen=false
; Rotate joycons
RotateJoycon=false
; Underclock CPU in menues to reduce battery usage
OptimizeClockSpeed=false
; URL with title versions in format <id>|<rightsId>|[version]
VersionsURL=https://raw.githubusercontent.com/blawar/titledb/master/versions.txt
;VersionsURL=sdmc:/versions.txt
;Browse saves FS in Read-only mode
ROSaveFS=true
; Show "Update all items from here..." in context menu of file browsers
ShowUpdateFromHere=false
; Show cache warming spinner
ShowCacheWarmingIndicator=true
; Move cursor down after selection
MoveDownAfterX=true
; Screen idle timeout in seconds
ScreenIdleTimeout=0
; Auto repeat nav. buttons when holding
Autorepeat=true
; Show cursors on both panels in two-panel browsinig mode
Secondcursor=false
; Backup saves before delete
FoolproofSaveDelete=true

; Visibility of main menu items
[MainMenu]
; Browse and install files from SD card
BrowseSD=true
; Browse and copy files from SYSTEM partition
BrowseSystem=false
; Browse and copy files from USER partition
BrowseUser=false
; Browse and install files from USB flash drives and HDD
USBHost=true
; Browse and install files from PC via dbibackend
BackendInstall=true
; Install game from inserted game cartridge
GameCard=true
; Browse and install files from configured network sources
Network=true
; Browse and install files from configured sd card folders
Local=true
; Browse installed applications
BrowseApps=true
; Clean up files left from bad installs/old updates/unused tickets and so on
Cleanup=true
; Check for app updates
UpdateCheck=true
; View where you can view or delete installed tickets
Tickets=false
; View where you can view or delete game saves
Saves=true
; MTP responder
MTP=true
; FTP Server
FTP=true

[Applications]
; Whether check or not LFS mod size
CalculateLFSSize=false

; Install options
[Install]
; Check NCA hash during install
CheckHash=true
; Use chunked HTTP transfer (good in bad environments)
ChunkedTransfer=false

; MTP options
[MTP]
; Log all files, if disabled transfer shows only for files >= 2M
LogAllFiles=false
; Show or not NSP that includes base game, latest update and all DLC in single multi-title file
ShowCombinedNSP=true
; Show or not virtual "Mods & cheats" folder that redirects to sdmc:/atmosphere/contents/TITLEID
ShowMAC=true
; Use TitleID for "Mods & cheats" folder
MACasTID=true
; Show user defined shortcuts to MircoSD folders as separate storages
CustomStorages=true
; Turn screen off on start MTP mode
TurnOffScreen=false
; Report android extension (some initiators thinks that android has bugs)
ReportAndroidExtension=true

; FTP options
[FTP]
; Turn screen off on start FTP mode
TurnOffScreen=false
; Start local access point for FTP server
UseAP=false
; Read file modification time (can slow down on large dirs)
ReadMT=false

; Access point options
[Access point]
SSID=
Password=
Use5GHz=true
Hidden=false

;Enable or disable various MTP storages
[MTP Storages]
1: SD Card=true
2: Nand USER=false
3: Nand SYSTEM=false
4: Installed games=true
5: SD Card install=true
6: NAND install=true
7: Saves=true
8: Album=true
9: Gamecard=true

; Network install sources
[Network sources]
; <display name>=<type>|<URL>
; NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI
; Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/
; Test FTP=FTP|ftp://anonymous:[email protected]:2121/

; Main menu shortcuts to SD card locations
[Local sources]
; <display name>=<path>
Homebrew=sdmc:/switch
; Contents=sdmc:/atmosphere/contents
; DBILogs=sdmc:/switch/DBI/logs

[MTP custom storages]
; <display name>=<path>
Homebrew=sdmc:/switch/
Screenshots=sdmc:/Nintendo/Album/

; Override for display name
; <UPPERCASED TID>=<Desired name>
[Title name override]
; 010023901191C000=Naheulbeuk

Описание каждого пункта в отдельности находятся в разделе настроек DBI

Другие возможности

Монтирование содержимого установленных игр по MTP

Перейдите в Browse installed applications / Просмотр установленных игр -> Выберите необходимые игры кнопкой (X) -> Нажмите (+) -> Expose contend via MTP

Бекап и восстановление сохранений по MTP

  1. Подключите приставку в режиме MTP по DBI
  2. Перейдите в папку Saves на вашем ПК
  3. Вы можете как скопировать сейвы на ПК, так и восстановить их, просто перетянув в эту папку

Использование DBI для установки модификаций

  1. Подключите приставку в режиме MTP по DBI
  2. Перейдите в Installed Games, в папку с названием вашей игры
  3. Перейдите в папку Mods & Cheats
  4. Поместите в папку Mods & Cheats ваш мод
  5. Будьте внимательны, вам нужно класть не саму папку с titleID игры, а её содержимое! Например, вы скачали перевод для игры Cadence of Hyrule, в виде архиве Cadence of Hyrule.rar. Внутри этого архива вы видите папку с TitleID игры - 01000B900D8B0000. Вам нужно распаковать архив, перейти в папку 01000B900D8B0000 и скопировать всё содержимое папки в Mods & Cheats! Не саму папку 01000B900D8B0000, а всё то, что в ней находится! В данном примере, папку romfs

USB 3.0

DBI поддерживает работу по USB 3.0. Если вы используете kefir, то USB 3.0 активно по-умолчанию. В ином случае, нужно активировать эту функцию через конфигурационные файлы Atmosphere, прописав в atmosphere\config\system_settings.ini:

[usb]
usb30_force_enabled = u8!0x1

Важно - активация USB 3.0 может повлиять на работу беспроводных соединений Bluetooth и Wi-Fi на частоте 2.4 ГГц. Если у вас возникают проблемы с подключением беспроводных контроллеров или сетей Wi-Fi на частоте 2.4 ГГц, то не следует активировать USB 3.0. Связь через Wi-Fi на частоте 5 ГГц не пострадает.

Восстановление бекапа чистых пользовательских сохранений

Это нешифрованные сохранения, которые лежат в папке USER:/saves. В случае, если эмунанд поврежден, то эти сохранения можно достать через ПК или Tegra Explorer и восстановить через DBI.

Вы можете положить эти сохранения в папку с бекапами сохранений DBI (/switch/dbi/saves по умолчанию) и восстановить через стандартное меню восстановления сейвов (имя пользователя в таком случае будет взято в фигурные скобки {}), либо через контекстное меню, вызванное на файле такого сохранения.

Установка картинки в качестве аватара

Наведите курсор на нужную картинку и вызовите контекстное меню кнопкой (+). Выберите Set as avatar... / Установить как аватар. Выбранная картинка будет установлена в качестве аватара. Картинка автоматически будет сжата до квадратных пропорций и уменьшена для необходимого размера. Если хотите, чтобы картинка не деформировалась, то подготовьте её заранее.

Редактирование и просмотр файлов

Любой файл можно открыть как текстовый или в виде HEX. Не пустой файл открывапется в режиме просмотра, однако, клавиша (L3) переключит на режим режактирования. Рассмотрим оба режима отдельно.

Так же вы можете создать пустой текстовый файл из контекстного меню (вызывается кнопкой (+) > Создать новый файл...). При открытии пустого текстового файла, редактор запустится автоматически.

Режим просмотра файлов

Горячие клавиши:

  • DPAD / Левый стик / Правый стик - прокрутка текста
  • (L) / (R) / (ZL) / (ZR) - следующая / предыдущая страница (экран)
  • (R3) - смена режима просмотра текст или HEX
  • (L3) - переход в режим редактирования
  • (+) - контекстное меню

Контекстнрое меню:

  • Редактирование - переход в режим редактирования
  • Кодировка - изменить кодировку текста. Обратите внимание, что при смене кодировки в режиме просмотра, при закрыытии файла и повторном его открытии, кодировка не изменится
  • Перенос строк - переносить или нет текст на новую строку при достижении им края экрана

Режим редактирования файлов

Вы можете осуществлять редактирование текста перемещаясь по клавиатуре правым стиком и выбирая букву кнопокой (А).

Горячие клавиши:

  • Правый стик - перемещение по клавиатуре
  • DPAD / Левый стик - перемещение по тексту
  • (A) - выбор подсвеченного символа на клавиатуре
  • (X) - удалить символ (Backspace)
  • (B) - меню сохранения файла
  • (Y) - пробел
  • (L)+(ВЛЕВО) - Перейти в начало строки (HOME)
  • (L)+(ВПРАВО) - Перейти в конец строки (END)
  • (R)+(ВЛЕВО) - Перейти на следующее слово
  • (R)+(ВПРАВО) - Перейти на предыдущее слово
  • (ZL) - смена регистра
  • (ZR) - переход на следующую строку (Enter)
  • (R3) - смена языка
  • (L3) - переход в режим просмотра

При закрытии файла или переходе в режим просмотра, можно выбрать сохранять изменения или нет, если в файл вносились изменения

Благодарности

Спасибо SciresM за hactool (лицензия ISC) - DBI использует некоторые структуры данных, взятые оттуда.

dbi's People

Contributors

jerrywn12 avatar rashevskyv avatar teeedubb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dbi's Issues

Unable to force language

Hi,

My system language is Dutch but I would like to use English (e.g. for The Legend of Zelda).
When I go into the list of Installed Apps, I can select the game and then the option to 'Force Language' in the sub-menu for each item (base, updates & DLC).

The system shows 'System default' and a list of other languages (e.g. American English, Britisch English). However, when I select one of them nothing happens. I still see 'Forced language' set to 'System default' in the overview screen of the game, and also it shows all the supported language (e.g. RU, EN, FR, DE, ES IT, NL, JA, KO, ZH).

This is also happens with 'Super Mario Maker 2' (which only has a base application).

I tried many keys but it looks to me I should select it using the 'A-button' which is confirm in all of the menu, but it doesn't work (the list of languages just disappears)

I am using DBI version 312 with system version 12.0.3 and Atmosphere 0.19.5 and sigpatches.

Backend crashes on macos Big Sur

Hi!
Can't get the backend working.
It crashes with this result

andi@iPro-von-Andi ~ % python3 /Volumes/osX_DaTa/-=Benutzer=-/andi/Downloads/dbibackend\ (1)
macOS 11 or later required !
zsh: abort python3 /Volumes/osX_DaTa/-=Benutzer=-/andi/Downloads/dbibackend\ (1)

The plugin for the crash is
_tkinter.cpython-38-darwin.so
as it looks like

Crash report:
https://pastebin.com/YvGKP3V1

Thanks

URBANsUNITED

Error occur when uploading >4GB xci

It is fine, as older version I used (1.51)

after I upgrade to the latest one, this kind of error appear:

When my switch connect to PC with a usb cable, and upload a 6GB xci (any files over 4GB) with the MTP function, it success without warning. However when I exit and go to the album (in order to load the game), it must crash!

Then, I take out the micro-sd card from my switch and insert to PC with card reader
the micro-sd did not contain the XCI file, but it contain a folder name xxxxxxxx.xci, the folder inside it has files of 4GB and remainding 2GB.

So, I think the program has missed a process of joining the files (or some issue that without report errors)

I use SXOS. and dbi.nro
and this problem appear every time I upload file over 4GB

Thanks

Settings picked during title install do not stay

when changing title install settings they revert back to default after install is completed. is this intended behavior or did i miss a config change?

e.g. Install target: reverts back to auto

also will there be a "install all" option available?

Thank you

Feedback and bug for USB HDD installation (libusbhsfs)

Some feedback for the new USB HDD installation feature (Atmosphere 0.15.0 without fsp-usb running, Firmware 10.2.0):

  • Games install correctly but after exiting DBI you can get an error
  • After installing any game from USB HDD if you exit and open DBI again you will get a black screen and you are unable to open DBI again until you reboot the Switch
  • The installation speed seems slower, around 33% - 50% of what it was with fsp-usb (I used the same exFAT USB HDD to test)

Some improvement suggestions and ideas

As someone who uses DBI a lot here are my ideas and suggestions for improving the application as it exists at version 314.

Suggestion 1. Allow highlighting the user's language with a config entry for example LanguageHighlight=JA, right now only Russian is highlighted:

language

EDIT - IMPLEMENTED Suggestion 2. Add a method for changing the game name that DBI displays throughout the application and even MTP folders if possible. This would be very useful if you have several Japanese games installed for example as it can be difficult to find what you're looking for.

EDIT - FIXED Suggestion 3. Issue #46 - atmosphere no longer includes the contents folder by default so create the contents folder if it doesn't exist so that DBI can write the config.ini file

Suggestion 4. Issue #34 - this issue was closed but I agree with this, scrolling through the game list is painfully slow even with the shoulder button shortcuts and scrolling doesn't work with the d-pad.

Suggestion 5. Add the game name to the zip file created by the save game back up feature, this would make it much easier to find a specific save on your computer quickly at a glance and without needing to check the titleid or open the zip and check .dbi_save_info.ini edit: since the filename would probably be too long generating the zip file in a folder with the game name might be better

Suitable USB drive not found

In trying to dump to my external FAT32 HDD I get this error message. “Suitable USB drive not found.”

I find it odd because I can easily browse the drive with DBI, and also install from the drive.

I was wondering if it was a splitting file issue, due to the size limits of FAT32, but it happens with everything.

DBI 197 feedback

  • USB (MTP or dbibackend) does not work on firmware 11.0.0 and atmosphere 0.16.0 (second prerelease) and causes crash, it works on firmware 10.2.0 and atmosphere 0.16.0
  • DBI menu has laggy input response (fine in DBI 195)

How can I install games with http?

I cannot find any option related from the main menu.

How can I use http? I only find you mentioned "http" in readme but no more details ...

network install problem

Hi I try network install with dbi but I face issue. I start python http server, then I use ApacheHTTP|Network repo|http://ip:port/ file on dbi. dbi connect to my folder right away and I see all my files and I can choose any file but when I reach final "Install options" screen dbi says file is 0B and says "Nothing to install" at bottom of screen. I checked on other device this server and I can download the file, dbi has problem with python 3 http server?

Can't launch it.

Both files nro, config in sd:switch/dbi.

When launched, black screen:

'Fatal error when running atmosphere'
program id: 0100(lot of zeros)0000004
error desc: std: abort() called (0xffe)
press power to reboot.

dbi 260;
Firmware: 11.0.1;
atmosphere: 0.18.0

USB service sometimes is not closed properly.

Sometimes in Applet Mode when connected to PC using MTP Mode if I will exit from homebrew by pressing home button without closing connection first, PC cannot detect Switch anymore until I will restart Switch (this touches whole HOS).

This happens randomly, but already have this issue more than 5x in last 2 weeks.
Don't know if this happens in title replacement mode.

Had this issue on dbi 260 and 253, Atmosphere 0.18.1 and 0.19.1

Menu navigation speed

Thanks for the great homebrew, I use this a lot!

I just had a small thing I wanted to ask: could you look at increasing the menu navigation speed?

Currently you have support for left analogue stick, you can hold it down and it will move slowly through the list. You can also hold down on the d-pad but it will only move one item at a time.

I know you have ZR and ZL for jumping through the list but I'm talking about adding some acceleration after holding up or down so it will move quickly when holding down, it would improve navigating through large lists of games a lot. I hope that made sense, thanks.

DBI MTP SD card operations

I have noticed an issue with file management on the same drive via DBI's MTP, perhaps it's possible to change this?

nx-mtp does a simple file move:

  • Connect MTP and open External SD card, move file from folder 1 to folder 2 on SD card and file is moved instantly.

DBI does a copymove and delete:

  • Connect MTP and open External SD card, move file from folder 1 to folder 2, DBI first copies and then sends the file, then finally deletes the original. This process is very slow if it's a large file.

Suggestion for contents folder drive in DBI's MTP mode

Similar to Saves/Album/Installed games would it be possible to add another virtual drive with game identification for the contents folder over DBI's MTP responder? This would be really useful to quickly find games for adding/removing LayeredFS mods and/or cheats.

For example:
atmosphere/contents/0100000000010000

In DBI's MTP responder becomes:
9: Contents/Super Mario Odyssey
or maybe:
9: Mods and cheats/Super Mario Odyssey

Install title from USB - Driver issue fix

For those on Windows 10 with all the latest updates/patches/etc...

If your having issues with the "Install title from USB" where Windows doesn't detect your Switch, it could be that the drivers required to connect to your Switch is messed up.

I just recently started using dbi and the ability to install over USB from the PC was a great feature, saving time to having to copy the files to the sd card and then install.

I couldn't get this feature to work since my device manager on Windows, shows a "!" telling me no drivers installed.

However the "Run MTP responder" works fine, and my Windows can see the Switch, I tried to install using this method but from what I can see, it first copies the files to the Switch, then installs, whereas the "Install title from USB" feature installs on the fly, so it doesn't copy the files first, then install.

Long story short, user by the name of arabtm over on GBATemp found the solution HERE.

You basically need to install the tinfoil drivers and reg file then reboot, this fixed my issue, download links to the drivers and reg file are provided in the GBATemp post above.

Hope this helps others in similar situation.

The ‘Cleanup orphaned files` feature make some XCI to fail to work.

DBI:Version 197
SXOS:3.05

When I use the Cleanup orphaned files feature. It removes some files about Zelda and Xenoblade 1, and then their XCI doesn't work. Later, I fixed Xenoblade 1 by plugging in my Xenoblade 1 game card (this seems to have installed some tickets). I found this feature updated in version 200, but I don't know if you fixed it. (Sorry, I'm afraid to try this feature. I sold my Zelda game card, so I couldn't fix Zelda. I'm recreating the EmuNAND now...)

no nand install

hello great homebrew very usefull !
I have a little issue : the "nand install" does not appear in windows 10 explorer though the ini configuration file has this option
6: NAND install=true
Thanks for this homebrew !

ApacheHTTP url

I am developing a php script for NSP indexing.
My script will print a directory listing page if a $_GET parameter is in the url
example: index.php?DBI=true

i tried but DBI refuse to show the server probably because isn't a path of the server like /switch/
Is possible to implement an url like this in DBI so it can be used like this

Tanks

DBI and exiting

@rashevskyv and duckbill - sorry to open an issue again, I was going to comment in this issue #20 but you closed it and I wasn't sure if you would see my message since it's closed!

I wanted to make a suggestion that instead of having DBI skip hbmenu and return to the homescreen you restore the standard exit behaviour to DBI and instead patch the hbmenu itself with an easy exit option like the following, you could then include this hbmenu nro in the kefir custom firmware pack: HookedBehemoth/nx-hbmenu@6183fed

I understand why you added the hbmenu skip- you install a game with DBI and then it's annoying and slow to get back to the home menu by pressing the home button but you will find that patching hbmenu like this makes it really fast to get back to the home menu by hitting B a few times, not just for DBI but any homebrew.

One of the main uses of DBI is the MTP mode to transfer and adjust files, especially transferring new homebrew nros or files and then immediately going back to hbmenu to use them rather than being returned to the homescreen, which is why I believe it's better to patch hbmenu instead and solve the problem globally. Hopefully you'll consider this solution as I think it's much more elegant personally. Thanks.

[REQUEST] Background

Hi,
is it possible to add the possibility of placing a wallpaper or a choice of color
Thanks :)

cant read hdd/flashdrive

is can read over my mobilephone with mtp responder, but feature before with ams-kips is cant read hdd/flashdrive, for sure the menu also is gone, i run dbi over applet mode also try full ram access, isnt appear. i use latest atmosphere on 10.2.0 with latest sigpatches

Allow installations dock usb connected to pc

Can you allow It to install directly through the dock connected to pc?, I tried with an usb hdd, It works, but you have to transfer the files to It first and you lose time. Can you do It?

F2P games are corrupted when installing with DBI

F2P games are corrupted when installing with DBI. For example Warframe, or Rocket League's latest update (v2555904)

  • DBI will show 0% installation progress until it's finished but for example with dbibackend you can see the data is being sent
  • When installation is complete you will see a hash mismatch error for one of the ncas even if the original file is not corrupt
  • The game will not boot after installing

How to reproduce:

  • Install any F2P (free to play) game or update, I suggest Rocket League update v2555904 as Rocket League was recently changed into a free to play game

Hardrive not recognized

I am using the latest build 195.
Running atmosphere 15 on 10.2 firmware
I am also running DBI on NSP forwarder.
I have three hardrives all formated to exfat

Two of my hardrives are using an enclosure (1 tera western digital, 2 tera toshiba). These are working well with DBI.
The third hardrive is a western digital passport external hardrive. DBI simply hangs after I tried accessing the files inside. I already tried reformating it but still, it won't read. The light indicator for the hardrive stays still.

Note:
I have tried all three hardrives with tinfoil and they all work. I do not know what causes the error for DBI.

Thank you for your hard work updating DBI. I hope I am able to give good feedback that can help the program's improvement.

Incompatible with Atmosphere 0.19.5

I tried to use DBI with Atmosphere 19.5 and it simply crashes OS. The NRO shows an exclamation mark in hbmenu. I really need this app to fix data storage issues on my console. Is there anyway to make DBI work with current CFW ? Or is there a pending release to fix compatibility with current AMS?

In-app update?

Thanks for the brilliant app. It would be really convenient if DBI could update itself when a new version is available.

DBI 229 non-standard exit behaviour

In DBI 229 exiting the application skips hbmenu and immediately returns the user to the homescreen. Is this a bug or intentional?

If intentional would you consider making this behaviour optional?

dbi slow menu movement

Hi. I use dbi since very old version but with new version the menu cursor move very slowly after button press, can be fixed?

Transfer issue with openmtp

I've got a problem with transfer files from Mac to Switch.

When I try to send files through MTP, I've got an error at my DBI
image
Vice versa transfering is ok (from Switch to Mac)

Perhaps, it can be problem on openmtp, so I'll make an issue there and attach the link here.

I'm watching for this issue and ready to test any things.

Virus Detected on dbi backend

Hi all, i can't download the backend program, it says Failed - Virus detected. I can't work around this to allow me to keep the file anyway as even when i click that, the file still doesn't download

MTP does not work in versions after 175

I found that the version after 175 added "Checks the cable connection before starting the MTP".
But MTP does not work in versions after 175 in my computer.
It always stays at the countdown and then ends, and the computer does not respond.

DBI 286 - Installed application's page slow to load when large mod is present

Bug introduced with DBI 286 - opening an installed application's page with a large LayeredFS mod in place causes it to take 10+ seconds to open the page, on DBI 272 it was instant.

The mod is 12GB with many files. If I move or rename the titleid folder the page can be opened instantly again.

Edit - Realized that this was due to the new size check for LFS mods. Maybe allowing the size check for LFS mods to be turned off in dbi.config would be the solution.

Installing XCI files through MTP broken?

Running Atmosphere 0.18.1 and DBI 253 on firmware 11.0.1, Windows 8.1

Is it no longer possible to install XCI files through MTP? NSP installs continue to work without a problem. XCI files are rejected upon dragging them to the appropriate spot.
If I'm not mistaken it used to be possible. It's still possible through the dbi backend but that's somewhat less convenient than MTP.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.