static int neogeo_init(void) { SceUID fd; char path[MAX_PATH]; #ifdef ADHOC if (!adhoc_enable) #endif { sprintf(path, "%smemcard/%s.bin", launchDir, game_name); if ((fd = sceIoOpen(path, PSP_O_RDONLY, 0777)) >= 0) { sceIoRead(fd, neogeo_memcard, 0x800); sceIoClose(fd); } sprintf(path, "%snvram/%s.nv", launchDir, game_name); if ((fd = sceIoOpen(path, PSP_O_RDONLY, 0777)) >= 0) { sceIoRead(fd, neogeo_sram16, 0x2000); sceIoClose(fd); swab(neogeo_sram16, neogeo_sram16, 0x2000); } } neogeo_driver_init(); neogeo_video_init(); msg_printf(TEXT(DONE2)); msg_screen_clear(); video_clear_screen(); #ifdef ADHOC if (adhoc_enable) { sprintf(adhoc_matching, "%s_%s_%s", PBPNAME_STR, game_name, bios[neogeo_bios]); if (adhocInit(adhoc_matching) == 0) { if ((adhoc_server = adhocSelect()) >= 0) { video_clear_screen(); if (adhoc_server) { option_controller = INPUT_PLAYER1; return adhoc_send_state(NULL); } else { option_controller = INPUT_PLAYER2; return adhoc_recv_state(NULL); } } } Loop = LOOP_BROWSER; return 0; } #endif return 1; }
int psp_initadhocgame(void){ int retval; //testing net stuff //pspDebugScreenInit(); sprintf(str_id,"%s\/%s",os9x_nickname,shortrom_filename); if((adhocInit(str_id) >= 0) && (adhocSelect() >=0)) { //init adhoc unsigned int length; uint8 *buffer; int err = 0; int i=0; if (g_Server) os9x_conId = 1; else os9x_conId = 2; //buffer=(uint8*)malloc(256); //sceKernelDelayThread(1000000); //wait //pspDebugScreenInit(); if (os9x_conId==1) { //server //send settings is now done in psp.cpp /*save_buffer_settings(buffer); sceKernelDelayThread(3000000); //wait printf("Sending settings data to the client\n"); err = adhocSendRecvAck(buffer, 256); if (!err) printf("Done sending data\n"); else { printf("Error %d!",err); retval=-2; sceKernelDelayThread(1000000); //wait }*/ //server is pl1 os9x_netpadindex=0; } else { //client /*int size = 0; // receive the settings data printf("Waiting for settings data\n"); length = 256; err = adhocRecvSendAck(buffer, &length); if (!err) { printf("Received data from server %d bytes\n",length); load_buffer_settings(buffer); } else { printf("Error %d!",err); retval=-3; sceKernelDelayThread(1000000); //wait }*/ //client is pl2 os9x_netpadindex=1; } retval=0; //free(buffer); } else retval=-1; sceDisplaySetMode( 0, SCREEN_WIDTH, SCREEN_HEIGHT ); sceDisplaySetFrameBuf( (char*)VRAM_ADDR, 512, 1, 1 ); pgScreenFrame(2,0); return retval; }