windows-nt/Source/XPSP1/NT/shell/osshell/games/sol/winapp.txt

76 lines
2.5 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
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.