PSP Coding
Would you like to react to this message? Create an account in a few clicks or log in to continue.

PSP Coding


 
HomeLatest imagesSearchRegisterLog in

 

 Basic Controller

Go down 
AuthorMessage
-LeetGamer-
Admin



Posts : 247
Points : 397
Reputation : 4
Join date : 2010-09-29
Age : 30

Basic Controller Empty
PostSubject: Basic Controller   Basic Controller I_icon_minitimeThu Sep 30, 2010 7:57 pm

Code:

/*
 * PSP Software Development Kit - http://www.pspdev.org
 * -----------------------------------------------------------------------
 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
 *
 * main.c - Basic Input demo -- reads from control pad and indicates button
 *          presses.
 *
 * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org>
 * Copyright (c) 2005 James Forshaw <tyranid@gmail.com>
 * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca>
 * Copyright (c) 2005 Donour Sizemore <donour@uchicago.edu>
 *
 * $Id: main.c 1095 2005-09-27 21:02:16Z jim $
 */
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <stdlib.h>
#include <string.h>

/* Define the module info section */
PSP_MODULE_INFO("CONTROLTEST", 0, 1, 1);

/* Define the main thread's attribute value (optional) */
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);

/* Define printf, just to make typing easier */
#define printf   pspDebugScreenPrintf

void dump_threadstatus(void);

int done = 0;

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common)
{
   done = 1;
   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, 0, 0);
   if(thid >= 0)
   {
      sceKernelStartThread(thid, 0, 0);
   }

   return thid;
}

int main(void)
{
   SceCtrlData pad;

   pspDebugScreenInit();
   SetupCallbacks();

   sceCtrlSetSamplingCycle(0);
   sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG);

   while(!done){
      pspDebugScreenSetXY(0, 2);

          sceCtrlReadBufferPositive(&pad, 1);

      printf("Analog X = %d ", pad.Lx);
      printf("Analog Y = %d \n", pad.Ly);

      if (pad.Buttons != 0){
         if (pad.Buttons & PSP_CTRL_SQUARE){
            printf("Square pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_TRIANGLE){
            printf("Triangle pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_CIRCLE){
            printf("Cicle pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_CROSS){
            printf("Cross pressed \n");
         }

         if (pad.Buttons & PSP_CTRL_UP){
            printf("Up pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_DOWN){
            printf("Down pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_LEFT){
            printf("Left pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_RIGHT){
            printf("Right pressed \n");
         }     

         if (pad.Buttons & PSP_CTRL_START){
            printf("Start pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_SELECT){
            printf("Select pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_LTRIGGER){
            printf("L-trigger pressed \n");
         }
         if (pad.Buttons & PSP_CTRL_RTRIGGER){
            printf("R-trigger pressed \n");
         }     
      }
   }

   sceKernelExitGame();
   return 0;
}

Makefile:

Code:

TARGET = controller_basic
OBJS = main.o

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LDFLAGS =

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Basic controller sample

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
Back to top Go down
 
Basic Controller
Back to top 
Page 1 of 1
 Similar topics
-
» Basic Jokering Tutorial
» The Basic Coder Guide (Big)
» [Win32 Programming] Basic Window Tutorial

Permissions in this forum:You cannot reply to topics in this forum
PSP Coding :: PSP Programming :: PSP Programming Chat :: Code Examples-
Jump to: