Man, you're taking a "Tiger by the Tail" on this one, imo... but, a good place to start & learn from too!
I haven't looked @ its sourcecode, but I can tell you MOST of what you'll need to lookout for when porting (W1zzard may be able to help you with more, or others here):
ASSEMBLY CODE specific to a particular CPU platform (if this is NOT for Win32 & assuming this IS your target)
.H files specific to a particular platform (header files, assuming you are looking @ C/C++ source) - this is where you will also find hassles, as some .h files are NOT as 'generic' as possible...
Changing variable size-values (e.g.-> Float to Double or larger) - this is the SOMEWHAT confusing part:
You'd think going from Win32 to Win64, would mean making the TYPE larger... it is the reverse!
E.G.-> IF you have a Double VALUE in Win32, then porting it to Win64 means going LOWER as your type (to FLOAT).
There are toolkits too, especially for C/C++, like Cygwin libs, &/or NuTCracker... take a peek @ them, they MAY help you a great deal...
APK
P.S.=> Other than that? I don't know what to tell you...
I'm NO expert @ it, especially w/ driver code (as I don't DO DDK work for a living) which is where you are @ now!
However, I have ported versions of code to higher versions of compilers, AND done QUITE A LOT of porting C/C++ or VB code to Delphi, & there ARE 'catches' many times... How to learn it?
DIVE IN, just as you are doing now... the ONLY way imo! It's really the ONLY way you'll get to know the language(s) you are working in, learning what is an analog in 1, vs. others...
In the case of what I mention I have had to do (in the past, there wasn't the "wealth" of sourcecode out there (well, for C/C++ there pretty much ALWAYS has been thru the 90's to today @ least, not true w/ the others initially, circa 1992-1999 @ least, that there is now for those 3 languages online))
You younger folks today, get THAT benefit @ least... & DO look for porting toolkits, such as the ones I mention, good luck! apk