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 27.03.2007 00:39

Новая версия http://pspx.ru/ide/PSPXIDEv_2_1_5.zip, вроде разгреб несколько глюков, теперь буду их фиксировать строже, так как лог появился :) еще завел changelog.txt (будет идти с каждой версией), тоже упорядочу исправления.

вот содержание changelog.txt

Версия 2.1.5

-Добавлено логирование. В каталоге программы
пишется Log.txt. Теперь ошибки без его отсутсвия в
качестве подтверждения не рассматриваются :)
- По двойному клику на кнопку компиляции
происходило "зацикливание". Исправлено
- Исправлена кодировка при выводе в окно сообщений
- Поддержка русских символов в имени каталогов хомбрю
- Исправлена ошибка при копировании результата после
компиляции
- Исправлена ситуация с запретом редактирования кода
после неудачной копмиляции
- Добавлено: в окне скриншотов (когда оно не встроено в главное окно)
клик 2 раза мышкой - открыть/закрыть полноэкранный режим,
можно и как обычно окно растянуть. Появился бокс со стрелками
интервал в милисекундах (менно таймера, скриншот придет как получится)
обновления скриншотовов с PSP, если 0 то только по кнопке,
если больше, то автоматом.

Mortem 27.03.2007 03:10

Ошибки списка функций:
1. В настройках стоит показ нумерации строк с 0. Но в списке функций они отображаются с 1, что вводит в заблуждение. (:
2. Если играться со скрытием текста, а затем обновить окно функций, то номера функций не соответсвуют действительности. У меня всегда показывалась строка 200. При двойном клике на заглючившее отображение функцию прога зависает.

http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_1.jpg
Красными стрелками показана описанная ошибка. А зелёной стрелкой показано то, что функция поиска функций (: находит не только функции. (:
Простите за каламбурчик.

Вот лог:
Action) 27.03.2007 2:55:06 FileWorkspaceOpen
Action) 27.03.2007 2:55:11 SearchFunctionList
Action) 27.03.2007 2:55:29 SearchFunctionList
Action) 27.03.2007 2:55:45 EditSelectAll
Action) 27.03.2007 2:55:46 ViewCollapseAll
Action) 27.03.2007 2:55:50 ViewCollapseAll
Action) 27.03.2007 2:55:53 SearchFunctionList

Всё же лог нужно чистить при старте, иначе после 50 запусков ИДЕ он разрастётся до нечеловеческих размеров.

добавлено через 1 минуту
Да, каллапс текста тоже порой подглючивает, но повторить пока не удалось... Ну, просто имей в виду... (:

wSlava 28.03.2007 01:10

Список явно бажит :) Лог я ограничил 1Мегабайт, если переполняется, то
создается новый. Если каждый раз чистить при старте, то может потеряться ценная информация предыдущего запуска. Может его с прокруткой доделаю (самые старые удаляются при добавлении новых).
Еще интересно про PSPLINK и отладку подробней инфу увидеть.

добавлено через 10 часов 30 минут
Начал писать туториал, только передумал про "пятнашки" - слишком много геморроя с выводом текста, и решил написать тетрис :) А то PSPxIDE пишу, а хомбрю забросил, заодно сейчас отловлю некоторые баги, уже нашел и поправил один довольно таки неприятный глюк на компиляции: при выводе большого числа ошибок компиляции (80 строк, во как умею) функция перекодировки сообщений падает и соответственно дальше все плавно рушится.

Mortem 28.03.2007 11:52

Когда PSPxIDE выдаёт ошибку в неоткрытом файле, то неплохо бы его открывать, при даблклике по строке ошибки. (:

А где в пятнашках текст? Или что ваще такое "Пятнашки"? (:

wSlava 28.03.2007 14:49

http://med-plast.com.ua/img/plastic/50.jpg
:) Просто хочу на чистом GU написать без доп. библиотек, а вывод текста есть только дебаг надписи, ну и пример есть про текст, но там используется алфавит в raw формате, поэтому чето передумал, тетрис все же графически прост и все равно эффектнее. Короче,наполовину уже сделал, скоро выложу :)

добавлено через 1 минуту
P.S. Сайтик твой смотрел, демка 4K прикольная, вторая чето не качается.

Mortem 28.03.2007 19:09

Да, именно таким я сего и представлял Пятнашки.
Только там же текста нету? (:

P.S. только что проверил - качается нормально...

wSlava 28.03.2007 22:05

а 1,2,3 ... это не текст ? ) так вот надо вывести чтоб на каждую ячейку циферку, к сожалению в чистом GU ничего нет, разве что псевдографический вывод текста pspDebugScreenPuts 20x50 символов, при этом еще фон портится. Еще пример gufont есть в SDK, но делать туториал, где больше половины работы посвящено выводу циферок, это ИМХО бестолково, поэтому я тетрис делаю, очень прикольно, и алгоритмы простые и простейшие приемы работы с GU!

Mortem 28.03.2007 23:18

Зачем цифирки выводить? (: Плашки можно сделать полностью графическими. (:

wSlava 02.04.2007 17:23

Сделал свой тетрис :) В принципе, в PSPxIDE было все удобно делать и быстро, на все суммарно где то часов 10 ушло. Заметил пару глюков, связанных с компиляцией и отладкой, поправил, скоро выложу версию. А сам тетрис выложил на общий форум https://www.pspx.ru/forum/showpost.ph...5&postcount=55

добавлено через 14 часов 22 минуты
P.S. Пришел к пониманию, что управление проектом в PSPxIDE все же нужно реализовать, очень уж выработалась привычка на других IDE ... Ладно, сам доелаю :)

Mortem 03.04.2007 01:11

wSlava Респект!

Блин, тада я чувствую в себе необходимость (: таки написать пятнашки. (:
Как только приведу в приличный вид свой малюсенький фреймворк - тут же этим займусь. (:

Mortem 06.04.2007 22:09

В приличный вид фреймворк не привёл, но Пятнашки написал. Нашёл неприятные косяки, связанные с явным непониманием основ программинга под PSP. Пока обошёл их не очень красивым способом - буду думать.

wSlava
Не мог бы ты выложить исходники тетриса. Хоть 3д, хоть 2д - мне б системную часть глянуть... Заранее спасибо.
И это, когда намечается новая версия IDE? А то страшно неудобно девелопить... (:

wSlava 07.04.2007 01:39

Вложений: 2
Исходники тетриса версии 1 и последняя 1.3 в аттачменте , В 1 версии все очень просто и только на GU. В следующих версиях уже юзаю доп. библиотеки libpng,zlib,libmad + дополнительные исходники взятые из http://www.psp-programming.com/
Все обещаю постепенно закоментить и выложить. Так же практически готов SDK "все в одном", только со шрифтами осталось разобраться.

Вот последняя версия PSPxIDE в которой я все делал
http://ifolder.ru/1601332
Поправил 2 неприятных глюка при компиляции и отладке (вот они думаю и доставали, когда начал писать то сразу отловил), в остальном последних пару дней все прекрасно работало. Сейчас в планах все же добавить управление проектом и после сделаю релиз.

Mortem 07.04.2007 04:03

Когда перебиндиваешь Tab для смещения выделенного блока - перестаёт работать обычный Tab для смещения от курсора. ): Можно это поправить в релизе?

P.S. Сел переписывать пятнашки под ООП. (:

Mortem 08.04.2007 21:47

Открываю откомпиленный ебут в тотал коммандере по ф3. листаю и вижу вот таку (http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_3.gif) вот картину. Там такого страницы 3-4. Кто-нить может объяснить сей парадокс? А вылечить? Заранее спасибо!

добавлено через 2 часа 56 минут
wSlava
Можешь рассказать, как отлаживать прогу с помощью GDB-консоли? Что бы я туда не ввёл - либо вылезает ошибка, либо вообще ничего не происходит... ):

all
Есть у кого-нить пример логгера для PSP-приложения? А то меня это шаманство с кодом уже порядком подзадолбало... (:
Заранее благодарен.

добавлено через 4 минуты
Как это было:
1. Компилю прогу.
2. Запускаю прогу через PSPLINK.
3. Открываю GDB-консоль.
4. Ввожу 'help'.
5. Вываливается ошибка. (далее что бы ни вводил - нет реакции)
6. Нажимаю кнопку 'Stop'. IDE gереходит в режим редактирования кода при этом прога продолжает висеть в PSPLINK.
7. Попытка заного запустить прогу даёт следующий лог:

OUT) Компиляция завершена успешно !
OUT) Время компиляции: 0:00:05
Action) 08.04.2007 21:40:21 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Выполнение "TheGame" (eboot.pbp)
Action) 08.04.2007 21:40:29 ViewGDBConsole
Action) 08.04.2007 21:42:22 Stop
Action) 08.04.2007 21:42:28 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Ошибка ... Попробуйте заново :)
OUT) Сброс PSP ...
OUT) Ошибка сброса ...
Action) 08.04.2007 21:45:18 Closing PSPxIDE

wSlava 08.04.2007 22:38

Про PBP - такого не встречал, посмотрел несколько файлов, ничего подобного...

Про отладку и GDB-консоль, прочитай в хэлпе пункт
9. Методы отладки хомбрю приложений.
GDB-консоль задействована только в режиме отладки

Техника взаимодействия с PSPLINK такая:
- в режиме обычного запуска запускается eboot.pbp
- в режиме отладки запускается <проект>.elf

то, что консоль в обычном режиме доступна - это глюк, поправлю,
сделаю readonly.

Если хочешь лог файл делать из хомбрю, то пользуйся группами функций
fopen, fprintf, write, и т.д. я посмотрел, здесь тот же #include <stdio.h>
что и везде используется (VC,C++Builder,Turbo C++... )

Mortem 13.04.2007 11:06

1. Компилю прогу.
2. Открываю окно скриншотов.
3. Запуская прогу.
4. Тычу сграбить и вижу: http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_4.gif
5. после этого сбрасывается соединение с PSP, т.к. при нажатии на "Stop" IDE просто переходит в нормальный режим, а игра на PSP не сбрасывается и судя по логам нету вообще попыток завершить выполнение проги на PSP.

Action) 13.04.2007 10:51:01 ScrShot
OUT) ******************************************
OUT) Компиляция завершена успешно !
OUT) Время компиляции: 0:00:12
Action) 13.04.2007 10:51:10 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Выполнение "TheGame" (eboot.pbp)
GDB) scrshot scrshot.bmp
GDB) scrshot scrshot.bmp


Action) 13.04.2007 10:51:55 Stop
Action) 13.04.2007 10:52:01 Closing PSPxIDE


добавлено через 3 минуты
Кстати на счёт логгера:
FILE *logFile = fopn("log.txt", "a"); // пробовал так же вариант с "wb"
fwrite(str, strlen(str), 1, logFile);
fclose(logFile);

Файл создаётся, но он пуст, при том что те же строки нормаьно выводятся через: fprintf(stderr, "$>%s", str);

wSlava 14.04.2007 20:25

баг поправил.
Насчет логгера, посмотри подробней <stdio.h>, там много полезных вещей,
причем стандартно для всех компиляторов c/c++

вот как лог можно делать:

FILE *logFile = fopen("log.txt", "a+t");
fprintf(logFile, "preved %s %d \n", "medved",5);
fclose(logFile);

fopen(<имя>,<модификатор доступа>)

<модификатор доступа>:
r - чтение
w - запись
a - добавление

дополнительно уточнения
b - бинарный
t - текстовый
+ при "а"если нет файла то создает

Mortem 14.04.2007 23:18

дык вроде в виндовом движке работал мой вариант... странно всё это, возможно косяки PSPLINK...
Надо как-нить краштест фреймворка провести непосредственно с консоли. (:

wSlava 15.04.2007 21:44

PSPLINK не причем, в user mode он работает прекрасно (то что мы пишем, все в User mode), проверено сотнями программеров, есть косяки только в kernel mode, об этом сказано в документации.

pspowner 16.04.2007 13:24

Слав, вобщем отдал я переводчику - он посмотрит. Вопросы конечно возникли, всётаки в программировании он не бум-бум. Короче посмотрим чего получится.


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

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