FuSa Project: Play via composite cable with FuSa!

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

jas0nuk
Posts: 137
Joined: Thu Apr 27, 2006 8:00 am

Post by jas0nuk »

For anyone who wasn't watching the site, build 32 just got released :)
- Full GTA games series support
- Connection is stable now (You can freely enter menus in GTA :) )
- No more extra noise or stammer!
- New settings added
- And more... (I've just forgotten what I'd implemented there else, sry :) )

There was a lot of requests about fullscreen feature, that we decided to implement it next build (I mean mode N. 1! see FAQ at our site | mode N. 2 will be released some time later )

So be patient, we remember about your suggestions, just give us some time :)
Download

Thanks OldPrisoneR and andy_man :)
Snigel
Posts: 5
Joined: Mon Jan 28, 2008 7:24 am

Post by Snigel »

Would it be possible to implement color space conversion from YPbPr to RGB through component? This would make the component cable useful on any VGA monitor that supports sync on green.

(http://forums.ps2dev.org/viewtopic.php?t=9724)
ilovetamatha
Posts: 2
Joined: Fri Jul 04, 2008 2:27 am

cfw 4.1 m33-2 with fusa

Post by ilovetamatha »

was just wondering if and how this would work with cfw 4.1 m33-2? I've tried all versions but to no avail. Any help would be great. I really don't want to buy the component cord because only one of my tv's are compatible and the rest, and I have a lot, are composite.
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Re: cfw 4.1 m33-2 with fusa

Post by Wally »

ilovetamatha wrote:was just wondering if and how this would work with cfw 4.1 m33-2? I've tried all versions but to no avail. Any help would be great. I really don't want to buy the component cord because only one of my tv's are compatible and the rest, and I have a lot, are composite.
o_O so you assume it wouldn't work..

You have to composite cable already?
What?
ilovetamatha
Posts: 2
Joined: Fri Jul 04, 2008 2:27 am

Post by ilovetamatha »

i do have the composite i believe (red yellow and white)
OldPrisoneR
Posts: 53
Joined: Thu Mar 20, 2008 2:33 am

Post by OldPrisoneR »

I'm here again with... umm probably some weird question :p
The problem is that some games uses vblank. Directly or indirectly - it doesn't matter - because when we connect PSP to TV (interlaced mode), the vblank slows down in 2 times (from 60Hz to 30Hz) and obviously game's performance decreases in two times too

Currently we solve this problem by hooking some fuction like:
sceDisplayWaitVblankCB
sceDisplayWaitVblank
sceDisplayWaitVblankStartCB
sceDisplayWaitVblankStart
sceDisplayGetVcount

with every new build quantity of hooked function increases...
The last attemp was hookin sceCtrlReadBufferPositive and its negative variant with "Peek" equivalents - the result was interesting:
Some games began to work faster, another ones - slower (and some games' speed was still the same)

I tired of searching and hooking more and more functions, so I've recollected conversation with TyRaNiD.
He told that I can call vblank interrupt handler (using some timer or counter implemented in my programm) to increase speed up to 60Hz.


So here is the following question:
How to find that handler and how to call it in a safe way?

Any suggestions are welcome
anyway thx for your attention
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

Does anyone know the 5.00 NID for sceDisplaySetFrameBufInternal ?

tnkx!
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
OldPrisoneR
Posts: 53
Joined: Thu Mar 20, 2008 2:33 am

Post by OldPrisoneR »

Well, now I know how to find vblank handler address :)
mb this will help somebody else (for 5.00FW)

Code: Select all

pspVblankInterruptHandler = (void*)((int)sctrlHENFindFunction("sceDisplay_Service", "sceDisplay", 0xB4F378FA)+0x248);
Now there is another problem how to speed up vblank int. up to 60Hz...
I tried to use systimer and I'd got nice speed :) but there are some delays. Say... game lags a little sometimes
Here is code of speedbooster

Code: Select all

#include "speedbooster.h"

extern char spb;
SceSysTimerId vblanktmr;
int vcount = 0;
int tacts = 0;
int allowed = 1;

void vblank_60Hz(void)
{
	tacts++;
	if (tacts == vcount) 
	{
	allowed = 0;
	pspVblankInterruptHandler(0x1E);
	allowed = 1;
	}
	return -1;
}

int vblank(int id)
{
	if (allowed)
	{
	vcount = tacts >> 1;
	tacts = 0;
	}
	
	return -1;
}

void speedboost_enable(void)
{
	int intc = pspSdkDisableInterrupts();
	
	vblanktmr = STimerAlloc();
	STimerSetHandler(vblanktmr, 0xFF, vblank_60Hz, 0);
	STimerStartCount(vblanktmr);
	
	sceKernelRegisterSubIntrHandler(PSP_VBLANK_INT, 0,  &vblank, 0);
	sceKernelEnableSubIntr(PSP_VBLANK_INT, 0);
	
	spb = 1;
	
	pspSdkEnableInterrupts(intc);
}

void speedboost_disable(void)
{
	int intc = pspSdkDisableInterrupts();
	
	STimerStopCount(vblanktmr);
  	STimerFree(vblanktmr);
  	
  	sceKernelDisableSubIntr(PSP_VBLANK_INT, 0);
	sceKernelReleaseSubIntrHandler(PSP_VBLANK_INT, 0);
	
	spb = 0;
	
	pspSdkEnableInterrupts(intc);
}
I think it'll be better to put counter and call into some interrupt which triggers 1/60 sec or oftener...
We are SO CLOSE to solution (fixing speed issues for SDTVs) :)
Guys maybe you've got some other ideas? Ah?
Post Reply