![]() |
ярлыки для образов и бинарников на рабочий стол - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: DreamShell (/forum-3.html) +--- Форум: Programming (/forum-28.html) +--- Тема: ярлыки для образов и бинарников на рабочий стол (/thread-2157.html) |
ярлыки для образов и бинарников на рабочий стол - wallace - 07.07.2014 11:10 ждём инструкции от SWAT RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 07.07.2014 17:41 Ты бы хоть из личного сообщения скопировал сюда, а то выглядит странно твоя тема ![]() На самом деле, функцию создания ярлыка для игр я думал добавить в приложение ISO Loader. Правда не уверен что сделаю это в ближайшей версии, так что опишу как это сделать вручную. Приложение Main (ака Рабочий стол), в DreamShell 4.0 RC 2 поддерживает расположение на рабочем столе скриптов DSC и LUA, для которых можно еще сделать свои иконки (есть и стандартные). Кстати говоря, иконка консоли сделана именно этим способом. Итак по шагам: 1) Открываем директорию apps/main/scripts 2) Создаем в ней текстовый файл с необходимым именованием и расширением .lua 3) В файле-скрипте прописываем следующее: PHP код: -- Script for GameName Путь к образу пишем соответственно свой. У команды isoldr есть все необходимые аргументы, посмотреть их можно набрав эту команду в консоли без аргументов, находясь в приложении ISO Loader. В примере я использовал только основные, размещение загрузчика по определенному адресу и эмуляция асинхронного чтения по 8 секторов за фрейм. К примеру можно добавить еще флаг "-a" для включения DMA режима, если он поддерживается игрой. Вызов консоли в конце я добавил специально, чтобы в случае ошибки, вы могли ее увидеть. Если игра запустится без проблем, то до ее вызова дело не дойдет. 4) Этот пункт не обязателен, он просто для красоты. Открываем директорию apps/main/images и копируем сюда PNG изображение размером 48х48 пикселей, а имя файла делаем точно такое же как у скрипта, отличаться должно только расширение. Вот и все что необходимо сделать. Ну а для более избирательных людей, можно добавить некоторые фишки. Например для пути к играм можно использовать переменную, для этого в lua/startup.lua (в функции Initialize) можно добавить следующий вызов: PHP код: os.execute("env GAMES /ide/games"); PHP код: os.execute("isoldr -x 0x8c004000 -e 8 -f " .. os.getenv("GAMES") .. "/name/disk.gdi"); Для обычного BIN файла скрипт гораздо проще. Есть 2 варианта его запуска: а) Скопировать bin в директорию "cmds" без расширения и для его запуска набираем соответствующую его именованию команду в консоли. б) Скопировать bin в любое удобное вам место и запускать следующей командой: DSC: Код: exec -b -f /ide/file.bin PHP код: os.execute("exec -b -f /ide/file.bin"); Для обоих вариантов можно создать как LUA так и DSC скрипт. DSC проще и на долю секунды быстрее выполнится, так как это по сути просто консольный скрипт, каждая строка которого интерпретируется как команда для консоли. Как пример можно посмотреть скрипт для запуска консоли - console.dsc Все доступные параметры для модуля isoldr можно посмотреть здесь: https://github.com/DC-SWAT/DreamShell/blob/master/modules/isoldr/module.c?=ts4#L466 RE: ярлыки для образов и бинарников на рабочий стол - wallace - 08.07.2014 12:07 работает отлично. с ide даже не заметно проседание скорости загрузки main... RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 22.08.2014 08:39 а вот у меня не получилось. Закинул программу dcplaya в папку DS/games. В scripts создал Music.lua, в нем прописал: -- Script for Music local path = os.getenv("PATH"); OpenModule(path .. "/modules/minilzo.klf"); OpenModule(path .. "/modules/isofs.klf"); OpenModule(path .. "/modules/isoldr.klf"); os.execute("isoldr -x 0x8c004000 -e 8 -f /games/dcplaya.iso"); ShowConsole(); Запускаю DS, тыкаю на ярлык, открывается консоль, где последняя строчка: App Main Opened. Что я сделал не так? RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 22.08.2014 12:25 А потому что путь к файлу не правильный. Если на SD у тебя он лежит, то нужно прописать /sd/DS/games/dcplaya.iso или просто подставь path как у модулей: PHP код: os.execute("isoldr -f " .. path .. "/games/dcplaya.iso"); Адрес 0x8c004000 и так используется по умолчанию, нет необходимости его прописывать. А эмуляция асинхронного чтения для homebrew в принципе не нужна, они всегда по 1 сектору данные читают в PIO режиме. RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 22.08.2014 16:36 Спасибо, все работает) RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 22.08.2014 17:41 Кстати, ввел в консоли isoldr, а просмотреть команды не могу, потому что элементарно не могу прокрутить вверх ![]() RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 22.08.2014 19:59 Клавиатуры нету? PageUp/PageDown. Запусти на эмуляторе да посмотри, есть спец. версия бинарника для них - EMU_DS_CORE.BIN RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 22.08.2014 21:26 эмуль комп не тянет(( кстати неплохо бы эти кнопки в вирт клавиатуре RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 23.08.2014 06:53 Да тебе что играть на нем, если хотя бы FPS 15-20 выдает этого достаточно. По поводу вирт. клавиатуры надо подумать, там просто места нету для новых кнопок. RE: ярлыки для образов и бинарников на рабочий стол - shadow - 23.08.2014 12:51 Сочетанием кнопок сделать вызывание вирт. клавиатуры. RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 23.08.2014 20:38 (23.08.2014 12:51)shadow писал(а): Сочетанием кнопок сделать вызывание вирт. клавиатуры. Зачем? Она вызывается кнопкой Старт. Я имел ввиду на ее текстуре все место занято. RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 23.08.2014 21:33 Из-за видюхи эмуль вообще не запускается. Можно же сделать, чтобы во время включенной клавиатуры крестик работал, как лево-право-pageup-pagedown, к примеру. и не надо новых текстур RE: ярлыки для образов и бинарников на рабочий стол - shadow - 23.08.2014 22:51 (23.08.2014 20:38)SWAT писал(а):Ааа, вот что ты имел ввиду(23.08.2014 12:51)shadow писал(а): Сочетанием кнопок сделать вызывание вирт. клавиатуры. ![]() RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 24.08.2014 08:50 (23.08.2014 21:33)SuperClaw писал(а): Из-за видюхи эмуль вообще не запускается. Можно же сделать, чтобы во время включенной клавиатуры крестик работал, как лево-право-pageup-pagedown, к примеру. и не надо новых текстур У d-pad вниз/вверх занято историей ввода в консоль. Что у тебя за видюха то такая, что не можешь запустить даже nullDC? RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 24.08.2014 09:09 Radeon, не помню какая. У меня буку лет 7 уже) Так ведь клавиши переназначаются, когда открываешь вирт клавиатуру? RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 25.08.2014 06:52 Ну и что, 10 лет назад играли же как то на chankast, а nullDC это его прямое продолжение. Я сомневаюсь что он стал требовать что-то новое от видео железа, ему нужен тот же DirectX 9c, который в 2 раза старше твоей видюхи. Это вот с Demul проблема может быть, он работает нормально только у избранных, у кого видеокарта поддерживает DX11, иначе привет софт рендеринг. Я вот на работе вообще на унылой видеокарте запускаю lxdream, а дома видеокарте 5 лет, тоже кстати Radeon, 3870 c DX10, nullDC работает прекрасно. В общем установи рантаймы что нужны, а потом попробуй запускать https://code.google.com/p/nulldc/ Или может какой нибудь reicast лучше пойдет. Кнопки переназначаются только XYAB + Analog. RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 25.08.2014 14:21 Да бук убитый просто, вот и весь эмуль) но я попробую, скачаю. RE: ярлыки для образов и бинарников на рабочий стол - SuperClaw - 25.08.2014 14:49 И все же, как изменить цвет шрифта? Я в app.xml добавил атрибут к <font />, но он почему то не работает Если Up-Down занят, можно ведь подключить Left-Right) А то ведь это не дело, управление должно быть комфортно и на джое) RE: ярлыки для образов и бинарников на рабочий стол - SWAT - 25.08.2014 15:35 Left/Right тоже занят перемещением курсора. Физические кнопки вообще все заняты, хватит их перебирать ![]() Цвет меняется у label, а не у шрифта. |