原帖:http://www.dc-swat.ru/blog/dreamshell/875.html DreamShell 4.0.0 RC 2 Update 29.05.2014:
Updated ISO Loader firmware, module and app up to v0.4.1
— Improved compability
— Improved read speed for CDI and unoptimized GDI images
— Disabled autosave for presets, make new checkbox for it
Updated KallistiOS
Improved image loading in SDL
Update 24.05.2014: Fixed «luaKOS» and «ffmpeg» modules, removed checking core on CD in Boot loader.
Update 17.05.2014: Added «ds_core_sd.bios» and «SD_DS_CORE.BIN», see comment for details.Благодарности Большое спасибо всем тем, кто участвовал в разработке приложений, тестировании и помогал найти решения для возникших проблем. YevDev
,嬀/backcolor]Megavolt85,嬀/backcolor]cybdyn,嬀/backcolor]kof888и嬀/backcolor]Bad_Ad84всем большое спасибо! А так же спасибо авторам KallistiOS за проделанную работу!
Screenshots
File Manager
ISO Loader
Bios Flasher
GD Ripper
Speedtest
Уже заждались свежего релиза? Понимаю :)
Я хотел сделать все что задумал, прежде чем опубликовать новую версию, но некоторые не решенные проблемы задерживали релиз уже больше месяца и решения для них я пока не вижу. Поэтому я решил пока опубликовать версию как есть, а потом уже думать над решением проблем, так как не известно сколько это займет еще времени. Да и хочется уже отдохнуть от разработки, последнее время очень плотно занимался этим проектом.
Как обычно все необходимое вы можете скачать на странице嬀甀爀氀=http://www.dc-swat.ru/page/dreamshell/]DreamShell[/url].
Очень много рефакторинга было проделано с кодом и структурой проекта, я постепенно готовлюсь к публикации исходного кода. Но не стоит ждать этого в ближайшее время, это будет происходить постепенно. В данный момент вместе с SDK вы можете скачать исходный код всех приложений, а так же некоторых модулей и команд. В ближайшее время я выложу это все в репозиторий на GitHub и постепенно буду пополнять все новым и новым кодом.
Всю проделанную работу я перечислять не буду, внутренне она была колоссальна, поэтому я остановлюсь только на основных, наиболее важных и видимых для конечного пользователя изменениях. Вероятно я что-то забыл за это время, буду дополнять список если вспомню еще что-то.
Core Исправлены ошибки в видео режимахИсправлено множество графических артифактовУлучшена синхронизация видео процесса с основным процессом. Полное разделение видео рендеринга и вводаУлучшена работа GUI, добавлены новые возможности, функции, а так же улучшена стабильностьДобавлено дополнительное управление для виджета GUI_FileManager с помощью джойстика (X + Analog для скроллинга и X + D-Pad для перехода по списку)Улучшена навигация по активным виджетам на джойстике с помощью D-Pad (убраны лишние переходы, добавлена возможность перехода сразу в начало и конец)Полностью переработана поддержка файловой системы FAT (thread safe, DMA ready, blockdev, multi-partition)Добавлена поддержка файловой системы EXT2Добавлена полноценная поддержка G1-ATA(IDE) устройств в PIO (3-3.5 МБ/с) и Multiword DMA mode 2 (10-12 МБ/с) режимахУлучшен Soft SPI драйвер и переработан драйвер для SD Card. Увеличена скорость чтения до ~700 КБ/с и записи до ~800 КБ/сАвтоматический поиск и монтирование во время старта всех партиций с файловыми системами на всех поддерживаемых устройствахДобавлена поддержка автоматического сканирования и монтирования romdisk из BIOS (если не найдено ни одного устройства)Улучшен Exception Guard (thread safe, recursion, API macros)Увеличена скорость загрузки ядра и приложенийУменьшено потребление ресурсов выпадающей консольюПоддержка запуска команд в консоли отдельным процессом, при добавлении в конце знака &Добавлена поддержка авто-дополнения наименования команды в консоли при нажатии на TABДобавлены новые команды для консоли, а так же доработаны/изменены старыеЗначительные изменения и оптимизации API в целомОбновлены библиотеки: KallistiOS, Newlib, fatfs, zlib, mxml, SDL_gfx, SDL_ttf и другие...Весь код собран на компиляторах GCC 4.7.3 с Newlib 2.0.0 и последней на сегодняшний день версией KallistiOS
Applications Main (рабочий стол)
Добавлена поддержка запуска lua и dsc скриптов с рабочего стола по ярлыку, с возможностью установки своей иконкиУлучшена навигация между страницамиНовый, оригинальный фон для рабочего столаОптимизирована скорость работы
File Manager
Добавлена поддержка режима с одним окном (включен по умолчанию)Добавлена поддержка открытия файлов в соответствующем его формату приложенииНезначительные исправления и оптимизации
Bios Flasher (раньше DSInstall)
Это новое приложение, разработанное в замен старому DSInstall сторонним разработчиком YevDevИспользование нового модуля bflash через APIПоддержка записи, чтения и сравнения BIOS firmwareВыбор файла через виджет файлового менеджера и прием пути к файлу от приложения File Manager
GD Ripper
Это новое приложение, разработанное сторонним разработчиком Megavolt85Создание резервных копий данных с дисков CD в формате ISOСоздание резервных копий данных с дисков GD в формате GDIВозможность сохранять резервные копии на SD, G1-ATA(IDE) и PC (через dcload)Генерация имени резервной копии в соответствии с названием игры
Speedtest
Это новое приложение, разработанное сторонним разработчиком Megavolt85, на основе алгоритма из консольной команды speedtest в ядре DSПоддержка тестирования реальной скорости чтения и записи (т.е. с файловой системой) на устройствах: SD, G1-ATA(IDE), PC (dcload) и GD-ROM (только чтение)
ISO Loader
К сожалению предыдущий автор (Superdefault) не поддерживал это приложение с момента релиза RC1, поэтому теперь этим приложением занимаюсь я самПолностью переписана логика приложенияОптимизирован рендеринг GUI, убраны лишние элементы и добавлены новыеРабота с модулем isoldr осуществляется через API вместо консоли, это дает новые возможности, в том числе использования путей с пробеламиПоддержка основных и новых функций модуля isoldrПоддержка отображения текстуры диска (0GDTEX.PVR), если не найдена обложкаАвтоматическое сохранение и загрузка настроек для каждой игры
Modules Система модулей имеет значительные изменения в API и системе сборки. Новый link-script для компоновки, более простые и удобные Makefile, обновленный SDK и т.д.
Новый модуль bflashдля прошивки BootROM, вместо старой команды 'bios'.
— Поддержка 2-х дополнительных протоколов
— Поддержка более 20-ти разных (и не очень) flash чипов (некоторые еще не тестировались)
— Поддержка страничной записи
— Автоматическое определение бренда и производителя чипа
— API для работы с модулем в дополнение к консольной команде
Новый модуль opkgдля работы с пакетами формата Open Pakage основанных на файловой системе SquashFS с компрессией zlib и lzo.
— Установка и удаление пакетов
— Возможность автоматического запуска скриптов после установки и удаления
— Извлечение определенных файлов из пакетов
— Вывод информации о пакете
Новый модуль luaTask для работы с threads из luaНовый модуль luaSocket для работы с sockets из luaНовый модуль aicaos с одноименной библиотекой AicaOSНовый модуль gumbo с одноименной библиотекой для парсинга (X)HTMLНовый модуль mongoose с одноименной библиотекой для создания веб-сервераНовые модули telnetd и httpd это перенесенные из ядра одноименные командыНовый модуль SDL_net с одноименной библиотекойОбновлен модуль http для поддержки KOS socket вместо lwipОбновлен модуль vkbОбновлен модуль isofs
— Добавлена поддержка монтирования множества образов одновременно
— Добавлена поддержка форматов CDI и GDI
— Добавлены новые функции в API для получения всей необходимой информации
— Исправлены ошибки и улучшена работа в целомОбновлен модуль isoldr
— Добавлен API для работы с модулем в дополнение к консольной команде
— Используются все новые возможности модуля isofs через API, а так же новых загрузчиков
— Добавлена возможность размещать загрузчики в любом месте оперативной памяти (теперь можно подобрать неиспользуемое игрой пространство)
— Новая система передачи параметров и запуска загрузчиков
— Добавлена начальная поддержка DCIO (GD-ROM эмулятора от cybdyn)
Все остальные модули так же имеют незначительные изменения и оптимизации
Firmware Boot Loader
Добавлена поддержка файловых систем и устройств как в CoreДобавлена поддержка загрузки сжатых с помощью zlib бинарных файлов (ZDS_CORE.BIN)Визуализация загрузки и новые функции в управлении
BIOS
Обновлен ds_core.bios и добавлен новый ds_core_rd.bios (с минимальным набором файлов для работы Core)Обновлен boot_loader.bios и добавлен новый boot_loader_rd_ext.bios (с расширенным набором файлов для работы Core)Добавлены 2 экспериментальных boot_loader_wsc_bfont.bios и boot_loader_wsc_bfont_sd.bios (только SD) с системными вызовами и шрифтами из оригинального biosК сожалению для тех у кого нет GD привода (для первоначальной загрузки), но есть G1-ATA(IDE) устройство, эти bios бесполезны, так как они не проходят проверку в Holly и G1 Bus блокируется. Пока я не нашел решения данной проблемы, возможно кому то удастся сделать эти bios валидными. А пока можно пользоваться все тем же sd_loader_with.bios, загрузив с SD новый boot loader, а из него уже загрузить Core с любого устройства. Или напрямую загружать Core, но файлы разместить на IDE (по желанию).
ISO loaders
Код загрузчиков переписан на 90%, теперь он более компактный, быстрый и функциональныйНовый метод запуска в дополнение к старомуИзменены режимы запускаНовая, более четкая система передачи параметровУниверсальные версии исполняемых файлов, которые жестко ограничены в использовании памяти (не более 32 КБ на все). Уменьшено общее потребление памяти всеми загрузчикамиУвеличена скорость запуска образовДобавлена поддержка образов GDI и CDIУлучшена поддержка образов CSO(ZSO)Добавлена поддержка G1-ATA(IDE) устройствЧастичная поддержка DMA для G1-ATA(IDE) и GD-ROM. К сожалению пока с DMA работает очень мало игр, поэтому этот режим по умолчанию выключен. Но исполняемые файлы перед запуском загружаются всегда с DMA.Добавлена поддержка dc-load (IP/Serial/Custom?) для чтения данных по протоколу dc-loadУлучшен драйвер SPI и SD как в CoreПоддержка эмуляции асинхронного чтения (сокращает длительность лагов в играх)Добавлена поддержка разных партиций для FATОтображение текстуры диска на экранеПоддержка всех видео режимов как в CoreУлучшена поддержка запуска образов с GD-ROMУлучшена совместимость с играми
Рекомендации Если вы все еще пользуетесь SD Card ;), то по возможности используйте CSO(ZSO) формат образов. Это может увеличить скорость чтенияСтарайтесь использовать ISO формат образов и треков в GDI. Это существенно увеличит скорость чтения, так как образы формата CDI и треки формата BIN в GDI, имеют лишние данные, из за которых приходится читать по 1 сектору за раз, вместо всего необходимого пакета сразуПри форматировании SD Card, CF Card и HDD в FAT, выбирайте размер кластера не меньше 32 КБЕсли вы хотите использовать CF Card вместо HDD, то не скупитесь на ее скоростной класс (но и без фанатизма), простые CF карты могут не выдать максимальной поддерживаемой скорости для G1-ATA, в отличии от любого HDD
[ 此帖被YZB在2014-05-29 15:18重新编辑 ]