Note from Babakj for BabakJ: - Take a close look at Alloc calls (also PAlloc) for segmented code - Do the same for MAKELONG and MAKEWORD, etc. - The file port.txt in \\brillig\ntct\babakj\solit has the list of changes proposed by Preport utility. SetBitmapBits() and CreateBitmaps() seem to be the only dev-dependent APIs used. They are only used if building for Win 2.x (if WINVER_2 defined). - LoadBitmap() is crucial for Solitair. Make sure it's included in Win32 APIs. Babak ------------------------------------------------------------------- **** Time Estimates for converting Windows Applications from **** 16 bit (with asm code) to 32 bit portable code. Application Files LOC Difficulty *ConTime C ASM (L,M,H) Write 84 4 42063 H 24.0 MW Paintbrush 90 3 15923 H 9.0 MW Scicalc 12 0 2005 L 1.0 MW Calender 23 2 6181 L 3.5 MW Cardfile 16 2 4665 L 2.0 MW Clipbrd 3 2 2379 L 1.5 MW Clock 1 4 818 L 0.5 MW Notepad 7 1 2069 L 1.0 MW Recorder 10 2 4868 M 3.0 MW Reversi 1 2 1694 M 1.0 MW Solitair 12 2 5048 M 3.0 MW Terminal 34 4 13084 M 7.5 MW Pifedit "sources temporarily not available" 1.0 MW ? common 13 2 2064 M 1.0 MW sources used by some of the above applications TOTAL 57.5 MW 13.0+MM @ 3M 4.0+MM Major Conversion Items ... - Setting up makefile for building multiple platforms - Rewriting ASM files into C - Rewriting machine dependant code -> portable C. This will includes code that uses shifts for arithmetic and ++psz, --psz for location of characters in a string. - Removing Segment usage, I antisipate this including some api changes removing selector or segment references. - Add usage for System Macros (INT, BOOL, CHAR, ... as apposed to int, bool, char, ... ). - Warning Removal for compiles *ConTime Conversion times are calculated in the following way ... ConTime/ManWeeks = ((LOC/1000)/1.78KLOC) Conversion speed metric (1.78KLOC/MW) was gotten from [jonma:patt] and is from pmct group statistics kept for converting relatively clean Presentation Manager code from 16 -> 32 bit. LOC: Line count achieved using the CONE utility by kengr. The -l option was used.