[Windows Mobile Apps and Games] Mach2003:
Beta build 1.63.3

Edit to attach 1.63.4, it has the simulated compass removed, but no other changes in it, so anyone with Omnia II or HD2 (hardware compass support) does not need to install the newest one, only needed for devices without a hardware compass (like Diamond). For anyone who did not yet install 163.3, use 163.4 instead.

From my "unedited" change logs:

1.61
- Added a thread to scan for a better port, only while power is applied
- If current port stops working, the next port down the order line will be automatically used
- Fixed another uninstll issue, if driver can not be unloaded, prompts for soft reset and resets (or tells you to do so)
- Fixed a number of issues that would stop driver from unloading on uninstall
- Created a Samsung Build that supports Hardware Compass
- Includes a KickStart.exe program in Windows\Startup (the SDK is not available during boot)
- Has the SamsungSDK_2 Dll included in the CAB

1.62
- Eliminated hXxxxDead, using hXxxxThread to determine if the thread is alive
- Added more checks to Sleep, Startup, and Shutdown routines for stuck threads, and Terminated them
- Changed driver loaded detection in setup.dll again.

1.63
- Fixed insert speed and heading on Delta Time (it never worked when set above 1000 ms)
- Reordered the export strings, better compass support
- Fixed IOCTL to emulate original ports better (fix driver.exe Error reporting bug)
- Fixed MSAPI not inserting compass correctly
- Changed ModSettings to actually save values to the driver on ALL SAVE buttons
- Added, and then removed menu, update driver choice
- Removed Update - No Exit, changed "save" button to "exit"
- Removed Samsung SDK lib, and used LoadLibary, GetProcAddress instead
- Eliminated Kick Start
- Merged Samsung and HTC code into one driver
- Fixed Compass Calibration
- Seperated 'full' reload from 'value' reload in driver, so port does not have to reopen on calibrate
- Save either 'value' or 'full' as required for each different save button
- Save in profile, updates driver with the current values
- Saving profile, selects that profile now, so select profile was removed
- Added Compass and Orientation display to main screen
- Added Physics Engine (Gesture) scrolling, and mostly fixed the sip scrolling issues
- Fixed compass not sending on last known, or un-fixed data
- Changed RMC to export VTG when there is no fix, so compass angle more likely to show in applications
- Fixed next read of averaged compass from adding or subtracting 90 twice (or more times)
- Fixed Sats in view, now shows number NOT rounded up to 4, and allows gaps to stay in place if 12 or less entries exist

Samsung and HTC use the same driver (and so, the same CAB), Kickstart is no longer required for Samsung

I have re-attached the Samsung SDK cab here, in case someone does not have it installed. QueStub works fine the way it is.

Compass calibration is now working!

Select a profile.

Choose Compass from the menu.

Prepare to exceed delta speed for that profile.

Rotate the phone to either portrait or landscape, as desired (both will need to be calibrated seperatly), prefered to be mounted or carried the way you will use it.

Click Calibrate, The display will change Agerages to 10, Portrait Calibration to 10, and counts down seconds waiting for delta speed. If you don't get up to speed by 10 seconds, the procedure is aborted. Once up to speed, the Portrait cal number displays compass heading, while the landscape cal number displays GPS heading. Averages count the number of readings read (up to 10). Once 10 readings are read, or 5 seconds without a reading elapse) the new calibration number is diplayed, and the other values return to normal. Note that readings are only averaged above delta speed, so that we get compass and GPS headings at the same time (below delta speed, GPS heading is replaced by adjusted compass heading).