home *** CD-ROM | disk | FTP | other *** search
- comment %
- **************************************************************************
- *** (c) Copyright 1983 - 1992 MetaWare Incorporated. ***
- **************************************************************************
- *** You have the same rights to the object form of this program as ***
- *** you do to the object code of the library. You may not distribute ***
- *** this source, even if modified by you. ***
- **************************************************************************
- *** The source to this module is provided for the convenience of ***
- *** MetaWare Pascal and High C users that need to tailor their ***
- *** execution environments. The casual user should NOT play with the ***
- *** code. This code is subject to change without notice in future ***
- *** releases of the compilers. ***
- **************************************************************************
- *** You must preserve the library copyright notice defined in this ***
- *** module if your program uses any portion at all of the run-time ***
- *** library (including this initializer or any other supplied run- ***
- *** time source). The copyright notice is in the definition of ***
- *** the initial stack segment. We recommend it be left right there. ***
- *** But you can move it to anywhere you want as long it appears in ***
- *** any linked program (.exe or ROM-burned program) using the library.***
- **************************************************************************
-
- MetaWare Pascal or High C Runtime
- Initialization Definitions Module - init.def
-
- %
- ;---------------------------------------------------------------------------
- ; Debug status.
- ;---------------------------------------------------------------------------
- ; DEBUG equ 1 ; Enable additional public definitions.
-
- ;---------------------------------------------------------------------------
- ; Language definition.
- ;---------------------------------------------------------------------------
- HC equ 1 ; Initializer intended for High C.
- ; Pascal assumed otherwise
- ;---------------------------------------------------------------------------
- ; Operating System definition.
- ;---------------------------------------------------------------------------
- DOS equ 1 ; Initializer intended for MS-DOS.
-
- ; If you are using masm386 (not masm) to assemble this, with the intent
- ; to link with OS/2 2.0's link386, turn on USING_FLAT. This avoids the use
- ; of DGROUP and CGROUP which OS/2 2.0's linear executable loader cannot
- ; support.
-
- ; USING_MASM_51 equ 1
- ; USING_MASM_60 equ 1
- ; USING_FLAT equ 1
-
- ifdef XOS
- no87 = 1 ; There can be no x87 processor.
- NOWTK = 1 ; There can be no Weitek processor.
- else
- ifdef ACAD ; AutoDesk
- PL_exists = 1
- PL_weitek = 1
- else
- PL_exists = 1 ; PharLap environment possible
- D4G_exists = 1 ; Rational environment possible
- AI_exists = 1 ; AI (eclipse) environment possible
- SG_exists = 1 ; IGC environment possible
- endif ; ACAD
- endif ; XOS
-
- ;---------------------------------------------------------------------------
- ; Heap status.
- ;---------------------------------------------------------------------------
- ; As an option the run-time system will contract the data area back to
- ; a minimum at start-up, and expand it dynamically.
- ; This is principally useful if you wish to allocate memory separately
- ; from the run-time system using the SETBLOCK (4a) command.
- ; For enabling AIA's OS/386 to grow the heap dynamically,
- ; uncomment the appropriate line. Currently there are bugs in OS/386
- ; that prevent this from working; contact AIA for the latest status.
-
- PHAR_LAP_CAN_GROW_HEAP equ 1
- AIA_CAN_GROW_HEAP equ 1
-
- ;---------------------------------------------------------------------------
- ; Declare stack margin
- ;---------------------------------------------------------------------------
- ; Margin-big is used for small procedures -- it ensures a bigger margin.
- ; Margin-small is used for large procedures, since we do more accurate
- ; checking for them.
-
- Stack_margin_big equ 512 ; Free stack bytes before overflow occurs
- Stack_margin_small equ 256
- Stack_reserve equ 4 ; At top, for the above two numbers(large model)
-
- ;---------------------------------------------------------------------------
- ; Set expression-identifiers
- ;---------------------------------------------------------------------------
- ; So we can say "if this and not that".
- ; E.g., "compute x" defines macro ex to be 1 ifdef x, 0 otherwise.
-
- compute macro id
- ifdef id
- e&id = not 0
- else
- e&id = 0
- endif
- endm
-
- compute AI_exists
- compute SG_exists
- compute PL_exists
- compute D4G_exists
-
- compute DEBUG
- compute HC ; HC instead of Professional Pascal
- compute DOS
- compute XOS
- compute USING_FLAT
- compute WINDOWS
- compute ADS
- compute PADI
-
- compute USING_MASM_51
- compute USING_MASM_60
- if eUSING_MASM_51 or eUSING_MASM_60
- USING_MASM equ 1
- endif
- compute USING_MASM
-
- if eADS or ePADI
- ACAD equ 1
- endif
- compute ACAD
-
- if eWINDOWS
- STACK_SIZE = 65536
- else
- if eACAD
- STACK_SIZE = 4000h
- else
- STACK_SIZE = 8192
- endif
- endif
-
- ;---------------------------------------------------------------------------
- ; Include model definition file (which in turn includes macros file.
- ;---------------------------------------------------------------------------
- include model
-