REP.TXT 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. Release 1.6d wasn't in the original plan for Repertoire's evolution,
  2. but it's a significant step in the right direction. We realized about
  3. a year ago that it was going to be impossible to maintain separate
  4. DOS and OS/2 versions. I tried for several months to do it the C way
  5. (i.e., with a preprocessor and conditional compilation), and I tried
  6. using vmerge and vdiff to maintain two independent sets of files, but
  7. nothing worked. We had to have a single version.
  8. It was also clear that we couldn't stop supporting real-mode-only
  9. executables. Few of our customers have access to Microsoft's BIND.EXE
  10. and the MS and compiler-specific libraries that it requires, at least
  11. one of the M2 compilers we have to support generates executables that
  12. cannot be bound, and we knew DOS developers would object to the size
  13. of bound executables, even if their load sizes didn't exceed those of
  14. real-mode-only executables. We thought about requiring DOS developers
  15. to use Microsoft's API.LIB, which contains real-mode emulations of
  16. OS/2's Family API subset, but of course there were access problems,
  17. and API.LIB turned out not to be a linkable library anyway; it is
  18. full of assumptions that are satisfied only by the BIND.EXE link
  19. postprocessor.
  20. So I convinced Chuck to do a clean, linkable, real-mode,
  21. assembly-level emulation of the parts of the OS/2 API that Repertoire
  22. depends on. Its interface is identical to OS/2's DOSCALLS.LIB, but
  23. you can link it into a DOS executable with a normal linker. It means
  24. that we can have a single version not only of the source, but of
  25. the object code as well. Link it with OS/2's DOSCALLS.LIB and the
  26. executable runs in protected mode with unlimited memory; link the
  27. same program with our FAPI.LIB and you get a native real-mode DOS
  28. executable that runs identically. That makes it easy to develop and
  29. debug real-mode applications in protected mode, and it lets DOS-only
  30. developers hedge their bets by using the OS/2 API to communicate with
  31. DOS.
  32. The main purpose of this release is therefore to consolidate the DOS
  33. and OS/2 versions. Upgrading to it from the DOS version of release
  34. 1.5 should be painless. Very few argument lists or procedure names
  35. have changed. We did change some module names to prevent conflicts
  36. with compiler-provided modules: FileIO is now HandleIO, and Speaker
  37. is now Spkr. The StringIO.ErrorMessage type is now CARDINAL.
  38. FindFirstFile and FindNextFile now have additional DirectoryHandle
  39. parameters. We've added a very nice NumInput module written and
  40. contributed by Mike Carter and Jonathan March. There are a lot of new
  41. string- and list-handling routines, but they won't get linked in if
  42. you don't use them.
  43. The best reason to upgrade is to begin protected-mode debugging of
  44. your DOS application. The protected mode version of CodeView works
  45. fairly well with both Stony Brook and JPI. It lets you forget about
  46. memory limits and bugs in the debuggers themselves, and finally get
  47. on to real work.
  48. Cole Brecheen
  49. Changes 1.6f 8/22/91
  50. For JPI version 3 is now the version suported. Instead of objs its included
  51. as a library repjpi3.lib. This way you do not have to put the mods on
  52. your hard disk, and also makes are faster. Example project files are
  53. included os2.pr and dos.pr. You can use rdoslib.pr or ros2dll.pr to rebuild
  54. the library.
  55. Bugs fixed
  56. MakeFrame.mod: fixed problems with scrncomp had with comments.
  57. EnvironUtils.Mod: fixed problem where GetDate returned garbage for
  58. mmddyy. Same for GetTime.
  59. WindowPrims.mod Fixed problem that could cause overflow when setting
  60. the cursor height.
  61. FramePainter.mod line 572 Changed to fix problem with writing captions.
  62. VStorage.mod Made change to DosAval always is TRUE for os/2. Also
  63. removed many un-needed calls to DosAval through out.
  64. FAPI.LIB: Changed because of an error in JPI's linker that caused
  65. overlaping procedures.
  66. Fixed problems with CrunchNdx.
  67. It' recomended that you turn alias optimization off for both jpi and stonybrook
  68. compilers
  69. John McMonagle