示例#1
0
DllExport void CALLBACK PADshutdown() // PAD SHUTDOWN
{
	DebugFunc();

	//delete controller[0];
	//delete controller[1];

	//controller[0] = controller[1] = nullptr;
}
示例#2
0
DllExport s32 CALLBACK PADclose() // PAD CLOSE
{
	DebugFunc();

	Input::Pause(true);
	KeyboardClose();
	KeepAwake(KEEPAWAKE_CLOSE);

	return emupro::pad::ERR_SUCCESS;
}
示例#3
0
DllExport s32 CALLBACK PADopen(void* pDisplay) // PAD OPEN
{
	DebugFunc();

	Input::Pause(false);

	GetDisplay(pDisplay);
	KeyboardOpen();
	KeepAwake(KEEPAWAKE_INIT);

	return emupro::pad::ERR_SUCCESS;
}
示例#4
0
DllExport void  PADWriteEvent(keyEvent &evt)
{
	DebugFunc();

	switch(evt.evt)
	{
	case 0x02:
		evt.evt -= 1;
		keyEventList.push_back(evt);
		break;

	case 0x03:
		evt.evt -= 1;
		evt.key |= 0x40000000;
		keyEventList.push_back(evt);
		break;
	}
}
示例#5
0
DllExport keyEvent* CALLBACK PADkeyEvent()
{
	DebugFunc();

	static keyEvent pochy;

	if(!isPs2Emulator)
		KeyboardCheck();

	if(!keyEventList.empty())
	{
		pochy = keyEventList.front();
		keyEventList.pop_back();
		return &pochy;
	}

	return NULL;
}
示例#6
0
文件: uaectrl.c 项目: Yamakuzure/PUAE
/************************************
 * Main program 		    *
 ************************************/
int32_t main()
{
       int32_t		    quit = 0,i, correct,number;
       char		    buf[257];
       char		    *langs[]={
	      "US\0","DE\0","SE\0","FR\0","IT\0",
       };

/* Read UAE configuration */
       i = GetUaeConfig( &config );

       while( quit == 0 ) {
	      printf(" UAE-Control v0.1\n\n");
	      printf(" 1) Reset\n");
	      printf(" 2) Debug\n");
	      printf(" 3) Exit Emulator\n");
	      printf(" 4) Change framerate     (Currently : %ld)\n", config.framerate);
	      printf(" 5) Toggle sound         (Currently : %s)\n", config.do_output_sound ? "ON" : "OFF");
	      printf(" 6) Toggle fake joystick (Currently : %s)\n", config.do_fake_joystick ? "ON" : "OFF");
	      printf(" 7) Change language      (Currently : %s)\n", langs[config.keyboard]);
	      printf(" 8) Eject a disk\n");
	      printf(" 9) Insert a disk\n");
	      printf("10) Exit UAE-Control\n\n");
	      correct = 0;
	      while( correct == 0 ) {
		     printf(" Command : ");
		     gets( buf );
		     i = atoi( buf );
		     if ((i > 0) && (i < 11))
		       correct = 1;
	      }
	      switch( i ) {
	       case 1:
		     HardReset();
		     break;
	       case 2:
		     DebugFunc();
		     break;
	       case 3:
		     ExitEmu();
		     break;
	       case 4:
		     printf(" Enter new framerate (1-20) :");
		     gets( buf );
		     number = atoi( buf );
		     if (SetFrameRate (number))
			    GetUaeConfig(&config);
		     else
			    printf(" Illegal value, not changed.\n");
		     break;
	       case 5:
		     if (config.do_output_sound)
		       DisableSound();
		     else
		       EnableSound();
		     GetUaeConfig( &config );
		     break;
	       case 6:
		     if (config.do_fake_joystick)
		       DisableJoystick();
		     else
		       EnableJoystick();
		     GetUaeConfig( &config );
		     break;
	       case 7:
		     printf(" 1 = US, 2 = DE, 3 = SE, 4 = FR, 5 = IT\n");
		     printf(" What will it be : ");
		     gets( buf );
		     number = atoi( buf );
		     if ((number >= 1) && (number <= 5)) {
			    ChangeLanguage( number-1 );
			    GetUaeConfig( &config );
		     } else {
			    printf(" Illegal value, not changed.\n");
		     }
		     break;
	       case 8:
		     print_drive_status();
		     printf(" Eject which drive (1-4): ");
		     gets( buf );
		     number = atoi( buf );
		     if ((number >= 1) && (number <=4 )) {
			    EjectDisk( number-1 );
			    GetUaeConfig( &config );
		     } else {
			    printf(" Illegal drive, not changed.\n");
		     }
		     break;
	       case 9:
		     print_drive_status();
		     printf(" Enter disk to drive (1-4): ");
		     gets( buf );
		     number = atoi( buf );
		     if ((number >= 1) && (number <= 4)) {
			    printf("Name of diskfile :");
			    gets( buf );
			    InsertDisk( (UBYTE *)&buf, number - 1 );
			    GetUaeConfig( &config );
		     } else {
			    printf(" Illegal drive, not changed.\n");
		     }
		     break;
	       case 10:
		     quit = 1;
		     break;
	      }
       }
       quit_program(0, "");
       return(0);
}
示例#7
0
DllExport s32 CALLBACK PADquery()
{
	DebugFunc();
	return emupro::pad::USE_PORT1 | emupro::pad::USE_PORT2;
}
示例#8
0
/*****************************************
* Main program                           *
*****************************************/
int main()
{
    int quit = 0, i;
    struct IntuiMessage *msg;
    struct Gadget *button;
    struct StringInfo *strinfo;
    char buf[257];
    UWORD koodi, msgID;
    ULONG classi, number;
    APTR address;
    ULONG CycleTags[3];

    CycleTags[0] = GTCY_Active;
    CycleTags[1] = (ULONG) & number;
    CycleTags[2] = TAG_DONE;

    /* Read UAE configuration */
    i = GetUaeConfig(&config);
    i = setup_window();
    if (i == 0) {
	quit_program(1, "Cannot setup a window!");
	return 1;
    }
    while (quit == 0) {
	WaitPort(window->UserPort);
	while (msg = (struct IntuiMessage *) GT_GetIMsg(window->UserPort)) {
	    classi = msg->Class;
	    koodi = msg->Code;
	    address = msg->IAddress;
	    if (classi == IDCMP_GADGETUP) {
		msgID = ((struct Gadget *) msg->IAddress)->GadgetID;
		button = (struct Gadget *) msg->IAddress;
		if (button->SpecialInfo) {
		    strinfo = (struct StringInfo *) button->SpecialInfo;
		}
	    } else
		msgID = msg->Code;

	    GT_ReplyIMsg((struct IntuiMessage *) msg);
	    switch (classi) {
	    case IDCMP_CLOSEWINDOW:
		quit = 1;
		break;
	    case IDCMP_GADGETUP:
		switch (msgID) {
		case GAD_EXITEMU:
		    ExitEmu();
		    break;
		case GAD_EJECT_DF0:
		    EjectDisk(0);
		    Delay(30);
		    GetUaeConfig(&config);
		    print_drive_status();
		    break;
		case GAD_EJECT_DF1:
		    EjectDisk(1);
		    Delay(30);
		    GetUaeConfig(&config);
		    print_drive_status();
		    break;
		case GAD_EJECT_DF2:
		    EjectDisk(2);
		    Delay(30);
		    GetUaeConfig(&config);
		    print_drive_status();
		    break;
		case GAD_EJECT_DF3:
		    EjectDisk(3);
		    Delay(30);
		    GetUaeConfig(&config);
		    print_drive_status();
		    break;
		case GAD_SOUND:
		    if (config.do_output_sound)
			DisableSound();
		    else
			EnableSound();

		    Delay(30);
		    GetUaeConfig(&config);
		    break;
		case GAD_JOYSTICK:
		    if (config.do_fake_joystick)
			DisableJoystick();
		    else
			EnableJoystick();

		    Delay(30);
		    GetUaeConfig(&config);
		    break;
		case GAD_FRAMERATE:
		    SetFrameRate(strinfo->LongInt);
		    Delay(30);
		    GetUaeConfig(&config);
		    break;
		case GAD_INSERT_DF0:
		    strcpy(buf, config.df0_name);
		    if (get_string(buf, 255)) {
			InsertDisk((UBYTE *) buf, 0);
			Delay(30);
			GetUaeConfig(&config);
			print_drive_status();
		    }
		    break;
		case GAD_INSERT_DF1:
		    strcpy(buf, config.df1_name);
		    if (get_string(buf, 255)) {
			InsertDisk((UBYTE *) buf, 1);
			Delay(30);
			GetUaeConfig(&config);
			print_drive_status();
		    }
		    break;
		case GAD_INSERT_DF2:
		    strcpy(buf, config.df2_name);
		    if (get_string(buf, 255)) {
			InsertDisk((UBYTE *) buf, 2);
			Delay(30);
			GetUaeConfig(&config);
			print_drive_status();
		    }
		    break;
		case GAD_INSERT_DF3:
		    strcpy(buf, config.df3_name);
		    if (get_string(buf, 255)) {
			InsertDisk((UBYTE *) buf, 3);
			Delay(30);
			GetUaeConfig(&config);
			print_drive_status();
		    }
		    break;
		case GAD_LANGUAGE:
		    number = config.keyboard;
		    number++;
		    if (number == 5)
			number = 0;
		    ChangeLanguage(number);
		    Delay(30);
		    GetUaeConfig(&config);
		    break;
		case GAD_RESET:
		    ColdReboot();
		    break;
		case GAD_DEBUG:
		    DebugFunc();
		    break;
		default:
		    break;
		}
		break;
	    default:
		break;
	    }
	}
    }
    quit_program(0, "");
    return (0);
}