#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);