Alright, here's a huge post with everything you could possibly want to know about the emulator. I have it running on Windows CE 5.0 and Windows Mobile (6.1 and 6.1.4). For the purposes of this post I am using Windows CE. Introduction: Spoiler I originally used the Windows Mobile 6.1 emulator for this since I never could get Primo to run on any of the available WinCE 5.0 images, and none of the programs besides Primo working on CE 6.0 either. However, I still wanted a small CE image I could use, and with the emulator BSP only partially implemented for CE 5.0 (most importantly there's no power management, which is why you can't soft-reset and save states), I decided to make a working one myself. CE 6.0 fully works with the emulator, so I ported back some of its emulator drivers and implementations, and now I've got pretty much everything working with CE 5.0, including battery driver, power button (for resets), saving states, rotating screen. As with the other CE 5.0 images and some devices, the CAB installer for Total Commander (and possibly others) still fails. Anyway, you can still run the .exe directly (but I've had issues with 2.53 beta 3 and I'm using 2.51). Here's what you need: Spoiler Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? iGO primo 2.0 (other releases will probably also work, but this is what I'm testing on). No, I will not provide a package for this. Additionally, for networking and GPS/TMC emulation: Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? for GPS emulation: Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? for TMC emulation: Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? General usage: Spoiler By default the .cmd files to launch the emulator will restore the last saved state, or perform a cold boot if there isn't one. You can rotate the screen by using a program I have included in the start menu. When using the calibration fix I recommend setting Windows CE to not keep the taskbar always on top so that it doesn't overlap the application (Start -> Settings -> Taskbar and Start Menu). You can press the Windows key at any time to bring up the start menu and taskbar if you need it. Performing a soft-reset will reboot the device and keep any modifications, a hard-reset will start over with a clean boot. Closing the emulator and saving state is the same as using the "suspend" command on the device: It will save the state and close the emulator. Don't do this while Primo is running as it often caused file corruption in my tests. Basic setup: Spoiler Install Microsoft Device Emulator on your workstation. Extract the package containing the Windows CE image, .cmd files and network drivers to a folder of your choice. Run one of the .cmd files to start the emulator for the resolution you want. Note: I am using start_emulator.cmd to launch the emulator from its default installation path and set resolution-independent options such as RAM size or storage card folder. Edit that file if you need to change the path to deviceemulator.exe or use different default options. My default options map the parent folder (..) as the storage card on the device. If you don't have the network drivers installed it will show an error message. Ignore it for now, or remove the "/p" switch from start_emulator.cmd if you're not going to use networking. Make sure you don't have a basemap in the map folder because it will cause the application to hang on startup. At this point you should be able to launch Primo from the folder mapped as the storage card. Any crashes or "out of memory" errors are usually caused by using corrupt files or wrong settings, so make sure you're using a clean version, or try deleting the "save" folder to start with default settings. Enabling network connectivity for the emulator: Spoiler On your workstation, Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? . I have included them in the download package, no need to download and extract Virtual PC. On the emulator: Cold boots performed from my startup files will have networking enabled by default, so the emulated device should boot and connect to the network automatically. On saved states without networking it has to be enabled manually in the emulator (File -> Configure). Windows CE will show a network tray icon if it is connected, it looks like this: You can double tap it to check the IP settings or use the network settings in control panel in case you need to manually configure TCP/IP. sys.txt settings for networking: Code: [network] available=1 [naviextras] boot_service_address="http://zippy.naviextras.com/services/index/rest/1" At this point you should be able to use the network features such as online TMC in Primo. If it doesn't work, make sure the NE2000 network adapter is enabled in the emulator settings and bound to the correct network interface, and check your IP settings. About GPS and FM-TMC emulation: Spoiler I'll explain how to emulate GPS and TMC without connecting a receiver by replaying log files. Actual receivers can be used as well, you would have to set up GpsGate to connect to the real receiver via its COM port for the input device instead of the NMEA log file reader. You could do all of this directly on the emulated device by using the NMEA logger input instead of the TCP/IP client, but I'll explain how to use your workstation to replay the log files as it is much more convenient. The emulator has a way to connect the emulated device directly to a serial port. However, it doesn't seem to work with virtual ports which is why I'm using TCP/IP transport instead. You can connect multiple clients to the GPS and TMC servers. For example, you could run two emulator instances to compare different setups (skins, map providers, etc.) and simultaneously receive the same GPS data on all of them. About GPS and TMC log files: Spoiler I have uploaded two example TMC log files I have recorded that can be used for replaying. Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? , and Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? . I think your GPS position or starting point also needs to be in that country to actually see those TMC events. To decrypt TMCpro messages the licenses and .tmc files need to be present as well. To collect your own log files you can enable Primo's "Save NMEA data" option, which will store the received raw GPS data (no TMC) in NMEA format, or run GpsGate on your device with a "COM port" source for your GPS or TMC receiver and the "File Recorder" output to save the data. On some Windows Mobile phones you can also use Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? to receive and log TMC data from the device's FM receiver. I have only tested Royaltek-based TMC logs, which are similar to the text-based NMEA format. Other TMC protocols might use a binary log format instead, which would require setting COM Port Data Emulator to "binary file" as well. You also need to set sys.txt according to the protocol you're getting from your TMC receiver (Royaltek/GNS/whatever). Prerequisites for GPS and FM-TMC emulation: Spoiler On both your workstation and the emulated device: (On a low-res emulator you'll have to switch to portrait mode to fit everything on screen.) Install and run GpsGate Client, and choose to set it up in manual mode. In GpsGate settings, enable "more options" on the "Advanced" tab. The "Advanced" tab shows a "Default" instance, which I suggest renaming to "GPS". Replaying GPS logs can cause Primo to change the device's system time and quickly cause the trial version to expire, so I suggest entering a Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? for GpsGate. Setting up GPS emulation: Spoiler On your workstation: Open GpsGate settings and switch to the "GPS" instance. On the "Input" tab, set the source to "NMEA logger" and click "Open". Click "Play", and select the log file to play. You can check "Reset time" to replace the GPS log's recorded date and time with the current time. Check "Repeat" if you want to loop the log file playback and close the window. At this point the input tab needs to say "Running OK". If the GPS log contains a valid position at that point the icon will be green and it will say "GPS data with valid position". On the output tab, add "TCP/IP Server". Note the port number. At this point, when you select the TCP/IP server on the output tab, it needs to say "Running OK". On the emulated device: Verify the device's network connection works. Open GpsGate settings and switch to the "GPS" instance. Set the instance's input source to "TCP/IP Client" and click "Open". Enter your workstation's hostname or IP address as the server, and the port number you set before. Click OK, and GpsGate will attempt to connect to your workstation to receive the GPS data. At this point the input tab needs to say "Running OK". If the GPS log contains a valid position at that point the icon will be green and it will say "GPS data with valid position". If the connection fails, make sure you're using the correct IP address and port number and that GpsGate's TCP/IP server on your workstation is running and not blocked by a firewall. On the output tab, add "Virtual COM Port". Choose an available COM port (e.g. "COM5") and click OK. At this point, when you select the virtual COM port on the output tab, it needs to say "Running OK". sys.txt settings to use the virtual GPS port (COM5 in my example): Code: [gps] port=5 baud=4800 At this point you should be able to run Primo and get a GPS location if the GPS log file has a valid position. On your workstation, you can now control the GPS log replay by clicking the GpsGate tray icon and selecting "NMEA logger". In the logger options you can pause, forward or rewind, and jump to different positions in the log. You can also stop playback to load a different log file. Setting up FM-TMC emulation: Spoiler Note: To use an actual TMC receiver you could use GpsGate and set up an instance with a COM port input to connect to the TMC receiver. For log file playback I am using COM Port Data Emulator because GpsGate doesn't work well with non-GPS log files. On your workstation: Install and run COM Port Data Emulator On the "device" tab, set the output mode to "TCP/IP server". Set the listening address to "0.0.0.0" (not "localhost") and choose a port number. It needs to be different from the one used for the GPS data TCP/IP server. On the "data source" tab set it to "text file", and select the log file you want to replay. Check "repeat mode" and "auto sending interval", and set it to something like 50 ms, so that it's not continuously sending the entire log file. Click "Start" to start listening for client connections. On the emulated device: Verify the device's network connection works. In GpsGate settings, create another instance and name it something like "TMC". Set the instance's input source to "TCP/IP Client" and click "Open". Enter your workstation's hostname or IP address as the server, and the port number you set in COM Port Data Emulator. Click OK, and GpsGate will attempt to connect to your workstation to receive the TMC data. At this point the input tab needs to say "Running OK". If the connection fails, make sure you're using the correct IP address and port number and the COM port emulator's TCP/IP server on your workstation is running and not blocked by a firewall. On the output tab, add "Virtual COM Port". Choose a COM port that's different from the one you're using for GPS (e.g. "COM6") and click OK. At this point, when you select the virtual COM port on the output tab, it needs to say "Running OK". sys.txt settings to use the virtual TMC port (COM6 in my example): Code: [tmc] saved_config_available="1" saved_config_classname="NMEA_GPSTMC_ROYALTEK" saved_config_portname="COM" saved_config_port="6" auto_tuning="0" The TMC protocol setting needs to match the log files you are replaying. My example log files are in Royaltek protocol format, so that's what I'm using here. Of course, none of the station tuning will work when replaying a log. It would work when used with a real receiver though. At this point you should be able to run Primo and receive FM-TMC data from the virtual COM port. Enabling Bluetooth connectivity for the emulator: Spoiler I'm not going to explain how to set this up here because it's probably not going to be used much, and setup is not that straightforward (it even requires Visual Studio to be installed), but I can confirm that it does work if you have compatible BT hardware. I have included the bluetooth components from Windows Embedded NavReady 2009 in the CE image in case anyone wants to give it a try. What's needed for Bluetooth is Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? , and possibly the instructions on Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ? , because it didn't work with ActiveSync for me. It's a good idea to keep a backup of the "Instances" folder in the GpsGate directory on the device and keep a save state of the emulator when it's all set up, so you only have to do all of this on the initial setup.