Welcome to the MSC version of Maximus. Sat 08-04-1990 ====================================== Quick start: Do what is in the box, below. If it doesn't work, or you like to listen, read the rest of this file. 旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커 �3 Easy Steps to Fulfillment: � �=========================== � � � � 1) Extract the source code archive into an empty dir, using MSC_UNP.CMD. � � (or follow the instructions about unpacking in !README.1ST). � � � � The MSC make files will create any directories requried for � � *.OBJs on the fly. � � � � � � 2) Edit the batch file(s) you will be using. Once again, they are: � � � � MSCDOS.BAT - Using MSC 5.10 under DOS to create Maximus for DOS � � MSCDOS.CMD - Using MSC 5.10 under OS2 to create Maximus for DOS � � MSCOS2.CMD - Using MSC 5.10 under OS2 to create Maximus for OS2 � � � � - all you should have to change is the following: � � � � set IncMsc=..\inc - your MSC include dir. � � set IncOs2=e:\toolkt12\c\include - your OS/2 toolkit include dir� � set LibMsc=..\lib - your MSC lib dir. � � set LibOs2=e:\toolkt12\lib - your OS/2 toolkit lib dir. � � � � (note that the MSCDOS.* batch files do not use 'IncOs2' and � � 'LibOs2') � � � � 3) Execute the appropriate batch file!. � � [the OS/2 version takes 25 mins on my 25mz 386] � 읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸 Maximus (dos version) was developed by Scott under Turbo C (I don't know why ), and all beta testing for the DOS version was done with Scott's TC version. The MSC (dos) version was added as an afterthought, and may not behave exactly as expected. The OS/2 version of Maximus WAS developed under MSC, and works perfectly . S/W Required: MSC 5.10 (or IBM C/2 1.10) LINK 5.x (OR Link/2 1.2+) MASM 5.10 (for Max/DOS only) MAKE 4.x (the limited make from MSC 5.10). (MAKE 2.x from IBM C/2 1.10, NMAKE from MSC 6.00 and NDMAKE will not work). LIB 3.x The OS2*.H (BSE*.H) files from ONE of the following: - IBM OS/2 Technical Reference, 1.10 or 1.20 - Microsoft Programmer's toolkit 1.10 - MSC 6.00 With the exception of the OS/2 include files, everything needed to compile Maximus/MSC comes with your MSC 5.10 compiler. (If you don't have MASM, you can use the pre-assembled *.asm files included in OBJS.LZH). MSC 6.00 [& QC 2.50] is not supported yet. (You'll get 100's of warnings). QC 2.00 should work well, but was not tested. You may have to move into the Large memory model. All of the 'C' code is memory model independent. The asm files are not though. Scott and I worked on Maximus with different directory structures. For the purposes of this document (and associated makefiles), I am altering my setup to resemble more closely what Scott's is. Here it is: .\ [arbitrary starting dir] SLIB\ [common library routines] PROT\ [file xfer protocols, from BinkleyTerm] UTIL\ [Mecca, Silt, ScanBld, etc] MAX\ [the body of Maximus] tc.bat [compile TC 2.00] mscdos.bat [compile Msc Max-DOS under DOS] mscdos.cmd [compile Msc Max-DOS under OS/2] mscos2.cmd [compile Msc Max-OS/2 under OS/2] Each of these directories contains a makefile (max\ contains two, one for dos, one for os/2) for each compiler. The MSC make files have the extension *.MAK. Under MSC, each of these directories (slib, prot, util and max) will contain two sub-dirs, "r\" and "p\". Real mode (dos) OBJs will be kept in r\, and Protect mode (OS/2) OBJs will be kept in p\. This allows you to make both versions of Maximus, without worrying about erasing *.obj's between builds. These OBJ directories are created, as needed, by the makefiles. By default, the MSC/DOS stuff is compiled in the Medium memory model, and the MSC/OS2 is in the Large memory model. When everything has been compiled and linked, the EXEs will sit in ".\", the parent dir of everything. Besides these EXEs, and the three batch files mentioned above, nothing else is in this directory. You should not have to modify any of the makefiles at all. You will HAVE to modify MSCDOS.BAT(CMD) and/or MSCOS2.CMD. These batch files define where your compiler's include files and libraries are. (By default, they are assumed to be in ..\inc and ..\lib respectively). There should be 0 (none) warnings generated by the compiler (at /W3). DOS VERSION ONLY: By default, the makefiles create a non-overlay version of max.exe. This version of max.exe uses approx 270k of memory. You can create an overlay version my editing the very bottom of max\maxr.mak, so that LINK uses max\mko.msc instead. Maxro.exe uses approx 140k. (Neither version has very much memory in the "near" heap. You'll probably have to play with some of the memory that max allocates. Try lowering "#define MAX_MSG 1500" in max\max.h. If I get more time, I will work on making the MSC/DOS version of Maximus as good or better than the TC version.) For reasons unknown, the MLIBCE.LIB that comes with QC 2.00 causes MAX.EXE to lockup, even before main() is reached. This mysteriously started happening 2 days before releasing the source code. The MLIBCE.LIB that comes with MSC 5.10 works fine. Assumptions: ------------ 1) It is assumed that your MSC libraries do NOT use the "default" names (who does?). ie: MlibceR.lib will be used for DOS, LlibceP.lib will be used for OS/2, etc. If you are using the "default" names you must change the "set cl=" statement in the compile batch file. (see the appropriate batch file). If the linker reports: LINK : warning L4051: xLIBCEx.LIB : cannot find library Enter new file spec: you will have to make this change. 2) It is assumed that your TMP environment variable points to a valid drive/directory. 3) The Microsoft and IBM os/2 toolkits, unfortunately, differ greatly. I have put a great deal of effort into resolving this problem. If you are using an IBM tookit, and the compiler runs out of memory (out of heap space), do this: In os2.h, find the area that looks like this (at the very bottom): /* OS/2 Presentation Manager Include File */ #include and change it to: /* OS/2 Presentation Manager Include File */ #ifndef INCL_NOPM #include #endif This is the way the Microsoft kits work, and it saves heaps of symbol space when you are not writing PM programs. 4) It is assumed that "setargv.obj" is in the same directory as your MSC libraries. Hate mail: Peter Fitzsimmons, fidonet node 1:250/628 A:Ware Inc. P.O. Box 670 Adelaide St. Postal Station Toronto, Ontario, Canada. M5C 2J8 All inquiries for commercial use and pricing of Maximus (DOS or OS/2) should be directed to Scott Dudley (1:249/106). If you can't get in touch with him, I'll be glad to forward your request. Portions of Maximus for OS/2 are Copyright (c) 1987-1990 by Peter Fitzsimmons and A:Ware Inc. All rights reserved.