PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=101)
-   -   PSPxIDE - мини IDE для разработок под PSP (https://www.pspx.ru/forum/showthread.php?t=28898)

wSlava 03.01.2007 16:46

PSPxIDE - мини IDE для разработок под PSP
 
Вложений: 1
Всех поздравляю с наступившим 2007 годом !
Вот написал свою мини среду разработки под PSP, обозвал PSPxIDE.
Основные фичи первой версии:
- Полнофуекциональный редактор c/cpp исходников с синтаксической расцветкой
- Возможность объединения исходников в проекты
- Code Folding - сворачивание блоков исходников при редактировании
- Компиляция и билд проектов в cygwin (PSPDev Environment for Win32) !
- Вывод результатов компиляции + позиционирование в тексте модуля
на ошибках
- Полная изоляция от консольной cmd строки :)
- Поддержка русского и английского языков интерфейса

Работа с PSPxIDE:

1. Разархивируйте папку PSPxIDE в любое место
2. После первого запуска PSPXIDE.exe открывайте меню Проект - Опции
Выберите директорию PSPDEV - куда поставили PSPDev Environment for Win32 (обычно c:\pspdev), в параметры gcc ставьте kxploit (если хотите получить хомебрю под 1.5, 3.02 OE, пусто - значит 1.0) , далее ставьте галку "Параметры по умолчанию" и жмите ОК. Теперь при создании любого прожекта или открытии исходников эти параметры будут действовать по умолчанию !
3. Поддерживается две методики работы :
а) Работа без создания проекта - просто откройте главный файл исходников хомебрю *.c,*.cpp в директории, где лежит Makefile. При этом в дальнейшем будут использоваться только параметры по умолчанию.
б) Работа с созданием проекта - можно открыть несколько файлов исходников и затем сохранить новый проект в меню Файл-Проект. Вместе с проектом сохраняются опции (для каждого проекта можно установить свои ) и входящие в него файлы.
4. Редактирование - все как в нормальной современной среде программирования
5. Компиляция - меню Проект - Отбилдить либо горячая клавиша F9. для визуального контроля над компиляцией откройте окнго вывода - меню Вид - Окно вывода. Если все успешно, то в конце увидите строку Successfully complete !, то есть результаты будут находиться в каталоге проекта, откуда можно их скопировать в PSP\Game для 1.5 или PSP\Game150 для 3.02.
Так же предусмотрена возможность автоматического копирования результатов билда куда хотите, для этого в опциях проекта установите "Коприровать результат в", теперь после компиляции в случае успеха результат дополнительно будет скопирован в выбраное местоположение (например сразу в PSP). Если исходники содержат ошибки, то в окне вывода появится секция "Errors/Warnings ...", и под ней перечисление ошибок/предупреждение. При этом, если кликнуть два раза в окне сообщений на строке ошибки, то если данный модуль открыт в редакторе, то окно этого модуля в редакторе станет активным и курсор установится на строку ошибки.

Вот в принципе все что мог ,написал , если у кого будут вопросы и предложения пишите.

P.S. Выкладываю на www.pspx.ru в первую очередь в поддержку русского PSPDev сообщества :) На буржуйских форумах народ много спрашивает про подобную весч, ведь с cmd мало кто дружит :) так же выложу скоро и там.

pspowner 03.01.2007 21:24

Сейчас извините, в голове новоголний шум ещё стоит... ппроверю потом, но в принципе можно туда "Run" прикрутить? Ну как я понимаю копируется ебут на зыз и там запускается(на ЗЫЗе естественно караулит другая прога). Это что-то вроде PSPLINK выходит, но с тем что-то мне в силу врождённой лености неохота разбираться...

Ну мне кажется, самое нужное не IDE и постоянная командная строка бекграундом, а как то автоматизировать заливку прог на ЗЫЗ и запуск...

wSlava 03.01.2007 22:00

У меня новый год тоже еще в голове , но вот решил чем то позитивным заняться, как то ниче не делать не получается :)
Конечно, все можно прикрутить, но постепенно .
Над PSP Link я тоже сразу думал, он же в PSP Dev входит. Но разбираться надо. Если б кто помог :unknw: .
Я вот что в исходниках PSPLINK нашел

# ****** to load a prx and its symbols, set a breakpoint on its main
# function and start it.
# Call it 'run filename'
modload $1.prx
symload $1.sym
bpset '?$!:main?'
modstart '@$!' $1.prx

значит и отладчик возможен ! Добавить отладчик в PSPXIDE мне дело нехитрое, вот инфу отладочную как организовать, это пока вопрос.

Вообще идея такая, чтоб использовать PSP для отладки как удаленный терминал. Если это реализовать, то PSPXIDE станет делфей под ЗЫЗу :) Будем стремится , думаю что это реально.

pspowner 03.01.2007 23:22

Да... Хм... Не знаю Symbol Table это здорово, но я всётаки не профессионал.
Если я ещё как-то себе представляю как сделать отладку в опкодном представлении, то дебаг инфа, в ебуте - ваще что-то для меня запредельное.
Вобщем, я лично, буду безмерно благодарен если что-то подобное с доступным интерфейсом появится....

Я просто думал о том, что можно сделать проще, я о Run'е.
Грубо, есть irShell кторый может распаралелить USB-синхронизацию, и ещё одну прогу которая будет ждать появления ебута в определённой папке.
Вот вам и Ран...


Ну это только размышления...

wSlava 03.01.2007 23:37

Уже почти пришел к пониманию как програмно сделать рун на PSP через PSP Link :) Так что думаю на днях организую.
Вот еще кому интересно, дока про PSP : аппаратная архитектура и методы ее программироования :
http://ps2dev.org/psp/Tutorials/PSP_...embly.download

wSlava 07.01.2007 18:34

Вложений: 1
Выкладываю новый релиз 1.1 с возможностью запуска хомбрю на PSP !

1. Инструкция в первом посте остается в силе
2. Появились новые 2 пункта меню Проекта и кнопки в панели: Запуск и Остановить

Новая функция основана на хомбрю PSP утилите PSPLINK и USB драйвере , входящие в комплект PSPDev Environment for Win32.
Порядок установки:
1. PSPLINK часть для PSP версий 1.5, 3.02 и выше находится в каталоге pspdev в \psplink\v1.5\. Копируем в PSP\Game для 1.5 или PSP\Game150 для 3.02 и выше.
2. Запускаем PSPLINK на PSP
3. При первом запуске (если USB кабель присоединен) в Windows откроется Мастер нового оборудования, нужно установить специальный USB драйвер под PSPLINK, указав в качестве каталога для поиска расположение pspdev\bin. При этом в диспетчере устройств появится LibUSB-Win32 Devices.

Все, теперь в PSPxIDE можно открыть проект или c/cpp , отбилдить, а потом запустить, для выхода из хомбрю нужно нажать Остановить, при этом PSPLINK вернется в первоначальное состояние, соответственно можно запускать сколько угодно раз !
Я использую фичу PSPLINK, позволяющая запускать программы прямо с диска PC, ничего не копируя на мемористик! Это дело я автоматизировал, так что прилинковывается текущий каталог разрабатываемой хомебрю, так что все автоматом :)

В текущей версии все заточено под скомпилированные для PBP - ELF файлы, но в принципе могу доделать под PRX, если конечно интерес будет.
Еще ! самое главное, я почти разобрался с методами debuga под PSP, как низкоуровневыми, так и Source level ! Тут реализован клиент серверный механизм удаленной отладки GDB, я ранее использовал его в пректе на gcc, так что полнофункциональному ОТЛАДЧИКУ БЫТЬ ! В следующей версии вставлю примитивную отладку.

.//Hack 07.01.2007 21:03

У меня все время ошибки выдает, когда же в gcc компилит нормально

добавлено через 5 минут
И кстати, при запуске PSPLink у меня никаких драйверов не требует, просто открывает как обычный съемный диск

добавлено через 6 минут
От ошибки избавился!!

wSlava 07.01.2007 21:11

.//Hack , в итоге нормально все запускает через PSPLINK ?

.//Hack 07.01.2007 21:17

Чтобы установить тип "B" тоже добился.

добавлено через 1 минуту
Даже не знаю1
Пишет Run а потом OK! но что при этом должно проиходить?

добавлено через 1 минуту
Отлично работает!!

добавлено через 23 секунды
Просто по подробней в описании с настройками опиши!!

добавлено через 49 секунд
стукни в асю мне 241-613-423

wSlava 09.01.2007 00:08

Вложений: 1
Очередное обновление, версия 1.15

Добавлено:
1. Теперь возможно компилировать и в PRX ! Для этого нужно чтоб в MakeFile после ASFLAGS = $(CFLAGS) была строка BUILD_PRX = 1 и в опциях проекта было clean (вместо kxploit)
2. Первая отладочная фича - получение скриншотов с PSP ! (не так информативно но красиво :) не удержался). Идем в Меню Вид - Окно PSP ScreenShot. Во время выполнения хомбрю на PSP (под PSPLINK) нажимаем Grab и радуемся (также последний скриншот лежит в каталоге текущего проекта и зовется scrshot.bmp).

P.S. //Hack , завтра буду доступен в аське, спишемся если че
Народ ! Что то смотрю много просмотров темы, а отозвались всего два человека, неужели никому не интересно :( Ведь при удачном развитии проект реально может стать хорошим дополнением к PSPDev Environment,
надо же хоть както заявить о себе, а то только буржуи на PSP сцене !

wSlava 09.01.2007 23:30

! В дополнение к посту 6, при установке PSPLINK: конфигурационный файл под USB Host - его копировать на PSP в каталог PSPLINK !

elvis live! 21.01.2007 21:52

Качаю, щас опробую, отпишусь.

wSlava 22.01.2007 12:13

О, здорово, еще один пост появился, (elvis live!) отпишись как все получилось. Я в принципе, уже source debug сделал, то есть можно бреакпоинты расставлять в исходниках, просматривать переменные и т.д. , все как в Делфи :) . Осталось как всегда самое тяжелое :) - все это в интерфейс IDE вставить, горячие клавиши и т.д. Еще все думаю, как конфигурацию и настройки проекта удобней сделать. Такая инфа для размышления: Запускать можно на отладку файлы 3 типов: elf, prx, pbp. Так вот elf, prx могут содержать дебаг инфо и соответственно удобно отлаживаться, но есть ограничение, что их можно отлаживать только для user level хомбрю, а kernel level - нет. Но можно хоть что фиктивно отлаживать через pbp (не тот что финальный, а тот что в результате дебуг компиляции делается), то есть писать отладочную инфу самому в stderr. В общем ,всю эту специфику надо как то организовать, то есть сесть и сделать.
Еще нужно доделать, чтоб итоговая хомбрю была с иконками, музыкой, т.е. мастер, который картинки и музыку в проект добавляет, и соответственно в компиляцию это вставит, как это делать, я уже знаю. Если у кого есть желание нормально это сделать в виде плагина, буду оч. рад разделить авторство :)

pspowner 22.01.2007 20:44

Так, всё поставил, всё почти работает. Есть только одна трабла:

- После первого удачного старта проги на ЗЫЗ приходится вырубать приставку и заново запускать ПСПЛИНК.

Иначе повторно запустить неудаётся:

Connecting to PSP ...
Retry ...
Retry ...
Retry ...
Retry ...


А так, wSlava - респект. Очень удобно.

pspowner 22.01.2007 21:22

Ага, вот значит походу какой-то глюк с резетом.
Если отправить в suspend, а потом вернуть - то всё Ок.
Фиг знает что это. Может из-за 3.03ОЕ?

Но всё равно класно.

wSlava 23.01.2007 02:28

Спасибо. Капитан, а ты когда хомбрю на PSP запустилась из под IDE, для остановки нажимал на Stop ? Должно было в окне сообщений вывестись: Reset и PSP просто вернуться в PSPLINK и тогда только можно перезапустить. Скинь вообще весь лог. Еще можешь написать, какую хомку запускал, если пробовал запускать из демок PSPDev? А скриншот пробовал сделать ?
P.S. Последний раз на 3.03 ОЕ-А' смотрел, на OE-B еще нет, может изза этого. Буду смотреть. Еще раз спасибо за тест :)

pspowner 23.01.2007 10:51

Стоп нажимал, и PSP ресетится(раздаётся щелчок UMD-привода и возврат в PSPLINK). Просто потом прога не хочет конектится с PSP снова. Запускал просто пример из: C:\pspdev\psp\sdk\samples\controller\basic
Скриншот работает.

Запустить прогу повторно можно только если выключить ЗЫЗ и заново запустить ПСПЛИНК. Или, что странно, просто отправить ЗЫЗ в standby а потом вернуть обратно - тогда перезапускать PSPLINK не требуется.

Сейчас лог не скину, чуть попозже. Вчера на домашнем компьютере проверял, здесь ещё не подключал. Заодно и проверю мож в компе дело.

pspowner 23.01.2007 11:50

Цитата:

******************************************
Compile/Build ..............................................................
******************************************
Microsoft Windows XP [Âåðñèÿ 5.1.2600]
(Ñ) Êîðïîðàöèÿ Ìàéêðîñîôò, 1985-2001.

>set PSPDEV=C:/pspdev2

>set PATH=%PSPDEV%/bin;%PATH%

>C:\pspdev2\bin\make.exe -C 2>>\deberr.tmp
make: Entering directory `/cygdrive/c/pspdev2/psp/sdk/samples/controller/basic'
psp-gcc -I. -IC:/pspdev2/psp/sdk/include -O2 -G0 -Wall -c -o main.o main.c
psp-gcc -I. -IC:/pspdev2/psp/sdk/include -O2 -G0 -Wall -L. -LC:/pspdev2/psp/sdk/lib main.o -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o controller_basic.elf
psp-fixup-imports controller_basic.elf
mksfo 'Basic controller sample' PARAM.SFO
psp-strip controller_basic.elf -o strip_controller_basic.elf
pack-pbp EBOOT.PBP PARAM.SFO NULL \
NULL NULL NULL \
NULL strip_controller_basic.elf NULL
rm -f strip_controller_basic.elf
make: Leaving directory `/cygdrive/c/pspdev2/psp/sdk/samples/controller/basic'


******************************************
Successfully complete !
Build time: 0:00:08


Connecting to PSP ...
OK
Running "controller_basic.elf"
Reset PSP ...
OK


Connecting to PSP ...
OK
Running "controller_basic.elf"
Reset PSP ...
OK

вСлава, странно. На работе всё работает отлично. Значит вечерком буду трясти домашний комп. Может другой разъём USB попробовать... Разница в логах только в том что после второго Connecting to PSP ... у меня дома идёт Retry ... А потом месседжбокс что ЗЫЗ не подключена(не помню точно как написано).

wSlava 23.01.2007 13:16

ОК. Я седня пробовал и дома и на работе, все нормально и на 3.03 ОЕ-В идет. .//Hack тоже говорил , что все ОК. Очень даже похоже что виснет драйвер USB (libusb0.sys). То есть когда повторно устанавливается канал, ничего не происходит. А при выключении или просто в суспенд, из винды устройство демонтируется, а при инициализации монтируется и все ОК. Сначала можно просто попробовать переустановить драйвер USB вручную, находятся он в \pspdev\bin\ , зовется libusb0.sys, файл установки psp.inf.
Вот еще что посмотреть можно: при старте хомбрю на PSP в начале создается на PC процесс usbhostfs_pc (должен висеть в диспетчере задач) - он обеспечивает обмен данных по USB, после Reset usbhostfs_pc отваливается. Есть момент, что после Reset повторный запуск usbhostfs_pc проходит дольше, поэтому в цикле проверяю, прошел ли старт успешно и через таймаут выдаю предупреждение.
Мне интересно узнать, когда второй раз запуск не проходит и выдается предупреждение, если его не закрывать и глянуть в процессы, есть ли там usbhostfs_pc ?

pspowner 23.01.2007 13:28

Ок, драйверы переставлю, дипетчер соскришотю =),вечером отпишусь.
Значит дело точно в компе.


Текущее время: 00:13. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.