Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

some changes to the dummy driver for debug purposes that should be re…

…verted.

most importantly, commenting out a check for an env. var.
  • Loading branch information
Darren Alton committed Jun 12, 2008
1 parent e1bfa2d commit 5e805ead97b6639cc3e078ab4b860c4df6fb97c0
@@ -111,7 +111,6 @@ typedef unsigned __PTRDIFF_TYPE__ uintptr_t;
#define SDL_TIMERS_DISABLED 1

/* Enable various video drivers */
#define SDL_VIDEO_DRIVER_NDS 1
#define SDL_VIDEO_DRIVER_DUMMY 1

#endif /* _SDL_config_nintendods_h */

@@ -147,9 +147,9 @@ SDL_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2);
SDL_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2);
SDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4);
SDL_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4);
#ifndef __NINTENDODS__ /* TODO: figure out why the following happens:
include/SDL_stdinc.h:150: error: size of array 'SDL_dummy_uint64' is negative
include/SDL_stdinc.h:151: error: size of array 'SDL_dummy_sint64' is negative */
#ifndef __NINTENDODS__ /* TODO: figure out why the following happens:
include/SDL_stdinc.h:150: error: size of array 'SDL_dummy_uint64' is negative
include/SDL_stdinc.h:151: error: size of array 'SDL_dummy_sint64' is negative */
SDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8);
SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
#endif
@@ -166,7 +166,7 @@ SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
#endif

#ifndef DOXYGEN_SHOULD_IGNORE_THIS
#ifndef __NINTENDODS__ /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
#ifndef __NINTENDODS__ /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
typedef enum
{
DUMMY_ENUM_VALUE
@@ -432,7 +432,7 @@ extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string);
#define SDL_wcslen wcslen
#else
#if !defined(wchar_t) && defined(__NINTENDODS__)
#define wchar_t short /* TODO: figure out why libnds doesn't have this */
#define wchar_t short /* TODO: figure out why libnds doesn't have this */
#endif
extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string);
#endif
@@ -22,13 +22,13 @@

#ifdef SAVE_RCSID
static char rcsid =
"@(#) $Id: SDL_sysjoystick.c,v 1.2 2001/04/26 16:50:17 hercules Exp $";
"@(#) $Id: SDL_sysjoystick.c,v 1.2 2001/04/26 16:50:17 hercules Exp $";
#endif

/* This is the system specific header for the SDL joystick API */
#include <nds.h>
//#include <nds/registers_alt.h>
#include <stdio.h> /* For the definition of NULL */
#include <stdio.h> /* For the definition of NULL */

#include "SDL_error.h"
#include "SDL_joystick.h"
@@ -42,113 +42,199 @@ static char rcsid =
* joysticks. Joystick 0 should be the system default joystick.
* It should return 0, or -1 on an unrecoverable fatal error.
*/
int SDL_SYS_JoystickInit(void)
int
SDL_SYS_JoystickInit(void)
{
SDL_numjoysticks = 1;
//keysInit();

return(1);
SDL_numjoysticks = 1;

//keysInit();
return (1);
}

/* Function to get the device-dependent name of a joystick */
const char *SDL_SYS_JoystickName(int index)
const char *
SDL_SYS_JoystickName(int index)
{
if(!index)
return "NDS builtin joypad";
SDL_SetError("No joystick available with that index");
return (NULL);
if (!index)
return "NDS builtin joypad";
SDL_SetError("No joystick available with that index");
return (NULL);
}

/* Function to open a joystick for use.
The joystick to open is specified by the index field of the joystick.
This should fill the nbuttons and naxes fields of the joystick structure.
It returns 0, or -1 if there is an error.
*/
int SDL_SYS_JoystickOpen(SDL_Joystick *joystick)
int
SDL_SYS_JoystickOpen(SDL_Joystick * joystick)
{
joystick->nbuttons=8;
joystick->nhats=0;
joystick->nballs=0;
joystick->naxes=2;
return 0;
joystick->nbuttons = 8;
joystick->nhats = 0;
joystick->nballs = 0;
joystick->naxes = 2;
return 0;
}



/* Function to update the state of a joystick - called as a device poll.
* This function shouldn't update the joystick structure directly,
* but instead should call SDL_PrivateJoystick*() to deliver events
* and update joystick device state.
*/

int prevbutton=0;
int prevkey=0;

int dc=NULL;int ldc=0;
u32 keysd,keysu=NULL;
void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
{
//dc=keysd;
//if (dc != NULL)
//{
//fprintf(stderr,"heartbeat= %d\n",REG_VCOUNT);
//swiWaitForVBlank();
//scanKeys();
//keysd = keysDown();
//keysu = keysUp();
//ldc=keysd;

//}
/*if (prevkey !=NULL && prevbutton !=NULL)
{
scanKeys();
}
*/

//scanKeys();
keysd = keysDown();
keysu = keysUp();


short ax=0,v=0,h=0;
if((keysd&KEY_UP)) {ax=1;v=-10;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=KEY_UP;}//fprintf(stderr,"KEY_UP\n");}
if((keysd&KEY_DOWN)) {ax=1;v=10;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=KEY_DOWN;}//fprintf(stderr,"KEY_DOWN\n");}
if((keysd&KEY_LEFT)) {ax=0;h=-10;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=KEY_LEFT;}//fprintf(stderr,"KEY_LEFT\n");}
if((keysd&KEY_RIGHT)) {ax=0;h=10;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=KEY_RIGHT;}//fprintf(stderr,"KEY_RIGHT\n");}

if((keysu&KEY_UP)) {ax=1;v=0;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=NULL;}//fprintf(stderr,"KEY_UP\n");}
if((keysu&KEY_DOWN)) {ax=1;v=0;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=NULL;}//fprintf(stderr,"KEY_DOWN\n");}
if((keysu&KEY_LEFT)) {ax=0;h=0;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=NULL;}//fprintf(stderr,"KEY_LEFT\n");}
if((keysu&KEY_RIGHT)) {ax=0;h=0;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=NULL;}//fprintf(stderr,"KEY_RIGHT\n");}

if((keysd&KEY_A)) {SDL_PrivateJoystickButton(joystick,0,SDL_PRESSED);prevbutton=KEY_A;}
if((keysd&KEY_B)) {SDL_PrivateJoystickButton(joystick,1,SDL_PRESSED);prevbutton=KEY_B;}
if((keysd&KEY_X)) {SDL_PrivateJoystickButton(joystick,2,SDL_PRESSED);prevbutton=KEY_X;}
if((keysd&KEY_Y)) {SDL_PrivateJoystickButton(joystick,3,SDL_PRESSED);prevbutton=KEY_Y;}
if((keysd&KEY_SELECT)) {SDL_PrivateJoystickButton(joystick,6,SDL_PRESSED);prevbutton=KEY_SELECT;}
if((keysd&KEY_START)) {SDL_PrivateJoystickButton(joystick,7,SDL_PRESSED);prevbutton=KEY_START;}
if((keysd&KEY_L)) {SDL_PrivateJoystickButton(joystick,4,SDL_PRESSED);prevbutton=KEY_L;}
if((keysd&KEY_R)) {SDL_PrivateJoystickButton(joystick,5,SDL_PRESSED);prevbutton=KEY_R;}

if((keysu&KEY_A)) {SDL_PrivateJoystickButton(joystick,0,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_B)) {SDL_PrivateJoystickButton(joystick,1,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_X)) {SDL_PrivateJoystickButton(joystick,2,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_Y)) {SDL_PrivateJoystickButton(joystick,3,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_SELECT)) {SDL_PrivateJoystickButton(joystick,6,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_START)) {SDL_PrivateJoystickButton(joystick,7,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_L)) {SDL_PrivateJoystickButton(joystick,4,SDL_RELEASED);prevbutton=NULL;}
if((keysu&KEY_R)) {SDL_PrivateJoystickButton(joystick,5,SDL_RELEASED);prevbutton=NULL;}



}
int prevbutton = 0;
int prevkey = 0;

int dc = NULL;
int ldc = 0;
u32 keysd, keysu = NULL;
void
SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
{

//dc=keysd;
//if (dc != NULL)
//{
//fprintf(stderr,"heartbeat= %d\n",REG_VCOUNT);
//swiWaitForVBlank();
//scanKeys();
//keysd = keysDown();
//keysu = keysUp();
//ldc=keysd;

//}
/*if (prevkey !=NULL && prevbutton !=NULL)
{
scanKeys();
}
*/

//scanKeys();
keysd = keysDown();
keysu = keysUp();
short ax = 0, v = 0, h = 0;
if ((keysd & KEY_UP)) {
ax = 1;
v = -10;
SDL_PrivateJoystickAxis(joystick, ax, v);
prevkey = KEY_UP;
} //fprintf(stderr,"KEY_UP\n");}
if ((keysd & KEY_DOWN)) {
ax = 1;
v = 10;
SDL_PrivateJoystickAxis(joystick, ax, v);
prevkey = KEY_DOWN;
} //fprintf(stderr,"KEY_DOWN\n");}
if ((keysd & KEY_LEFT)) {
ax = 0;
h = -10;
SDL_PrivateJoystickAxis(joystick, ax, h);
prevkey = KEY_LEFT;
} //fprintf(stderr,"KEY_LEFT\n");}
if ((keysd & KEY_RIGHT)) {
ax = 0;
h = 10;
SDL_PrivateJoystickAxis(joystick, ax, h);
prevkey = KEY_RIGHT;
} //fprintf(stderr,"KEY_RIGHT\n");}
if ((keysu & KEY_UP)) {
ax = 1;
v = 0;
SDL_PrivateJoystickAxis(joystick, ax, v);
prevkey = NULL;
} //fprintf(stderr,"KEY_UP\n");}
if ((keysu & KEY_DOWN)) {
ax = 1;
v = 0;
SDL_PrivateJoystickAxis(joystick, ax, v);
prevkey = NULL;
} //fprintf(stderr,"KEY_DOWN\n");}
if ((keysu & KEY_LEFT)) {
ax = 0;
h = 0;
SDL_PrivateJoystickAxis(joystick, ax, h);
prevkey = NULL;
} //fprintf(stderr,"KEY_LEFT\n");}
if ((keysu & KEY_RIGHT)) {
ax = 0;
h = 0;
SDL_PrivateJoystickAxis(joystick, ax, h);
prevkey = NULL;
} //fprintf(stderr,"KEY_RIGHT\n");}
if ((keysd & KEY_A)) {
SDL_PrivateJoystickButton(joystick, 0, SDL_PRESSED);
prevbutton = KEY_A;
}
if ((keysd & KEY_B)) {
SDL_PrivateJoystickButton(joystick, 1, SDL_PRESSED);
prevbutton = KEY_B;
}
if ((keysd & KEY_X)) {
SDL_PrivateJoystickButton(joystick, 2, SDL_PRESSED);
prevbutton = KEY_X;
}
if ((keysd & KEY_Y)) {
SDL_PrivateJoystickButton(joystick, 3, SDL_PRESSED);
prevbutton = KEY_Y;
}
if ((keysd & KEY_SELECT)) {
SDL_PrivateJoystickButton(joystick, 6, SDL_PRESSED);
prevbutton = KEY_SELECT;
}
if ((keysd & KEY_START)) {
SDL_PrivateJoystickButton(joystick, 7, SDL_PRESSED);
prevbutton = KEY_START;
}
if ((keysd & KEY_L)) {
SDL_PrivateJoystickButton(joystick, 4, SDL_PRESSED);
prevbutton = KEY_L;
}
if ((keysd & KEY_R)) {
SDL_PrivateJoystickButton(joystick, 5, SDL_PRESSED);
prevbutton = KEY_R;
}
if ((keysu & KEY_A)) {
SDL_PrivateJoystickButton(joystick, 0, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_B)) {
SDL_PrivateJoystickButton(joystick, 1, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_X)) {
SDL_PrivateJoystickButton(joystick, 2, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_Y)) {
SDL_PrivateJoystickButton(joystick, 3, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_SELECT)) {
SDL_PrivateJoystickButton(joystick, 6, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_START)) {
SDL_PrivateJoystickButton(joystick, 7, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_L)) {
SDL_PrivateJoystickButton(joystick, 4, SDL_RELEASED);
prevbutton = NULL;
}
if ((keysu & KEY_R)) {
SDL_PrivateJoystickButton(joystick, 5, SDL_RELEASED);
prevbutton = NULL;
}
}

/* Function to close a joystick after use */
void SDL_SYS_JoystickClose(SDL_Joystick *joystick)
void
SDL_SYS_JoystickClose(SDL_Joystick * joystick)
{
}

/* Function to perform any system-specific joystick related cleanup */
void SDL_SYS_JoystickQuit(void)
void
SDL_SYS_JoystickQuit(void)
{
}

0 comments on commit 5e805ea

Please sign in to comment.