picodrive/platform/uiq2/ClientServer.h
notaz cc68a136aa initial import
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@2 be3aeb3a-fb24-0410-a615-afba39da0efa
2006-12-19 20:53:21 +00:00

69 lines
1.6 KiB
C

// protocol used to talk between exe and it's launcher
#ifndef __CLIENTSERVER_H
#define __CLIENTSERVER_H
#include <w32std.h>
// names
_LIT(KServerName, "PicodriveNServ");
_LIT(KServerWGName, "Picosmall"); // window group name
_LIT(KClientName, "PicodriveN");
_LIT(KClientFind, "PicodriveN*"); // client search mask (for TFindLibrary)
// opcodes used in message passing between client and server
enum TPicoServRqst {
PicoMsgLoadState,
PicoMsgSaveState,
PicoMsgLoadROM,
PicoMsgResume,
PicoMsgReset,
PicoMsgKeys,
PicoMsgPause,
PicoMsgQuit,
PicoMsgConfigChange, // launcher -> emu
PicoMsgRetrieveConfig, // emu -> launcher
PicoMsgRetrieveDebugStr,// fixed to 512 bytes 4 now
kDefaultMessageSlots // this is how many messages we need :)
};
// event messages to launcher
enum TPicoLauncherEvents {
EEventKeyCfgDone = EEventUser + 1,
EEventGamePaused,
};
// configuration data to be sent between server and client
struct TPicoConfig {
enum TPicoScreenRotation {
PRot0,
PRot90,
PRot180,
PRot270
};
enum TPicoScreenMode {
PMCenter,
PMFit,
PMFit2
};
enum TPicoFrameSkip {
PFSkipAuto = -1,
PFSkip0
};
TInt32 iScreenRotation;
TInt32 iScreenMode;
TUint32 iFlags; // LSb->MSb: use_sram, show_fps, enable_sound, sound_rate(3bits), gzip_saves{=0x40}, dont_use_mot_vol
// enable_ym2612&dac, enable_sn76496, enable_z80, stereo_sound;
// alt_renderer, 6button_gamepad, accurate_timing
TInt32 iPicoOpt;
TInt32 iFrameskip;
TUint32 iKeyBinds[32];
TUint32 iAreaBinds[19];
TInt32 PicoRegion;
};
#endif // __CLIENTSERVER_H