Wednesday, December 23, 2009

New installer feature

I've been working on incorporating the BCDEDIT functionality into the PPJoy installer itself. The new installer will detect when it is running on a Vista or Win7 x64 machine with test signing disabled and offer you the option to enable test signing or exit the installer. After enabling test signing the installer will prompt you to reboot the machine before running the installer again.

This will hopefully stem the flood of comments about people not able to use PPJoy on a 64 bit OS. The new installer will also ensure that it is executed as an Administrator to prevent permission issues.

As a side note: programming the BCD store using WMI and COM isn't really all that much fun :-)

Monday, November 23, 2009

Doing some work...

Not very glamorous... I've just upgraded my development machine to Windows 7 x64 and modified the PPJoy build environment to use the Windows 7 DDK. Also used the opportunity to clean up the build environment a little (no more hardcoded include paths in individual project files).

A few words on hardware: Gigabyte sucks. Had a GA-EP35-DS4 motherboard die on me after 18 months of the 3 year warranty period. After a month the best they could do (or their South African distributors) was give me a nasty used replacement with bent connectors and glue on the bottom side. Way to treat a good customer - I now buy Asus only.

Tuesday, November 10, 2009

PPJoy 0.84.5 known issues

(This list will be updated as issues are found)

(2009/11/10)
Issue 1: PPortJoy .sys ("Parallel Port Joystick device" under "Human Interface Devices" in Device Manager) does not install properly when adding a joystick using a terminal server session on Server 2003. This is likely caused by test/unsigned drivers that can't be silently installed.

Workaround: Either set the computer's Driver Signing status to "Ignore" (untested) or open Device Manager and right click on the "Parallel Port Joystick device" with the exclaimation mark icon. Select "Update Driver" and let the sytem find the driver and acknowlegde the driver signing warning.

Saturday, November 7, 2009

PPJoy 0.84.5 bug reports

This post is a placeholder to report issues with the new 0.84.5 installer and x64 drivers. Please check if your issue has been reported before leaving a comment.

NOTE: before compaining that PPJoy does not load on a 64 bit OS - check that your computer is in Test Signing mode. You MUST see "Test Mode" in the corners of your screen. If not, enable it by running "Bcdedit.exe -set TESTSIGNING ON"

Finally! A new version

After a break of many years I'll release a new beta version of PPJoy soon. The release of Windows 7 seems a good time to also release a x64 capable version of PPJoy.

This is a bit of a rough release with minimum updates to the documentation. Te main goal is to make the 64bit drivers and the new installer available for testing. It feels a little wrong to keep sitting on the 64 bit version :-)

I will post a URL as soon as I can arrange new web hosting for PPJoy.

Lastly - an apology from me for not answering to comments. I had comment notification turned off and never saw them. Fixed now :-)



Friday, February 20, 2009

Another bug... squashed

This one was quite strange - the PPJoy installer would work when using the debug build of the DLL that registers the driver; when I used the release build the installer would fail to register the driver. Oh joy.

So then out comes windbg. Man's best friend for sure. As it turns out, there is one function in my DLL that requires a MULTI_SZ format string. Basically this means the string must end with two zero bytes; and the code was initialising it with only one zero, hence it failed. So why did the debug version work? I am speculating that the debug version includes extra variables that changes the packing in memory and the empty spots are probably filled with zeros... These zeros would make up for the one I forgot to add at the end of the string.

I really, really hope I don't other similar bugs lurking in there somewhere!!! The scary thing is that these bugs can lie dormant for years, just waiting for an innocent code change.

Sunday, February 8, 2009

Taking some time out

I've just finished putting together a small bench power supply so development on PPJoy has stalled a bit. And I'm busy with maintenance around the house - something that can suck up oodles of time too.

And then there is the day job too...

Point of all this is that there are many things competing for my attention, of which PPJoy is only one. I still hope to release a new PPJoy build in the next month or two. Unfortunately there won't be new functionality... just one or two small bug fixes. This would also be the first release built with VS 2008 and the Windows Vista/Server 2008 DDK. Though no 64 bit drivers yet.

I've got the Win7 beta and DDK that goes with it. Hopefully I can test PPJoy on it soon.

Friday, January 23, 2009

Bye-bye Win98, we will miss you(?)

Always read the fine print. Every now and again something comes around that catches you out... Late last year I upgraded my development environment to Visual Studio 2008 and the latest Windows WDK. With that I converted the PPJoy source to VS 2008 projects, did a couple of regression tests, and everything looked fine. The catch? I never tested on Windows 98...

On Monday, as I was testing the new PPJoy installer on Windows 98 only to discover my executables won't run on Windows 98. A quick google later I am reading the compiler release notes specifying that VS 2008 only supports Windows 2000 and later.

So that settles it then: PPJoy will no longer support Windows 98. I could try to hack some support together but frankly the time is spent better elsewhere...


Sunday, January 18, 2009

Hacking the new installer

I am currently hacking the new installer for PPJoy, moving from the old InstallerVise to the Nullsoft installer. At the same time I am busy converting the installer plug-ins to the new NSIS format. Getting stuff to compile is quick and easy (or it should be!) . Understanding the environment in which the is running is something entirely different... I don't want the installer to be unstable!

Which brings me to the next point... how much effort do you put into backwards compatibility? The method for installing/configuring a Control Panel is different between Win98, Win2K, XP and Vista... there are unique settings for each one of the. Win98, in particular (surprise?), is very different from the NT family.

It is very tempting to drop Windows 98... How many of these systems are still out there?

Tuesday, January 6, 2009

printf ("Hello World!\n");

Hello World!

I've decided to start a small blog to keep everybody informed about what is happening with PPJoy. Beware that the log will probably not be updated all that frequently... less often than I work on PPJoy :-)

I hope to share my plans for PPJoy (features, etc) and possibly get some feedback on them. Tell me what you would like to see in PPJoy. No promises of course!

This blog is definitely not a support forum, sorry. If you discover bugs in PPJoy I'd like to hear about them but unfortunately I cannot help you with general setup questions,  nor do I promise to fix all bugs.