30 lines
544 B
C
30 lines
544 B
C
![]() |
#pragma once
|
||
|
#include "types.h"
|
||
|
|
||
|
enum MapleDeviceType
|
||
|
{
|
||
|
MDT_SegaController,
|
||
|
MDT_SegaVMU,
|
||
|
|
||
|
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();
|
||
|
virtual u32 Dma(u32 Command,u32* buffer_in,u32 buffer_in_len,u32* buffer_out,u32& buffer_out_len)=0;
|
||
|
};
|
||
|
|
||
|
maple_device* maple_Create(MapleDeviceType type);
|