DreamShell → DreamShell 4.0.0 RC 3
Update 08.09.2014: Uploaded to GitHub and updated change list.
Update 07.09.2014: Added english version of change list.
Очередной релиз кандидат DreamShell 4.0.
В данном обновлении не так много изменений как в предыдущем, но на них было потрачено не мало сил и терпения. Основной упор был сделан на улучшение ISO Loader, а остальные изменения касались в основном исправления ошибок и улучшения того, что уже было сделано.
Сразу хочу сказать что данный релиз был мало протестирован, поэтому вы можете столкнуться с некоторыми ошибками, которые могли бы сделать некоторый функционал не работоспособным. Пожалуйста, если вы столкнулись с чем-то подобным, напишите мне баг-репорт на форуме или прямо здесь в комментариях и я постараюсь это исправить как только смогу, вне очередного релиза.
Все необходимое, как обычно, вы можете скачать на странице DreamShell.
Обновление на GitHub появится несколько позже, вместе с очередной порцией исходного кода.
Список изменений не полный, я не стал описывать все правки в коде, а описал только основную суть для конечного пользователя.
Core
- Значительно увеличена скорость первоначальной загрузки и инициализации, а так же всего ядра в целом
- Увеличена скорость загрузки приложений
- Исправлены некоторые графические артифакты
- Остановка вращения GD-ROM если он не используется
- Обновлена и исправлена поддержка файловой системы FAT. Обновлена библиотека fatfs
- Увеличена скорость чтения и записи на G1-ATA(IDE) устройствах в DMA режиме на файловой системе FAT.
- Исправлена ошибка с записью в SPI и SD Card драйверах.
- Исправлены некоторые ошибки с выпадающей консолью, в том числе из за которых она не до конца закрывалась, тем самым блокировала основной интерфейс.
- Увеличена чувствительность курсора GUI для Dreamcast Mouse
- Другие оптимизации, доработки и исправление ошибок в разных частях системы
- Ядро, модули и команды собраны на компиляторе GCC 4.9.1 с Newlib 2.0.0 и последней на сегодняшний день версией KallistiOS
Core (eng)
- Improved startup speed
- Improved apps loading speed
- Fixed some graphic artifacts
- Auto stop spinning the GD-ROM if it not used
- Updated and fixed FAT file system
- Increased speed of G1-ATA(IDE) devices in DMA mode on FAT file system
- Fixed errors with write in SPI and SD Card drivers.
- Fixed some errors for dropdown console
- Increased sensetivity of GUI cursor for Dreamcast Mouse
- Some other optimizations and fixes
- The code compiled on GCC 4.9.1 with Newlib 2.0.0 and latest version of KallistiOS
Applications
Main (рабочий стол)- Добавлена поддержка дополнительного формата(bmp) иконок для скриптов
- Добавлена поддержка копирования директории целиком (выделяется кнопкой B на джойстике или правой кнопкой мыши)
- Незначительные исправления и оптимизации
- Исправлена ошибка при сохранении резервной копии BIOS на G1-ATA(IDE) устройства
- Небольшие оптимизации в XML и работе GUI
- Исправлены некоторые ошибки
- Улучшения в GUI
- Исправлены ошибки и увеличена скорость работы
- Поддержка новых функций модуля isoldr
- Добавлены дополнительные адреса для загрузчиков
- Переработано управление эмуляцией асинхронного чтения
- Отображение названия игры над обложкой
- Увеличены размеры иконок для перехода в настройки и закрытия приложения
- Отображение версии приложения
- Переработано и исправлено сохранение и загрузка настроек (presets) для каждой игры. Теперь ими можно обмениваться с другими пользователями, так как они не завязаны на путь до образа на устройстве
- Автоматическая подстройка параметров по умолчанию для разных типов BIOS
- Автоматическая подстройка некоторых параметров относительно выбора пользователя в настройках
Applications (eng)
Main (Desktop)- Added support for second format of script icons (BMP)
- Added support for copy directory (press B button or right mouse button for select directory)
- Some minor fixes and optimizations
- Fixed BIOS backup saving on G1-ATA(IDE) devices
- Some minor XML and GUI optimizations
- Fixed some errors
- Improvements in GUI
- Fixed some errors and improved logic
- Support for new isoldr module
- Added more pre-installed memory addresses
- Rewrited UI for emu async setting
- Displays the game title on the cover
- Increased size for some icons
- Display app version
- Rewrited and fixed support for presets. Now you can share it for other peoples
- Auto adjustment of some params for different BIOS types
- Auto adjustment of some params on the choice of the user in the settings
Modules
- Новый модуль PPP для выхода в интернет через Modem и Serial
- Обновлен модуль SDL_net
- Обновлен модуль luaSocket
- Обновлен модуль http
- Обновлен модуль ffmpeg
- Обновлен модуль luaKOS
- Обновлен модуль luaSDL
- Обновлен модуль vkb. Ресурсы для клавиатуры загружаются при первом вызове ее пользователем, а не сразу при инициализации.
- Обновлен модуль OpenGL. Была заменена библиотека на новую от PH3NOM
- Обновлен модуль isofs. Улучшен алгоритм автоматического определения LBA у образов. Улучшен алгоритм чтения данных. Добавлена функция для получения информации о CDDA треках из CDI образов.
- Обновлен модуль isoldr. Улучшен алгоритм получения имени executable файла. Добавлены новые аргументы для консольной команды и изменены некоторые старые.
- Все модули собраны на новом компиляторе, поэтому работают несколько быстрее предыдущей версии.
Modules (eng)
- Added new module PPP for Modem and Serial connection to internet
- Updated module SDL_net
- Updated module luaSocket
- Updated module http
- Updated module ffmpeg
- Updated module luaKOS
- Updated module luaSDL
- Updated module vkb. Now resources for keyboard loaded on the first call by a user, not during the initialization.
- Updated module OpenGL. Replaced library to new OpenGL API by PH3NOM
- Updated module isofs. Improved LBA detection algorithm. Improved data reading. Added function for getting info about CDDA tracks in CDI images
- Updated module isoldr. Improved algorithm for getting executable name. Added new arguments for console command and changed some old arguments.
- All modules compiled on new GCC and works some faster than in previous version
Firmware
Boot Loader- Увеличена скорость работы
- По умолчанию меню выбора не открывается, а сразу загружается core, если в начале не нажать кнопку START.
- Обновлены все текущие типы BIOS (как в предыдущей версии). Проблема с Holly protection пока не решена.
- Более быстрый и компактный код за счет ручных оптимизаций и нового компилятора
- Улучшена эмуляция системных вызовов GD-ROM, теперь она максимально похожа на оригинальную
- Добавлена экспериментальная поддержка эмуляции остальных системных вызовов, которая включается автоматически, если загрузчик размещен по адресу 0x8c000100.
- Добавлена экспериментальная поддержка эмуляции проигрывания CDDA аудио. Поддерживаются RAW и WAV треки формата PCM/ADPCM 4/8/16bit 22/44kHz mono/stereo. Так же поддерживается проигрывание треков из CDI образов.
- Исправлен режим запуска с IP.BIN, теперь его можно использовать для любой игры и с любым BIOS
- Добавлен новый режим запуска с усеченного IP.BIN. За счет этого можно разместить загрузчик по стандартному адресу 0x8c004000, что увеличивает совместимость игр с sd_loader_with.bios. А те игры, что не смогут запуститься таким образом, можно запустить с полного IP.BIN + 0x8c000100. Все это делает совместимость с играми для sd_loader_with.bios аналогичной оригинальному BIOS!
- Увеличена скорость работы с памятью
- Увеличена скорость запуска образов
- Улучшена поддержка DMA в играх для G1-ATA(IDE) и GD-ROM. Теперь с DMA работает значительно больше игр (около 50%, может больше)
- Добавлена поддержка true async (реального асинхронного чтения) для DMA на устройствах G1-ATA(IDE) и GD-ROM для оптимизированных GDI и ISO образов. Это автоматически используется если включен режим DMA, отключена эмуляция асинхронного чтения и запускается образ с размером сектора 2048. Игры в таком режиме идут максимально плавно, как с оригинального GD-ROM
- Добавлена поддержка pseudo-async для SD Card. Теперь когда включена эмуляция асинхронного чтения и используется образ с размером сектора 2048, данные с SD Card запрашиваются единожды, а потом, каждый кадр, считывается часть подготовленных контроллером SD Card данных, равную количеству секторов эмуляции. Раньше, данные запрашивались каждый кадр, что приводило к некоторым потерям в общей скорости из за лишних действий. Эта функция так же используется для проигрывания CDDA треков.
- Увеличена скорость чтения с SD Card за счет отключения проверки CRC. Это примерно +10% к скорости, которую вы можете наблюдать в приложении Speedtest для вашей SD Card
- Улучшена эмуляция асинхронного чтения. Теперь при больших пакетах данных (больше 100 секторов за раз), она временно отключается, чтобы ускорить первоначальную загрузку ресурсов игры
- Улучшена поддержка запуска образов с GD-ROM
- Добавлена поддержка запуска homebrew scrambled binary. Для активации авто определения зашифрованных binary необходимо выбрать в настройках OS Homebrew
- Улучшена поддержка CSO образов
- Улучшена совместимость с играми. Теперь в 90% случаев, если игра не запускается, то скорее всего она использует MMU (не только WinCE используют это), остальные 10% это исключительные случаи. Как только мне удастся решить проблему с MMU, то общая совместимость будет на уровне 95-99%. Но пока, к сожалению, проблема с MMU остается, так как я в принципе еще не занимался ее решением
Firmware (eng)
Boot Loader- Improved work speed
- By default menu doesn't displayed, if the user doesn't press START button at startup
- Updated all BIOSes. Holly protection still not hacked
- More compact and faster code
- Improved GD-ROM syscalls emulation. Now it's works as original syscalls
- Added experimental support for other syscalls. It's activated when you use memory 0x8c000100 for the loader
- Added experimental support for CDDA audio playback. Supported RAW and WAV tracks with format PCM/ADPCM 4/8/16bit 22/44kHz mono/stereo. Also support for playback CDDA in CDI images
- Fixed IP.BIN boot mode, now you can use it for any game on any BIOS
- Added new boot mode from truncated IP.BIN. You can place the loader at 0x8c004000 in this mode, that increased compatibility for sd_loader_with.bios. Also you can use IP.BIN boot mode + 0x8c000100 in some cases. All of this makes compatibility for sd_loader_with.bios similar to the original BIOS!
- Increased speed for memory operations
- Increased speed of startup
- Improved DMA support in games for G1-ATA(IDE) and GD-ROM. Now with DMA works much more games (~50%, maybe more)
- Added support for true async DMA on G1-ATA(IDE) and GD-ROM devices for optimized GDI and ISO images. It's activated if you switch on DMA, disabled emu async and use image with sector size 2048. The games in this mode runs very smooth as from GD-ROM (and faster of course)
- Added support for pseudo-async on SD Card. It's activated if you use emu async and use image with sector size 2048. Now the data from SD requested once and then reads frame-by-frame some part of data, instead of request+read on every frame. This functions used and for CDDA playback.
- Increased reading speed for SD Card by discarting CRC checking. This is +8-10% to speed, that you can see in the app Speedtest for your SD Card
- Improved emu async support. Now it's temporary disabled if the game request more than 100 sectors. This is can help increased loading speed of games if you use small count of sectors at emulating.
- Improved support for run games from GD-ROM (or hardware GD emulator)
- Added support for homebrew scrambled binary. Auto detect for binary type activated if you setup OS type as Homebrew in settings
- Improved support for CSO images
- Improved compatibility for games. Now in 90% cases, if game doesn't boot, then it's used MMU (not only WinCE used it), other 10% it's exceptional cases.
As soon as I manage to solve the problem with the MMU, the overall compatibility will be at the level of 95-99%. But, unfortunately, the problem with an MMU still exists, since I basically have not yet engaged in the solution.
Рекомендации
- Если вы хотите использовать CDDA на SD Card, то я рекомендую конвертировать PCM треки в ADPCM, чтобы было как можно меньше падение FPS. Но в некоторых играх, вы вполне можете использовать и оригинальные PCM. Для конвертации треков есть новые утилиты в ISO Make pack v2.3
- Для достижения максимального эффекта от использования G1-ATA устройства с true async DMA или pseudo-async на SD Card, рекомендуется использовать образы формата ISO или оптимизированные GDI. В противном случае, у образов формата CDI или не оптимизированных GDI, при чтении данных, будет использоваться обычный emu async.
Recommendations
- If you want to use CDDA on SD Card, then I recommend to convert original PCM tracks to ADPCM, to save FPS in games. But in some games, you might as well use the original PCM. To convert the tracks have new tools in the ISO Make pack v2.3
- To achieve maximum benefit from the use of G1-ATA device with a true async DMA or pseudo-async on SD Card, need use ISO or optimized GDI images. Otherwise if you use CDI or NOT optimized GDI, at reading the data to be used by the usual emu async
Благодарности
Большое спасибо авторам эмулятора Demul — Wind и MetalliC за помощь в решении некоторых проблем и предоставлении необходимой информации.Thanks
Big thanks to the authors of the emulator Demul — Wind and MetalliC for help in solving some of the problems and provide the necessary information.Screenshots
(в ISO Loader скорость чтения моей SD Card ~730 KB/s)
- 0
- SWAT
- 06 сентября 2014, 00:00
Комментарии (1)
rss свернуть / развернуть