58 lines
1.3 KiB
C
Executable File
58 lines
1.3 KiB
C
Executable File
#pragma once
|
|
#include "types.h"
|
|
|
|
enum MapleDeviceType
|
|
{
|
|
MDT_SegaController,
|
|
|
|
MDT_SegaVMU,
|
|
MDT_Microphone,
|
|
MDT_PurupuruPack,
|
|
MDT_Keyboard,
|
|
MDT_Mouse,
|
|
MDT_LightGun,
|
|
|
|
MDT_NaomiJamma,
|
|
|
|
MDT_None,
|
|
MDT_Count
|
|
};
|
|
|
|
struct IMapleConfigMap;
|
|
|
|
struct maple_device
|
|
{
|
|
u8 maple_port; //raw maple port
|
|
u8 bus_port; //0 .. 5
|
|
u8 bus_id; //0 .. 3
|
|
wchar logical_port[3]; //A0, etc
|
|
IMapleConfigMap* config;
|
|
|
|
//fill in the info
|
|
void Setup(u32 prt);
|
|
|
|
virtual void OnSetup(){};
|
|
virtual ~maple_device();
|
|
u32 Dma(u32 Command,u32* buffer_in,u32 buffer_in_len,u32* buffer_out,u32& buffer_out_len);
|
|
virtual u32 RawDma(u32* buffer_in, u32 buffer_in_len, u32* buffer_out) = 0;
|
|
virtual bool maple_serialize(void **data, unsigned int *total_size){return true;};
|
|
virtual bool maple_unserialize(void **data, unsigned int *total_size){return true;};
|
|
virtual MapleDeviceType get_device_type() = 0;
|
|
virtual void get_lightgun_pos() {};
|
|
};
|
|
|
|
struct _NaomiState
|
|
{
|
|
u8 Cmd;
|
|
u8 Mode;
|
|
u8 Node;
|
|
};
|
|
|
|
maple_device* maple_Create(MapleDeviceType type);
|
|
#define SIZE_OF_MIC_DATA 480 //ALSO DEFINED IN SipEmulator.java
|
|
#ifndef TARGET_PANDORA
|
|
int get_mic_data(u8* buffer); //implemented in Android.cpp
|
|
int push_vmu_screen(u8* buffer); //implemented in Android.cpp
|
|
#endif
|
|
#define MAPLE_PORTS 4
|