SILENT_Pavel
Продвинутый
Сообщений: 182
Зарегистрирован: 15.07.2013
Рейтинг: 0
Сказал спасибо: 141
Поблагодарили 50 раз(а) в 38 сообщ.
|
Dreamshell - подробный FAQ
Относительно недавно узнал про существование Dreamshell и SD адаптера для дримкаста вообще, и стал изучать форум, наткнулся на общую проблему всех инструментов и самого Dreamshell - практические полное отсутствие "юзер-френдли" разжеванной документации для "домохозяек" и прочих новичков, искренне желающих понять, но имеющих гуманитарный склад ума к примеру. Или по крайней мере её дефицит на русском языке. Цель моего туториала не полная документация ко всем элементам Dreamshell, а его упрощенное описание жизненно необходимых для игры с карточки элементов и проблем, возникающих в процессе работы с этой целью.
Описание: операционная система для консоли Dreamcast. Служит для запуска игр с адаптера для флэш-карт, изменения региона и стандарта(при пропатченом BIOS ), содержит в себе файловый менеджер.Есть встроеная виртуальная клавиатура что позволяет работать в консоли.
Видеоинструкция по установке на английском
Альтернативный FAQ и инструкция на русском
Что нам нужно:
- Sega Dreamcast консоль с одним джоем и кабелями. Установка на примере косноли PAL, для JAP консолей надо использовать помеченный этим файл.
- Адаптер для SD карт, можно заказать например тут или спаять самому ориентируясь на схему, Альтернативная подробная инструция с картинками от alex
- Любая SD/SDHC карта не ниже 6 класса (а лучше 10) до 32 GB. Возможно использование через переходники microSD и miniSD, главное чтобы в них контакт был хороший, а то бывают они плохо прижимают карту.
- Компьютер/ноутбук/нетбук с кардридером, либо внешний кардридер со слотом для SD карт.
- Стандартная болванка CD-R и пишущий CD-ROM/DVD-ROM.
- Очень желательно иметь vga кабель (подробнее про его особенности и совместимость), т.к. картинка выглядит несоизмеримо лучше и Дримшел быстрее загружается не спрашивая видео режима плюс не будет никаких проблем с рамками и смещением.
Заказать можно например тут или спаять самому, это в помощь. (по моим личным тестам запуск игры с SD показывает лучше через RF-адаптер, чем через композит/с-видео, на первом появляется только смещение, а с композитом чаще после запуска игры изображение черное или постоянно моргает)
1. Если у вас PAL или американская консоль, то распаковываем файл " DreamShell_4.0.0_RC1_and_Boot_Loader.7z", если японская, то "DreamShell_4.0.0_RC1_and_Boot_Loader_jp.7z".
(скачать файлы можно тут: http://www.dc-swat.ru/page/dreamshell/)
2. Внутри файл " Boot_loader.cdi" пишем на болванку CD-R по этой местной инструкции, это будет наш загрузчик "софтмода".
3. Содержимое папки/саму папку из архива "DS" копируем прямо в корень отформатированной в FAT (12/16/32) SD карты памяти (подробнее о процессе в специальном отдельном спойлере). Так же распаковываем прямо в корень содержимое " Doom_DC.7z" - наша тестовая игра.
4. Вставляем SD карту в адаптер для Дримкаста, а сам адаптер в serial port (который под портом питания), в GD-ROM вставляем наш ранее записанный загрузчик Дримшела.
5. Включаем Дримкаст, дожидаемся загрузки вот этого экрана:
жмем "A" и тут важно, если у вас PAL консоль, то высветится предложение "press "Y" for 60Hz" - то и нажимаем, иначе не увидим изображения. На американках/японках или по vga кабелю такого сообщения не возникнет.
6. После загрузки "рабочего стола" жмакаем на голубую иконку "Iso Loader" и внутри одним нажатием кнопки "А" переходим в папку "SD" (с наведенным на неё курсором) где увидим содержимое нашей подключенной карточки в виде списка файлов с расширениями, выбираем нашу тестовую игру "Doom_DC.iso" и жмем два раза "А", появятся строчки, отображающие процесс загрузки игры с карточки. После его окончания диск можно вынимать или просто открыть крышку (Дримкаст не будет выходить в биос) при этом продолжая играть, если все сделали правильно.
Без модификации консоли этот процесс придется повторять каждый раз перед запуском игры с карточки.
Всё, мы научились запускать игры с SD карты.
Видеоинструкция на английском
Часть 2
Если вам лень возиться с конвертацией и вам не нужны русифицированные образы, то можно скачать готовые и проверенные тут.
1. Например берем RE Code Veronica на русском отсюда.
2. Распаковываем архив " ISO_Make_pack_v2.0.7z".
3. Монтируем скачанный mdf/cdi образ через Deamon Tools Lite и копируем все файлы монтированного образа в папку " data", что находится внутри папки нашего распакованного архива " iso_make".
Если между скопированными не было файла "IP.BIN", то читайте спойлер по извлечению его из проблемных игр. Еще файлов в монтированном образе может не оказаться на первый взгляд вообще, этот вопрос будет разбираться со следующим апдейтом статьи.
4. После чего жмакаем по батнику " hack_lba.bat", затем на " create_iso.bat" и ждем завершения процесса, появится новосозданный "isoldr_game.iso" его можно переименовать как угодно, например "Veronica.iso". (имя до 255 знаков, без пробелов)
5. Перекидываем наш Veronica.iso В КОРЕНЬ (строго рекомендую именно в корень) на SD карту и запускаем точно так же, как по инструкции под спойлером выше. Внимание: работают не все игры, подробнее в спойлере ниже.
На заметку: если в директорию apps/iso_loader/covers положить постер размером 256х256 в формате JPEG с таким же названием как у образа (например для Veronica.iso постер должен называться Veronica.jpg) он будет отображаться в приложении при выборе образа игры.
Многодисковые игры: один из способов состоит в том, что бы сохранить игру в конце первого диска и загрузить со второго, положив на карту диск 2 и включить его, работает с RE Code Veronica. Либо, если игра конкретно требует сменить один диск на другой и никак иначе, боюсь придется прожечь болванку и продолжать играть с диска как обычно, благо "виртуальный" дримшел никак не мешает запуску обычных болванок.
Примечание: как побочно-дополнительная функция запуска игр с sd карточки является форсирование vga режима при подключении по vga кабелю в играх, которые его не поддерживают и высвечивают такое предупреждение, если запускать с диска:
Например одна из них Dino Crisis 1, с диска по vga запустить невозможно, но при этом прекрасно запускается по этому кабелю через загрузчик с карточки, но это может не сработать с другими играми.
Подробная информация почему как и зачем работают не все игры и работают часто не очень от самого автора:
SWAT писал(а):Модуль isoldr поддерживает разные устройства: SD Card, HDD, CD-ROM, BBA, LAN.
Загрузчик образов с CD вам может показаться бессмысленным, с некоторой точки зрения так и есть, он был сделан специально для тестирования в эмуляторе и сравнения с другими устройствами.
Загрузчик с CD помог сделать несколько важных выводов. Например что тормоза в играх появляются далеко не только по причине скорости передачи данных… но это все пища для дальнейших размышлений.
Вообще загрузчик был полностью переосмыслен и переписан, я не скажу что это дало некий прорыв в совместимости игр, но это хороший задел на будущее.
Появилось множество настроек запуска игр, разными загрузчиками и разными методами. Чтобы все это задействовать, необходимо использовать новое приложение ISO Loader. К примеру загрузчики есть для разных участков памяти, есть возможность стартовать не напрямую с boot.bin, а с IP.BIN, эмуляция DMA и прочее.
За счет модуля isofs, который непосредственно используется модулем isoldr, будет расширяться список поддерживаемых образов.
Сейчас поддерживаются вручную созданные ISO (как было раньше), оригинальные GD-RIP конвертированные в ISO, конвертированные CDI/NRG в ISO, а так же все эти образы можно сжать в CSO/ZSO. Для создания, конвертирования и сжатия образов я сделал новый iso make pack v2.
Уточню по поводу формата сжатых образов. Модуль isofs поддерживает как CSO (сжатый методом zlib), так и ZSO (сжатый методом LZO), а загрузчики поддерживают образы только сжатые методом LZO. Именую я их одинаково как CSO, так как это формат такой же как у PSP образов, просто я сделал два разных метода сжатия, он определяется по заголовку, а не по расширению файла. Загрузчики не поддерживают zlib сжатие по причине экономии памяти, да и LZO распаковывается гораздо быстрее.
Сжатие образов позволяет значительно сэкономить место, особенно это касается GD RIP, которые занимают 1 Гбайт. Более того, в играх, где налету подгружаются хорошо сжимаемые данные (текстуры, модели, но не музыка!), это может дать неплохой прирост в скорости, так как распаковка данных происходит на порядок быстрее чем их считывание. Я наблюдал за загрузкой данных игрой и если загружались не музыка или видео, а текстуры и модели, то полезность сжатия была в среднем в 1.5-2 раза, что примерно во столько же и увеличивало скорость считывания. Жаль что лаги как правило конечно из за музыки, а в этом сжатие образов никак не поможет, а может даже немного ухудшить ситуацию.
В целом игры стали работать быстрее (и без учета сжатых образов), это хорошо заметно там, где были серьезные лаги, а в некоторых играх их практически не стало совсем. В этом можно убедится посмотрев мое видео. Этого удалось добиться за счет оптимизаций работы с FAT.
Загрузчик с помощью BBA/LAN пока не закончен, и поверьте, он не дает той надежды на скорость, на которую я думаю многие из вас надеялись, по крайне мере первые версии.
Может быть в будущем это будет работать лучше SD/HDD, но пока… Я протестировал скорость чтения BBA без использования DMA и она составила ~500 кбайт/сек (а SD у меня показала 617 кбайт/сек!), при этом скорость записи достигла 2 мбайт/сек! Но она нас не интересует.
Тут находится неполный список совместимости с коммерческими играми
Предлагаю всем отписываться в этой теме со своим опытом запуска игр, которые не содержатся в списке по ссылке выше.
Итак, загрузчик iso внутри Дримшел с новым апдейтом имеет некоторые настройки эмуляции, вот что пишет о них автор:
Цитата:По умолчанию LBA и загрузочные файлы берутся из IP.BIN. Но если LBA не представлена внутри IP.BIN, тогда загрузчик сделает её равной нулю (+150 стандарт для GDI дисков). Если вы используете сконверченную игру с CDI/NGR или свой уникальный образ, то загрузчик попытается задетектить LBA по длине MKI. Если длина MKI есть, но LBA нет, то загрузчик поставит нулевую LBA. Если длина MKI не существует, то загрузчик возьмет LBA из файла IP.BIN.
"Emulate DMA" включает эмуляцию DMA. Это замедлит загрузку игры (НО не её скорость!), но поможет в запуске проблемных игр.
"Low/high memory" это разные режимы загрузки, которые могут повысить совместимость с играми.
Соответственно, подергайте эти переключатели и попробуйте разные коомбинации, перед тем как постить свой результат тут и утверждать что игра действительно не работает вообще.
ВНИМАНИЕ! Информация в этом спойлере носит рекомендательный характер!
Обязательной не является, если вы не испытываете проблем с запуском дримшел.
Тесты проводились на:
- раз 1 gb
- два 4 gb
- три 8 gb
с таким адаптером, все пишется по отношению к нему
Лично у меня возникли трудности с карточками на 4 и 8 гигов (не обязательно что у вас они будут тоже), решить их удалось только через Acronis, и не абы как, а именно так, как указано на скриншотах, где 2гб - это карточка на 4 гига, где 7 - на 8 карта.
т.е. нужно будет вставить флешку в пк кардридер, включить акронис, удалить имеющийся раздел на самой флешке и тут же создать новый с этими параметрами, внимание именно с этими параметрами, если у вас 4 или 8 гб карточки. Это непременимо к карточкам 1, 2, 16, 32 гигабайт, у меня их нет и протестировать не могу, найдутся желающие обладатели, пишите. В процессе операции пк будет перезагружен для того, что бы обработать карточку. Работает на ноутбуках и нетбуках тоже. После чего продолжить обычную установку дримшел и его файлов по инструкции выше.
Это нужно проделывать, только если адаптер не может считать с вашей карточки данные и запустить дримшел, выписывая эти ошибки: can't init file system/can't find DC_CORE.BIN. Это все означает что флешка недоступна адаптеру.
Порядок действий при типичном сбое: Итак Dreamshell и его компоненты не финальный продукт, поэтому сбои обычное дело (бывает виноват адаптер, не пытаюсь винить во всем софт). Самый типичный из них, это когда загрузчик с диска отказывается загружаться вообще с казалось бы проверенной флешки вообще. В таком случае помогает следующее:
- - выключить дримкаст
- - вынуть флешку из адаптера и сам адаптер из serial порта приставки, продуть порт и адаптер (опционально)
- - вставить все обратно, убедившись что контакт 100% как в serial порту, так и флешки с адаптером (если все на соплях, исправляйте это самостоятельно, что бы контакты прижимались идеально)
- - включить приставку с ОТКРЫТОЙ крышкой, а закрыть её в главном меню приставки, что бы загрузить лоадер с диска из биоса приставки
- - когда загрузка дойдет до выбора носителя, ничего не нажимайте вообще, через 3-7 секунд дримшел автоматически загрузится
- - Вынуть диск/открыть крышку можно только после ПОЛНОЙ загрузки игры с карточки иначе игра не загрузится.
Что характерно, если игра все-таки запустилась полностью, то какие-либо полные зависания или вылеты практически исключены даже при многочасовой игре.
Если Dreamshell все равно не запускается после этого: по личному опыту меньше всего проблем возникает с карточками на 1 гигабайт. Потом очень важен 100% контакт адаптера и serial порта консоли, даже миллиметр не туда и вы уже не загрузите Dreamshell, т.е. подкладывайте туда в порт что хотите, что бы прижать его плотно. И последнее самое частое - это постоянная перезагрузка консоли в процессе или сразу после попытки загрузить Dreamshell. Решается это разбором приставки и смазыванием спиртом контактов блока питания. Последнее, но самое эффективное - это вставить заточенные спички в конткты блока питания обеспечив 100% контакт между ними (способ на практике доказал эффективность если дрим в плохом состоянии).
Тут одновременно все проще и сложнее чем с cdi.
1 - К примеру возьмем английский (ну а какой еще) gdi дамп игры Skies of Arcadia [U][GDI] отсюда и после распаковки архива видим несколько непривычную структуру файлов:
Код:
Skies of Arcadia v1.002 (2000)(Sega)(NTSC)(US)(Disc 1 of 2)[!].gdi
track01.bin
track02.raw
track03.bin
это например гта 2
Код:
Grand Theft Auto 2 v1.002 (2000)(Rockstar)(NTSC)(US)[!].gdi
track01.bin
track02.raw
track03.bin
track04.raw
track05.bin
треков больше трех, это значить что игра имеет gdda треки, к ней отдельная специальная процедура, указанная ниже
2 - В принципе нам не нужно изучать какой файл за что отвечает, что бы было проще просто кидаем все эти файлы в корень нашей мастерской, папки с именем "iso_make" (откуда она см. спойлер конверт cdi выше). Предварительно очистив её от следов бывшей деятельности по конверту других игр ранее, если проводилось.
3 - Тут бывают два пути в зависимости от типа музыкальных треков игры:
Если в gdi есть gdda треки то запускай repack_gdi.bat и жди окончания процесса, на выходе получишь готовый ISO для запуска в DS, тебе его останется только переименовать.
Если в gdi нету gdda треков то запускай bin2iso.bat и жди окончания процесса, на выходе также получишь готовый ISO для запуска в DS, тебе его останется только переименовать.
4 - в данном случае gdda треков нет. Жмакаем bin2iso.bat, дожидаемся, когда закончит. Процесс может занять относительно длительное время, в зависимости от ресурсов вашего пк и скорости жесткого диска, но в целом порядка 15 минут, закрывать окно с консолью или как-то ускорить/поставить на паузу процесс нельзя, нужно дожидаться конца. Процесс идет дольше, чем конвертация cdi.
5 - перекидываем файл на флешку. И пусть вас не смущает, что игра американского региона, прекрасно работает на PAL приставке без модификаций онной, включая запуск через дримшел, да что там, многие чисто японские регион-игры тоже прекрасно запускаются на PAL на личном опыте. Если все сделали правильно, увидите красивую заставку этой хорошей игры, звук в ней и иногда изображение может притормаживать даже на самой идеальной флешке, как это устранить читайте в спойлере "устраняем тормоза".
Примечание: Если у вас одногиговая карточка и несжатый образ не помещается, еще есть шанс что она запустится после сжатия, см. спойлер ниже на эту тему.
Все, мы научились запускать мечту = оригинальные, несжатые исходные gdi дампы игр, что было невозможно до этого запустить на самой приставке!
* Если ваша SD карта не более 4х гигабайт, то имеет некоторый смысл отформатировать её в fat 16 через акронис, лучше всего работает на одногиговых карточках, на более ёмких не тестировалось.
Тест скорости внутри dreamshell на одной и той же карте 1 гб показывает некоторое преимущество fat 16.
Код:
fat 32:
test: write
time: 27417 ms
speed: 597 Kbps
size: 16384 Kb
test: read
time: 25174 ms
speed: 650 Kbps
size: 16384 Kb
-----------------
fat 16:
test: write
time: 25580 ms
speed: 640 Kbps
size: 16384 Kb
test: read
time: 24727 ms
speed: 662 Kbps
size: 16384 Kb
* Печально, но если приоритет идеализировать скорость игры, то придется отказаться от gdi вовсе, т.к. чем более оптимизированы и сжаты файлы образа, тем быстрее они будут работать на Dreamshell.
* Сжатие образа. Тут все очень просто и понятно. Вне зависимости от того, кодировали вы gdi или cdi в iso, внутри пакета "ISO_Make_pack_v2.0" есть батник "compress_iso.bat", кого и давим для сжатия образа по алгоритму LZO, оно происходит автоматически с присвоением расширения .CSO (его читает загрузчик), но конечный результат может быть разным. Тут нельзя обобщать, некоторые игры сжимаются замечательно, некоторые практически никак. Иногда сжатие может ускорить саму игру в Dreamshell, либо не дать никакого эффекта, а возможно даже замедлить. В последнем случае, если замедление будет очевидно, не сжимайте этот образ вообще по возможности. Например RE Code Veronoca сжимается плохо, но минимальный прирост скорости вроде бы дает, по крайней мере хуже не делает. А вот gdi дамп Skies of Arcadia после перекодирования в iso с размером 989 мегабайт, после сжатия стал 671 мб! Если после сжатия игра не запускается - просто не сжимайте её, в крайнем случае попробуйте удалить музыку и звуки, если много весит.
* Даунсемпл видео в формате .SFD.
Во многих играх Dreamcast видео хранится в формате .SFD, для его редактирования есть инструменты от самого SWAT и не только, рассмотрим пример на игре RE Code Veronica. В данной игре подвисания и тормоза проявляют себя явно в двух элементах: любое видео время от времени подергивается и при заходе в инвентарь или опции/при смене локации музыка может немного заедать на темном экране, что не норма.
Итак что нам понадобится:
SFD Tool Pack v1.0 by SWAT, скачать его можно с официального сайта.
1. Распаковываем самораспаковывающийся архив "SFD_Tool_Pack_v1.0_by_SWAT.exe" через 7-zip.
2. Устанавливаем содержимое папки "Movie Creator".
3. Теперь вынимаем из первого cdi образа RE Code Veronica несколько видео файлов SFD, а именно, они лежат в корне диска:
Код:
MV_000.SFD
MV_001.SFD
MV_002.SFD
MV_003.SFD
MV_004.SFD
MV_005.SFD
MV_016.SFD
И копируем их в папку sfd2mpg распакованного ранее пака для работы с SFD.
4. Теперь необходимо все содержимое папки "Toolame_0.2h" поставляемой внутри папки "sfd2mpg" переместить в корень.
5. Создаем тут же текстовой документ и вписываем в него строчки:
Код:
sfd2mpg [-c "encoder"] MV_000.SFD
sfd2mpg [-c "encoder"] MV_001.SFD
sfd2mpg [-c "encoder"] MV_002.SFD
sfd2mpg [-c "encoder"] MV_003.SFD
sfd2mpg [-c "encoder"] MV_004.SFD
sfd2mpg [-c "encoder"] MV_005.SFD
sfd2mpg [-c "encoder"] MV_016.SFD
После чего сохраняем и переименовываем этот документ в "run.bat" (включите отображение расширений в настройках windows).
6. Запускаем наш новосозданный run.bat и дожидаемся пока консоль закончит своё дело и отключится. Теперь мы получили mpg вышедшие из наших sfd их надо перегнать в avi, если позволяет место на диске лучше в несжатое. Сделать это можно несколькими способами, как например пакетная обработка через Total Video Converter, либо через любую версию VirtualDub, будем делать на его примере.
7. Запускаем VirtualDub и открываем по очереди каждый наш полученный mpg файл, пересохраняя в несжатый avi, при этом нужно выставить:
- во вкладке "video" и "audio" галки на "full processing mode"
File -> Save As AVI - и сохраняем куда угодно. При таких настройках вес будет приличный, в данном случае несколько гигабайт.
8. Теперь финальный аккорд. Запускаем ранее установленный SEGA Dreamcast Movie Creator, вверху окна выбираем исходный файл, по очереди каждый наш AVI. После того, как программа откроет исходный файл, практически все параметры выхода она выставит автоматически, наша задача занизить битрейд видео, для этого в поле "Видео кБит/сек" надо написать "600", то что нам нужно. После чего нажимаем на кнопку "начать выполнение" и ждем окончания процесса. Тоже самое проделываем с остальными файлами.
9. На выходе мы получим те же SFD файлы, но с гораздо меньшим размером. Их исходя из инструкции конверта cdi игры кладем с заменой в папку "data" в процессе конвертирования игры из cdi в SD iso для dreamshell (см. спойлер выше), качество будет заметно хуже, но зато полностью пропадут тормоза в роликах. Задача выполнена. В принципе образ с игрой можно еще и сжать через батник compress_iso.bat, но в целом это не сильно его сожмет, хуже точно не сделает судя по моему опыту.
п.с. после завершения процесса, можно удалить абсолютно все файлы, т.к. несжатые avi могут прилично весить.
Если IP.BIN не оказалось в cdi образе, то его не надо брать от другой игры. Делаем так:
Нам понадобится:
http://www.dc-swat.ru/forum/thread-2053-...l#pid30429
http://consolecopyworld.com/files/dc/cdirip062.zip
1) Разархивируем и запускаем cdirip062 (cdirip.exe);
2) Указываем образ cdi (или дропаем на него) и куда распаковать образ, на выходе получаем TAudio01.wav, TData02.iso, TDisc.cue;
3) Открываем isofix и пишем:
- Имя образа: TData02.iso
- Указываем LBA длину: 45000
4) Немного подождав получаем файл bootfile_._bin, переименовываем его в IP.BIN, остальные побочные файлы можно удалить.
Указанный выше способ наиболее грамотный и безотказный из существующих проверенный на практике, но да он дольше и немного сложнее иных, тем не менее существует альтернативная инструкция, которая имеет право на существование, но не рекомендуется (ip.bin в данном случае может немного отличаться от оригинала по способу выше, но не всегда фатально).
---
1) Монтируем cdi/другой образ в Daemon Tools;
2) Открываем Isobuster;
3) Выбираем сессию 2, затем нажимаем правую кнопку мыши и во всплывающем меню выбираем "Извлечь диапазон", выбираем "Длина LBA" вводим туда значение 16. Тип извлечения выбираем "Данные (2048 байт/блок для большинства секторов) (только для стандартных CD с данными)";
4) Нажимаем кнопку "Начать извлечение", выбираем куда сохранить файл, тип файла *.iso называем его как IP.BIN и нажимаем OK.
UPD: Длина LBA 16 тоже самое что начальный LBA+15, только проще, не нужно прибавлять. Тип извлечения "Данные 2048 байт", то из за чего получался не правильный IP.BIN (при RAW - 2352*16=37632/1024=36 килобайт ,а при "Данные 2048 байт" - 2048*16=32768/1024=32 килобайта, прям как доктор прописал) проверял на cdi и mdf/mds образах.
Состояние статьи на 19.12.13, будет редактироваться и обновляться.
В редактировании и дополнении faq помогали: SWAT, аleх, warezhunter_, megavolt85.
(Последний раз сообщение было отредактировано 06.05.2022 в 07:43, отредактировал пользователь SWAT.)
|
|