Exemplo n.º 1
0
int main()
{
   int x;    
   joy_t joy;
   
   if ( joy_init(&joy) != 0) {
      printf("cannot find joystick\n");
      return 1;
   }
   
   printf( " Joystick detected : %s \n \t %d axis \n\t %d buttons \n\n" ,joy.name, joy.num_of_axis , joy.num_of_buttons);
   
   //     fcntl( joy_fd, F_SETFL , O_NONBLOCK ); // use non - blocking methods
   
   while(1) // infinite loop
   {
      // read the joystick 
      joy_read(&joy);
      // print the results
      printf( " X:%6d y:%6d", joy.axis[0] , joy.axis[1]);
      if( joy.num_of_axis > 2)
         printf( " z:%6d" , joy.axis[2] );
      if( joy.num_of_axis > 3)
         printf( " R:%6d" , joy.axis [3]);
      for( x=0 ; x<joy.num_of_buttons ; ++x)
         printf( " B%d:%d" , x, joy.button [x]);
      printf("\n");
      fflush(stdout);
   }
   
   joy_close(&joy);
   
   return 0;
}
Exemplo n.º 2
0
Arquivo: hello.c Projeto: cc65/cc65
int main (void)
{
    unsigned char XSize, YSize;

    /* Set screen colors */
    (void) textcolor (COLOR_WHITE);
    (void) bordercolor (COLOR_BLACK);
    (void) bgcolor (COLOR_BLACK);

    /* Clear the screen, put cursor in upper left corner */
    clrscr ();

    /* Ask for the screen size */
    screensize (&XSize, &YSize);

    /* Draw a border around the screen */

    /* Top line */
    cputc (CH_ULCORNER);
    chline (XSize - 2);
    cputc (CH_URCORNER);

    /* Vertical line, left side */
    cvlinexy (0, 1, YSize - 2);

    /* Bottom line */
    cputc (CH_LLCORNER);
    chline (XSize - 2);
    cputc (CH_LRCORNER);

    /* Vertical line, right side */
    cvlinexy (XSize - 1, 1, YSize - 2);

    /* Write the greeting in the mid of the screen */
    gotoxy ((XSize - strlen (Text)) / 2, YSize / 2);
    cprintf ("%s", Text);

#if defined(__NES__) || defined(__PCE__) || defined(__GAMATE__) || defined(__ATARI5200__)

    /* Wait for the user to press a button */
    joy_install (joy_static_stddrv);
    while (!joy_read (JOY_1)) ;
    joy_uninstall ();

#else

    /* Wait for the user to press a key */
    cgetc ();

#endif

    /* Clear the screen again */
    clrscr ();

    /* Done */
    return EXIT_SUCCESS;
}
Exemplo n.º 3
0
int main (void)
{
    unsigned char j;
    unsigned char count;
    unsigned char i;

#ifdef __NES__
    extern void *co65_joy;
    unsigned char Res = joy_install (&co65_joy);
#else
    unsigned char Res = joy_load_driver (joy_stddrv);
#endif
    if (Res != JOY_ERR_OK) {
       	cprintf ("Error in joy_load_driver: %u\r\n", Res);
        cprintf ("os: %u, %s\r\n", _oserror, _stroserror (_oserror));
       	exit (EXIT_FAILURE);
    }

    clrscr ();
    count = joy_count ();
    cprintf ("Driver supports %d joystick(s)", count);
    while (1) {
	for (i = 0; i < count; ++i) {
	    gotoxy (0, i+1);
	    j = joy_read (i);
	    cprintf ("%2d: %-6s%-6s%-6s%-6s%-6s%-6s",
		     i,
       	       	     (j & joy_masks[JOY_UP])?    "  up  " : " ---- ",
	    	     (j & joy_masks[JOY_DOWN])?	 " down " : " ---- ",
	    	     (j & joy_masks[JOY_LEFT])?  " left " : " ---- ",
	    	     (j & joy_masks[JOY_RIGHT])? "right " : " ---- ",
	    	     (j & joy_masks[JOY_FIRE])?  " fire " : " ---- ",
	    	     (j & joy_masks[JOY_FIRE2])? "fire2 " : " ---- ");
	}
    }
    return 0;
}
Exemplo n.º 4
0
/*-----------------------------------------------------------------------------------*/
int
main(int argc, char **argv)
{
  /*  irqload_init();*/

#ifdef WITH_UIP
  uip_init();
  uip_main_init();
  resolv_init();

#ifdef WITH_TFE
  cs8900a_init();
#endif /* WITH_TFE */


#ifdef WITH_RS232
  rs232dev_init();
#endif /* WITH_RS232 */

#ifdef WITH_TAPDEV
  tapdev_init();
#endif /* WITH_TAPDEV */


#endif /* WITH_UIP */

	conio_init();
    textcolor(1);bgcolor(0);
	clrscr();
	conio_update();
  //joy_load_driver(joy_stddrv);
#if 0
{
 int i,j;
 clrscr();
 textcolor(0);bgcolor(1);
 while(1)
 {
	gotoxy(0,0);
	cprintf("%d\n",i++);
	conio_update();

 	if(kbhit())
	{
		cprintf("       ");
	    cprintf("%02x",cgetc());
		cprintf("\n");
	}
	else
	{
		cprintf("pressed: ---------\n");
	}

	j=joy_read(0);
	cprintf("%08x\n",j);
 }
}
#endif

  ek_init();
  dispatcher_init();
  ctk_init();

  contiki_init();

  programs_init();

  ctk_redraw();
  ek_run();

  clrscr();

  return 0;

  argv = argv;
  argc = argc;
}
Exemplo n.º 5
0
Arquivo: io.c Projeto: mrzzzrm/mooboy
u8 io_read(u16 adr) {
    u8 reg = adr & 0x00FF;

    switch(reg) {
        case 0x00: return joy_read(); break;

        case 0x01: /* return serial.sb;*/ break;
        case 0x02: /* return serial.sc;*/ break;

        case 0x04: return timers.div; break;
        case 0x05: return timers.tima; break;
        case 0x06: return timers.tma; break;
        case 0x07: return timers.tac; break;
        case 0x0F: return cpu.irq; break;

        case 0x10: case 0x11: case 0x12: case 0x13:
        case 0x14: case 0x16: case 0x17: case 0x18:
        case 0x19: case 0x1A: case 0x1B: case 0x1C:
        case 0x1D: case 0x1E: case 0x20: case 0x21:
        case 0x22: case 0x23: case 0x24: case 0x25:
        case 0x26: case 0x30: case 0x31: case 0x32:
        case 0x33: case 0x34: case 0x35: case 0x36:
        case 0x37: case 0x38: case 0x39: case 0x3A:
        case 0x3B: case 0x3C: case 0x3D: case 0x3E:
        case 0x3F:
            return sound_read(reg);
        break;

        case 0x15: case 0x1F: return 0x00; break;

        case 0x40: return lcd.c; break;
        case 0x41: return lcd.stat; break;
        case 0x42: return lcd.scy; break;
        case 0x43: return lcd.scx; break;
        case 0x44: return lcd.ly; break;
        case 0x45: return lcd.lyc; break;
        case 0x46: return 0xFF; break;
        case 0x47: return lcd.bgp.b[0]; break;
        case 0x48: return lcd.obp.b[0]; break;
        case 0x49: return lcd.obp.b[1]; break;
        case 0x4A: return lcd.wy; break;
        case 0x4B: return lcd.wx; break;

        case 0x4D: return cpu.freq_switch | (cpu.freq == DOUBLE_CPU_FREQ ? 0x80 : 0x00); break;

        case 0x4F: return ram.selected_vrambank; break;

        case 0x51: return lcd.hdma_source >> 8; break;
        case 0x52: return lcd.hdma_source & 0xFF; break;
        case 0x53: return lcd.hdma_dest >> 8; break;
        case 0x54: return lcd.hdma_dest & 0xFF; break;
        case 0x55: return lcd.hdma_length | lcd.hdma_inactive; break;

        case 0x56: return 0x40; break;

        case 0x68: return lcd.bgp.s | lcd.bgp.i; break;
        case 0x69: return lcd.bgp.d[lcd.bgp.s]; break;
        case 0x6A: return lcd.obp.s | lcd.obp.i; break;
        case 0x6B: return lcd.obp.d[lcd.obp.s]; break;

        case 0x70: return ram.rambank_index | 0xF8; break;

        default:;
#ifdef DEBUG
            printf("Unknown IO read: %.2X\n", reg);
#endif
    }

    return 0xFF; // Avoids nasty warnings, precious
}