You're doing software stretching? No wonder it's running slowly.
Looking at the specs, unless you want games to have borders at the sides, you probably do need stretching.
Printable View
You're doing software stretching? No wonder it's running slowly.
Looking at the specs, unless you want games to have borders at the sides, you probably do need stretching.
[quote author=BlackAura link=board=pdev;num=1098164880;start=15#20 date=10/21/04 at 08:31:31]You're doing software stretching? No wonder it's running slowly.[/quote]
I actually prefer things running at the proper aspect ratio which this thing to a point ignores (well it doesnt really, but SDL on the DC can only do certain heights/widths, which i didnt even know it could do 640x480, i thoutht it was limited to 320x240 =P). wether or not they take advantage of extra resolution or not.
Its not my fault the program did it that way =P its just not one of the things i wanted to tackle right away =P (remember this port is 2 days old hehe)
Anyone know why I might be getting this error: "thd_schedule: idle task is the only thing left; exiting"
using the code I posted here for pvr display: http://www.dcemulation.com/phpBB/vie...amp;highlight=
it seems to throw that error or outright hang soon after running that (it seems to be some sort of timed thing, since the place in code depends on how many things have to run ( i comment out the last line that seemed to be the problem, and it just happened slightly later).
are you creating your texture with
vidram_tex = pvr_mem_malloc(TEX_WIDTH*TEX_HEIGHT*2);
did you call pvr_setup() somewhere else?
also is your buferr 32 bit aligned?
osd_gfx_buffer = (unsigned short *)memalign(32,256*256*2);
Otherwise I don't know what else it could be.
my pvr init code:
i also tried using this :KOS_INIT_FLAGS(INIT_DEFAULT & ~INIT_THD_PREEMPT);Code:
int osd_gfx_init(void)
{
pvr_init_defaults();
vid_set_mode(DM_320x240, PM_RGB565);
vidram_tex = pvr_mem_malloc(256*256*2);
osd_gfx_buffer= (unsigned short *)memalign(32,256*256);
return 1;
}
to do that different thing possible with the threading (which I frankly just don't understand at all)
ok, I am not familiar with those KOS flags but
have you tried to use these funtions to load the pvr texture instead of memcpy it?
pvr_txr_load_dma(vidram_buf, vidram_tex, TEX_WIDTH*TEX_HEIGHT*2, 1,NULL,1);
or
pvr_txr_load (vidram_buf, vidram_tex, TEX_WIDTH*TEX_HEIGHT*2);
what I would try is set up a buffer thats memaligned like my above vidram_buf, and memcpy to it . And then use one of the above function to load the texture. Don't know if it will make any difference.
Troy
[quote author=GPF link=board=pdev;num=1098164880;start=15#25 date=10/24/04 at 03:53:52]ok, I am not familiar with those KOS flags but
have you tried to use these funtions to load the pvr texture instead of memcpy it?
pvr_txr_load_dma(vidram_buf, vidram_tex, TEX_WIDTH*TEX_HEIGHT*2, 1,NULL,1);
or
pvr_txr_load Â* Â*(vidram_buf, vidram_tex, TEX_WIDTH*TEX_HEIGHT*2);
what I would try is set up a buffer thats memaligned like my above vidram_buf, and memcpy to it . And then use one of the above function to load the texture. Don't know if it will make any difference.
Troy[/quote]
I actually already tried exactly what you said before and it does the same.
The weird thing is this didnt happen at first. It happened once randomly then not again for a while, and now it happens no matter what I do.
I'm gonna try writing the pvr rendering again from scratch i guess =\.
Still kindah wanna hear what BA has to say about it (if anything =P)
I notice you are using pvr_init_defaults();
is that the same as pvr_setup();
I have only used pvr_setup();
what the difference?
ive never seen pvr_setup. i think that might be a newer way of doing pvr_init_defaults but im not sure.
oops my bad.
pvr_setup is my own function that calls pvr_init_defaults() lol , sorry