Listing: 1 IMPLEMENTATION MODULE InitCompilerMods; 2 (* 3 * REPERTOIRE 4 * Release 1.6 5 * By Charles Bradford and Cole Brecheen 6 * (c) Copyright 1985-1990 PMI 7 * Portland, Oregon 8 * All rights reserved 9 * (503) 236-1788 10 * 11 * $Header: D:/logfiles/masters/initcomp.jpv 1.1 03 Dec 1990 22:49:22 coleb $ 12 * 13 *) 14 15 IMPORT ErrorManager; 16 IMPORT LowLevel; 17 IMPORT Lib; 18 IMPORT Storage; 19 IMPORT SYSTEM; 20 IMPORT VStorage; 21 22 23 (* 24 IMPORT StrEdit; 25 IMPORT KbdInput; 26 IMPORT IO; 27 IMPORT ProcTrace; 28 IMPORT SmartScreen; 29 IMPORT M2Strings; 30 *) 31 32 VAR 33 FormerTermProc: PROC; ***** ^ undeclared identifier 34 35 PROCEDURE NewTermProc; 36 BEGIN 37 ErrorManager.DoTermProcs(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 38 FormerTermProc(); ***** ^ not supported yet ***** ^ not supported yet 39 END NewTermProc; ***** ^ not supported yet 40 41 42 PROCEDURE DiagAvail( TheSize: CARDINAL ): BOOLEAN; 43 BEGIN 44 RETURN (Storage.Available(TheSize)); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 45 END DiagAvail; ***** ^ not supported yet 46 47 PROCEDURE DiagAlloc( VAR ThePtr: SYSTEM.ADDRESS; TheSize: CARDINAL ); ***** ^ not supported yet 48 BEGIN 49 Storage.ALLOCATE( ThePtr, TheSize ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 50 LowLevel.Fill( ThePtr, TheSize, 377C ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 51 END DiagAlloc; ***** ^ not supported yet 52 53 54 PROCEDURE DiagDealloc( VAR ThePtr: SYSTEM.ADDRESS; TheSize: CARDINAL ); ***** ^ not supported yet 55 BEGIN 56 LowLevel.Fill( ThePtr, TheSize, 377C ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 57 Storage.DEALLOCATE( ThePtr, TheSize ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 58 END DiagDealloc; ***** ^ not supported yet 59 60 61 PROCEDURE AssignProcs(); 62 BEGIN 63 (* VStorage.DosAvail := DiagAvail; 64 VStorage.DosAlloc := DiagAlloc; 65 VStorage.DosDealloc := DiagDealloc; *) 66 Lib.Terminate( NewTermProc, FormerTermProc ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 67 IF NewTermProc = FormerTermProc THEN ***** ^ not supported yet ***** ^ not supported yet 68 ErrorManager.WARN( ***** ^ not supported yet ***** ^ not supported yet 69 "InitJPI.AssignProcs executed twice; will cause inf loop on exit."); ***** ^ not supported yet 70 END; 71 END AssignProcs; ***** ^ not supported yet 72 73 74 (* 75 PROCEDURE AddToCallChain(); 76 BEGIN 77 INC( CallRow ); 78 SmartScreen.WriteAt( 1, CallRow, ProcTrace.Get_Name() ); 79 END AddToCallChain; 80 81 82 PROCEDURE RemoveFromCallChain(); 83 VAR 84 TmpStr: ARRAY [0..31] OF CHAR; 85 BEGIN 86 StrEdit.AssignStr( ProcTrace.Get_Name(), TmpStr ); 87 SmartScreen.ClearPart( 1, CallRow, M2Strings.Length(TmpStr), CallRow ); 88 DEC( CallRow ); 89 END RemoveFromCallChain; 90 91 92 PROCEDURE ErrorBox( TheMessage: ARRAY OF CHAR ): BOOLEAN; 93 VAR 94 dumkey: CARDINAL; 95 dummy: ARRAY [0..255] OF CHAR; 96 BEGIN 97 StrEdit.AssignStr( TheMessage, dummy ); 98 StrEdit.Append( dummy, '. Press C to continue, anything else to abort.' ); 99 IO.WrStr( dummy ); 100 dumkey := KbdInput.KeyHit( KbdInput.AnyKeyNum ); 101 RETURN KbdInput.CAPkey( dumkey ) # ORD('C'); 102 END ErrorBox; 103 *) 104 105 106 BEGIN 107 AssignProcs(); ***** ^ not supported yet ***** ^ not supported yet 108 (* 109 ErrorManager.AbortConfirmed := ErrorBox; 110 CallRow := 0; 111 ProcTrace.Install; 112 ProcTrace.Entry := AddToCallChain; 113 ProcTrace.Exit := RemoveFromCallChain; 114 *) 115 END InitCompilerMods. ***** ^ not supported yet 44 errors