Intro
- For a while now I've been trying to get the JavelinDirect source from the Parralax site ported over to Linux, with limited success.
- In particular, I've been trying to port over the ComDrv32.pas file with a ComDrv32.cpp file using standard POSIX library calls.
- Note, I've made no attempt to maintain backwards compatibility with the original Windows code: All 'COM' references have been changed to '/dev/ttyS', and the '#ifdef's have been removed
Current Status
- The source has been autoconfiscated.
- Magic numbers from the Errors.* files have been replaced with an ErrorNumType enum.
- Skeletons for various missing classes (TComponent, TApplication) have been added
- An excessive number of extra StatusDebug messages have been added.
- The Linker->LinkProgram() portion looks to be working OK.
- Also, TSXComm::AutoChoosePort() looks to be finding the correct /dev/ttyS port
What's Not Working
- However... TSXComm::Reset() is throwing an ERR_FIRMWARE_VERS exception. I am consistently getting 0x2d for the version instead of 0x50.
- I suspect the problem has to do with the original source specifying a 28800 baud rate, where I am using 19200, since the 28800 baud rate doesn't seem to be available in Linux.
- The port configuration code in TCommPortDriver::Connect() and TCommPortDriver::ApplyCOMSettings() also needs the glare of more eyeballs.
- Everything past the ERR_FIRMWARE_VERS exception is untested.
Where Do I Get The Sourse
- Right here. Enjoy.
- You should be able to do the standard 'gunzip, tar xvf, ./configure, make ' combo to build the source.
- Notice the piddly 00.00.01 release number, and the 'What's Not Working' section above.
- If you manage to fix anything, please let me know !
- Head up that I'm starting a new job soon, so it may be a while before I'm settled in, and can visit this project again.
Thanks
Special thanks go out to Christopher Waters and the folks at Parallax for making the JavelinDirect source available.