Пример #1
0
int _main(void)
{
	// Init and resolve libraries
	initKernel();
	initLibc();
	initNetwork();
	initPthread();

	// Init netdebug
	struct sockaddr_in server;
	server.sin_family = sceNetHtons(AF_INET);
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));

	netdbg_sock = sceNetSocket("netdebug", AF_INET, SOCK_STREAM, 0);
	sceNetConnect(netdbg_sock, (struct sockaddr *)&server, sizeof(server));


	ftp_init(PS4_IP, PS4_PORT);

	//INFO("PS4 listening on IP %s Port %i\n", PS4_IP, PS4_PORT);

	while (1) {
		sceKernelUsleep(100 * 1000);
	}

	ftp_fini();

	return 0;
}
Пример #2
0
void vblank(void) {
	#ifdef WIN
		drawFramebuffer();
	#endif
	
	#ifdef PS4
		void readController(void);
		readController();
		
		extern unsigned int buttons;
		keys.c = (unsigned char)buttons;
		
		sceKernelUsleep(1000000 / 60);
	#endif
	
	#ifdef DS
		// The Game Boy and DS use the same key layout, how convenient :)
		keys.c = (unsigned char)REG_KEYINPUT;
		
		// Support scrolling
		copyMap();
	#endif
	
	#ifdef GC
		VIDEO_WaitVSync();
	#endif
	
	#ifdef DS3
		hidScanInput();
		u32 kHeld = hidKeysHeld();
		
		keys.keys1 = 0x0f;
		keys.keys2 = 0x0f;
		
		if(kHeld & KEY_B) keys.b = 0;
		if(kHeld & KEY_A) keys.a = 0;
		if(kHeld & KEY_START) keys.start = 0;
		if(kHeld & KEY_SELECT) keys.select = 0;
		if(kHeld & KEY_UP) keys.up = 0;
		if(kHeld & KEY_DOWN) keys.down = 0;
		if(kHeld & KEY_LEFT) keys.left = 0;
		if(kHeld & KEY_RIGHT) keys.right = 0;
		
		//gfxFlushBuffers();
		gspWaitForVBlank();
		gfxSwapBuffers();
		
		if(!aptMainLoop() || ((kHeld & KEY_START) && (kHeld & KEY_SELECT) && (kHeld & KEY_L) && (kHeld & KEY_R))) quit();
	#endif
	
	#ifdef LIN
		drawFramebuffer();
	#endif
	
	#ifdef PSP
		SceCtrlData pad;
		sceCtrlReadBufferPositive(&pad, 1);
		
		keys.keys1 = 0x0f;
		keys.keys2 = 0x0f;
		
		if(pad.Buttons & PSP_CTRL_SQUARE) keys.b = 0;
		if(pad.Buttons & PSP_CTRL_CROSS) keys.a = 0;
		if(pad.Buttons & PSP_CTRL_START) keys.start = 0;
		if(pad.Buttons & PSP_CTRL_SELECT) keys.select = 0;
		if(pad.Buttons & PSP_CTRL_UP) keys.up = 0;
		if(pad.Buttons & PSP_CTRL_DOWN) keys.down = 0;
		if(pad.Buttons & PSP_CTRL_LEFT) keys.left = 0;
		if(pad.Buttons & PSP_CTRL_RIGHT) keys.right = 0;
		
		sceDisplayWaitVblankStart();
	#endif
	
	interrupt.master = 0;
	writeShortToStack(registers.pc);
	registers.pc = 0x40;
	
	ticks += 12;
}