bobc@tikal.UUCP (Bob Campbell) (05/08/86)
I have had several "Yes" votes and some inquiries regarding the system. I need to make it clear that I have not received any thing new as far as the compiler goes. I have the same compiler that everyone else has. The only thing that I do have is a new set of libraries which I have written/decoded my self based on disassember output of .LNK files. The system still does not support PROCESSES because I have not explored turning off the Macintosh Stack Sniffer yet. Terminal, InOut, MathLib2 may not conform to what is expected as I have four sources of Modula-2 Information and each one has some slighty differant versions of these. MathLib2 differs and some of the log functions did not appear to be directly implemented in the SANE package. The SYSTEMX module has been modified to not use A5 as the PROCESS Block Pointer, as well as using the SANE package to support floating point. HALT is a call to the Debugger Trap, which causes a "unimplemented trap" error when it is called with out the debugger. None of the trap routines can handle zero length strings which is a implenentation feature on my part which allows desk accessory names which start with 0C. Strings are either null terminated (0C) or the length of the string array (Which ever comes first). Above all if you don't like the way I have implemented something you can change it. If you do change things I would like to hear about it maybe the changes are things which should be included for others to use. Most of the NOT IN ROM routines have been implemented (if the discription of them in Inside-Macintosh is clear on how to implement them). Many of the global variables which can only be referance via supplied routines can be directly addressed in Modula-2. There are some special new variant fields in the EventRecord to make life easier. Code will run better if you use the BITSET field of the modifiers, as well as the field for CharacterCode. There are many other things to tell about, and I will think of them later I am sure. I have desides to start by posting the source, in ten parts of less then 32K each (4 shar files of defintion modules, and 6 shar files of implementation modules) followed by a binhex packit I file of the NewLoader (with source). I have choosen shar as it is something I hope everyone can handle, I would have choosen fpack, but the last time someone suggested using fpack for textfiles lots of people complained (anyway fpack is what I use for transfering source from the mac to our pyramid). As you receive the files you can start compiling them in the order in the dependancy list (see below). Once you get all the modules compiled you can create and run programs which do not require resources (the standalone loader is required to make that work correctly). Enjoy Bob Campbell {fluke,dataio,uw-beaver}!tikal!bobc Teltone Corp. P.O. Box 657 Kirkland, WA 98033 (206) 827-9626 X557 Depends: *** This is the list of dependances in the definition modules. *** It is recommended to compile all of the definition modules *** first as many of the implementation modules depend on modules *** other then those in the definition module. PascalStrings MacSYSTEM MathLib0 MathLib1 Storage Conversions Terminal InOut MemoryManager -> MacSYSTEM IUPackage -> MacSYSTEM BDPackage -> MacSYSTEM ResourceManager -> MacSYSTEM ScrapManager -> MacSYSTEM -> ResourceManager QuickDraw -> MacSYSTEM Cursors -> QuickDraw Pictures -> QuickDraw Regions -> QuickDraw EventManager -> MacSYSTEM -> QuickDraw FileTypes -> MacSYSTEM -> QuickDraw Streams -> MacSYSTEM -> FileTypes FontManager -> MacSYSTEM -> QuickDraw TextEdit -> MacSYSTEM -> QuickDraw Toolbox -> MacSYSTEM -> QuickDraw MenuManager -> MacSYSTEM -> QuickDraw -> ResourceManager WindowManager -> MacSYSTEM -> QuickDraw -> EventManager DeskManager -> MacSYSTEM -> EventManager -> WindowManager ControlManager -> MacSYSTEM -> QuickDraw -> WindowManager DialogManager -> QuickDraw -> MacSYSTEM -> WindowManager -> TextEdit -> EventManager FileManager -> MacSYSTEM -> QuickDraw -> FileTypes SFPackage -> QuickDraw -> FileTypes -> DialogManager *** This is the list of dependances in the implementation modules *** At last attempt it took about 1 hour to compile all of these *** Files. There is no required order of compliation execpt that *** the defintion modules referanced must be compiled first. *** March 9, 1986 Conversions PascalStrings MacSYSTEM MathLib0 MathLib1 Storage FileTypes Terminal -> MacSYSTEM -> QuickDraw -> Regions -> WindowManager -> FontManager -> EventManager Streams -> MacSYSTEM -> FileTypes -> PascalStrings -> QuickDraw -> Storage InOut -> MacSYSTEM -> QuickDraw -> Terminal -> FileManager -> SFPackage -> Conversions MemoryManager -> MacSYSTEM IUPackage -> MacSYSTEM -> PascalStrings BDPackage -> MacSYSTEM -> PascalStrings ResourceManager -> MacSYSTEM -> PascalStrings ScrapManager -> MacSYSTEM -> QuickDraw -> ResourceManager QuickDraw -> MacSYSTEM -> PascalStrings Cursors -> MacSYSTEM -> QuickDraw Pictures -> QuickDraw Regions -> MacSYSTEM -> PascalStrings -> QuickDraw FontManager -> MacSYSTEM -> PascalStrings Toolbox -> MacSYSTEM -> PascalStrings -> QuickDraw MenuManager -> MacSYSTEM -> PascalStrings -> QuickDraw -> ResourceManager -> WindowManager EventManager -> MacSYSTEM -> QuickDraw WindowManager -> MacSYSTEM -> FontManager -> QuickDraw -> EventManager -> Pictures -> PascalStrings TextEdit -> MacSYSTEM -> QuickDraw DeskManager -> MacSYSTEM -> EventManager -> WindowManager ControlManager -> MacSYSTEM -> QuickDraw -> WindowManager -> PascalStrings DialogManager -> QuickDraw -> MacSYSTEM -> WindowManager -> TextEdit -> EventManager -> PascalStrings FileManager -> MacSYSTEM -> PascalStrings -> Storage SFPackage -> QuickDraw -> MacSYSTEM -> FileManager -> PascalStrings