Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

 
Reply to this topicStart new topicStart Poll
500mhz
post Воскресенье, 17 октября 2010, 14:54
Отправлено #1


аццкий сотона
******

Группа: Пользователи
Сообщений: 1 677
Регистрация: 21 авг. 2006
Пользователь №: 17 682





непонятки господа с видеопамятью. у нас заявлено разрешение 480*272*32b.
делаю
CODE

#include <pspkernel.h>
//#include <pspdebug.h>


PSP_MODULE_INFO("Main", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);

void main ()
{
unsigned char *vram;
vram = 0x4000000;
int i=512;
while (i>0)
{
 *vram = 0xff;
 vram = vram + 4;
 i--;
}

vram = 0x4000000;
int a=272;
while (a>0)
{
 *vram = 0xff;
 vram = vram + 512*4;
 a--;
}

}


фактически 512 получаеться по горизонтали, что не так?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
500mhz
post Воскресенье, 17 октября 2010, 15:07
Отправлено #2


аццкий сотона
******

Группа: Пользователи
Сообщений: 1 677
Регистрация: 21 авг. 2006
Пользователь №: 17 682





нарыл в инклюдах
#define PSP_LINE_SIZE 512
#define SCREEN_WIDTH 480
#define SCREEN_HEIGHT 272
)))

никто не знает за каким хреном так сделано?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Chintoi
post Воскресенье, 17 октября 2010, 17:48
Отправлено #3


Маньяк
****

Группа: Пользователи
Сообщений: 366
Регистрация: 28 мая. 2007
Пользователь №: 22 437





Потому что 512 это степень двойки. Ширина шин всегда равна степеням двойки. Если класть в память строку пикселей на строку памяти, даже если вторая длиннее, то математика доступа проще и быстрее.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
500mhz
post Воскресенье, 17 октября 2010, 18:56
Отправлено #4


аццкий сотона
******

Группа: Пользователи
Сообщений: 1 677
Регистрация: 21 авг. 2006
Пользователь №: 17 682





это все понятно, но можно было и экран в таком случае сделать на 512 пикселей )

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Chintoi
post Воскресенье, 17 октября 2010, 19:13
Отправлено #5


Маньяк
****

Группа: Пользователи
Сообщений: 366
Регистрация: 28 мая. 2007
Пользователь №: 22 437





можно, но на заводе делают только такого размеры пиксели, значит экран пришлось бы делать больше, тогда псп не влезла бы даже в репперский карман и была бы дороже.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
500mhz
post Понедельник, 18 октября 2010, 18:27
Отправлено #6


аццкий сотона
******

Группа: Пользователи
Сообщений: 1 677
Регистрация: 21 авг. 2006
Пользователь №: 17 682





Вопрос номер 2

Выше приведенный код при компиляции в prx прекрасно работает через psplink, при запуске как eboot не пашет.
В теории я могу догадываться что prx это loadable kernel module, то есть работает с правами system что позваляет напрямую работать с vram, на практике в sdk об этом скромно умалчивают. Вопрос где шаманить?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Ср., 01 мая. 2024, 01:51
Skin Designed (c) by Rooq.net, All Rights Reserved.