| 1 | // protocol used to talk between exe and it's launcher\r |
| 2 | \r |
| 3 | #ifndef __CLIENTSERVER_H\r |
| 4 | #define __CLIENTSERVER_H\r |
| 5 | \r |
| 6 | #include <w32std.h>\r |
| 7 | \r |
| 8 | // names\r |
| 9 | _LIT(KServerName, "PicodriveNServ");\r |
| 10 | _LIT(KServerWGName, "Picosmall"); // window group name\r |
| 11 | _LIT(KClientName, "PicodriveN");\r |
| 12 | _LIT(KClientFind, "PicodriveN*"); // client search mask (for TFindLibrary)\r |
| 13 | \r |
| 14 | \r |
| 15 | // opcodes used in message passing between client and server\r |
| 16 | enum TPicoServRqst {\r |
| 17 | PicoMsgLoadState,\r |
| 18 | PicoMsgSaveState,\r |
| 19 | PicoMsgLoadROM,\r |
| 20 | PicoMsgResume,\r |
| 21 | PicoMsgReset,\r |
| 22 | PicoMsgKeys,\r |
| 23 | PicoMsgPause,\r |
| 24 | PicoMsgQuit,\r |
| 25 | PicoMsgConfigChange, // launcher -> emu\r |
| 26 | PicoMsgRetrieveConfig, // emu -> launcher\r |
| 27 | PicoMsgRetrieveDebugStr,// fixed to 512 bytes 4 now\r |
| 28 | kDefaultMessageSlots // this is how many messages we need :)\r |
| 29 | };\r |
| 30 | \r |
| 31 | \r |
| 32 | // event messages to launcher\r |
| 33 | enum TPicoLauncherEvents {\r |
| 34 | EEventKeyCfgDone = EEventUser + 1,\r |
| 35 | EEventGamePaused,\r |
| 36 | };\r |
| 37 | \r |
| 38 | \r |
| 39 | // configuration data to be sent between server and client\r |
| 40 | struct TPicoConfig {\r |
| 41 | enum TPicoScreenRotation {\r |
| 42 | PRot0,\r |
| 43 | PRot90,\r |
| 44 | PRot180,\r |
| 45 | PRot270\r |
| 46 | };\r |
| 47 | enum TPicoScreenMode {\r |
| 48 | PMCenter,\r |
| 49 | PMFit,\r |
| 50 | PMFit2\r |
| 51 | };\r |
| 52 | enum TPicoFrameSkip {\r |
| 53 | PFSkipAuto = -1,\r |
| 54 | PFSkip0\r |
| 55 | };\r |
| 56 | TInt32 iScreenRotation;\r |
| 57 | TInt32 iScreenMode;\r |
| 58 | TUint32 iFlags; // LSb->MSb: use_sram, show_fps, enable_sound, sound_rate(3bits), gzip_saves{=0x40}, dont_use_mot_vol\r |
| 59 | // enable_ym2612&dac, enable_sn76496, enable_z80, stereo_sound;\r |
| 60 | // alt_renderer, 6button_gamepad, accurate_timing\r |
| 61 | TInt32 iPicoOpt;\r |
| 62 | TInt32 iFrameskip;\r |
| 63 | TUint32 iKeyBinds[32];\r |
| 64 | TUint32 iAreaBinds[19];\r |
| 65 | TInt32 PicoRegion;\r |
| 66 | };\r |
| 67 | \r |
| 68 | \r |
| 69 | #endif // __CLIENTSERVER_H\r |