melp_optimization.cdb
上传用户:csczyc
上传日期:2021-02-19
资源大小:1051k
文件大小:354k
源码类别:

语音压缩

开发平台:

C/C++

  1. //!  //# c64xx.cdb 5.23.14 object CACHE_L2 :: MEM {     param iComment :: "Do not delete, in use by cache"     param iIsUsed :: 0     param iId :: 0     param iDelUser :: "USER"     param iDelMsg :: "ok"     param base :: 1048576     param len :: 0     param iAllocHeap :: 0     param iHeapSize :: 32768     param iUserHeapId :: 0     param iHeapId :: @segment_name     param iReqHeapCount :: 0     param space :: "Cache"     param dynamicLoading :: 0     param iIsModifiable :: 1 } class Module {     prop Visible :: 1     prop Writable :: 1     prop IsConfMod :: (if self.gNumOf > 0 {1} else {0})     prop NoGen :: 0     prop IsDirty :: ($a = self.gDirty, self.gDirty = 0, $a)     prop dataSize :: 0     prop error :: # ("Error: ", self.name, $1)     prop warning :: ("Warning ...", self.name, $1)     prop minBit :: ($a = 0, while (($1 & (1 << $a)) && $a < 32) {++$a}, $a)     prop name :: ("<unnamed module>")     prop numBit :: ($a = $b = 0, while ($a < 32) {if ($1 & (1 << $a)) {++$b} }, $b) } class ObjectMgr {     isa Module     prop CanCreate :: (if (self.gNumOf < self.maxObjs()) {self.localCanCreate()} else {self.warning("Maximum number of objects already created")})     prop CanDelete :: (if (self.iDelMsg == "ok" || (self.iDelUser == self.gUser)) {if (self.iId >= 0 && self.iIsUsed) {self.localCanDelete()} else {self.warning("Object already deleted")}} else {self.warning(self.iDelMsg)})     prop Create :: ((self.gUser = (if $0 > 0 {$1} else {"USER"})), if (($a = self.CanCreate()) == "ok") {if (($a = self.localCreate()) == "ok") {if (self.iIsUsed == 0) {self.mkId(if $0 > 1 {$2} else {-1}), self.iIsUsed = 1, GlobalStatus.gDirty = 1, self.gDirty = 1} } } , (self.gUser = "USER"), $a)     prop Delete :: ((self.gUser = (if $0 > 0 {$1} else {"USER"})), if (($a = self.CanDelete()) == "ok") {if (($a = self.localDelete()) == "ok") {self.rmId(self.iId), self.iIsUsed = 0, GlobalStatus.gDirty = 1, self.gDirty = 1} } , (self.gUser = "USER"), $a)     prop GetSetOf :: (self.gSetOf)     prop GetNumOf :: (self.gNumOf)     prop GetObjId :: (self.iId)     prop GetPriority :: (self.iId)     prop SetPriority :: (self.iId = $1)     prop IsConfObj :: (self.iIsUsed)     prop localCanCreate :: ("ok")     prop localCanDelete :: ("ok")     prop localCreate :: ("ok")     prop localDelete :: ("ok")     prop localInit :: (0)     prop isFinite :: (if self.maxObjs() <= GBL.DSPWORDSIZE {1} else {0})     prop mkId :: (if (self.isFinite()) {if ($1 < 0) {self.iId = self.minBit(self.gSetOf)} else {self.iId = $1}, (self.gSetOf |= (1 << self.iId))} else {self.iId = 0}, ++self.gNumOf, self.iId)     prop rmId :: (if (self.isFinite()) {self.gSetOf &= ~(1 << self.iId)} , --self.gNumOf)     prop maxObjs :: (GBL.DSPWORDSIZE)     prop isDriver :: (0)     prop SortChildHierView :: (1) } type GlobalStatus {     prop NoGen :: 1     prop Visible :: 0     prop Writable :: 0     prop Label :: "Current Configuration Status"     prop GlobalIcon :: 101     prop InstanceIcon :: 101     prop GlobalHelpTopic :: (100)     prop GlobalPropertyPage :: ("{9D3AD931-847B-11d0-A621-0000C070F3E9}")     prop Status :: (# self.SeedVersion, # self.MinStackSize, # self.SysDataSize)     global GENLIB :: "bioscfg.dll" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Generation Library"         prop NoGen :: 1         prop Visible :: 0         prop Writable :: 1     }     global DATE :: "Sun May 17 15:28:11 2009" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global GCONFVERS :: "@(#)*** xdc-m66" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global SysDataSize :: = ($a = 0, scan ($i; nil) {if ($i.dataSize() != nil) {$a = $a + $i.dataSize()} }, $a) {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: "Estimated Data Size: %d"         prop StatusField :: 1         prop NoGen :: 1     }     global MinStackSize :: = ($a = ((2 * (2)) * 4), $a = $a + ((2 * (5)) * 4), $a = $a + ((0) * 4), $b = 0, scan ($i; CLK) {if ($i.IsConfObj()) {$b |= 1} }, $a = $a + (((2 * (2)) * 4) * $b), $b = 0, scan ($i; HWI) {if ($i.IsConfObj()) {if ($i != HWI_NMI && $i != HWI_RESET) {if (($i.function != @HWI_unused) && ($i.function != @RESERVED)) {$b++} } } }, $a = $a + (((12 + 14 + 2) * 4) * $b), $b = 0, scan ($i; SWI) {if ($i.IsConfObj()) {if ($i.priority > $b) {$b = $i.priority} } }, $a = $a + ((((2 * 2) + 18 + (2 * 4)) * 4) * $b), $b = 0, scan ($i; PRD) {if ($i.IsConfObj()) {$b |= 1} }, $a = $a + (((2 * (3)) * 4) * $b), $a) {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: "Est. Min. Stack Size (MAUs): %d"         prop StatusField :: 1         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global ConfigWarnings :: = (if (self.MinStackSize > MEM.STACKSIZE) {"Application stack size is too small; decrease the number of SWI priorities or increase the stack in MEM."} else {"None"}) {          prop Label :: "Warnings"         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global SeedVersion :: = "@(#)*** cuda-r14x" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } class EModule {     isa Module     prop IsXMod :: (1)     prop Vendor :: ("")     prop Version :: ("") } class EObjectMgr {     isa ObjectMgr     prop IsXMod :: (1)     prop Vendor :: ("")     prop Version :: ("") } class ModuleFolder {     isa Module     prop NoGen :: 1 } type SYSTEM {     isa ModuleFolder     prop Label :: "System"     prop GlobalIcon :: 151     prop GlobalHelpTopic :: (500)     prop GlobalPropertyPage :: ("{B936FB91-52A5-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type INS {     isa ModuleFolder     prop Label :: "Instrumentation"     prop GlobalIcon :: 152     prop GlobalHelpTopic :: (501)     prop GlobalPropertyPage :: ("{053C8F90-52A6-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type SCH {     isa ModuleFolder     prop Label :: "Scheduling"     prop GlobalIcon :: 153     prop GlobalHelpTopic :: (502)     prop GlobalPropertyPage :: ("{053C8F91-52A6-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type SYN {     isa ModuleFolder     prop Label :: "Synchronization"     prop GlobalIcon :: 154     prop GlobalHelpTopic :: (503)     prop GlobalPropertyPage :: ("{053C8F92-52A6-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type IOF {     isa ModuleFolder     prop Label :: "Input/Output"     prop GlobalIcon :: 155     prop GlobalHelpTopic :: (504)     prop GlobalPropertyPage :: ("{053C8F93-52A6-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type SIODRIVER {     isa ModuleFolder     prop Label :: "Device Drivers"     prop IsContainedIn :: IOF     prop GlobalIcon :: 127     prop GlobalHelpTopic :: (505)     prop GlobalPropertyPage :: ("{A2BCEC70-5365-11d4-947C-0050048381B7}")     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type PROJ {     isa ObjectMgr     prop name :: "PROJ"     prop maxObjs :: 0     prop Label :: "Project Manager"     prop GlobalIcon :: 121     prop InstanceIcon :: 122     prop InstanceHelpTopic :: (201)     prop GlobalHelpTopic :: (101)     prop InstancePropertyPage :: ("{AC3C77D1-890B-11d0-A621-0000C070F3E9}")     prop GlobalPropertyPage :: ("{AC3C77D2-890B-11d0-A621-0000C070F3E9}")     prop NoGen :: 1     prop Visible :: 0     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global ALIASALL :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Generate C Names for All Objects"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global IGNOREWARNING :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Ignore Warnings"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global LIBPATH :: ".;../../lib;$(BIOSROOT)/lib" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Library Search Path"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global INCPATH :: ".;../../include;$(BIOSROOT)/include" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Include File Search Path"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global OBJDIR :: "." {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Object file directory"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global EXTEXE :: "out" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Executable File Extension"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global EXTLIB :: "lib" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Library File Extension"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global EXTASM :: "asm" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Assembly Language Source File Extension"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global EXTOBJ :: "obj" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Object File Extension"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst projType :: "Executable" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "Executable,Library"         prop Label :: "Target Type"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst projName :: "$(PROG)" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Target File Name"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst useRpt :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use RPT Instruction"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst minimizeSpace :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Optimize for Space over Time"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst tmx :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Avoid TMX Silicon Bugs"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     } } type PROJ_FILE {     isa ObjectMgr     prop Visible :: 0     prop Label :: "Project File Manager"     prop InstanceHelpTopic :: (BIOSHELP_PROJ_FILE_INSTANCE)     prop GlobalHelpTopic :: (BIOSHELP_PROJ_FILE_GLOBAL)     prop InstancePropertyPage :: ("{AC3C77D3-890B-11d0-A621-0000C070F3E9}")     prop GlobalPropertyPage :: ("{AC3C77D4-890B-11d0-A621-0000C070F3E9}")     prop NoGen :: 1     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst elemType :: "C Source" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "C Source,ASM Source,Library,Linker Command File"         prop Label :: "Input File Type"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst elemName :: "$(PROG)" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Input File Name"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst optLevel :: "register+local+global" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "register,register+local,register+local+global,register+local+global+file"         prop Label :: "Optimization Level"         prop Visible :: 0         prop Writable :: if self.elemType == "C Source" {1} else {0}         prop NoGen :: 1     }     inst inline :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Inline Expansion"         prop Visible :: 0         prop Writable :: if self.elemType == "C Source" {1} else {0}         prop NoGen :: 1     }     inst definitions :: "" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Additional Definitions"         prop Visible :: 0         prop Writable :: if self.elemType == "C Source" {1} else {0}         prop NoGen :: 1     }     inst iParent :: 0 {          prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     } } type GBL {     isa Module     prop name :: "GBL"     prop Label :: "Global Settings"     prop IsContainedIn :: SYSTEM     prop cGen :: 0     prop GenLinkPrologue :: ("%10SnSECTIONS {%4tn.vers (COPY): {} /* version information */%0tn}nn-priorityn--trampolinesn%25S%1S%22S-l%2S%23S%3Sn%24S%15S%4S%16S%18S%5S%6S%12S%7S%17S, _autoInitStr, _board, _librarySuffix, _devLibStr, _biosLibStr, _rtdxLibStr, _rtsLibStr, _librarySuffix, _compilerModel, _lnkCmdStr, _lnkCmdFile, _cslLibStr, _chipType, _librarySuffix, _chipStr, _sioLibStr, _mpcLibStr, _bios6xLibStr, _bios6xClkType, _instStr, _rtsNameStr, _romStr, _biosRomStr, _logLibStr, _SKLibStr")     prop poolStr :: (if (self.LINKWITHROM == 0) {""} else {if POOL.USEPOOL {""} else {"_POOL_config=0;n"}})     prop msgqStr :: (if (self.LINKWITHROM == 0) {""} else {if MSGQ.USEMSGQ {""} else {"_MSGQ_config=0;n"}})     prop GenLinkEpilogue :: ("%0t_GBL_CACHE = GBL_CACHE;n%1S%2S, poolStr, msgqStr")     prop ConfigurationClass :: "{2779A121-92CC-11d1-A63D-0000C070F3E9}"     prop GlobalIcon :: 105     prop InstanceIcon :: 106     prop GlobalHelpTopic :: (103)     prop InstanceHelpTopic :: (103)     prop InstancePropertyPage :: ("{B7240DE4-AA51-11cf-9BFE-0000C0AC14C7}")     prop GlobalPropertyPage :: ("{B7240DE5-AA51-11cf-9BFE-0000C0AC14C7}")     prop localInit :: (RTA_toHost.Create("HST"), RTA_fromHost.Create("HST"), RTA_dispatcher.Create("HST"), IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL"))     prop chipcall :: ("ok")     prop IsConfMod :: 1     prop ucompare :: ($e = "ok", $a = ($1 >> 31) & 0x00000001, $b = ($2 >> 31) & 0x00000001, $c = $1 & 0x7fffffff, $d = $2 & 0x7fffffff, if ($a > $b) {$e = "gt"} else {if ($a == $b) {if ($c > $d) {$e = "gt"} else {if ($c == $d) {$e = "eq"} else {$e = "lt"}}} else {$e = "lt"}}, $e)     prop L2Check :: (if (self.DSPSUBTYPE == 6211 || self.DSPSUBTYPE == 6711) {self.PCC = "mapped", if (self.C641XL2CONFIGURE == 1) {self.C641XL2CONFIGURE = 0, self.L2CONFIGALLOC = 0} , self.L2CacheSizeCheck()} else {if (self.DSPSUBTYPE == 6400) {self.PCC = "mapped", if (self.C621XL2CONFIGURE == 1) {self.C621XL2CONFIGURE = 0} , self.L2CacheSizeCheck()} else {if (self.C621XL2CONFIGURE == 1) {self.C621XL2CONFIGURE = 0, self.L2CacheSizeCheck()} else {if (self.C641XL2CONFIGURE == 1) {self.C641XL2CONFIGURE = 0, self.L2CONFIGALLOC = 0, self.L2CacheSizeCheck()} }}})     prop C621xL2CacheSizeCheck :: ($e = "ok", $a = CACHE_L2.base, $b = CACHE_L2.len, if (self.C621XL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.L2MODEOPTS == "SRAM") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.L2MODEOPTS == "1-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x4000, CACHE_L2.len = 0x4000} else {if (self.L2MODEOPTS == "2-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.L2MODEOPTS == "3-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0xc000, CACHE_L2.len = 0xc000} else {if (self.L2MODEOPTS == "4-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} }}}}}, $e)     prop C641xL2CacheSizeCheck :: ($e = "ok", $a = CACHE_L2.base, $b = CACHE_L2.len, if (self.C641XL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.C641XL2MODEOPTS == "4-way cache (0k)") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.C641XL2MODEOPTS == "4-way cache (32k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.C641XL2MODEOPTS == "4-way cache (64k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} else {if (self.C641XL2MODEOPTS == "4-way cache (128k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x20000, CACHE_L2.len = 0x20000} else {if (self.C641XL2MODEOPTS == "4-way cache (256k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x40000, CACHE_L2.len = 0x40000} }}}}}, $e)     prop C64PL1PCacheSizeCheck :: ($e = "ok", if (self.C64PL2CONFIGURE == 0) {self.C64PL1PCFG = "32k", CACHE_L1P.Create("MEM"), CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x8000, CACHE_L1P.len = 0x8000} else {if (self.C64PL1PCFG == "0k") {CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x0, CACHE_L1P.len = 0x0, CACHE_L1P.Delete("MEM")} else {if (self.C64PL1PCFG == "4k") {CACHE_L1P.Create("MEM"), CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x1000, CACHE_L1P.len = 0x1000} else {if (self.C64PL1PCFG == "8k") {CACHE_L1P.Create("MEM"), CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x2000, CACHE_L1P.len = 0x2000} else {if (self.C64PL1PCFG == "16k") {CACHE_L1P.Create("MEM"), CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x4000, CACHE_L1P.len = 0x4000} else {if (self.C64PL1PCFG == "32k") {CACHE_L1P.Create("MEM"), CACHE_L1P.base = CACHE_L1P.base + CACHE_L1P.len - 0x8000, CACHE_L1P.len = 0x8000} else {$e = self.error("Unknown cache size")}}}}}}, $e)     prop C64PL1DCacheSizeCheck :: ($e = "ok", if (self.C64PL2CONFIGURE == 0) {self.C64PL1DCFG = "32k", CACHE_L1D.Create("MEM"), CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x8000, CACHE_L1D.len = 0x8000} else {if (self.C64PL1DCFG == "0k") {CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x0, CACHE_L1D.len = 0x0, CACHE_L1D.Delete("MEM")} else {if (self.C64PL1DCFG == "4k") {CACHE_L1D.Create("MEM"), CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x1000, CACHE_L1D.len = 0x1000} else {if (self.C64PL1DCFG == "8k") {CACHE_L1D.Create("MEM"), CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x2000, CACHE_L1D.len = 0x2000} else {if (self.C64PL1DCFG == "16k") {CACHE_L1D.Create("MEM"), CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x4000, CACHE_L1D.len = 0x4000} else {if (self.C64PL1DCFG == "32k") {CACHE_L1D.Create("MEM"), CACHE_L1D.base = CACHE_L1D.base + CACHE_L1D.len - 0x8000, CACHE_L1D.len = 0x8000} else {$e = self.error("Unknown cache size")}}}}}}, $e)     prop C64PL2CacheSizeCheck :: ($e = "ok", if (self.C64PL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.C64PL2MODEOPTS == "0k") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.C64PL2MODEOPTS == "32k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.C64PL2MODEOPTS == "64k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} else {if (self.C64PL2MODEOPTS == "128k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x20000, CACHE_L2.len = 0x20000} else {if (self.C64PL2MODEOPTS == "256k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x40000, CACHE_L2.len = 0x40000} else {$e = self.error("Unknown cache size")}}}}}}, $e)     prop L2CacheSizeCheck :: ($e = "ok", scan ($i; MEM) {if ($i == CACHE_L2) {if self.C621XL2CONFIGURE {$e = self.C621xL2CacheSizeCheck()} else {if self.C641XL2CONFIGURE {$e = self.C641xL2CacheSizeCheck()} else {if self.DSPSUBTYPE == 6211 || self.DSPSUBTYPE == 6711 {$e = self.C621xL2CacheSizeCheck()} else {if self.DSPSUBTYPE == 6400 {$e = self.C641xL2CacheSizeCheck()} else {{CACHE_L2.base = 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")}}}}}} }, $e)     prop setCPUClock :: ($e = "ok", if ($1 != self.CPUCLOCK) {$a = self.CPUCLOCK, self.CPUCLOCK = $1, if (GBL.CALLBACKOBJ != nil) {$e = GBL.CALLBACKOBJ.call()} , if ($e != "ok") {self.CPUCLOCK = $a, GBL.CALLBACKOBJ.call()} } , if ($e == "ok") {"ok"} else {self.error($e)})     prop setL2MODE :: (if (self.L2MODEOPTS == "SRAM") {0x0} else {if (self.L2MODEOPTS == "1-way cache") {0x1} else {if (self.L2MODEOPTS == "2-way cache") {0x2} else {if (self.L2MODEOPTS == "3-way cache") {0x3} else {0x7}}}})     prop setC641XL2MODE :: (if (self.C641XL2MODEOPTS == "4-way cache (0k)") {0x0} else {if (self.C641XL2MODEOPTS == "4-way cache (32k)") {0x1} else {if (self.C641XL2MODEOPTS == "4-way cache (64k)") {0x2} else {if (self.C641XL2MODEOPTS == "4-way cache (128k)") {0x3} else {0x7}}}})     prop _cint00Str :: "-u_c_int00 %24t/* link with alternate boot.obj */%0tn"     prop _autoInitStr :: ""     prop _board :: (if (HST.RTDX == 1) {"lnkrtdx"} else {if (HST.DSM == 1) {"lnkdsm"} else {if (HST.EVM54 == 1) {"lnkevm54"} else {if (HST.BIOSLINK == 1) {"lnkbioslink"} else {"lnknone"}}}})     prop _dsptype :: GBL.DSPTYPE     prop _instStr :: if self.INSTRUMENTED {""} else {"_NONINST"}     prop _rtsNameStr :: (self.RTSLIB)     prop _biosLibStr :: "-lbios%20S%23S%8S %24t/* DSP/BIOS support */%0tn"     prop _compilerModel :: if self.ENDIAN == "big" {"e"} else {""}     prop _librarySuffix :: (if (self.DSPSUBTYPE == 6700 || self.DSPSUBTYPE == 6711 || self.DSPSUBTYPE == 6712 || self.DSPSUBTYPE == 6713) {if (self.ENDIAN == "big") {".a67e"} else {".a67"}} else {if (self.DSPSUBTYPE == 6400) {if (self.ENDIAN == "big") {".a64e"} else {".a64"}} else {if (self.DSPSUBTYPE == 6499) {if (self.ENDIAN == "big") {".a64Pe"} else {".a64P"}} else {if (self.DSPSUBTYPE == 6799) {if (self.ENDIAN == "big") {".a67Pe"} else {".a67P"}} else {if (self.ENDIAN == "big") {".a62e"} else {".a62"}}}}})     prop _rtdxLibStr :: if RTDX.USERTDX == 0 {""} else {if RTDX.RTDXTYPE == "JTAG" {"-lrtdx64xx%9S.lib %24t/* RTDX support */%0tn"} else {if RTDX.RTDXTYPE == "Simulator" {"-lrtdxsim%9S.lib %24t/* RTDX support */%0tn"} else {"-lrtdxhs%9S.lib %24t/* RTDX support */%0tn"}}}     prop _rtsLibStr :: (if self.SPECIFYRTSLIB {"-l%21S%24t/* C and C++ run-time library support */%0tn"} else {if self.DSPSUBTYPE == 6700 || self.DSPSUBTYPE == 6711 || self.DSPSUBTYPE == 6712 || self.DSPSUBTYPE == 6713 {"-lrts6700%9S.lib%24t/* C and C++ run-time library support */%0tn"} else {if self.DSPSUBTYPE == 6400 {"-lrts6400%9S.lib%24t/* C and C++ run-time library support */%0tn"} else {if self.DSPSUBTYPE == 6799 {"-lrts67plus%9S.lib%24t/* C and C++ run-time library support */%0tn"} else {if self.DSPSUBTYPE == 6499 {"-lrts64plus%9S.lib%24t/* C and C++ run-time library support */%0tn"} else {"-lrts6200%9S.lib%24t/* C and C++ run-time library support */%0tn"}}}}})     prop _bios6xClkType :: (if self.CLKTYPE == 6000 {"C6000"} else {if self.CLKTYPE == 700 {"DA700"} else {if (self.CLKTYPE == 420 || self.CLKTYPE == 6424) {if self.USEIDMA0DISPATCHER {"DM420IDMA0"} else {"DM420"}} else {if self.CLKTYPE == 2430 {"2430"} else {if self.CLKTYPE == 6482 {"TCI6482"} else {if self.CLKTYPE == 6486 {"TCI6486"} else {if self.CLKTYPE == 6488 {"TCI6488"} else {if self.CLKTYPE == 442 {"DRA442"} else {if self.CLKTYPE == 3430 {"3430"} else {""}}}}}}}}})     prop _bios6xLibStr :: ("-lbios%19S%23S%8S%24t/* BIOS clock specific library */%0tn")     prop _chipStr :: ""     prop _mpcLibStr :: ""     prop _lnkCmdFile :: MEM.LNKCMDFILE     prop _lnkCmdStr :: (if (MEM.LNKCMDFILE == "") {""} else {"-l%11S %24t/* User Specified Linker cmd file */%0tn"})     prop _sioLibStr :: if SIO.USEISSUERECLAIM == 1 {"-lsioir%23S%8S %24t/* supports SIO Issue/Reclaim model only */%0tn"} else {"-lsioboth%23S%8S %24t/* supports both SIO models */%0tn"}     prop _devLibStr :: "-ldrivers%23S%14S %24t/* device drivers support */%0tn"     prop _cslLibStr :: ""     prop _chipType :: ""     prop _logLibStr :: if LOG.TS {"-llog8%3Sn"} else {""}     prop _romStr :: if self.LINKWITHROM {"-lromC672x.outn-lromC672x.cmdn"} else {""}     prop _biosRomStr :: if self.LINKWITHROM {"_BIOSROM"} else {""}     prop _SKLibStr :: ""     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global PRODUCT :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 1         prop Visible :: 0         prop Writable :: 1         prop EnvField :: 1     }     global CALLBACKOBJ :: CLK {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CHIPCHAIN :: nil {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global TRACE :: "CD-01234567" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Trace Mask"         prop NoGen :: 1         prop Visible :: 0         prop Writable :: 0     }     global BOARD :: "c64xx" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Target Board Name"         prop JSName :: "BOARDNAME"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global ROM :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Link to ROM Library"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global CPUCLOCK :: 600.000000 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global PROCID :: = 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Label :: "Processor ID (PROCID)"         prop JSName :: "PROCID"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     global CLKIN :: = 20000 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Label :: "Board Clock in KHz (Informational Only)"         prop JSName :: "CLKIN"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     global FREQ :: 600000 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global MIPS :: 600.000000 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Style :: 0x04         prop Format :: "%.4f"         prop Label :: "DSP Speed In MHz (CLKOUT)"         prop JSName :: "CLKOUT"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: ($a = self.MIPS, $b = if (GBL.DSPTYPE == 62) {$1} else {$1 * 2}, $e = "ok", self.MIPS = $1, self.FREQ = int(self.MIPS * 1000), if (($e = self.setCPUClock($b)) != "ok") {self.MIPS = $a} , $e)     }     global OSTYPE :: "BIOS" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "BIOS"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DSPTYPE :: 62 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "DSP Major Type"         prop JSName :: "DSPTYPE"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global SPECIFYRTSLIB :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Specify RTS library"         prop JSName :: "SPECIFYRTSLIB"         prop NoGen :: 1         prop Visible :: 1         prop Writable :: 1     }     global RTSLIB :: "" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Run-Time Support Library"         prop JSName :: "RTSLIB"         prop NoGen :: 1         prop Visible :: 1         prop Writable :: self.SPECIFYRTSLIB     }     global DSPSUBTYPE :: 6400 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "6400"         prop Label :: "DSP Type"         prop Visible :: 0         prop Writable :: 1         prop Set :: (self.DSPSUBTYPE = $1, self.L2Check(), "ok")         prop NoGen :: 0     }     global CLKTYPE :: 6000 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "CLK Type"         prop JSName :: "CLKTYPE"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global CHIPTYPE :: "6416" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "DM642,6410,6412,6413,6414,6415,6416,custom,other"         prop Label :: "Chip Support Library (CSL)"         prop JSName :: "CHIPTYPE"         prop NoGen :: 1         prop Visible :: 0         prop Writable :: 1         prop Set :: (if ($1 == "6201" || $1 == "6202" || $1 == "6203" || $1 == "6204" || $1 == "6205") {self.DSPSUBTYPE = 6200} else {if ($1 == "6701") {self.DSPSUBTYPE = 6700} else {if ($1 == "6211") {self.DSPSUBTYPE = 6211} else {if ($1 == "6711" || $1 == "6712" || $1 == "6713" || $1 == "DA610") {if ($1 == "6711") {self.DSPSUBTYPE = 6711} , if ($1 == "6712") {self.DSPSUBTYPE = 6712} , if ($1 == "6713") {self.DSPSUBTYPE = 6713} } else {if ($1 == "DM642" || $1 == "6412" || $1 == "6414" || $1 == "6415" || $1 == "6416" || $1 == "6410" || $1 == "6413") {self.DSPSUBTYPE = 6400} }}}}, self.CHIPTYPE = $1, self.L2Check(), $e = "ok", if (GBL.CHIPCHAIN != nil) {$e = GBL.CHIPCHAIN.chipcall()} , $e)     }     global DISPCALLCSLCFGINIT :: = (self.CHIPTYPE != "other" && self.CHIPTYPE != "custom") {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Call CSL_cfgInit Initialization routine"         prop Visible :: 0         prop Writable :: self.SUPPORTCSL         prop NoGen :: 1     }     global DSPNAME :: "TMS320C62XX" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DSPARITHMETIC :: = (if (GBL.DSPTYPE == 62 && (GBL.DSPSUBTYPE / 100) == 67) {"FLOAT"} else {"FIXED"}) {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "FIXED,FLOAT"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DSPWORDSIZE :: = (if (GBL.DSPTYPE == 30 || GBL.DSPTYPE == 40 || GBL.DSPTYPE == 62) {32} else {16}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "DSP Word Size"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DSPCHARSIZE :: = (if GBL.DSPTYPE == 62 {8} else {if GBL.DSPSUBTYPE == 5599 {8} else {GBL.DSPWORDSIZE}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "DSP Byte Size"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DATAPTRSIZE :: = (if (GBL.DSPTYPE == 62) {32} else {if (GBL.DSPTYPE == 54) {16} else {if (GBL.DSPTYPE == 55) {if (GBL.MEMORYMODEL == "SMALL") {16} else {23}} else {if (GBL.DSPTYPE == 28) {22} else {0}}}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop iComment :: "Size of the Data Pointer"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CODEPTRSIZE :: = (if (GBL.DSPTYPE == 62) {32} else {if (GBL.DSPTYPE == 54) {if (GBL.CALLMODEL == "near") {16} else {24}} else {if (GBL.DSPTYPE == 55) {24} else {if (GBL.DSPTYPE == 28) {22} else {0}}}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop iComment :: "Size of Code Pointer"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global ENDIAN :: "little" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "little,big"         prop Label :: "DSP Endian Mode"         prop JSName :: "ENDIANMODE"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (self.ENDIAN = $1, "ok")     }     global BIGENDIAN :: = if self.ENDIAN == "little" {0} else {1} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global AUTOINIT :: "ROM" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "ROM,RAM"         prop Label :: "C Autoinitialization Model"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global USERINIT :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Call User Init Function"         prop JSName :: "CALLUSERINITFXN"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 == 0) {self.USERINITFXN = @_FXN_F_nop, self.USERINIT = $1} else {self.USERINIT = $1}, "ok")     }     global USERINITFXN :: @_FXN_F_nop {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Label :: "User Init Function"         prop JSName :: "USERINITFXN"         prop Visible :: 1         prop Writable :: self.USERINIT         prop NoGen :: 0     }     global OLDAUTOCALCULATE :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "previous value for autocalculate"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global ENABLEINST :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Real Time Analysis"         prop JSName :: "ENABLEINST"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 != self.ENABLEINST) {if ($1) {RTA_toHost.Create("HST"), RTA_fromHost.Create("HST"), RTA_dispatcher.Create("HST"), IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL"), IDL.AUTOCALCULATE = self.OLDAUTOCALCULATE} else {if (self.LINKWITHROM) {self.LINKWITHROM = 0} , RTA_toHost.Delete("HST"), RTA_fromHost.Delete("HST"), RTA_dispatcher.Delete("HST"), IDL_busyObj.Delete("IDL"), IDL.USEIDLBUSYOBJ = 0, IDL_cpuLoad.Delete("IDL"), self.OLDAUTOCALCULATE = IDL.AUTOCALCULATE, IDL.AUTOCALCULATE = 0}, self.ENABLEINST = $1} , "ok")     }     global INSTRUMENTED :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use Instrumented BIOS library"         prop JSName :: "INSTRUMENTED"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global CGENERATE :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Do C Generation"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global ENABLEDLL :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Dynamic Loading"         prop JSName :: "ENABLEDLL"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global PCC :: "mapped" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "mapped,cache enable,cache freeze,cache bypass"         prop Label :: "Program Cache Control - CSR(PCC)       "         prop JSName :: "CSRPCC"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6400) {0} else {1}         prop NoGen :: 1         prop TabName :: "620x/670x"     }     global DCC :: "mapped" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "mapped,cache enable,cache freeze,cache bypass"         prop Label :: "Data Cache Control"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "620x/670x"     }     global PCACHE :: = (if (self.PCC == "mapped") {0x0000} else {if (self.PCC == "cache enable") {0x0040} else {if (self.PCC == "cache freeze") {0x0060} else {0x0080}}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global DCACHE :: = (if (self.DCC == "mapped") {0x0000} else {if (self.DCC == "cache enable") {0x0008} else {if (self.DCC == "cache freeze") {0x000c} else {0x0010}}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CACHE :: = (self.PCACHE | self.DCACHE) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global C621XL2CONFIGURE :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "621x/671x - Configure L2 Memory Settings"         prop JSName :: "C621XCONFIGUREL2"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6712 || GBL.DSPSUBTYPE == 6713) {1} else {0}         prop TabName :: "621x/671x"         prop Set :: ($e = "ok", self.C621XL2CONFIGURE = $1, self.PCC = "mapped", $e = self.L2CacheSizeCheck(), $e)         prop NoGen :: 1     }     global C641XL2CONFIGURE :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "641x - Configure L2 Memory Settings"         prop JSName :: "C641XCONFIGUREL2"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6400) {1} else {0}         prop TabName :: "641x"         prop Set :: ($e = "ok", self.C641XL2CONFIGURE = $1, self.PCC = "mapped", $e = self.L2CacheSizeCheck(), $e)         prop NoGen :: 1     }     global L2CONFIGURE :: = (if GBL.DSPSUBTYPE == 6400 {self.C641XL2CONFIGURE} else {self.C621XL2CONFIGURE}) {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Configure L2 Cache Control (c6x1x support)"         prop Visible :: 0         prop NoGen :: 0     }     global C621XPCC :: "Cache Enabled - Direct Mapped" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "Cache Enabled - Direct Mapped"         prop Label :: "Program Cache Control - CSR(PCC)                     "         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1         prop TabName :: "621x/671x"     }     global C641XPCC :: "Cache Enabled - Direct Mapped" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "Cache Enabled - Direct Mapped"         prop Label :: "641x - Program Cache Control - CSR(PCC)"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1         prop TabName :: "641x"     }     global L2MODEOPTS :: = "SRAM" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "L2 Mode - CCFG(L2MODE)"         prop JSName :: "C621XCCFGL2MODE"         prop Enum :: "SRAM,1-way cache,2-way cache,3-way cache,4-way cache"         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6712 || GBL.DSPSUBTYPE == 6713) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "621x/671x"         prop Set :: ($i = self.L2MODEOPTS, self.L2MODEOPTS = $1, $e = self.L2CacheSizeCheck(), if ($e != "ok") {self.L2MODEOPTS = $i} , $e)     }     global C641XL2MODEOPTS :: "4-way cache (0k)" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "641x L2 Mode - CCFG(L2MODE)"         prop Enum :: "4-way cache (0k),4-way cache (32k),4-way cache (64k),4-way cache (128k),4-way cache (256k)"         prop JSName :: "C641XCCFGL2MODE"         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "641x"         prop Set :: ($i = self.C641XL2MODEOPTS, self.C641XL2MODEOPTS = $1, $e = self.L2CacheSizeCheck(), if ($e != "ok") {self.C641XL2MODEOPTS = $i} , $e)     }     global L2MODE :: = (if GBL.DSPSUBTYPE == 6400 {self.setC641XL2MODE()} else {self.setL2MODE()}) {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "L2 Mode - CCFG(L2MODE) Values"         prop Enum :: "0,1,2,3,7"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global L2PRIORITY :: 0 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "L2 Requestor Priority - CCFG(P)"         prop Enum :: "0,1"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global L2MARMASK :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "L2 MAR0-15 - bitmask used to initialize MARs"         prop JSName :: "C621XMAR"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6712 || GBL.DSPSUBTYPE == 6713) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "621x/671x"     }     global SUPPORTCSL :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 0     }     global ENABLEALLTRC :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable All TRC Trace Event Classes"         prop JSName :: "ENABLEALLTRC"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (if ($1) {self.TRCMASKVALUE = 0xDBEF} else {self.TRCMASKVALUE = 0x4000}, self.ENABLEALLTRC = $1, "ok")     }     global TRCMASKVALUE :: 56303 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 0     }     global CALLCSLCFGINIT :: = self.DISPCALLCSLCFGINIT {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 0     }     global CDBPATH :: "" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "CDB search path in COFF file"         prop JSName :: "CDBRELATIVEPATH"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global LINKWITHROM :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Link with ROM"         prop JSName :: "LINKWITHROM"         prop Visible :: 0         prop Writable :: if (self.DSPSUBTYPE == 6799 && self.ENABLEINST) {1} else {0}         prop NoGen :: 1         prop Set :: ($e = "ok", if ($1) {$e = self.error("This BIOS version does not support linking with ROM.")} , $e)     }     global C641XL2PRIORITY :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2MARMASK1 :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAR96-111 - bitmask controls EMIFB CE space"         prop JSName :: "C641XMAREMIFB"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2MARMASK2 :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAR128-143 - bitmask controls EMIFA CE0 space"         prop JSName :: "C641XMARCE0"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2MARMASK3 :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAR144-159 - bitmask controls EMIFA CE1 space"         prop JSName :: "C641XMARCE1"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2MARMASK4 :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAR160-175 - bitmask controls EMIFA CE2 space"         prop JSName :: "C641XMARCE2"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2MARMASK5 :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAR176-191 - bitmask controls EMIFA CE3 space"         prop JSName :: "C641XMARCE3"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 0         prop TabName :: "641x"     }     global L2REQPRIORITY :: "urgent" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "641x L2 Requestor Priority Queue - CCFG(P)"         prop JSName :: "C641XCCFGP"         prop Enum :: "urgent,high,medium,low"         prop Visible :: 1         prop Writable :: if ((GBL.DSPSUBTYPE == 6400) && GBL.L2CONFIGURE == 1) {1} else {0}         prop NoGen :: 1         prop Set :: (self.L2REQPRIORITY = $1, if (self.L2REQPRIORITY == "urgent") {self.C641XL2PRIORITY = 0} else {if (self.L2REQPRIORITY == "high") {self.C641XL2PRIORITY = 1} else {if (self.L2REQPRIORITY == "medium") {self.C641XL2PRIORITY = 2} else {self.C641XL2PRIORITY = 3}}}, "ok")         prop TabName :: "641x"     }     global L2CONFIGALLOC :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Configure Priority Queues"         prop JSName :: "C641XSETL2ALLOC"         prop Visible :: 1         prop Writable :: (GBL.DSPSUBTYPE == 6400 && GBL.L2CONFIGURE == 1)         prop NoGen :: 0         prop TabName :: "641x"     }     global L2ALLOC0 :: 6 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Max L2 Transfer Requests on URGENT Queue (L2ALLOC0)"         prop JSName :: "C641XL2ALLOC0"         prop Enum :: "0,1,2,3,4,5,6,7"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6400 && GBL.L2CONFIGURE == 1 && GBL.L2CONFIGALLOC == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "641x"     }     global L2ALLOC1 :: 2 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Max L2 Transfer Requests on HIGH Queue (L2ALLOC1)"         prop JSName :: "C641XL2ALLOC1"         prop Enum :: "0,1,2,3,4,5,6,7"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6400 && GBL.L2CONFIGURE == 1 && GBL.L2CONFIGALLOC == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "641x"     }     global L2ALLOC2 :: 2 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Max L2 Transfer Requests on MEDIUM Queue (L2ALLOC2)"         prop JSName :: "C641XL2ALLOC2"         prop Enum :: "0,1,2,3,4,5,6,7"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6400 && GBL.L2CONFIGURE == 1 && GBL.L2CONFIGALLOC == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "641x"     }     global L2ALLOC3 :: 2 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Max L2 Transfer Requests on LOW Queue (L2ALLOC3)"         prop JSName :: "C641XL2ALLOC3"         prop Enum :: "0,1,2,3,4,5,6,7"         prop Visible :: 1         prop Writable :: if (GBL.DSPSUBTYPE == 6400 && GBL.L2CONFIGURE == 1 && GBL.L2CONFIGALLOC == 1) {1} else {0}         prop NoGen :: 1         prop TabName :: "641x"     }     global L2ALLOC :: = ((self.L2ALLOC0) | (self.L2ALLOC1 << 4) | (self.L2ALLOC2 << 8) | (self.L2ALLOC3 << 12)) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop NoGen :: 0     } } type MEM {     isa ObjectMgr     prop Label :: "MEM - Memory Section Manager"     prop name :: "MEM"     prop DependsOn :: "SEM"     prop IsContainedIn :: SYSTEM     prop GlobalIcon :: 115     prop InstanceIcon :: 116     prop GlobalHelpTopic :: (108)     prop InstanceHelpTopic :: (208)     prop InstancePropertyPage :: ("{3D658E70-05E7-11d0-BD44-0020AFEE33C8}")     prop GlobalPropertyPage :: ("{3D658E71-05E7-11d0-BD44-0020AFEE33C8}")     prop heapLabelStr :: (self.iHeapId)     prop GenLinkPrologue :: (if (GBL.DSPTYPE == 55) {"-stack 0x%1xn-sysstack 0x%2xnnMEMORY {%4t, _cmd55stksz, _cmd55systksz"} else {"-stack 0x%1xnMEMORY {%4t, _stackSize"})     prop _stackSize :: MEM.STACKSIZE     prop AllocType :: (if (self.REUSE == 0 && self.USERCMD == 0) {"19, _argsString, _argsSeg, _midPlace,  _sysdataString, _sysdataSeg, _thirdPlace,  _trcinitString, _trcinitSeg, _midPlace,  _gblinitString, _gblinitSeg, _midPlace,  _memObjString, _memObjSeg, _midPlace,  _sysinitString, _initSeg, _sysinitPlace,  _sysregsString, _regsSeg, _midPlace,  _bssString, _bssSeg, _firstPlace,  _farString, _farSeg, _secondPlace,  _cinitString, _cinitSeg, _midPlace,  _pinitString, _pinitSeg, _midPlace,  _dataString, _dataSeg, _midPlace,  _constString, _constSeg, _midPlace,  _switchString, _switchSeg, _midPlace,  _cioString, _cioSeg, _midPlace,  _textString, _textSeg, _midPlace,  _frtString, _frtSeg, _midPlace,  _biosString, _biosSeg, _midPlace,  _stackString, _stackSeg, _midPlace"} else {if (self.REUSE == 0 && self.USERCMD == 1) {"9, _argsString, _argsSeg, _midPlace,  _sysdataString, _sysdataSeg, _thirdPlace,  _trcinitString, _trcinitSeg, _midPlace,  _gblinitString, _gblinitSeg, _midPlace,  _memObjString, _memObjSeg, _midPlace,  _sysinitString, _initSeg, _sysinitPlace,  _sysregsString, _regsSeg, _midPlace,  _biosString, _biosSeg, _midPlace,  _stackString, _stackSeg, _midPlace"} else {if (self.REUSE == 1 && self.USERCMD == 0) {"18, _argsString, _argsSeg, _midPlace,  _sysdataString, _sysdataSeg, _thirdPlace,  _trcinitString, _trcinitSeg, _midPlace,  _gblinitString, _gblinitSeg, _midPlace,  _memObjString, _memObjSeg, _midPlace,  _sysregsString, _regsSeg, _midPlace,  _bssString, _bssSeg, _firstPlace,  _farString, _farSeg, _secondPlace,  _cinitString, _cinitSeg, _midPlace,  _pinitString, _pinitSeg, _midPlace,  _dataString, _dataSeg, _midPlace,  _constString, _constSeg, _midPlace,  _switchString, _switchSeg, _midPlace,  _cioString, _cioSeg, _midPlace,  _textString, _textSeg, _midPlace,  _frtString, _frtSeg, _midPlace,  _biosString, _biosSeg, _midPlace,  _stackString, _stackSeg, _midPlace"} else {"8, _argsString, _argsSeg, _midPlace,  _sysdataString, _sysdataSeg, _thirdPlace,  _trcinitString, _trcinitSeg, _midPlace,  _gblinitString, _gblinitSeg, _midPlace,  _memObjString, _memObjSeg, _midPlace,  _sysregsString, _regsSeg, _midPlace,  _biosString, _biosSeg, _midPlace,  _stackString, _stackSeg, _midPlace"}}})     prop _firstPlace :: 0     prop _secondPlace :: 0 + 1     prop _thirdPlace :: 0 + 2     prop _midPlace :: (0x7fffffff / 2)     prop _sysinitPlace :: (0x7fffffff / 2)     prop _argsString :: ("%8t .args: align=4 fill=0 {%12tn *(.args)n . += 0x%1x;%8tn }, _argsSize")     prop _bssString :: ("%8t .bss:     {}")     prop _farString :: ("%8t .far:     {}")     prop _cinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.CINITSEG == MEM.LOADCINITSEG) {"%8t .cinit:    {}"} else {"%8t .cinit:   {} load > %1s, run, _loadcinitSeg"}} else {"%8t .cinit:    {}"})     prop _pinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.PINITSEG == MEM.LOADPINITSEG) {"%8t .pinit:   {}"} else {"%8t .pinit:   {} load > %1s, run, _loadpinitSeg"}} else {"%8t .pinit:   {}"})     prop _trcinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.TRCINITSEG == MEM.LOADTRCINITSEG) {"%8t .trcdata:   {}"} else {"%8t .trcdata:   {} load > %1s, run, _loadtrcinitSeg"}} else {"%8t .trcdata:    {}"})     prop _gblinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.BIOSINITSEG == MEM.LOADBIOSINITSEG) {"%8t .gblinit:   {}"} else {"%8t .gblinit:   {} load > %1s, run, _loadgblinitSeg"}} else {"%8t .gblinit:    {}"})     prop _dataString :: ("%8t .data:    {}")     prop _constString :: (if (self.ENABLELOADSEG == 1) {if (MEM.CONSTSEG == MEM.LOADCONSTSEG) {"%8t GROUP {n %8t .const: align = 0x8 {} n %8t .printf (COPY): {} n%8t }"} else {"%8t .const: align = 0x8 {} load > %1s run, _loadconstSeg"}} else {"%8t GROUP {n %8t .const: align = 0x8 {} n %8t .printf (COPY): {} n%8t }"})     prop _switchString :: (if (self.ENABLELOADSEG == 1) {if (MEM.SWITCHSEG == MEM.LOADSWITCHSEG) {"%8t .switch:   {}"} else {"%8t .switch:   {} load > %1s, run, _loadswitchSeg"}} else {"%8t .switch:    {}"})     prop _sysmemString :: ("%8t .sysmem:  {}")     prop _cioString :: ("%8t .cio:     {}")     prop _memObjString :: ("%8t .mem:    {}")     prop _sysdataString :: (if ((GBL.ROM == 0) && (GBL.DSPTYPE == 54)) {"%8t .sysdata: align = 128 {%12tn GBL_A_SYSPAGE = .;n GBL_A_SYSDP = GBL_A_SYSPAGE >> 7;n %8t }"} else {"%8t .sysdata: {}"})     prop _sysinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.INITSEG == MEM.LOADINITSEG) {"%8t .sysinit:   {}"} else {"%8t .sysinit:   {} load > %1s, run, _loadinitSeg"}} else {"%8t .sysinit:    {}"})     prop _sysregsString :: ("%8t .sysregs: {}")     prop _textString :: (if (self.ENABLELOADSEG == 1) {if (MEM.TEXTSEG == MEM.LOADTEXTSEG) {"%8t .text:    {}"} else {"%8t .text:    {} load > %1s, run, _loadtextSeg"}} else {"%8t .text:    {}"})     prop _frtString :: ("%8t frt:    {}")     prop _biosString :: (if (self.ENABLELOADSEG == 1) {if (MEM.BIOSSEG == MEM.LOADBIOSSEG) {"%8t .bios:    {}"} else {"%8t .bios:    {} load > %1s, run, _loadbiosSeg"}} else {"%8t .bios:    {}"})     prop _stackString :: (if (GBL.DSPTYPE == 62) {"%8t .stack: {%12tn GBL_stackbeg = .;n *(.stack)n GBL_stackend = GBL_stackbeg + 0x%1x - 1;%12tn _HWI_STKBOTTOM = GBL_stackbeg + 0x%1x - 4 & ~7;%12tn _HWI_STKTOP = GBL_stackbeg;%8tn }, _stackSize, _stackSize"} else {if (GBL.DSPTYPE == 54) {"%8t .stack: {%12tn GBL_stackbeg = .;n *(.stack)n GBL_stackend = ((GBL_stackbeg + 0x%1x - 1) & 0xfffe) ;%8tn _HWI_STKBOTTOM = GBL_stackend;%12tn _HWI_STKTOP = GBL_stackbeg;%8tn }, _stackSize"} else {if (GBL.DSPTYPE == 55) {"%8t GROUP { n%16t .sysstack :  align = 0x4 {%12tn %16t GBL_sysstackbeg = .;n %16t *(.sysstack)n %16t GBL_sysstackend = GBL_sysstackbeg + 0x%2x -1 ;%12tn %16t _HWI_SYSSTKTOP = GBL_sysstackbeg; %12tn %16t_HWI_SYSSTKBOTTOM = (GBL_sysstackend+1);n%16t} n%16t .stack: align = 0x4 {%12tn %16t GBL_stackbeg = .;n %16t *(.stack)n GBL_stackend = (GBL_stackbeg + 0x%1x - 1) ;%12tn %16t _HWI_STKBOTTOM = (GBL_stackend+1);%12tn %16t _HWI_STKTOP = (GBL_stackbeg);%16tn }%8tn } BLOCK(0x20000), run , _cmd55stksz, _cmd55systksz"} else {"%8t .stack: {%12tn GBL_stackbeg = .;n *(.stack)n GBL_stackend = GBL_stackbeg + 0x%1x - 1;%8tn _HWI_STKBOTTOM = GBL_stackbeg;%12tn _HWI_STKTOP = (GBL_stackend + 1);%8tn }, _stackSize"}}})     prop _memHdrSize :: 8     prop GenLinkEpilogue :: ("%0t}")     prop _stackSeg :: MEM.STACKSEG     prop _textSeg :: MEM.TEXTSEG     prop _frtSeg :: MEM.TEXTSEG     prop _biosSeg :: MEM.BIOSSEG     prop _dataSeg :: MEM.DATASEG     prop _cioSeg :: MEM.CIOSEG     prop _sysmemSeg :: MEM.SYSMEMSEG     prop _constSeg :: MEM.CONSTSEG     prop _initSeg :: MEM.INITSEG     prop _pinitSeg :: MEM.PINITSEG     prop _trcinitSeg :: MEM.TRCINITSEG     prop _gblinitSeg :: MEM.BIOSINITSEG     prop _regsSeg :: MEM.SYSDATASEG     prop _sysdataSeg :: MEM.SYSDATASEG     prop _argsSeg :: MEM.ARGSSEG     prop _argsSize :: MEM.ARGSSIZE     prop _bssSeg :: MEM.BSSSEG     prop _farSeg :: MEM.FARSEG     prop _cinitSeg :: MEM.CINITSEG     prop _memObjSeg :: MEM.CFGOBJSEG     prop _switchSeg :: MEM.SWITCHSEG     prop _loadtextSeg :: MEM.LOADTEXTSEG     prop _loadbiosSeg :: MEM.LOADBIOSSEG     prop _loadconstSeg :: MEM.LOADCONSTSEG     prop _loadinitSeg :: MEM.LOADINITSEG     prop _loadpinitSeg :: MEM.LOADPINITSEG     prop _loadtrcinitSeg :: MEM.LOADTRCINITSEG     prop _loadgblinitSeg :: MEM.LOADBIOSINITSEG     prop _loadcinitSeg :: MEM.LOADCINITSEG     prop _loadswitchSeg :: MEM.LOADSWITCHSEG     prop AllocInst :: (if (self.iAllocHeap == 1) {"1, _instAllocDesc, _objMemSeg, _placement"} )     prop _instAllocDesc :: (if self.INITSEG.iAllocHeap && self.REUSE && self.INITSEG == self {"%8t GROUP {%12tn .sysinitgap {. += 0x%2x;}n .sysinit:n .%0r$heap: {%16tn _%0r_base = %0r$B;n _%0r_length = %0r$L;n . += 0x%1x;%12tn }%8tn } START(%0r$B), SIZE(%0r$L), _heapsize, _sysinitgap, _heaplen"} else {"%8t .%0r$heap: {%12tn %0r$B = .;n _%0r_base = .;n %0r$L = 0x%2x;n _%0r_length = 0x%2x;n . += 0x%1x;%8tn }, _heapsize, _heaplen"})     prop _objMemSeg :: self     prop _placement :: 0x7fffffff - 1     prop _heapsize :: (self.iHeapSize)     prop _heaplen :: (self.iHeapSize)     prop _sysinitgap :: 2 * 4     prop GenInstLink :: (if GBL.DSPTYPE == 62 {"%0r %16t: origin = 0x%1x, %40tlen = 0x%2x%4t, _origin, _len"} else {if GBL.DSPTYPE == 55 {"PAGE %3d: %16t%0r: %26torigin = 0x%1x, %40tlen = 0x%2x%4t, _cmd55origin, _cmd55len, _page"} else {"PAGE %3d: %14t%0r: %26torigin = 0x%1x, %50tlen = 0x%2x%4t, _origin, _len, _page"}})     prop localInit :: ($d = "ok", scan ($i; MEM) {if ($i.space == "code" && $i.iAllocHeap == 1) {$d = self.error("Code memory cannot have a heap")} }, if (self.SEGZERO.iAllocHeap == 1) {self.SEGZERO.iReqHeapCount++} else {$d = self.error("Segment for DSP/BIOS objects must be a memory segment with a heap")}, if (self.MALLOCSEG.iAllocHeap == 1) {self.MALLOCSEG.iReqHeapCount++} else {$d = self.error("Segment for malloc()/free() must be a memory segment with a heap")}, $d)     prop _page :: (self.page)     prop _origin :: (self.base)     prop _len :: (self.len)     prop maxObjs :: (32767)     prop codeMember :: (if $1.dynamicLoading == 1 {0} else {if GBL.DSPTYPE == 62 {(($1.space == "code") || ($1.space == "code/data"))} else {if GBL.DSPTYPE == 54 {($1.space == "code")} else {if GBL.DSPTYPE == 28 {($1.space == "code")} else {if GBL.DSPTYPE == 55 {(($1.space == "code") || ($1.space == "code/data"))} else {($1.space == "code/data")}}}}})     prop dataMember :: (if $1.dynamicLoading == 1 {0} else {if GBL.DSPTYPE == 62 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {if GBL.DSPTYPE == 54 {(($1.space != "code") && ($1 != MEM_NULL)) && $1.space != "io"} else {if GBL.DSPTYPE == 28 {(($1.space != "code") && ($1 != MEM_NULL)) && $1.space != "io"} else {if GBL.DSPTYPE == 55 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {(($1.space == "code/data") && ($1 != MEM_NULL))}}}}})     prop dataNullMember :: (if $1.dynamicLoading == 1 {0} else {if GBL.DSPTYPE == 62 {$1.space == "data" || $1.space == "code/data"} else {if GBL.DSPTYPE == 54 {$1.space != "code" && $1.space != "io"} else {if GBL.DSPTYPE == 28 {$1.space != "code" && $1.space != "io"} else {if GBL.DSPTYPE == 55 {$1.space == "data" || $1.space == "code/data"} else {$1.space == "code/data"}}}}})     prop dataCodeMember :: (if $1.dynamicLoading == 1 {0} else {if GBL.DSPTYPE == 62 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {if GBL.DSPTYPE == 54 {$1.space == "code" && $1 != MEM_NULL} else {if GBL.DSPTYPE == 28 {$1.space == "code" && $1 != MEM_NULL} else {if GBL.DSPTYPE == 55 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {$1.space == "code/data" && $1 != MEM_NULL}}}}})     prop memWritable :: (self.iIsModifiable && self.iDelUser != "MEM")     prop validate :: ($e = self.checkMemOverlap($1), if ($e == "ok") {$e = self.checkHeapSize($1)} , if ($e == "ok") {$e = self.checkHeapSeg($1)} , $e)     prop checkHeapSeg :: ($e = "ok", if ($1 == MEM_NULL && MEM.NOHEAPS == 0) {if (MEM.MALLOCSEG == MEM_NULL) {$e = ("Heaps are enabled, but the segment for malloc (MEM.MALLOCSEG) is not set correctly. Please create a heap in one of your data segments and set MEM.MALLOCSEG to it.")} , if (MEM.SEGZERO == MEM_NULL) {$e = ("Heaps are enabled, but the segment for DSP/BIOS Objects (MEM.BIOSOBJSEG) is not set correctly. Please create a heap in one of your data segments and set MEM.BIOSOBJSEG to it.")} } , $e)     prop checkHeapSize :: ($e = "ok", if (MEM.NOHEAPS == 0) {if ($1.iAllocHeap && $1 != MEM_NULL) {if ($1.iHeapSize > $1.len) {$e = ("MEM segment %s: heap cannot be larger than the length of segment that contains it.")} } } , $e)     prop checkMemOverlap :: ($e = "ok", if ($1 != MEM_NULL && $1.iIsUsed == 1) {if ($1.len == 0) {$a = $1.base} else {$a = ($1.base + $1.len - 1)}, scan ($j; MEM) {if ($1 != $j && $j != MEM_NULL && $j.iIsUsed == 1 && (GBL.DSPTYPE == 62 || $1.space == $j.space)) {if (!($j == CACHE_L2 && GBL.L2CONFIGURE == 0)) {$b = $j.base, if ($j.len == 0) {$c = $j.base} else {$c = ($j.base + $j.len - 1)}, if ($a >= $b && $1.base <= $c) {$e = ("MEM segment %s: overlaps with another segment or cache configuration."), break} } } }} , $e)     prop _spaceEnum :: (self.ENUMSPACE)     prop checkHeapId :: ($e = "ok", scan ($i; MEM) {if ($i.iAllocHeap == 1 && $i.iUserHeapId == 1 && $i.iHeapId == $1 && $i.iHeapId != @segment_name) {$e = self.error("This identifier label is already in use"), break} }, $e)     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CALLBACKOBJ :: nil {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumHeap :: = ($a = 0, scan ($i; MEM) {if ($i != MEM_NULL) {$a += $i.iAllocHeap} }, $a) {          prop NoGen :: 0     }     global REUSE :: = (if self.INITSEG.space != "code" && self.INITSEG.iAllocHeap == 1 {self.SAVEREUSE} else {0}) {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Reuse Startup Code Space"         prop JSName :: "REUSECODESPACE"         prop Visible :: 1         prop Writable :: self.INITSEG.space != "code" && self.INITSEG.iAllocHeap == 1         prop NoGen :: 1         prop Set :: (self.SAVEREUSE = $1, "ok")     }     global SAVEREUSE :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 1     }     global doCheckOverlap :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global MAPSELECT :: "Map 1" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Map Mode"         prop JSName :: "MAPMODE"         prop Enum :: "Map 0,Map 1"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global ARGSSIZE :: 4 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: "0x%04x"         prop Style :: 0x01 | 0x02         prop Label :: "Argument Buffer Size"         prop JSName :: "ARGSSIZE"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (if ($1 < 4) {self.error("The 'arguments' section must have at least 4 words.")} else {self.ARGSSIZE = $1, "ok"})     }     global ARGSSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataMember($1)         prop Label :: "Argument Buffer Section (.args)"         prop JSName :: "ARGSSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"     }     global BIOSSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.codeMember($1)         prop Label :: "BIOS Code Section (.bios)"         prop JSName :: "BIOSSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Code"     }     global STACKSIZE :: 1024 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: "0x%04x"         prop Style :: if GBL.DSPTYPE == 54 {0x01 | 0x02} else {0x02}         prop Label :: "Stack Size (MAUs)"         prop JSName :: "STACKSIZE"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (if ((GBL.DSPTYPE == 55) && (GBL.DSPSUBTYPE != 5599)) {self.STACKSIZE = ($1 & -2)} else {if ((GBL.DSPTYPE == 55) && (GBL.DSPSUBTYPE == 5599)) {self.STACKSIZE = ($1 & -4)} else {self.STACKSIZE = $1}}, "ok")         prop PropSetOkUserMsg :: if (MEM.STACKSIZE < GlobalStatus.MinStackSize) {"Warning: You are setting the stack size to a value that is less than the Estimated Minimum Stack Size!"} else {"ok"}     }     global USERCMD :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "User .cmd File For Compiler Sections"         prop JSName :: "USERCOMMANDFILE"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global STACKSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataMember($1)         prop Label :: "Stack Section (.stack)"         prop JSName :: "STACKSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"         prop Set :: (if (GBL.DSPTYPE == 55) {(MEM.STACKSEG = $1), (MEM.SYSSTACKSEG = $1)} else {(MEM.STACKSEG = $1)}, "ok")     }     global ENABLELOADSEG :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Specify Separate Load Addresses"         prop JSName :: "ENABLELOADADDR"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "Load Address"     }     global LOADBIOSSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.codeMember($1)         prop Label :: "Load Address - BIOS Code Section (.bios)"         prop JSName :: "LOADBIOSSEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global INITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.codeMember($1)         prop Label :: "Startup Code Section (.sysinit)"         prop JSName :: "SYSINITSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Code"     }     global LOADINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.codeMember($1)         prop Label :: "Load Address - Startup Code Section (.sysinit)"         prop JSName :: "LOADSYSINITSEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global BIOSINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataCodeMember($1)         prop Label :: "DSP/BIOS Init Tables (.gblinit)"         prop JSName :: "GBLINITSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"     }     global TRCINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataCodeMember($1)         prop Label :: "TRC Initial Value (.trcdata)"         prop JSName :: "TRCDATASEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"     }     global LOADBIOSINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataCodeMember($1)         prop Label :: "Load Address - DSP/BIOS Init Tables (.gblinit)"         prop JSName :: "LOADGBLINITSEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global LOADTRCINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataCodeMember($1)         prop Label :: "Load Address - TRC Initial Value (.trcdata)"         prop JSName :: "LOADTRCDATASEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global SYSDATASEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataMember($1)         prop Label :: "DSP/BIOS Kernel State (.sysdata)"         prop JSName :: "SYSDATASEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"     }     global CFGOBJSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: self.dataMember($1)         prop Label :: "DSP/BIOS Conf Sections (.*obj)"         prop JSName :: "OBJSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Data"     }     global NOHEAPS :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "No Dynamic Memory Heaps"         prop JSName :: "NOMEMORYHEAPS"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (if ($1) {self.SEGZERO.iReqHeapCount--, self.SEGZERO = MEM_NULL, self.MALLOCSEG.iReqHeapCount--, self.MALLOCSEG = MEM_NULL, TSK.STACKSEG.iReqHeapCount--, TSK.STACKSEG = MEM_NULL, scan ($i; MEM) {if ($i.iAllocHeap && $i != MEM_NULL) {$i.iAllocHeap = 0, $i.iHeapSize = 0} }} , self.NOHEAPS = $1, "ok")         prop PropSetOkUserMsg :: if (MEM.NOHEAPS == 1) {"Currently specified heaps no longer valid"} else {"Please reconfigure heaps under individual mem segments"}     }     global SEGZERO :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap)         prop Label :: "Segment For DSP/BIOS Objects"         prop JSName :: "BIOSOBJSEG"         prop Visible :: 1         prop Writable :: MEM.NOHEAPS == 0         prop NoGen :: 0         prop Set :: (if (self.SEGZERO.iReqHeapCount > 0) {self.SEGZERO.iReqHeapCount--} , self.SEGZERO = $1, self.SEGZERO.iReqHeapCount++, "ok")     }     global MALLOCSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap)         prop Label :: "Segment For malloc() / free()"         prop JSName :: "MALLOCSEG"         prop Visible :: 1         prop Writable :: (MEM.NOHEAPS == 0)         prop NoGen :: 0         prop Set :: (if (self.MALLOCSEG.iReqHeapCount > 0) {self.MALLOCSEG.iReqHeapCount--} , self.MALLOCSEG = $1, self.MALLOCSEG.iReqHeapCount++, "ok")     }     global USEMPC :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Memory Protection Controller module"         prop JSName :: "USEMPC"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     global LNKCMDFILE :: "" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Specify User Linker cmd File"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global TEXTSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.codeMember($1))         prop Label :: "Text Section (.text)"         prop JSName :: "TEXTSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global LOADTEXTSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.codeMember($1))         prop Label :: "Load Address - Text Section (.text)"         prop JSName :: "LOADTEXTSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0 && self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global SWITCHSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "Switch Jump Tables (.switch)"         prop JSName :: "SWITCHSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global LOADSWITCHSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "Load Address - Switch Jump Tables (.switch)"         prop JSName :: "LOADSWITCHSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0 && self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global BSSSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "C Variables Section (.bss)"         prop JSName :: "BSSSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global FARSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "C Variables Section (.far)"         prop JSName :: "FARSEG"         prop Visible :: if GBL.DSPTYPE == 62 {1} else {0}         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global CINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "Data Initialization Section (.cinit)"         prop JSName :: "CINITSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global LOADCINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "Load Address - Data Initialization Section (.cinit)"         prop JSName :: "LOADCINITSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0 && self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global PINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "C Function Initialization Table (.pinit)"         prop JSName :: "PINITSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global LOADPINITSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataCodeMember($1))         prop Label :: "Load Address - C Function Initialization Table (.pinit)"         prop JSName :: "LOADPINITSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0 && self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global CONSTSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "Constant Sections (.const, .printf)"         prop JSName :: "CONSTSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global LOADCONSTSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "Load Address - Constant Sections (.const, .printf)"         prop JSName :: "LOADCONSTSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0 && self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global DATASEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "Data Section (.data)"         prop JSName :: "DATASEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global CIOSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "Data Section (.cio)"         prop JSName :: "CIOSEG"         prop Visible :: 1         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"         prop Set :: (self.CIOSEG = $1, self.SYSMEMSEG = $1, "ok")     }     global SYSMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: (self.dataMember($1))         prop Label :: "Data Section (.sysmem)"         prop JSName :: "SYSMEMSEG"         prop Visible :: 0         prop Writable :: (self.USERCMD == 0)         prop NoGen :: 1         prop TabName :: "Compiler Sections"     }     global STUBMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "Function Stub Memory (.hwi)"         prop JSName :: "HWISEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Code"         prop Set :: (self.STUBMEMSEG = $1, HWI.STUBMEMSEG = $1, "ok")     }     global LOADSTUBMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "Load Address - Function Stub Memory (.hwi)"         prop JSName :: "LOADHWISEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global VECMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "Interrupt Service Table Memory (.hwi_vec)"         prop JSName :: "HWIVECSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Code"         prop Set :: (self.VECMEMSEG = $1, HWI.VECMEMSEG = $1, GlobalStatus.gDirty = 1, if ($1.base == 0) {HWI.GENERATE_RESET_VEC = 0} , "ok")     }     global LOADVECMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "Load Address -Interrupt Service Table Memory (.hwi_vec)"         prop JSName :: "LOADHWIVECSEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global RTDXTEXTMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "RTDX Text Segment (.rtdx_text)"         prop JSName :: "RTDXTEXTSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop TabName :: "BIOS Code"         prop Set :: (self.RTDXTEXTMEMSEG = $1, RTDX.TEXTMEMSEG = $1, "ok")     }     global LOADRTDXTEXTMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "Load Address - RTDX Text Segment (.rtdx_text)"         prop JSName :: "LOADRTDXTEXTSEG"         prop Visible :: 1         prop Writable :: (self.ENABLELOADSEG == 1)         prop NoGen :: 1         prop TabName :: "Load Address"     }     global ENUMSPACE :: = if GBL.DSPTYPE == 62 {"code,data,code/data,reserved"} else {if GBL.DSPTYPE == 54 {"code,data,io,other,reserved"} else {if GBL.DSPTYPE == 28 {"code,data,io,other,reserved"} else {if GBL.DSPTYPE == 55 {"code/data,code,data,io,reserved"} else {"code/data,io,reserved"}}}} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop JSName :: "ENUMSPACE"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst base :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: if GBL.DSPTYPE == 62 {"0x%08x"} else {"0x%06x"}         prop Style :: 0x02         prop Label :: "base"         prop JSName :: "base"         prop Visible :: 1         prop Writable :: (self.iIsModifiable)         prop NoGen :: 1         prop Set :: ($e = "ok", $a = self.base, self.base = $1, if (MEM.CALLBACKOBJ != nil) {$e = MEM.CALLBACKOBJ.call(self), if ($e != "ok") {self.base = $a} } , $e)     }     inst len :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: if GBL.DSPTYPE == 62 {"0x%08x"} else {"0x%04x"}         prop Style :: 0x08         prop Label :: "len"         prop JSName :: "len"         prop Visible :: 1         prop Writable :: (self.memWritable)         prop NoGen :: 0         prop Set :: ($e = "ok", $a = self.len, self.len = $1, if (MEM.CALLBACKOBJ != nil) {$e = MEM.CALLBACKOBJ.call(self), if ($e != "ok") {self.len = $a} } , "ok")     }     inst page :: = (if GBL.DSPTYPE == 62 {-1} else {if GBL.DSPTYPE == 55 {(if self.space == "code" {0} else {if self.space == "data" {1} else {if self.space == "io" {2} else {0}}})} else {if self.space == "code" {0} else {if self.space == "data" {1} else {if self.space == "io" {2} else {3}}}}}) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 1     }     inst iAllocHeap :: if MEM.NOHEAPS == 1 {0} else {1} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "create a heap in this memory"         prop JSName :: "createHeap"         prop Visible :: 1         prop Writable :: (self.space == "data" || self.space == "code/data") && (MEM.NOHEAPS == 0) && self.memWritable         prop NoGen :: 0         prop Set :: ($a = "ok", if ($1 == 0 && self.iReqHeapCount > 0) {self.error("This heap is used by one or more of: segment for DSP/BIOS objects, segment for malloc()/free(), TSK default stack segment")} else {if ($1 == 0) {self.iUserHeapId = 0, self.iHeapId = @segment_name} , self.iAllocHeap = $1, MEM.gDirty = 1, $a})     }     inst iHeapSize :: 0x8000 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: if GBL.DSPTYPE == 62 {"0x%08x"} else {"0x%04x"}         prop Style :: 0x02         prop Label :: "heap size"         prop JSName :: "heapSize"         prop Visible :: 1         prop Writable :: (self.iAllocHeap) && (self.iIsModifiable) && (MEM.NOHEAPS == 0)         prop Set :: (self.iHeapSize = $1, "ok")         prop NoGen :: 1     }     inst iSegZero :: = MEM.SEGZERO     inst iUserHeapId :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "enter a user defined heap identifier label"         prop JSName :: "enableHeapLabel"         prop Set :: (if ($1 == 0) {self.iHeapId = @segment_name} , self.iUserHeapId = $1, "ok")         prop Visible :: 1         prop Writable :: (self.iAllocHeap) && (self.iIsModifiable) && (self.NOHEAPS == 0)         prop NoGen :: 1     }     inst iHeapId :: @segment_name {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Label :: "heap identifier label"         prop JSName :: "heapLabel"         prop Set :: ($e = self.checkHeapId($1), if ($e == "ok") {self.iHeapId = $1} , $e)         prop Writable :: (self.iAllocHeap) && (self.iIsModifiable) && (self.NOHEAPS == 0) && (self.iUserHeapId)         prop Visible :: 1         prop NoGen :: 0     }     inst iReqHeapCount :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop NoGen :: 1     }     inst space :: (if GBL.DSPTYPE == 55 {"code/data"} else {"data"}) {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: MEM._spaceEnum()         prop JSName :: "space"         prop Visible :: 1         prop Writable :: (self.memWritable)         prop NoGen :: 1         prop Set :: ($e = "ok", if ($1 != "data" && $1 != "code/data" && self.iAllocHeap == 1) {$e = self.error("Cannot select this space if a heap will be created")} else {$a = self.space, self.space = $1, if (MEM.CALLBACKOBJ != nil) {$e = MEM.CALLBACKOBJ.call(self), if ($e != "ok") {self.space = $a} } }, $e)     }     inst dynamicLoading :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Reserved for dynamic loading"         prop JSName :: "dynamicLoading"         prop Visible :: GBL.ENABLEDLL         prop Writable :: GBL.ENABLEDLL         prop NoGen :: 1     }     inst iIsModifiable :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } object MEM_NULL :: MEM {     param iComment :: "Place holder segment which allows user to disable heaps"     param iIsUsed :: 0     param iId :: 0     param iDelUser :: "USER"     param iDelMsg :: "ok"     param base :: 0     param len :: 0     param iAllocHeap :: 1     param iHeapSize :: 32768     param iUserHeapId :: 0     param iHeapId :: @segment_name     param iReqHeapCount :: 0     param space :: "data"     param dynamicLoading :: 0     param iIsModifiable :: 1 } type OBJ {     isa ObjectMgr     prop name :: "OBJ"     prop Visible :: 0     prop AllocType :: (if (self.gNumOf > 0) {"1, _objMemDesc, _memSeg, _placement"} )     prop _objMemDesc :: ("%8t .obj: {}")     prop _memSeg :: MEM.CFGOBJSEG     prop _placement :: (0x7fffffff / 2)     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     } } type BUF {     isa ObjectMgr     prop name :: "BUF"     prop Label :: "BUF - Buffer Manager"     prop IsContainedIn :: SYSTEM     prop GlobalIcon :: 199     prop InstanceIcon :: 200     prop InstanceHelpTopic :: (421)     prop GlobalHelpTopic :: (321)     prop InstancePropertyPage :: ("{B7240DE8-AA51-11cf-9BFE-0000C0AC14C7}")     prop GlobalPropertyPage :: ("{B7240DE9-AA51-11cf-9BFE-0000C0AC14C7}")     prop maxObjs :: (32767)     prop AllocType :: (if (self.gNumOf > 0) {"1,      _globalAllocDesc, _memSeg, _placement"} )     prop _globalAllocDesc :: ("%8t.buf:{}")     prop _placement :: (0x7fffffff / 2)     prop _memSeg :: self.OBJMEMSEG     prop AllocInst :: ("1, _instAllocDesc, _instMemSeg, _placement")     prop _instAllocDesc :: ("%8t .%0s$data: align = 0x%1x {%12tn %0s$databeg = .;n .+= %2d; %8tn }, _objAlign, _buflength")     prop _objAlign :: self.align     prop _instMemSeg :: self.bufseg     prop _buflength :: (self.postalignsize * self.bufcount)     prop cGen :: 1     prop cHeaderName :: if self.gNumOf > 0 {"buf.h"} else {""}     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far BUF_Obj %0r;n"} else {"extern BUF_Obj %0r;n"})     prop objectSize :: (if (GBL.DSPTYPE == 62) {$a = ((7 + 3) * 4)} , if (GBL.DSPTYPE == 54 && GBL.FARMODE == 1) {$a = ((7 + 4) * 4)} , if (GBL.DSPTYPE == 54 && GBL.FARMODE == 0) {$a = ((7 + 3) * 4)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "LARGE") {$a = (12 + 6)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "HUGE") {$a = (12 + 6)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "SMALL") {$a = (7 + 4)} , if (GBL.DSPTYPE == 28) {$a = (12 + 6)} , $a)     prop dataSize :: ($d = 0, scan ($i; BUF) {if ($i.IsConfObj()) {$d += $i.len} , $d += BUF.objectSize}, $d)     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global OBJMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Object Memory"         prop JSName :: "OBJMEMSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global ENABLED :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Compile in logging"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst bufseg :: self.OBJMEMSEG {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Memory segment for buffer pool"         prop JSName :: "bufSeg"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst bufcount :: 1 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Buffer count"         prop JSName :: "bufCount"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (self.bufcount = $1, self.postalignsize = (self.size + (self.align - 1)) & ~(self.align - 1), self.len = $1 * self.postalignsize, "ok")     }     inst size :: 8 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Buffer size (MADUs)"         prop JSName :: "size"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 < 8) {self.error("Size should be atleast 8 bytes")} else {self.size = $1, self.postalignsize = ($1 + (self.align - 1)) & ~(self.align - 1), self.len = self.postalignsize * self.bufcount, "ok"})     }     inst align :: 4 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Buffer alignment(Power of 2)"         prop JSName :: "align"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 < 4) {self.error("Alignment should be atleast 4 ")} else {self.align = $1, self.postalignsize = (self.size + ($1 - 1)) & ~($1 - 1), self.len = self.postalignsize * self.bufcount, "ok"})     }     inst len :: self.size {          prop Label :: "Buffer pool length (MADUs)"         prop JSName :: "len"         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1     }     inst postalignsize :: self.size {          prop Label :: "Buffer size after alignment (MADUs)"         prop JSName :: "postalignsize"         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 0     } } type POOL {     isa Module     prop Visible :: 1     prop name :: "POOL"     prop Label :: "POOL - Allocator Manager"     prop IsConfMod :: self.USEPOOL     prop IsContainedIn :: SYSTEM     prop GlobalIcon :: 199     prop InstanceIcon :: 200     prop GlobalHelpTopic :: (324)     prop InstanceHelpTopic :: (424)     prop InstancePropertyPage :: ("{473C4A62-B1A8-11d0-9885-0020AFEE33C6}")     prop GlobalPropertyPage :: ("{473C4A63-B1A8-11d0-9885-0020AFEE33C6}")     prop DependsOn :: "MEM,BUF"     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global USEPOOL :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Allocator Manager"         prop JSName :: "ENABLEPOOL"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     } } type CLK {     isa ObjectMgr     prop name :: "CLK"     prop Label :: "CLK - Clock Manager"     prop IsContainedIn :: SCH     prop IsConfMod :: 1     prop GlobalIcon :: 103     prop InstanceIcon :: 104     prop InstanceHelpTopic :: (202)     prop GlobalHelpTopic :: (102)     prop InstancePropertyPage :: ("{EEB2AB41-51E3-11d0-A61D-0000C070F3E9}")     prop GlobalPropertyPage :: ("{EEB2AB40-51E3-11d0-A61D-0000C070F3E9}")     prop objectSize :: (if (GBL.DSPTYPE == 55 || GBL.DSPTYPE == 28) {$a = (2 * 4)} else {$a = (1 * 4)}, $a)     prop GenLinkPrologue :: ("SECTIONS {%4tn.%1L: {n%8t n CLK_F_gethtime = %5s;n %1U_A_TABBEG = .;n %4Sn %1U_A_TABEND = .;n %1U_A_TABLEN = (. - %1U_A_TABBEG) / %2d;n%4t} > %3s , name, _objSize, _memSeg, _linkString, clkFxn, _clkStartFxn")     prop _clkStartFxn :: if (GBL.SUPPORTCSL && self.USETIMER) {@_CLK_start6x} else {@FXN_F_nop}     prop GenLinkEpilogue :: ("%0t}n_CLK_PRD = CLK_PRD;n_CLK_COUNTSPMS = CLK_COUNTSPMS;n_CLK_REGS = CLK_REGS;n_CLK_USETIMER = CLK_USETIMER;n_CLK_TIMERNUM = CLK_TIMERNUM;n_CLK_TDDR = CLK_TDDR;n")     prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no CLK objs */"}     prop _memSeg :: CLK.OBJMEMSEG     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * self.objectSize())} else {self.objectSize()}     prop clkFxn :: if (self.USETIMER == 1) {self.CLKFXN} else {@FXN_F_zero}     prop maxObjs :: (32767)     prop SortByField :: "iPri"     prop SortGroups :: 1     prop localInit :: (if (GBL.CALLBACKOBJ != CLK) {CLK.gGBLChain = GBL.CALLBACKOBJ, GBL.CALLBACKOBJ = CLK} )     prop dataSize :: (self.objectSize() * (CLK.gNumOf + 1))     prop localCanCreate :: (if self.USETIMER {"ok"} else {self.error("The CLK Manager must be enabled before inserting a CLK")})     prop localCreate :: (CLK.HOOKFXN = @HWI_F_dispatch, self.seizeHwi(self.WHICHHWI), "ok")     prop localDelete :: (if (self.gNumOf == 1) {if (GBL.CALLMODEL == "far") {CLK.HOOKFXN = @CLK_F_frete, self.seizeHwi(self.WHICHHWI)} else {CLK.HOOKFXN = @CLK_F_rete, self.seizeHwi(self.WHICHHWI)}} , "ok")     prop adjustPrd :: (if GBL.DSPTYPE == 62 {0} else {if GBL.DSPSUBTYPE == 5599 {0} else {1}})     prop seizeHwi :: (if ($1.client == "USER" && $1 == HWI_UNUSED) {self.error("Interrupt not mapped for selected timer.")} else {if ($1.client == "USER" && $1.function != @HWI_unused) {self.error("Interrupt mapped to selected timer is already in use.")} else {if ($1.client == "CSL") {self.error("Interrupt mapped to selected timer is already in use by CSL.")} else {$1.function = @CLK_F_isr, $1.client = "CLK", $1.iEventId = $1.iSource.iIntrSelectNum, $1.iUseDispatcher = (if CLK.HOOKFXN == @HWI_F_dispatch {1} else {0}), $1.iArg = (if $1.iUseDispatcher == 1 {@CLK_A_TABBEG} else {0}), HWI.gDirty = 1, "ok"}}})     prop releaseHwi :: ($1.function = @HWI_unused, $1.client = "USER", $1.iUseDispatcher = 0, $1.iArg = 0, HWI.gDirty = 1, "ok")     prop seizeTimer :: (if ($1 == "Timer 0") {self.WHICHTIMER = "Timer 0", self.WHICHHWI = Timer_0.iHwi, self.REGS = if (GBL.DSPSUBTYPE == 5599) {0x620} else {0x01000}, self.TIMERNUM = 0, self.TIMERIMR = 0x0, self.TIMERIFR = 0x1, self.INTBIT = 4, self.TIMERIMRMASK = self.WHICHHWI.Ier0Mask, self.IMR0TINTMASK = self.WHICHHWI.Ier0Mask, self.IMR1TINTMASK = 0x0, self.setMicroseconds(self.MICROSECONDS)} else {if ($1 == "Timer 1") {self.WHICHTIMER = "Timer 1", self.WHICHHWI = Timer_1.iHwi, self.REGS = if (GBL.DSPSUBTYPE == 5599) {0x640} else {0x2400}, self.TIMERNUM = 1, self.TIMERIMR = 0x45, self.TIMERIFR = 0x46, self.INTBIT = 6, self.TIMERIMRMASK = self.WHICHHWI.Ier1Mask, self.IMR0TINTMASK = 0x0, self.IMR1TINTMASK = self.WHICHHWI.Ier1Mask, self.setMicroseconds(self.MICROSECONDS)} else {if ($1 == "Timer 2") {self.WHICHTIMER = "Timer 2", self.WHICHHWI = Timer_2.iHwi, self.REGS = 0x4000, self.TIMERNUM = 2, self.TIMERIMR = 0x0, self.TIMERIFR = 0x1, self.INTBIT = 11, self.TIMERIMRMASK = self.WHICHHWI.Ier0Mask, self.IMR0TINTMASK = self.WHICHHWI.Ier0Mask, self.IMR1TINTMASK = 0x0, self.setMicroseconds(self.MICROSECONDS)} }}, "ok")     prop setMicroseconds :: ($a = if FIXTDDR == 1 {self.TDDR} else {0xffffffff}, $b = 0xffffffff, $c = (float($a) + 1.0) * ((float($b) + self.adjustPrd) / (GBL.MIPS / 8)), if ($1 < $c && $1 > 0.1) {if (self.FIXTDDR == 0) {self.TDDR = int((1.0 * $1 * GBL.MIPS / 8) / (float($b) + self.adjustPrd))} , self.PRD = int((1.0 * $1 * GBL.MIPS) / (8 * (self.TDDR + 1.0))) - self.adjustPrd, self.MICROSECONDS = ((float((self.PRD)) + CLK.adjustPrd) * ((self.TDDR) + 1.0) * 8 / GBL.MIPS), if (self.CALLBACKOBJ != nil) {self.CALLBACKOBJ.call()} , "ok"} else {self.error("The on-chip timer does not have enough range to support this combination of DSP MIPS and Microseconds/Int")})     prop call :: ($a = ((float((CLK.PRD)) + CLK.adjustPrd) * ((CLK.TDDR) + 1.0) * 8 / GBL.MIPS), $b = CLK.MICROSECONDS, $e = "ok", if (($e = self.setMicroseconds(CLK.MICROSECONDS)) == "ok") {if (CLK.gGBLChain != nil) {$e = CLK.gGBLChain.call()} , if ($e != "ok") {self.setMicroseconds($b), self.error($e)} else {"ok"}} else {$e})     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gGBLChain :: nil {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global OBJMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Object Memory"         prop JSName :: "OBJMEMSEG"         prop Visible :: 1         prop Writable :: self.USETIMER         prop NoGen :: 1     }     global WHICHHWI :: HWI_INT14 {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: HWI         prop Label :: "CPU Interrupt"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1     }     global INTBIT :: = self.WHICHHWI.iIntrEnableMask     global WHICHTIMER :: "Timer 0" {          prop Label :: "Timer Selection"         prop JSName :: "TIMERSELECT"         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "Timer 0,Timer 1,Timer 2"         prop Visible :: 1         prop Writable :: self.USETIMER         prop NoGen :: 1         prop Set :: (if (self.WHICHTIMER != $1) {if (self.USETIMER == 0) {$e = "ok"} else {if (self.WHICHHIRESTIMER == $1) {$e = self.error("Must choose a timer different from the high resolution timer")} else {if ($1 == "Timer 0") {$a = Timer_0.iHwi} else {if ($1 == "Timer 1") {$a = Timer_1.iHwi} else {$a = Timer_2.iHwi}}, $e = self.seizeHwi($a)}}, if ($e == "ok") {self.releaseHwi(self.WHICHHWI), if ($1 == "Timer 0") {self.TIMERNUM = 0, self.WHICHHWI = Timer_0.iHwi} else {if ($1 == "Timer 1") {self.TIMERNUM = 1, self.WHICHHWI = Timer_1.iHwi} else {self.TIMERNUM = 2, self.WHICHHWI = Timer_2.iHwi}}, self.WHICHTIMER = $1, self.HOOKFXN = if self.gNumOf > 0 {@HWI_F_dispatch} else {(if GBL.CALLMODEL == "far" {@CLK_F_frete} else {@CLK_F_rete})}, self.seizeHwi(self.WHICHHWI)} , $e} )     }     global REGS :: = if self.WHICHTIMER == "Timer 0" {self.TIMER0BASE} else {if self.WHICHTIMER == "Timer 1" {self.TIMER1BASE} else {self.TIMER2BASE}} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Visible :: 0         prop Writable :: 1     }     global TIMER0BASE :: 26476544 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Writable :: 1         prop Visbile :: 0         prop JSName :: "TIMER0BASE"         prop NoGen :: 1     }     global TIMER1BASE :: 26738688 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Writable :: 1         prop Visbile :: 0         prop JSName :: "TIMER1BASE"         prop NoGen :: 1     }     global TIMER2BASE :: 28049408 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Writable :: 1         prop Visbile :: 0         prop JSName :: "TIMER2BASE"         prop NoGen :: 1     }     global TIMERNUM :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop NoGen :: 0     }     global USETIMER :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable CLK Manager"         prop JSName :: "ENABLECLK"         prop Visible :: 1         prop Writable :: if self.gNumOf > 0 {0} else {1}         prop NoGen :: 0         prop Set :: (if ($1 == 1 && self.USETIMER == 0) {if (($e = self.seizeHwi(self.WHICHHWI)) == "ok") {self.USETIMER = 1, self.TIMEFXN = if CLK.HIRES {CLK.clkFxn()} else {@CLK_F_getltime}, self.HOOKFXN = if GBL.CALLMODEL == "far" {@CLK_F_frete} else {@CLK_F_rete}, self.seizeHwi(self.WHICHHWI), GlobalStatus.gDirty = 1, if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {self.releaseHwi(self.WHICHHWI), self.TIMEFXN = @FXN_F_zero, self.HOOKFXN = @FXN_F_nop, self.USETIMER = 0, GlobalStatus.gDirty = 1, self.error("Current stack size inadequate to enable CLK")} else {if (GBL.ENABLEINST == 1) {IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL"), IDL.AUTOCALCULATE = GBL.OLDAUTOCALCULATE} , $e}} else {$e}} else {if ($1 == 0 && self.USETIMER == 1) {self.releaseHwi(self.WHICHHWI), self.TIMEFXN = @FXN_F_zero, self.HOOKFXN = @FXN_F_nop, self.USETIMER = 0, if (GBL.ENABLEINST == 1) {IDL_busyObj.Delete("IDL"), IDL.USEIDLBUSYOBJ = 0, IDL_cpuLoad.Delete("IDL"), GBL.OLDAUTOCALCULATE = IDL.AUTOCALCULATE, IDL.AUTOCALCULATE = 0} , "ok"} else {"ok"}})     }     global HIRES :: = 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use high resolution time for internal timings"         prop JSName :: "HIRESTIME"         prop Visible :: 1         prop Writable :: self.USETIMER         prop NoGen :: 1         prop Set :: (if (CLK.USETIMER) {CLK.HIRES = $1, if (CLK.USETIMER) {CLK.TIMEFXN = if CLK.HIRES {CLK.clkFxn()} else {@CLK_F_getltime}} , "ok"} else {self.error("CLK Manager must be enabled in order to get high resolution timings.")})     }     global INSTRPERCLK :: 8 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global MICROSECONDS :: 1000.000000 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Style :: 0x04         prop Format :: "%.4f"         prop Label :: "Microseconds/Int"         prop JSName :: "MICROSECONDS"         prop Set :: (self.setMicroseconds($1))         prop Visible :: 1         prop Writable :: if ((CLK.PROGTIMREGS != 0) | (self.USETIMER == 0)) {0} else {1}         prop NoGen :: 1     }     global MICROSECS :: = int(round(self.MICROSECONDS)) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global PROGTIMREGS :: = 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Directly configure on-chip timer registers"         prop JSName :: "CONFIGURETIMER"         prop Visible :: 1         prop Writable :: self.USETIMER         prop NoGen :: 1     }     global TCR :: = 0x20 | CLK.TDDR {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01 | 0x02         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global FIXTDDR :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Fix TDDR"         prop JSName :: "FIXTDDR"         prop Visible :: (GBL.DSPTYPE != 62) && (GBL.DSPSUBTYPE != 2420) && (GBL.DSPSUBTYPE != 5599)         prop Writable :: CLK.PROGTIMREGS && (GBL.DSPTYPE != 62) && (GBL.DSPSUBTYPE != 2420) && (GBL.DSPSUBTYPE != 5599)         prop NoGen :: 1     }     global TDDR :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Label :: if GBL.DSPSUBTYPE == 5561 {"TDDR Register (PREMD=0)"} else {"TDDR Register"}         prop JSName :: "TCRTDDR"         prop Set :: (if ((GBL.DSPSUBTYPE != 5502) && (GBL.DSPSUBTYPE != 5802) && (GBL.DSPTYPE != 62) && (GBL.DSPSUBTYPE != 5599) && ($1 > 0xffffffff)) {self.error("The on-chip timer does not have enough range to support this value, maximum is 15.")} else {CLK.TDDR = $1, CLK.MICROSECONDS = ((float((CLK.PRD)) + CLK.adjustPrd) * ((CLK.TDDR) + 1.0) * 8 / GBL.MIPS), if (CLK.CALLBACKOBJ != nil) {CLK.CALLBACKOBJ.call()} , "ok"})         prop Visible :: GBL.DSPTYPE != 62         prop Writable :: CLK.PROGTIMREGS && GBL.DSPTYPE != 62         prop NoGen :: 0     }     global TDDRHIGH :: = ((self.TDDR & 0xffff0000) >> 16) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"     }     global PRD :: 75000 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Label :: if (GBL.CLKTYPE == 700) {"Compare0 Register"} else {"PRD Register"}         prop JSName :: "PRD"         prop Set :: (CLK.PRD = $1, CLK.MICROSECONDS = ((float((CLK.PRD)) + CLK.adjustPrd) * ((CLK.TDDR) + 1.0) * 8 / GBL.MIPS), if (CLK.CALLBACKOBJ != nil) {CLK.CALLBACKOBJ.call()} , "ok")         prop Visible :: 1         prop Writable :: if ((self.PROGTIMREGS) && (self.USETIMER)) {1} else {0}         prop NoGen :: 0     }     global PRDHIGH :: = ((self.PRD & 0xffff0000) >> 16) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"     }     global COUNTSPMS :: = int(round(GBL.MIPS * 1000.0 / (CLK.TDDR + 1) / 8)) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20     }     global COUNTSPMSHIGH :: = ((self.COUNTSPMS & 0xffff0000) >> 16) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"     }     global INSTRUCTIONS :: = (1.0 * (float(CLK.PRD) + CLK.adjustPrd) * (CLK.TDDR + 1.0) * 8) {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Style :: 0x04         prop Format :: "%.0f"         prop Label :: "Instructions/Int"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1     }     global TIMEFXN :: = CLK.clkFxn() {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global HOOKFXN :: @HWI_F_dispatch {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global CLKFXN :: = if (CLK.PRD == 0xffffffff) || (CLK.WHICHHIRESTIMER != "None") {@CLK_F_getfhtime} else {@CLK_F_getshtime} {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CALLBACKOBJ :: PRD {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global CALDIV :: = if GBL.DSPSUBTYPE == 2420 {self.HTIMEDIV} else {1} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global CALMULT :: = if GBL.DSPSUBTYPE == 2420 {self.HTIMEMULT} else {if GBL.DSPSUBTYPE == 1510 {self.PRDMULTFACTOR * 8} else {8}} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global HTIMEDIV :: = if GBL.DSPSUBTYPE == 2420 {self.setHtimeParams()} else {1} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global HTIMEMULT :: = if GBL.DSPSUBTYPE == 1510 {self.PRDMULTFACTOR * 8} else {if GBL.DSPSUBTYPE == 2420 {self.setHtimeParams()} else {if GBL.DSPSUBTYPE == 5502 {8} else {if GBL.DSPSUBTYPE == 6499 {1} else {((self.TDDR + 1) * 8)}}}} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global LTIMEDIV :: = if GBL.DSPSUBTYPE == 2420 {if self.INPUTCLK == 0.032 {self.setLtimeParams()} else {self.HTIMEDIV}} else {1} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global LTIMEMULT :: = if GBL.DSPSUBTYPE == 1510 {(self.PRDMULTFACTOR * self.PRD * 8)} else {if GBL.DSPSUBTYPE == 2420 {if self.INPUTCLK == 0.032 {self.setLtimeParams()} else {(self.HTIMEMULT * self.PRD)}} else {((self.TDDR + 1) * (self.PRD + self.adjustPrd) * (8))}} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global HTIMEPERLTIME :: = if GBL.DSPSUBTYPE == 5502 {int(round(GBL.MIPS * self.MICROSECONDS / 8))} else {if GBL.DSPSUBTYPE == 2420 {int(round(self.HTIMECLK * self.MICROSECONDS / 8))} else {if GBL.DSPSUBTYPE == 6499 {int(round(GBL.MIPS * self.MICROSECONDS))} else {(self.PRD + CLK.adjustPrd)}}} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x20         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global WHICHHIRESTIMER :: "None" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "None,Timer 0,Timer 1,Timer 2"         prop Label :: "Timer to use for high resolution timings"         prop JSName :: "WHICHHIRESTIMER"         prop Visible :: 1         prop Writable :: self.USETIMER         prop NoGen :: 1         prop Set :: (if ($1 == self.WHICHTIMER) {$e = self.error("Must choose a timer different from the system tick timer")} else {self.WHICHHIRESTIMER = $1, $e = "ok"}, $e)     }     global HIRESREGS :: = if self.WHICHHIRESTIMER != "None" {(if self.WHICHHIRESTIMER == "Timer 0" {self.TIMER0BASE} else {if self.WHICHHIRESTIMER == "Timer 1" {self.TIMER1BASE} else {self.TIMER2BASE}})} else {(self.REGS)} {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst function :: @FXN_F_nop {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Label :: "function"         prop JSName :: "fxn"         prop Visible :: 1         prop Writable :: (if self.iDelUser == "USER" {1} else {0})         prop NoGen :: 0     }     inst Order :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop JSName :: "order"         prop NoGen :: 1         prop Writable :: 1     }     inst iPri :: 0 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop NoGen :: 1     } } type PRD {     isa ObjectMgr     prop name :: "PRD"     prop Label :: "PRD - Periodic Function Manager"     prop IsContainedIn :: SCH     prop IsConfMod :: 1     prop GlobalIcon :: 119     prop InstanceIcon :: 120     prop InstanceHelpTopic :: (210)     prop GlobalHelpTopic :: (110)     prop InstancePropertyPage :: ("{B7240DE0-AA51-11cf-9BFE-0000C0AC14C7}")     prop GlobalPropertyPage :: ("{B7240DE1-AA51-11cf-9BFE-0000C0AC14C7}")     prop STSGetMaxFmt :: ("%g ticks")     prop STSGetSumFmt :: (PRD.STSGetMaxFmt())     prop STSGetAvgFmt :: ("%.2f ticks")     prop GetPeriod :: self.period     prop IsOneShot :: if self.mode == "one-shot" {1} else {0}     prop objectSize :: (if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "SMALL") {$a = (10 * 4)} , if (GBL.DSPTYPE == 54 && GBL.FARMODE == 0) {$a = (9 * 4)} , if (GBL.DSPTYPE == 54 && GBL.FARMODE == 1) {$a = (12 * 4)} , if (GBL.DSPTYPE == 28 || (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "LARGE") || (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "HUGE")) {$a = (12 * 4)} , if (GBL.DSPTYPE == 62) {$a = (8 * 4)} , $a)     prop GenLinkPrologue :: ("SECTIONS {%4tn.%1L: {n%8t %1U_A_TABBEG = .;n %4Sn %1U_A_TABEND = .;n %1U_A_TABLEN = (. - %1U_A_TABBEG) / %2d;n%4t} > %3s%5s, name, objSize, memSeg, linkString, pageString")     prop GenLinkEpilogue :: ("%0t}n")     prop linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}     prop pageString :: if GBL.DSPTYPE == 62 {""} else {if GBL.DSPTYPE == 55 {(if PRD.OBJMEMSEG.space() == "code" {" PAGE 0"} else {if PRD.OBJMEMSEG.space() == "data" {" PAGE 1"} else {if PRD.OBJMEMSEG.space() == "io" {" PAGE 2"} else {" PAGE 0"}}})} else {if GBL.DSPTYPE == 28 {" PAGE 1"} else {" PAGE 1"}}}     prop memSeg :: PRD.OBJMEMSEG     prop objSize :: if GBL.DSPTYPE == 55 {self.objectSize() * 2} else {self.objectSize()}     prop dataSize :: (self.objectSize() * PRD.gNumOf)     prop localInit :: (if (CLK.CALLBACKOBJ != nil) {self.error("PRD initialization failure")} , CLK.CALLBACKOBJ = PRD, if (PRD.USECLK && PRD_clock.iIsUsed == 0) {PRD_clock.Create("PRD")} , if (PRD_clock.iIsUsed == 1) {if (self.gNumOf == 0) {if (TSK.USETSK == 1 && TSK.TSKTICK == "PRD") {PRD_clock.function = @PRD_F_tick} else {PRD_clock.function = @FXN_F_nop}} else {PRD_clock.function = @PRD_F_tick}} )     prop localCanCreate :: (if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {self.error(" System Stack Size too small")} else {self.myCreate("can")})     prop localCreate :: (STS.gNumEmbed += 1, if (($a = self.myCreate("do")) == "ok") {if (PRD_clock.iIsUsed == 1) {if (self.gNumOf == 0) {PRD_clock.function = @PRD_F_tick} } } , $a)     prop localCanDelete :: (self.myDelete("can"))     prop localDelete :: (STS.gNumEmbed -= 1, if (($a = self.myDelete("do")) == "ok") {if (self.gNumOf == 1) {if (PRD_clock.iIsUsed == 1) {if (TSK.USETSK == 1 && TSK.TSKTICK == "PRD") {PRD_clock.function = @PRD_F_tick} else {PRD_clock.function = @FXN_F_nop}} } } , $a)     prop maxObjs :: (32767)     prop myCreate :: (if (PRD_swi.function != @PRD_F_swi) {PRD_swi.function = @PRD_F_swi} , if (PRD_swi.iIsUsed) {"ok"} else {if (SWI.CanCreate() == "ok") {if ($1 == "do") {if (KNL_swi.iIsUsed == 1 && PRD_swi.pri == 0) {PRD_swi.pri = 1} , PRD_swi.Create("PRD")} else {"ok"}} else {self.error("Can't create an SWI for PRD (try deleting a SWI)")}})     prop myDelete :: (if (PRD_swi.function != @PRD_F_swi) {PRD_swi.function = @PRD_F_swi} , if (self.gNumOf == 1) {if ($1 == "do") {PRD_swi.Delete("PRD")} else {"ok"}} else {"ok"})     prop call :: (if (CLK.USETIMER != 0) {PRD.MICROSECONDS = CLK.MICROSECONDS} , PRD.CALLBACKOBJ.call())     prop cGen :: 1     prop cHeaderName :: if self.gNumOf > 0 {"prd.h"} else {""}     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far PRD_Obj %0r;n"} else {"extern PRD_Obj %0r;n"})     prop SortByField :: "iPri"     prop SortGroups :: 1     prop DEFAULT_THOOKFXN :: @_KNL_tick     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global OBJMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Object Memory"         prop JSName :: "OBJMEMSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global USECLK :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use CLK Manager to drive PRD"         prop JSName :: "USECLK"         prop Visible :: 1         prop Writable :: 1         prop Set :: (if ($1 == 1 && self.USECLK == 0) {if (CLK.USETIMER == 0) {self.error("In order to drive periodic functions, the CLK Manager must be enabled")} else {self.USECLK = 1, self.MICROSECONDS = CLK.MICROSECONDS, CLK.CALLBACKOBJ = PRD, PRD_clock.Create("PRD"), GlobalStatus.gDirty = 1, if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {self.USECLK = 0, self.MICROSECONDS = 0.0, CLK.CALLBACKOBJ = nil, PRD_clock.Delete("PRD"), self.error("Current Stack size inadequate to enable this option")} else {"ok"}}} else {if ($1 == 0 && self.USECLK == 1) {self.USECLK = 0, self.MICROSECONDS = 0.0, CLK.CALLBACKOBJ = nil, PRD_clock.Delete("PRD")} , "ok"})         prop NoGen :: 1     }     global MICROSECONDS :: = CLK.MICROSECONDS {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Style :: 0x04         prop Format :: "%.1f"         prop Label :: "Microseconds/Tick"         prop JSName :: "MICROSECONDS"         prop Visible :: 1         prop Writable :: self.USECLK == 0         prop NoGen :: 1     }     global SCALAR :: = ($d = 2, $f = 0, while ($d <= 0x4000 && $f == 0) {scan ($i; PRD) {if ((($i.period / $d) * $d != $i.period)) || ($i.mode == "one-shot") {$f = 1} }, if ($f == 0) {$d = 2 * $d} }, $d / 2) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global THOOKFXN :: @_KNL_tick {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop Label :: "System Tick Hook Function"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global CALLBACKOBJ :: STS {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst period :: 0x7fff {          prop Label :: "period (ticks)"         prop JSName :: "period"         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if (($1 > 0) && ($1 < 0x8000)) {self.period = $1, self.gDirty = 1, "ok"} else {self.error("Periodic function periods must be greater than 0 and less than 0x8000")})     }     inst mode :: "continuous" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "continuous,one-shot"         prop JSName :: "mode"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst function :: @FXN_F_nop {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "fxn"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst arg0 :: 0 {          prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "arg0"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst arg1 :: 0 {          prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "arg1"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst milliseconds :: = ((self.period * PRD.MICROSECONDS) / 1000.0) {          prop Label :: "period (ms)"         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Style :: 0x04         prop Format :: "%.1f"         prop Visible :: 1         prop Writable :: 0         prop NoGen :: 1     }     inst Order :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop JSName :: "order"         prop NoGen :: 0         prop Writable :: 1     }     inst iPri :: 0 {          prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop NoGen :: 1     }     inst filter :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop Label :: "filter"         prop NoGen :: 0     }     inst maxformat :: "%g ticks" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop Label :: "maxformat"         prop NoGen :: 0     }     inst sumformat :: "%g ticks" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop Label :: "sumformat"         prop NoGen :: 0     }     inst avgformat :: "%.2f ticks" {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop Label :: "avgformat"         prop NoGen :: 0     }     inst unittype :: 2 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 1         prop Label :: "unittype"         prop NoGen :: 0     } } object PRD_swi :: SWI {     param iComment :: "This Software ISR executes all configured PRD functions"     param iIsUsed :: 0     param iId :: 0     param iDelUser :: "PRD"     param iDelMsg :: "This object is automatically deleted when all PRD objects are deleted"     param function :: @PRD_F_swi     param pri :: 1     param mailbox :: 0     param arg0 :: 0     param arg1 :: 0     param dorta :: 1     param Order :: 0     param filter :: 2     param maxformat :: "%g inst"     param sumformat :: "%g inst"     param avgformat :: "%.2f inst"     param filtmaxmult :: 1     param filtsummult :: 1     param unittype :: 0 } object PRD_clock :: CLK {     param iComment :: "This clock function calls PRD_tick from within the on-chip timer ISR"     param iIsUsed :: 1     param iId :: 0     param iDelUser :: "PRD"     param iDelMsg :: "This object is automatically deleted by disabling the 'Use CLK Manager to drive PRD' option of PRD"     param function :: @PRD_F_tick     param Order :: 0     param iPri :: 0 } type RTDX {     isa ObjectMgr     prop Label :: "RTDX - Real-Time Data Exchange Settings"     prop name :: "RTDX"     prop IsConfMod :: self.USERTDX     prop IsContainedIn :: IOF     prop GlobalIcon :: 145     prop InstanceIcon :: 146     prop GlobalHelpTopic :: (113)     prop InstanceHelpTopic :: (213)     prop InstancePropertyPage :: ("{f80273c0-3838-11d2-a32c-006097656921}")     prop GlobalPropertyPage :: ("{050a0600-3839-11d2-a32c-006097656921}")     prop AllocType :: (if self.USERTDX {"2, _rtdxDataAllocDesc, _rtdxDataSeg, _placement,
  2.      _rtdxTextAllocDesc, _rtdxTextSeg, _placement"} else {""})     prop _rtdxDataAllocDesc :: (" .%1L_data: {} , name")     prop _rtdxTextAllocDesc :: (if (MEM.ENABLELOADSEG == 1) {if (MEM.RTDXTEXTMEMSEG == MEM.LOADRTDXTEXTMEMSEG) {" .%1L_text: {} , name"} else {" .%1L_text: {} load > %2s, run , name, _loadRtdxTextMemSeg"}} else {" .%1L_text: {} , name"})     prop _rtdxDataSeg :: RTDX.DATAMEMSEG     prop _rtdxTextSeg :: MEM.RTDXTEXTMEMSEG     prop _loadRtdxTextMemSeg :: MEM.LOADRTDXTEXTMEMSEG     prop _placement :: (0x7fffffff / 2)     prop _objSize :: RTDX.BUFMEMSIZE     prop GenLinkPrologue :: (if self.USERTDX {"_RTDX_interrupt_mask = 0x%1x;n, _interruptMask"} else {""})     prop _interruptMask :: RTDX.MASK     prop cGen :: 1     prop noObjectAlias :: 1     prop cHeaderName :: if self.gNumOf > 0 {"rtdx.h"} else {""}     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {if (self.iChannelMode == "output") {"extern far RTDX_outputChannel %0r;n"} else {"extern far RTDX_inputChannel %0r;n"}} else {if (self.iChannelMode == "output") {"extern RTDX_outputChannel %0r;n"} else {"extern RTDX_inputChannel %0r;n"}})     prop cGenCInst :: (if (self.iChannelMode == "output") {"RTDX_CreateOutputChannel(%0r);n"} else {"RTDX_CreateInputChannel(%0r);n"})     prop dataSize :: ($d = 0, if (self.USERTDX) {$d = RTDX.BUFMEMSIZE} else {$d = 0}, scan ($a; RTDX) {if ($a.iChannelMode == "output") {$d += 1} else {$d += 3}}, $d)     prop localCanCreate :: ($e = "ok", if (RTDX.USERTDX != 1) {$e = self.error("RTDX manager not enabled")} , $e)     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global USERTDX :: 1 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Real-Time Data Exchange (RTDX)"         prop JSName :: "ENABLERTDX"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 == 0) {if (HST.LNKTYPE == "RTDX") {self.error("RTDX is being used by HST; select a different host link type before attempting to disable RTDX")} else {if (self.gNumOf > 0) {self.error("Cannot disable RTDX until all RTDX objects are deleted.")} else {GlobalStatus.gDirty = 1, self.USERTDX = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok"}}} else {if ((GBL.DSPTYPE == 55) && (GBL.MEMORYMODEL == "HUGE")) {self.error("RTDX NOT enabled. Not supported for huge model")} else {GlobalStatus.gDirty = 1, self.USERTDX = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok"}})     }     global USERTEXECUTION :: = 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Enable Real-Time Execution Control"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global RTDXTYPE :: "Simulator" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "JTAG,HSRTDX,Simulator"         prop Label :: "RTDX Mode"         prop JSName :: "MODE"         prop Visible :: 1         prop Writable :: self.USERTDX         prop NoGen :: 0         prop Set :: (self.RTDXTYPE = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok")     }     global DATAMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "RTDX Data Segment (.rtdx_data)"         prop JSName :: "RTDXDATASEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     global BUFMEMSIZE :: = (256 + 2) * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x02         prop Label :: "RTDX Buffer Size (MAUs)"         prop JSName :: "BUFSIZE"         prop Visible :: 1         prop Writable :: self.USERTDX         prop NoGen :: 0         prop Set :: (if (HST.RTDX == 0) {self.BUFMEMSIZE = $1, GlobalStatus.gDirty = 1, "ok"} else {if ($1 < (HST.MAXFRAMESET + 3) * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) {self.error("size (in MAUs) must be at least: (largest configured HST channel framesize in words + 3) * (MAUs per word)")} else {self.BUFMEMSIZE = $1, GlobalStatus.gDirty = 1, if (HST.LNKTYPE == "RTDX") {HST.MAXFRAMEALLOWED = (self.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 3, "ok"} else {"ok"}}})     }     global TEXTMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.codeMember($1)         prop Label :: "RTDX Text Segment (.rtdx_text)"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     global MASK :: 0 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Format :: "0x%08x"         prop Style :: 0x02         prop Label :: "RTDX Interrupt Mask"         prop JSName :: "INTERRUPTMASK"         prop Visible :: 1         prop Writable :: self.USERTDX         prop NoGen :: 1         prop Set :: (self.MASK = $1, "ok")     }     global CALLBACKOBJ :: HWI {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iChannelMode :: "output" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Channel Mode"         prop JSName :: "channelMode"         prop Enum :: "input,output"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (GlobalStatus.gDirty = 1, self.iChannelMode = $1, "ok")     } } type HST {     isa ObjectMgr     prop name :: "HST"     prop Label :: "HST - Host Channel Manager"     prop IsContainedIn :: IOF     prop DependsOn :: "HWI"     prop FileStream :: 1     prop GlobalIcon :: 107     prop InstanceIcon :: 108     prop GlobalHelpTopic :: (104)     prop InstanceHelpTopic :: (204)     prop maxObjs :: (GBL.DSPWORDSIZE)     prop dataSize :: ($b = 0, scan ($i; HST) {if ($i.IsConfObj()) {$b += (12 + $i.framesize) * $i.numframes + PIP.OBJSIZE + self.objectSize()} }, $b)     prop InstancePropertyPage :: ("{B7240DEA-AA51-11cf-9BFE-0000C0AC14C8}")     prop GlobalPropertyPage :: ("{B7240DEB-AA51-11cf-9BFE-0000C0AC14C8}")     prop localCreate :: (PIP.gNumEmbed += 1, if (self.gNumOf == 0) {(LNK_dataPump.Create("HST"))} , "ok")     prop localDelete :: (PIP.gNumEmbed -= 1, $b = 0, scan ($i; HST) {if ($i != self) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } } }, self.MAXFRAMESET = $b, if (self.gNumOf == 1) {(LNK_dataPump.Delete("HST"))} , "ok")     prop GenLinkPrologue :: (if (self.LNKTYPE == "RTDX") {"_LNK_dspFrameReadyMask = LNK_dspFrameReadyMask; n_LNK_dspFrameRequestMask = LNK_dspFrameRequestMask; n_LNK_readDone = LNK_readDone; n_LNK_readFail = LNK_readFail; n_LNK_readPend = LNK_readPend; n_LNK_writeFail = LNK_writeFail;"} )     prop AllocType :: ("2, _globalAllocDesc, _memSeg, _placement,        _dsmAllocDesc, _dsmMemSeg, _placement")     prop _globalAllocDesc :: ("%8t .%1L: {%12tn  %1U_A_TABBEG = .;n _%1U_A_TABBEG = .;n %2Sn %1U_A_TABEND = .;n _%1U_A_TABEND = .;n  %1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;n _%1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;%8tn }, name, _linkString, _objSize")     prop objectSize :: (if (GBL.DSPTYPE == 28) {$a = (10 * 4)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "LARGE") {$a = (8 * 4)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "HUGE") {$a = (8 * 4)} , if (GBL.DSPTYPE == 55 && GBL.MEMORYMODEL == "SMALL") {$a = (6 * 4)} , if (GBL.DSPTYPE == 54 || GBL.DSPTYPE == 62) {$a = (5 * 4)} , $a)     prop _dsmAllocDesc :: ("%8t .dsm: {}")     prop _placement :: (0x7fffffff / 2)     prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")     prop _instAllocDesc :: ("/* %0s buffer */n.hst%2d: %3S, name, _objId, _alignString, _objAlign")     prop _alignString :: if self.bufalign > 1 {"align = 0x%4x {}"} else {""}     prop _objId :: self.iId     prop _objAlign :: self.bufalign     prop _objMemSeg :: self.bufseg     prop _linkString :: if (self.gNumOf + self.gNumEmbed) > 0 {"*(.%1L)"} else {"/* no %1U objects */"}     prop _memSeg :: HST.OBJMEMSEG     prop _dsmMemSeg :: HST.DSMBUFSEG     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * self.objectSize())} else {self.objectSize()}     prop cGen :: 1     prop cHeaderName :: if self.gNumOf > 0 {"hst.h"} else {""}     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far HST_Obj %0r;n"} else {"extern HST_Obj %0r;n"})     prop modifiable :: ((if self.iDelUser == "USER" {1} else {0}))     global gUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gSetOf :: 3 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumOf :: 2 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gDirty :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInitFlag :: 1 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global gNumEmbed :: 0 {          prop NoGen :: 1     }     global OBJMEMSEG :: IRAM {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Object Memory"         prop JSName :: "OBJMEMSEG"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     global LNKTYPE :: "RTDX" {          prop Label :: "Host Link Type"         prop JSName :: "HOSTLINKTYPE"         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Enum :: "RTDX,NONE"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1         prop Set :: (if ($1 == "RTDX") {if (RTDX.USERTDX == 0) {if ((GBL.DSPTYPE == 55) && (GBL.MEMORYMODEL == "HUGE")) {self.error(" HOSTLINKTYPE cannot be RTDX for huge model")} else {self.error("RTDX module must be enabled before it can be used by HST")}} else {if ((RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 2 < self.MAXFRAMESET) {self.error("RTDX buffer size too small for largest configured HST channel")} else {if (self.LNKTYPE == "NONE") {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, self.MAXFRAMEALLOWED = (RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 3, "ok"} else {self.LNKTYPE = $1, self.MAXFRAMEALLOWED = (RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 3, "ok"}}}} else {if ($1 == "Shared Memory") {if ((self.DSMMEMSIZE / 4) < self.MAXFRAMESET) {self.error("Shared memory buffer too small for largest configured HST channel")} else {if (self.LNKTYPE == "NONE") {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"} else {self.LNKTYPE = $1, self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"}}} else {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, "ok"}})     }     global RTDX :: = if self.LNKTYPE == "RTDX" {1} else {0} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use RTDX for host link"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global DSM :: = if self.LNKTYPE == "Shared Memory" {1} else {0} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use Shared Memory for host link"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global EVM54 :: = if self.LNKTYPE == "EVM54" {1} else {0} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Use EVM54's I/O ports for host link"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     global NONE :: = if self.LNKTYPE == "NONE" {1} else {0} {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "No host link"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     global MAXFRAMESET :: 64 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAXFRAMESET"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global MAXFRAMEALLOWED :: 255 {          prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"         prop Label :: "MAXFRAMEALLOWED"         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 0     }     global DSMBUFSEG :: = self.OBJMEMSEG {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Label :: "Shared Memory Segment"         prop Visible :: 0         prop Writable :: self.DSM         prop NoGen :: 0     }     global DSMMEMSIZE :: = 1024 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01 | 0x02         prop Label :: "Shared Memory Frame Size (MAUs)"         prop Visible :: 0         prop Writable :: self.DSM         prop NoGen :: 0         prop Set :: (if ($1 < HST.MAXFRAMESET * 4) {self.error("size (in MAUs) must be at least: 4 * largest configured HST channel framesize (in words)")} else {self.DSMMEMSIZE = $1, GlobalStatus.gDirty = 1, if (self.LNKTYPE == "Shared Memory") {self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"} else {"ok"}})     }     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "comment"         prop JSName :: "comment"         prop Visible :: 1         prop Writable :: if self.iDelUser == "USER" {1} else {0}         prop NoGen :: 1     }     inst iIsUsed :: 0 {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iId :: 0 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop Visible :: 0         prop Writable :: 1         prop NoGen :: 1     }     inst iDelUser :: "USER" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst iDelMsg :: "ok" {          prop Visible :: 0         prop Writable :: 0         prop NoGen :: 1     }     inst mode :: "output" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop JSName :: "mode"         prop Enum :: "input,output"         prop Visible :: 1         prop Writable :: self.modifiable()         prop NoGen :: 0     }     inst bufseg :: = self.OBJMEMSEG {          prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"         prop Label :: "bufseg"         prop JSName :: "bufSeg"         prop MemberType :: MEM         prop MemberTest :: MEM.dataMember($1)         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 1     }     inst bufalign :: 4 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01 | 0x02         prop JSName :: "bufAlign"         prop Visible :: 1         prop Writable :: self.modifiable()         prop NoGen :: 1         prop Set :: (if ($1 < 4) {self.error("Alignment must be greater than or equal to 4")} else {if (($1 % 2) != 0) {self.error("Alignment must be a power of 2")} else {$i = $1, while ((($i % 2) == 0) && ($i != 2)) {$i = $i / 2}, if (($i % 2) != 0) {self.error("Alignment must be a power of 2")} else {self.bufalign = $1, "ok"}}})     }     inst buf :: "<NULL>" {          prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     inst framesize :: 0x80 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "framesize (words)"         prop JSName :: "frameSize"         prop Style :: 0x01 | 0x02         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0         prop Set :: (if ($1 < 1) {self.error("framesize must be >= 1.")} else {if (($1 > self.MAXFRAMEALLOWED) && ((self.RTDX == 1) || (self.DSM == 1))) {if (self.RTDX == 1) {self.error("size (in words) is limited to: (RTDX buffer size in MAUs) / (MAUs per word) - 3")} else {self.error("size (in words) is limited to: shared memory frame size (in MAUs)/4")}} else {self.framesize = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, GlobalStatus.gDirty = 1, "ok"}})     }     inst numframes :: 2 {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Style :: 0x01         prop JSName :: "numFrames"         prop Visible :: 1         prop Writable :: self.modifiable()         prop NoGen :: 0         prop Set :: (if ($1 < 1) {self.error("Channels must contain at least 1 frame.")} else {GlobalStatus.gDirty = 1, self.numframes = $1, "ok"})     }     inst stsflg :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "statistics"         prop JSName :: "statistics"         prop Visible :: 1         prop Writable :: 1         prop NoGen :: 0     }     inst notify :: @_FXN_F_nop {          prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "notifyFxn"         prop Visible :: 1         prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})         prop NoGen :: 0         prop TabName :: "Notify Function"     }     inst arg0 :: 0 {          prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "arg0"         prop Visible :: 1         prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})         prop NoGen :: 0         prop TabName :: "Notify Function"     }     inst arg1 :: 0 {          prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"         prop JSName :: "arg1"         prop Visible :: 1         prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})         prop NoGen :: 0         prop TabName :: "Notify Function"     }     inst lnk :: = if self.RTDX {"RTDX"} else {"NOTRTDX"} {          prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "link type"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     }     inst iDHLAvailable :: 0 {          prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"         prop Label :: "Make this channel available for a new DHL device"         prop JSName :: "availableForDHL"         prop Set :: (if (($1 == 0) && (self.iDHLAvailable == 1)) {DHL.gChannelsAvailable--} else {if (($1 == 1) && (self.iDHLAvailable == 0)) {DHL.gChannelsAvailable++} }, self.iDHLAvailable = $1, "ok")         prop Writable :: self.modifiable()         prop Visible :: 1         prop NoGen :: 1     }     inst bufFrameAlign :: = self.bufalign {          prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"         prop Visible :: 0         prop Writable :: 0         prop NoGen :: 0     } } object LNK_dataPump :: IDL {     param iComment :: "This object cannot be deleted"     param iIsUsed :: 1     param iId :: 0     param iDelUser :: "HST"     param iDelMsg :: "This object cannot be deleted"     param function :: @LNK_F_dataPump     param cycles :: 0     param calibration :: 1     param Order :: 0     param iPri :: 0 } object RTA_dispatcher :: IDL {     param iComment :: "This object cannot be deleted"     param iIsUsed :: 1     param iId :: 0     param iDelUser :: "HST"     param iDelMsg :: "This object cannot be deleted"     param function :: @RTA_F_dispatch     param cycles :: 0     param calibration :: 1     param Order :: 0     param iPri :: 0 } object RTA_fromHost :: HST {     param iComment :: "Used to access LOG and STS data"     param iIsUsed :: 1     param iId :: 1     param iDelUser :: "HST"     param iDelMsg :: "This object cannot be deleted"     param mode :: "input"     param bufseg :: IRAM     param bufalign :: 4     param buf :: "<NULL>"     param framesize :: 4     param numframes :: 1     param stsflg :: 0     param notify :: @_FXN_F_nop     param arg0 :: 0     param arg1 :: 0     param iDHLAvailable :: 0 } object RTA_toHost :: HST {     param iComment :: "Used to access LOG and STS data"     param iIsUsed :: 1     param iId :: 0     param iDelUser :: "HST"     param iDelMsg :: "This object cannot be deleted"     param mode :: "output"     param bufseg :: IRAM     param bufalign :: 4     param buf :: "<NULL>"     param framesize :: 64     param numframes :: 1     param stsflg :: 0     param notify :: @_FXN_F_nop     param arg0 :: 0     param arg1 :: 0     param iDHLAvailable :: 0 } type HWI {     isa ObjectMgr     prop name :: "HWI"     prop Label :: "HWI - Hardware Interrupt Service Routine Manager"     prop IsContainedIn :: SCH     prop SortChildHierView :: 0     prop GlobalIcon :: 109     prop InstanceIcon :: 110     prop InstanceHelpTopic :: (205)     prop GlobalHelpTopic :: (105)     prop dataSize :: (0 * HWI.gNumOf)     prop localCanCreate :: (self.error("New hardware interrupt objects cannot be created"))     prop InstancePropertyPage :: ("{B7240DE6-AA51-11cf-9BFE-0000C0AC14C7}")     prop GlobalPropertyPage :: ("{B7240DE7-AA51-11cf-9BFE-0000C0AC14C7}")     prop DependsOn :: "GBL,OBJ,BUF,CLK,IDL,LCK,LOG,MBX,MEM,PIP,POOL,PRD,QUE,RTDX,SEM,STS,SYS"     prop AllocType :: (if self.ZEROTAB {"1,   _stubsAllocDesc,        _memSeg,        _placement"} else {if ((MEM.ENABLELOADSEG) && (MEM.VECMEMSEG != MEM.LOADVECMEMSEG)) {"2,       _stubsAllocDesc,        _memSeg,        _placement,