forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

netdialog problem

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
pspflashsystem



Joined: 24 Mar 2008
Posts: 31

PostPosted: Mon Mar 24, 2008 12:45 am    Post subject: netdialog problem Reply with quote

Hello everyone,
I have a problem with tne netdialog.c: I can't compile it...
Here the netdialog.c:
Code:
/*
 * PSP Software Development Kit - http://www.pspdev.org
 * -----------------------------------------------------------------------
 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
 *
 * main.c - Net dialog sample for connecting to an access point
 *
 * For OE firmwares, this sample must be run under the 3.xx kernel.
 *
 * Copyright (c) 2007 David Perry (Insert_Witty_Name)
 *
 */

#include <pspkernel.h>
#include <pspdisplay.h>
#include <string.h>
#include <math.h>
#include <psputility.h>
#include <pspgu.h>
#include <pspgum.h>
#include <pspsdk.h>
#include <pspnet.h>
#include <pspnet_inet.h>
#include <pspnet_apctl.h>

/*
#if _PSP_FW_VERSION >= 200
PSP_MODULE_INFO("Net Dialog Sample", 0, 1, 1);
#else
PSP_MODULE_INFO("Net Dialog Sample", 0x1000, 1, 1);
PSP_MAIN_THREAD_ATTR(0);
#endif
*/

static int running = 1;

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common)
{
   quit();
   return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp)
{
   int cbid;
   cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
   sceKernelRegisterExitCallback(cbid);
   sceKernelSleepThreadCB();
   
   return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void)
{
   int thid = 0;
   thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, PSP_THREAD_ATTR_USER, 0);

   if (thid >= 0)
      sceKernelStartThread(thid, 0, 0);

   return thid;
}

/* Graphics stuff, based on cube sample */
static unsigned int __attribute__((aligned(16))) list[262144];

/*
struct Vertex
{
   unsigned int color;
   float x,y,z;
};

struct Vertex __attribute__((aligned(16))) vertices[12*3] =
{
       {0xff7f0000,-1,-1, 1}, // 0
       {0xff7f0000,-1, 1, 1}, // 4
       {0xff7f0000, 1, 1, 1}, // 5

       {0xff7f0000,-1,-1, 1}, // 0
       {0xff7f0000, 1, 1, 1}, // 5
       {0xff7f0000, 1,-1, 1}, // 1

       {0xff7f0000,-1,-1,-1}, // 3
       {0xff7f0000, 1,-1,-1}, // 2
       {0xff7f0000, 1, 1,-1}, // 6

       {0xff7f0000,-1,-1,-1}, // 3
       {0xff7f0000, 1, 1,-1}, // 6
       {0xff7f0000,-1, 1,-1}, // 7

       {0xff007f00, 1,-1,-1}, // 0
       {0xff007f00, 1,-1, 1}, // 3
       {0xff007f00, 1, 1, 1}, // 7

       {0xff007f00, 1,-1,-1}, // 0
       {0xff007f00, 1, 1, 1}, // 7
       {0xff007f00, 1, 1,-1}, // 4

       {0xff007f00,-1,-1,-1}, // 0
       {0xff007f00,-1, 1,-1}, // 3
       {0xff007f00,-1, 1, 1}, // 7

       {0xff007f00,-1,-1,-1}, // 0
       {0xff007f00,-1, 1, 1}, // 7
       {0xff007f00,-1,-1, 1}, // 4

       {0xff00007f,-1, 1,-1}, // 0
       {0xff00007f, 1, 1,-1}, // 1
       {0xff00007f, 1, 1, 1}, // 2

       {0xff00007f,-1, 1,-1}, // 0
       {0xff00007f, 1, 1, 1}, // 2
       {0xff00007f,-1, 1, 1}, // 3

       {0xff00007f,-1,-1,-1}, // 4
       {0xff00007f,-1,-1, 1}, // 7
       {0xff00007f, 1,-1, 1}, // 6

       {0xff00007f,-1,-1,-1}, // 4
       {0xff00007f, 1,-1, 1}, // 6
       {0xff00007f, 1,-1,-1}, // 5
};
*/

#define BUF_WIDTH (512)
#define SCR_WIDTH (480)
#define SCR_HEIGHT (272)
#define PIXEL_SIZE (4)
#define FRAME_SIZE (BUF_WIDTH * SCR_HEIGHT * PIXEL_SIZE)
#define ZBUF_SIZE (BUF_WIDTH SCR_HEIGHT * 2)

static void setupGu()
{
       sceGuInit();

       sceGuStart(GU_DIRECT,list);
       sceGuDrawBuffer(GU_PSM_8888,(void*)0,BUF_WIDTH);
       sceGuDispBuffer(SCR_WIDTH,SCR_HEIGHT,(void*)0x88000,BUF_WIDTH);
       sceGuDepthBuffer((void*)0x110000,BUF_WIDTH);
       sceGuOffset(2048 - (SCR_WIDTH/2),2048 - (SCR_HEIGHT/2));
       sceGuViewport(2048,2048,SCR_WIDTH,SCR_HEIGHT);
       sceGuDepthRange(0xc350,0x2710);
       sceGuScissor(0,0,SCR_WIDTH,SCR_HEIGHT);
       sceGuEnable(GU_SCISSOR_TEST);
       sceGuDepthFunc(GU_GEQUAL);
       sceGuEnable(GU_DEPTH_TEST);
       sceGuFrontFace(GU_CW);
       sceGuShadeModel(GU_SMOOTH);
       sceGuEnable(GU_CULL_FACE);
       sceGuEnable(GU_CLIP_PLANES);
       sceGuFinish();
       sceGuSync(0,0);

       sceDisplayWaitVblankStart();
       sceGuDisplay(GU_TRUE);
}

static void drawStuff(void)
{
   static int val = 0;

   sceGuStart(GU_DIRECT, list);

   sceGuClearColor(0xff554433);
   sceGuClearDepth(0);
   sceGuClear(GU_COLOR_BUFFER_BIT|GU_DEPTH_BUFFER_BIT);

   sceGumMatrixMode(GU_PROJECTION);
   sceGumLoadIdentity();
   sceGumPerspective(75.0f,16.0f/9.0f,0.5f,1000.0f);
      
   sceGumMatrixMode(GU_VIEW);
   sceGumLoadIdentity();
   
   sceGumMatrixMode(GU_MODEL);
   sceGumLoadIdentity();
      
   ScePspFVector3 pos = { 0, 0, -5.0f };
   ScePspFVector3 rot = { val * 0.79f * (M_PI/180.0f), val * 0.98f * (M_PI/180.0f), val * 1.32f * (M_PI/180.0f) };
   sceGumTranslate(&pos);
   sceGumRotateXYZ(&rot);

   //sceGumDrawArray(GU_TRIANGLES, GU_COLOR_8888|GU_VERTEX_32BITF|GU_TRANSFORM_3D, 12*3, 0, vertices);

   sceGuFinish();
   sceGuSync(0,0);
   
   val++;
}

int netDialog()
{
   int done = 0;

      pspUtilityNetconfData data;

   memset(&data, 0, sizeof(data));
   data.base.size = sizeof(data);
   data.base.language = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH;
   data.base.buttonSwap = PSP_UTILITY_ACCEPT_CROSS;
   data.base.graphicsThread = 17;
   data.base.accessThread = 19;
   data.base.fontThread = 18;
   data.base.soundThread = 16;
   data.action = PSP_NETCONF_ACTION_CONNECTAP;
   
   struct pspUtilityNetconfAdhoc adhocparam;
   memset(&adhocparam, 0, sizeof(adhocparam));
   data.adhocparam = &adhocparam;

   sceUtilityNetconfInitStart(&data);
   
   while(running)
   {
      drawStuff();

      switch(sceUtilityNetconfGetStatus())
      {
         case PSP_UTILITY_DIALOG_NONE:
            break;

         case PSP_UTILITY_DIALOG_VISIBLE:
            sceUtilityNetconfUpdate(1);
            break;

         case PSP_UTILITY_DIALOG_QUIT:
            sceUtilityNetconfShutdownStart();
            break;
            
         case PSP_UTILITY_DIALOG_FINISHED:
            done = 1;
            break;

         default:
            break;
      }

      sceDisplayWaitVblankStart();
      sceGuSwapBuffers();
      
      if(done)
         break;
   }
   
   return 1;
}

void netInit(void)
{
   sceNetInit(128*1024, 42, 4*1024, 42, 4*1024);
   
   sceNetInetInit();
   
   sceNetApctlInit(0x8000, 48);
}

void netTerm(void)
{
   sceNetApctlTerm();
   
   sceNetInetTerm();
   
   sceNetTerm();
}

int user_thread(SceSize args, void *argp)
{
   netInit();
   
   SetupCallbacks();
   
   setupGu();

   netDialog();
   
   netTerm();
   
   return 0;
}


int main(int argc, char *argv[])
{
   #if _PSP_FW_VERSION >= 200
   sceUtilityLoadNetModule(PSP_NET_MODULE_COMMON);

   sceUtilityLoadNetModule(PSP_NET_MODULE_INET);
   
   netInit();
   
   SetupCallbacks();
   
   setupGu();

   netDialog();
   
   netTerm();

   #else

   pspSdkLoadInetModules();

   SceUID thid = sceKernelCreateThread("user_thread", user_thread, 0x18, 0x10000, PSP_THREAD_ATTR_USER, NULL);

   sceKernelStartThread(thid, 0, NULL);
   
   sceKernelWaitThreadEnd(thid, 0);
   #endif
   
   sceKernelExitGame();

   return 0;
}


And here the makefile:
Code:
TARGET = net
OBJS = netdialog.o

PSP_FW_VERSION = 371

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
PSPSDK=$(shell psp-config --pspsdk-path)
PSPBIN = $(PSPSDK)/../bin


LIBDIR =

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = net

LIBDIR =
LDFLAGS =
STDLIBS= -lc -lSDL_image -lSDL_gfx -lSDL_ttf -lpng -ljpeg -lSDL -lcurl -lfreetype
LIBS=$(STDLIBS)-lpspwlan -lpsputility -lpspgum -lpspgu -lm -lpspnet -lpspkernel -lpspnet_inet -lpspnet_apctl

include $(PSPSDK)/lib/build.mak


Here a screenshot of the problem:


Thank you ^^
_________________
I'm apologize for my bad English because I am French :)

.::pspflashsystem::.
Back to top
View user's profile Send private message
Insert_witty_name



Joined: 10 May 2006
Posts: 376

PostPosted: Mon Mar 24, 2008 1:52 am    Post subject: Reply with quote

Looks like your pre-compiled toolchain is an old version before I added the netdialog sample (and all the backend stuff that goes with it).
Back to top
View user's profile Send private message
pspflashsystem



Joined: 24 Mar 2008
Posts: 31

PostPosted: Mon Mar 24, 2008 2:56 am    Post subject: Reply with quote

Ok thank you Insert_witty_name..
i will install the latest toolchain^^
_________________
I'm apologize for my bad English because I am French :)

.::pspflashsystem::.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group