Привет любителям DC.
Нигде не могу найти как это сделать.
код:
you can dump it from VMU to SD card using Dreamshell. Just type in console following command
Code:
vmu -d -a A1 -o /sd/vmu.bin
делает думп всей партиции вму, а я хочу считать каждый отделенный сейв в сд карту.
Патом на компьютере добавить или удалить сейвы с сд карты, и скопировать обратно всё в вму.
Нужна какая то проверка хватает ли места в вму.
Сейвы с сд должны переписать сейвы на вму.
Эти скрипты хочу положит на десктопе дц (как это делается?), нажнуть на иконку, увидеть инфо что всё удалось или нет.
пробовал искать в dreamshell 4 rc1 filemanager main.lua но ничего не нашёл.
Я уже долго делаю это в ручную с dreamshell 4 rc1 filemanager, но это так долго и неудобно...
у меня только одно вму так как ... очень нужно.
Dump это самое простое и быстрое решение. На ПК можешь воспользоваться каким нибудь
VMU Explorer и все сделать быстро и удобно.
Но если легкий путь это не твое, то могу помочь с теорией написания этого скрипта.
Буду очень признателен за теорию.
Посмотрим на сколько тяжёлый этот путь.
как положить команду
vmu -d -a A1 -o /sd/vmu.bin
на декстоп?
Ну делаешь батник, делаешь ярлык на батник. Как то так. или ты про десктоп дримшелл?
Rio жжешь, у тебя на ПК в консоли есть команда vmu и корневая директория sd?
Естественно речь о DS.
xitrix, лучше сразу создай маленькое приложение, чтобы в нем несколько нужных кнопок разместить, так будет проще, чем каждый раз приложение для одной команды.
Вот пример простого приложения с выполнением консольных команд, можешь взять за основу:
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="The Game" version="1.0" icon="cover.png">
<resources>
<module src="../../modules/minilzo.klf" />
<module src="../../modules/isofs.klf" />
<module src="../../modules/isoldr.klf" />
<script type="text/lua" src="./lua/main.lua" />
<font src="../../fonts/ttf/arial_lite.ttf" type="ttf" size="16" name="arial" />
<image src="./images/bg.jpg" name="back" />
<image src="./images/play.png" name="play" />
<image src="./images/exit.png" name="exit" />
</resources>
<body x="0" y="0" width="640" height="480" background="back">
<input type="button"
onclick="os.execute(string.format('isoldr -f %s/apps/game/game.iso', os.getenv('PATH')));"
normal="play" highlight="play" pressed="play" disabled="play"
x="440" y="280" width="200" height="100" name="playbut" />
<input type="button"
onclick="console:app -o -n Main"
normal="exit" highlight="exit" pressed="exit" disabled="exit"
x="440" y="380" width="200" height="100" name="exitbut" />
</body>
</app>
Как видишь тут 2 способа вызова команды, через lua и напрямую в консоль.
Я бы посоветовал в скрипт main.lua закинуть функции с вызовом нужных команд и расставить кнопочки в приложении с их вызовом. Потом можно будет расширить функционал этих функций.
Можешь конечно и просто с рабочего стола сразу вызывать:
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<resources />
<body x="0" y="0" width="640" height="480" onload="console:vmu -d -a A1 -o /sd/vmu.bin" />
</app>
Процесса не видно, да и что потом? Будет тебе черный экран, так как откроется пустое приложение...
Хотя теоретически можно сразу несколько строк для консоли заложить таким способом:
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<resources />
<body x="0" y="0" width="640" height="480" onload="console:console --show\nvmu -d -a A1 -o /sd/vmu.bin\nconsole --hide\napp -o -n Main" />
</app>
Но я если честно не пробовал, возможно будут проблемы при парсинге XML, а может и нет.
додал кнопку к филеманаджеру - вму думп работает.
а вот на декстопе:
PHP код:
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<resources />
<body x="0" y="0" width="640" height="480" onload="console:vmu -d -a A1 -o /sd/vmu.bin" />
</app>
завешается, ничего не делает.
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<body x="0" y="0" width="640" height="480" onload="console:vmu -d -a A1 -o /sd/vmu_standalone.bin">
</body>
</app>
узменил '/>' на '></body>'
работает, но подключается пустое окно. можно добавить кнопку для выхода, но это не то.
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<resources />
<body x="0" y="0" width="640" height="480" onload="console:console --show\nvmu -d -a A1 -o /sd/vmu.bin\nconsole --hide\napp -o -n Main" >
</body>
</app>
даже после '<body... />' -> '<body... ></body>' не работает, завешается
моё решение в из работке:
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="VMU Dump" version="1.0" icon="../../gui/icons/normal/default_app.png">
<resources>
<script type="text/lua" src="./lua/main.lua" />
</resources>
<body x="0" y="0" width="640" height="480" onload="VMUDump:Dump()">
</body>
</app>
PHP код:
main.lua
function VMUDump:Dump()
-- VMUDump:Initialize();
-- os.execute("console --show\nsleep 1000");
-- os.execute("bios -w -f " .. os.getenv("PATH") .. "/shared/bios/" .. name .. ".bios");
-- os.execute("sleep 2000\nconsole --hide");
os.execute("vmu -d -a A1 -o /sd/vmu_standalone.bin");
-- os.execute("console --show");
-- VMUDump:Exit();
os.execute("app -o -n Main");
end
но после успешного вму думпа, программа не возбраняется в декстоп.
нашёл:
PHP код:
onload="DSInstall:Initialize()" onunload="DSInstall:Shutdown()" onopen="DSInstall:Update()"
может они как то помогут?
как всё таки сделать простой скрипт на декстопе, без дополнительных кнопок управления?
(16.03.2014 18:14)xitrix писал(а): [ -> ]но после успешного вму думпа, программа не возбраняется в декстоп.
нашёл:
PHP код:
onload="DSInstall:Initialize()" onunload="DSInstall:Shutdown()" onopen="DSInstall:Update()"
может они как то помогут?
Нет, дело не в них. Эти события работают соответственно при загрузке, выгрузке и открытии приложения, если необходимо выполнить какие либо действия при этом. Допустим когда нужно дорисовать GUI динамически при загрузке приложения.
(16.03.2014 18:14)xitrix писал(а): [ -> ]как всё таки сделать простой скрипт на декстопе, без дополнительных кнопок управления?
Да нету такой возможности, не заложена она в это приложение рабочего стола.
Поэтому я и предложил тебе пока альтернативные варианты.
В новой версии я добавил поддержку lua и dsc скриптов для рабочего стола (с возможностью изменения иконки), по твоей наводке
Хмм, странно что короткие теги не работают (я говорю о - />), закрывай тогда лучше все отдельным тегом.