evmdm642_echo.cdb
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:1015k
源码类别:

DSP编程

开发平台:

C/C++

  1. object External_Pin_5 :: ISRC {
  2.     param iComment :: "<add comments here>"
  3.     param iIsUsed :: 0
  4.     param iId :: 0
  5.     param iDelUser :: "USER"
  6.     param iDelMsg :: "ok"
  7.     param iHwi :: HWI_INT5
  8.     param iIntrSelectNum :: 5
  9. }
  10. object External_Pin_6 :: ISRC {
  11.     param iComment :: "<add comments here>"
  12.     param iIsUsed :: 0
  13.     param iId :: 0
  14.     param iDelUser :: "USER"
  15.     param iDelMsg :: "ok"
  16.     param iHwi :: HWI_INT6
  17.     param iIntrSelectNum :: 6
  18. }
  19. object External_Pin_7 :: ISRC {
  20.     param iComment :: "<add comments here>"
  21.     param iIsUsed :: 0
  22.     param iId :: 0
  23.     param iDelUser :: "USER"
  24.     param iDelMsg :: "ok"
  25.     param iHwi :: HWI_INT7
  26.     param iIntrSelectNum :: 7
  27. }
  28. object EDMA_Controller :: ISRC {
  29.     param iComment :: "<add comments here>"
  30.     param iIsUsed :: 0
  31.     param iId :: 0
  32.     param iDelUser :: "USER"
  33.     param iDelMsg :: "ok"
  34.     param iHwi :: HWI_INT8
  35.     param iIntrSelectNum :: 8
  36. }
  37. object HSRTDX11 :: ISRC {
  38.     param iComment :: "<add comments here>"
  39.     param iIsUsed :: 0
  40.     param iId :: 0
  41.     param iDelUser :: "USER"
  42.     param iDelMsg :: "ok"
  43.     param iHwi :: HWI_INT11
  44.     param iIntrSelectNum :: 10
  45. }
  46. object HSRTDX12 :: ISRC {
  47.     param iComment :: "<add comments here>"
  48.     param iIsUsed :: 0
  49.     param iId :: 0
  50.     param iDelUser :: "USER"
  51.     param iDelMsg :: "ok"
  52.     param iHwi :: HWI_INT12
  53.     param iIntrSelectNum :: 11
  54. }
  55. object MCSP_0_Transmit :: ISRC {
  56.     param iComment :: "<add comments here>"
  57.     param iIsUsed :: 0
  58.     param iId :: 0
  59.     param iDelUser :: "USER"
  60.     param iDelMsg :: "ok"
  61.     param iHwi :: HWI_UNUSED
  62.     param iIntrSelectNum :: 12
  63. }
  64. object MCSP_0_Receive :: ISRC {
  65.     param iComment :: "<add comments here>"
  66.     param iIsUsed :: 0
  67.     param iId :: 0
  68.     param iDelUser :: "USER"
  69.     param iDelMsg :: "ok"
  70.     param iHwi :: HWI_UNUSED
  71.     param iIntrSelectNum :: 13
  72. }
  73. object MCSP_1_Transmit :: ISRC {
  74.     param iComment :: "<add comments here>"
  75.     param iIsUsed :: 0
  76.     param iId :: 0
  77.     param iDelUser :: "USER"
  78.     param iDelMsg :: "ok"
  79.     param iHwi :: HWI_UNUSED
  80.     param iIntrSelectNum :: 14
  81. }
  82. object MCSP_1_Receive :: ISRC {
  83.     param iComment :: "<add comments here>"
  84.     param iIsUsed :: 0
  85.     param iId :: 0
  86.     param iDelUser :: "USER"
  87.     param iDelMsg :: "ok"
  88.     param iHwi :: HWI_UNUSED
  89.     param iIntrSelectNum :: 15
  90. }
  91. object HPI_PCI_to_DSP :: ISRC {
  92.     param iComment :: "<add comments here>"
  93.     param iIsUsed :: 0
  94.     param iId :: 0
  95.     param iDelUser :: "USER"
  96.     param iDelMsg :: "ok"
  97.     param iHwi :: HWI_UNUSED
  98.     param iIntrSelectNum :: 0
  99. }
  100. object EMIFA_SDRAM_Timer :: ISRC {
  101.     param iComment :: "<add comments here>"
  102.     param iIsUsed :: 0
  103.     param iId :: 0
  104.     param iDelUser :: "USER"
  105.     param iDelMsg :: "ok"
  106.     param iIntrSelectNum :: 3
  107. }
  108. object GPIO_Interrupt_4 :: ISRC {
  109.     param iComment :: "<add comments here>"
  110.     param iIsUsed :: 0
  111.     param iId :: 0
  112.     param iDelUser :: "USER"
  113.     param iDelMsg :: "ok"
  114.     param iHwi :: HWI_INT4
  115.     param iIntrSelectNum :: 4
  116. }
  117. object GPIO_Interrupt_5 :: ISRC {
  118.     param iComment :: "<add comments here>"
  119.     param iIsUsed :: 0
  120.     param iId :: 0
  121.     param iDelUser :: "USER"
  122.     param iDelMsg :: "ok"
  123.     param iHwi :: HWI_INT5
  124.     param iIntrSelectNum :: 5
  125. }
  126. object GPIO_Interrupt_6 :: ISRC {
  127.     param iComment :: "<add comments here>"
  128.     param iIsUsed :: 0
  129.     param iId :: 0
  130.     param iDelUser :: "USER"
  131.     param iDelMsg :: "ok"
  132.     param iHwi :: HWI_INT6
  133.     param iIntrSelectNum :: 6
  134. }
  135. object GPIO_Interrupt_7 :: ISRC {
  136.     param iComment :: "<add comments here>"
  137.     param iIsUsed :: 0
  138.     param iId :: 0
  139.     param iDelUser :: "USER"
  140.     param iDelMsg :: "ok"
  141.     param iHwi :: HWI_INT7
  142.     param iIntrSelectNum :: 7
  143. }
  144. object EDMA_Interrupt :: ISRC {
  145.     param iComment :: "<add comments here>"
  146.     param iIsUsed :: 0
  147.     param iId :: 0
  148.     param iDelUser :: "USER"
  149.     param iDelMsg :: "ok"
  150.     param iHwi :: HWI_INT8
  151.     param iIntrSelectNum :: 8
  152. }
  153. object JTAGRTDX9 :: ISRC {
  154.     param iComment :: "<add comments here>"
  155.     param iIsUsed :: 0
  156.     param iId :: 0
  157.     param iDelUser :: "USER"
  158.     param iDelMsg :: "ok"
  159.     param iHwi :: HWI_UNUSED
  160.     param iIntrSelectNum :: 9
  161. }
  162. object EMU_DTDMA :: ISRC {
  163.     param iComment :: "<add comments here>"
  164.     param iIsUsed :: 0
  165.     param iId :: 0
  166.     param iDelUser :: "USER"
  167.     param iDelMsg :: "ok"
  168.     param iHwi :: HWI_INT9
  169.     param iIntrSelectNum :: 9
  170. }
  171. object EMU_RTDX_RX :: ISRC {
  172.     param iComment :: "<add comments here>"
  173.     param iIsUsed :: 0
  174.     param iId :: 0
  175.     param iDelUser :: "USER"
  176.     param iDelMsg :: "ok"
  177.     param iHwi :: HWI_INT10
  178.     param iIntrSelectNum :: 10
  179. }
  180. object EMU_RTDX_TX :: ISRC {
  181.     param iComment :: "<add comments here>"
  182.     param iIsUsed :: 0
  183.     param iId :: 0
  184.     param iDelUser :: "USER"
  185.     param iDelMsg :: "ok"
  186.     param iHwi :: HWI_INT11
  187.     param iIntrSelectNum :: 11
  188. }
  189. object GPIO_Interrupt_0 :: ISRC {
  190.     param iComment :: "<add comments here>"
  191.     param iIsUsed :: 0
  192.     param iId :: 0
  193.     param iDelUser :: "USER"
  194.     param iDelMsg :: "ok"
  195.     param iHwi :: HWI_UNUSED
  196.     param iIntrSelectNum :: 16
  197. }
  198. object MCSP_2_Transmit :: ISRC {
  199.     param iComment :: "<add comments here>"
  200.     param iIsUsed :: 0
  201.     param iId :: 0
  202.     param iDelUser :: "USER"
  203.     param iDelMsg :: "ok"
  204.     param iHwi :: HWI_UNUSED
  205.     param iIntrSelectNum :: 17
  206. }
  207. object MCSP_2_Receive :: ISRC {
  208.     param iComment :: "<add comments here>"
  209.     param iIsUsed :: 0
  210.     param iId :: 0
  211.     param iDelUser :: "USER"
  212.     param iDelMsg :: "ok"
  213.     param iHwi :: HWI_UNUSED
  214.     param iIntrSelectNum :: 18
  215. }
  216. object Timer_2 :: ISRC {
  217.     param iComment :: "<add comments here>"
  218.     param iIsUsed :: 0
  219.     param iId :: 0
  220.     param iDelUser :: "USER"
  221.     param iDelMsg :: "ok"
  222.     param iHwi :: HWI_UNUSED
  223.     param iIntrSelectNum :: 19
  224. }
  225. object EMIFB_SDRAM_Timer :: ISRC {
  226.     param iComment :: "<add comments here>"
  227.     param iIsUsed :: 0
  228.     param iId :: 0
  229.     param iDelUser :: "USER"
  230.     param iDelMsg :: "ok"
  231.     param iHwi :: HWI_UNUSED
  232.     param iIntrSelectNum :: 20
  233. }
  234. object PCI_WAKEUP :: ISRC {
  235.     param iComment :: "<add comments here>"
  236.     param iIsUsed :: 0
  237.     param iId :: 0
  238.     param iDelUser :: "USER"
  239.     param iDelMsg :: "ok"
  240.     param iHwi :: HWI_UNUSED
  241.     param iIntrSelectNum :: 21
  242. }
  243. object ICINT0 :: ISRC {
  244.     param iComment :: "<add comments here>"
  245.     param iIsUsed :: 0
  246.     param iId :: 0
  247.     param iDelUser :: "USER"
  248.     param iDelMsg :: "ok"
  249.     param iIntrSelectNum :: 22
  250. }
  251. object UTOPIA_Interrupt :: ISRC {
  252.     param iComment :: "<add comments here>"
  253.     param iIsUsed :: 0
  254.     param iId :: 0
  255.     param iDelUser :: "USER"
  256.     param iDelMsg :: "ok"
  257.     param iHwi :: HWI_UNUSED
  258.     param iIntrSelectNum :: 23
  259. }
  260. object EMAC_MDIO_INT :: ISRC {
  261.     param iComment :: "<add comments here>"
  262.     param iIsUsed :: 0
  263.     param iId :: 0
  264.     param iDelUser :: "USER"
  265.     param iDelMsg :: "ok"
  266.     param iIntrSelectNum :: 24
  267. }
  268. object VPINT0 :: ISRC {
  269.     param iComment :: "<add comments here>"
  270.     param iIsUsed :: 0
  271.     param iId :: 0
  272.     param iDelUser :: "USER"
  273.     param iDelMsg :: "ok"
  274.     param iIntrSelectNum :: 25
  275. }
  276. object VPINT1 :: ISRC {
  277.     param iComment :: "<add comments here>"
  278.     param iIsUsed :: 0
  279.     param iId :: 0
  280.     param iDelUser :: "USER"
  281.     param iDelMsg :: "ok"
  282.     param iIntrSelectNum :: 26
  283. }
  284. object VPINT2 :: ISRC {
  285.     param iComment :: "<add comments here>"
  286.     param iIsUsed :: 0
  287.     param iId :: 0
  288.     param iDelUser :: "USER"
  289.     param iDelMsg :: "ok"
  290.     param iIntrSelectNum :: 27
  291. }
  292. object AXINT0 :: ISRC {
  293.     param iComment :: "<add comments here>"
  294.     param iIsUsed :: 0
  295.     param iId :: 0
  296.     param iDelUser :: "USER"
  297.     param iDelMsg :: "ok"
  298.     param iIntrSelectNum :: 28
  299. }
  300. object ARINT0 :: ISRC {
  301.     param iComment :: "<add comments here>"
  302.     param iIsUsed :: 0
  303.     param iId :: 0
  304.     param iDelUser :: "USER"
  305.     param iDelMsg :: "ok"
  306.     param iIntrSelectNum :: 29
  307. }
  308. type LOG {
  309.     isa ObjectMgr
  310.     prop name :: "LOG"
  311.     prop Label :: "LOG - Event Log Manager"
  312.     prop IsContainedIn :: INS
  313.     prop GlobalIcon :: 113
  314.     prop InstanceIcon :: 114
  315.     prop InstanceHelpTopic :: (207)
  316.     prop GlobalHelpTopic :: (107)
  317.     prop InstancePropertyPage :: ("{B7240DE8-AA51-11cf-9BFE-0000C0AC14C7}")
  318.     prop GlobalPropertyPage :: ("{B7240DE9-AA51-11cf-9BFE-0000C0AC14C7}")
  319.     prop maxObjs :: (32767)
  320.     prop AllocType :: ("2, _globalAllocDesc, _memSeg, _placement, _printfAllocDesc, _memSeg, _placement")
  321.     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")
  322.     prop _printfAllocDesc :: ("%8t .printf (COPY): {}")
  323.     prop _placement :: (0x7fffffff / 2)
  324.     prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")
  325.     prop _fillValue :: if GBL.DSPWORDSIZE == 16 {0xffff} else {0xffffffff}
  326.     prop _instAllocDesc :: ("%8t /* %0s buffer */n .%0s$buf: align = 0x%1x fill = 0x%2x {}, _objAlign, _fillValue")
  327.     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * (6 * 4))} else {(6 * 4)}
  328.     prop _memSeg :: LOG.OBJMEMSEG
  329.     prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  330.     prop _objAlign :: if GBL.DSPTYPE == 55 {self.buflen * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * 2} else {self.buflen * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)}
  331.     prop _objMemSeg :: self.bufseg
  332.     prop LogType :: self.iType
  333.     prop LogFormat :: self.iFormat
  334.     prop cGen :: 1
  335.     prop cHeaderName :: if self.gNumOf > 0 {"log.h"} else {""}
  336.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far LOG_Obj %0r;n"} else {"extern LOG_Obj %0r;n"})
  337.     prop dataSize :: ($d = 0, scan ($i; LOG) {if ($i.IsConfObj()) {$d += $i.buflen} , $d += (6 * 4)}, $d)
  338.     global gUser :: "USER" { 
  339.         prop Visible :: 0
  340.         prop Writable :: 0
  341.         prop NoGen :: 1
  342.     }
  343.     global gSetOf :: 0 { 
  344.         prop Visible :: 0
  345.         prop Writable :: 0
  346.         prop NoGen :: 1
  347.     }
  348.     global gNumOf :: 2 { 
  349.         prop Visible :: 0
  350.         prop Writable :: 0
  351.         prop NoGen :: 1
  352.     }
  353.     global gDirty :: 1 { 
  354.         prop Visible :: 0
  355.         prop Writable :: 0
  356.         prop NoGen :: 1
  357.     }
  358.     global gInitFlag :: 1 { 
  359.         prop Visible :: 0
  360.         prop Writable :: 0
  361.         prop NoGen :: 1
  362.     }
  363.     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) { 
  364.         prop Visible :: 0
  365.         prop Writable :: 0
  366.         prop NoGen :: 1
  367.     }
  368.     global OBJMEMSEG :: SDRAM { 
  369.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  370.         prop MemberType :: MEM
  371.         prop MemberTest :: MEM.dataMember($1)
  372.         prop Label :: "Object Memory"
  373.         prop JSName :: "OBJMEMSEG"
  374.         prop Visible :: 1
  375.         prop Writable :: 1
  376.         prop NoGen :: 1
  377.     }
  378.     global ENABLED :: 1 { 
  379.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  380.         prop Label :: "Compile in logging"
  381.         prop Visible :: 0
  382.         prop Writable :: 0
  383.         prop NoGen :: 0
  384.     }
  385.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  386.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  387.         prop Label :: "comment"
  388.         prop JSName :: "comment"
  389.         prop Visible :: 1
  390.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  391.         prop NoGen :: 1
  392.     }
  393.     inst iIsUsed :: 0 { 
  394.         prop Visible :: 0
  395.         prop Writable :: 0
  396.         prop NoGen :: 1
  397.     }
  398.     inst iId :: 0 { 
  399.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  400.         prop Style :: 0x01
  401.         prop Visible :: 0
  402.         prop Writable :: 1
  403.         prop NoGen :: 1
  404.     }
  405.     inst iDelUser :: "USER" { 
  406.         prop Visible :: 0
  407.         prop Writable :: 0
  408.         prop NoGen :: 1
  409.     }
  410.     inst iDelMsg :: "ok" { 
  411.         prop Visible :: 0
  412.         prop Writable :: 0
  413.         prop NoGen :: 1
  414.     }
  415.     inst bufseg :: = self.OBJMEMSEG { 
  416.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  417.         prop MemberType :: MEM
  418.         prop MemberTest :: MEM.dataMember($1)
  419.         prop Label :: "bufseg"
  420.         prop JSName :: "bufSeg"
  421.         prop Visible :: 1
  422.         prop Writable :: 1
  423.         prop NoGen :: 0
  424.     }
  425.     inst buflen :: 64 { 
  426.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  427.         prop Enum :: "0,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768"
  428.         prop Label :: "buflen (words)"
  429.         prop JSName :: "bufLen"
  430.         prop Visible :: 1
  431.         prop Writable :: 1
  432.         prop NoGen :: 0
  433.         prop Set :: (GlobalStatus.gDirty = 1, self.buflen = $1, "ok")
  434.     }
  435.     inst logtype :: "circular" { 
  436.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  437.         prop Enum :: "circular,fixed"
  438.         prop Label :: "logtype"
  439.         prop JSName :: "logType"
  440.         prop Visible :: 1
  441.         prop Writable :: 1
  442.         prop NoGen :: 0
  443.     }
  444.     inst iType :: "printf" { 
  445.         prop Label :: "datatype"
  446.         prop JSName :: "dataType"
  447.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  448.         prop Enum :: "printf,raw data"
  449.         prop Visible :: 1
  450.         prop Writable :: if self.iType == "system" {0} else {1}
  451.         prop NoGen :: 1
  452.     }
  453.     inst iFormat :: "0x%x, 0x%x, 0x%x" { 
  454.         prop Label :: "format"
  455.         prop JSName :: "format"
  456.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  457.         prop Visible :: 1
  458.         prop Writable :: if self.iType == "raw data" {1} else {0}
  459.         prop NoGen :: 1
  460.     }
  461. }
  462. object LOG_system :: LOG {
  463.     param iComment :: "This object is required by the system to accumulate execution trace information"
  464.     param iIsUsed :: 1
  465.     param iId :: 0
  466.     param iDelUser :: "LOG"
  467.     param iDelMsg :: "LOG_system is a system log and cannot be deleted."
  468.     param buflen :: 1024
  469.     param logtype :: "circular"
  470.     param iType :: "system"
  471.     param iFormat :: "0x%x, 0x%x, 0x%x"
  472. }
  473. type PIP {
  474.     isa ObjectMgr
  475.     prop Label :: "PIP - Buffered Pipe Manager"
  476.     prop IsContainedIn :: IOF
  477.     prop GlobalIcon :: 117
  478.     prop InstanceIcon :: 118
  479.     prop GlobalHelpTopic :: (109)
  480.     prop InstanceHelpTopic :: (209)
  481.     prop name :: "PIP"
  482.     prop maxObjs :: (32767)
  483.     prop dataSize :: ($b = 0, scan ($i; PIP) {if ($i.IsConfObj()) {$b += (12 + $i.framesize) * $i.numframes + 100} }, $b)
  484.     prop InstancePropertyPage :: ("{B7240DF0-AA51-11cf-9BFE-0000C0AC14C8}")
  485.     prop GlobalPropertyPage :: ("{B7240DF1-AA51-11cf-9BFE-0000C0AC14C8}")
  486.     prop localCreate :: ("ok")
  487.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _placement")
  488.     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")
  489.     prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")
  490.     prop _instAllocDesc :: (if self.bufalign > 1 {"%8t /* %0s buffer */n .pip%1d: align = 0x%2x {}, _objId, _objAlign"} else {"%8t /* %0s buffer */n .pip%1d: {}, _objId"})
  491.     prop _placement :: (0x7fffffff / 2)
  492.     prop _objId :: self.iId
  493.     prop _objAlign :: self.bufalign * 4
  494.     prop _objMemSeg :: self.bufseg
  495.     prop _linkString :: if (self.gNumOf + self.gNumEmbed) > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  496.     prop _memSeg :: PIP.OBJMEMSEG
  497.     prop _objSize :: 100
  498.     prop mkId :: (self.iId = self.gNextId++, self.gNumOf++, self.iId)
  499.     prop cGen :: 1
  500.     prop cHeaderName :: if self.gNumOf > 0 {"pip.h"} else {""}
  501.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far PIP_Obj %0r;n"} else {"extern PIP_Obj %0r;n"})
  502.     global gUser :: "USER" { 
  503.         prop Visible :: 0
  504.         prop Writable :: 0
  505.         prop NoGen :: 1
  506.     }
  507.     global gSetOf :: 0 { 
  508.         prop Visible :: 0
  509.         prop Writable :: 0
  510.         prop NoGen :: 1
  511.     }
  512.     global gNumOf :: 0 { 
  513.         prop Visible :: 0
  514.         prop Writable :: 0
  515.         prop NoGen :: 1
  516.     }
  517.     global gDirty :: 0 { 
  518.         prop Visible :: 0
  519.         prop Writable :: 0
  520.         prop NoGen :: 1
  521.     }
  522.     global gInitFlag :: 1 { 
  523.         prop Visible :: 0
  524.         prop Writable :: 0
  525.         prop NoGen :: 1
  526.     }
  527.     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) { 
  528.         prop Visible :: 0
  529.         prop Writable :: 0
  530.         prop NoGen :: 1
  531.     }
  532.     global OBJMEMSEG :: SDRAM { 
  533.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  534.         prop MemberType :: MEM
  535.         prop MemberTest :: MEM.dataMember($1)
  536.         prop Label :: "Object Memory"
  537.         prop JSName :: "OBJMEMSEG"
  538.         prop Visible :: 1
  539.         prop Writable :: 1
  540.         prop NoGen :: 1
  541.     }
  542.     global gNumEmbed :: 2 { 
  543.         prop NoGen :: 0
  544.     }
  545.     global gNextId :: 0
  546.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  547.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  548.         prop Label :: "comment"
  549.         prop JSName :: "comment"
  550.         prop Visible :: 1
  551.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  552.         prop NoGen :: 1
  553.     }
  554.     inst iIsUsed :: 0 { 
  555.         prop Visible :: 0
  556.         prop Writable :: 0
  557.         prop NoGen :: 1
  558.     }
  559.     inst iId :: 0 { 
  560.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  561.         prop Style :: 0x01
  562.         prop Visible :: 0
  563.         prop Writable :: 1
  564.         prop NoGen :: 1
  565.     }
  566.     inst iDelUser :: "USER" { 
  567.         prop Visible :: 0
  568.         prop Writable :: 0
  569.         prop NoGen :: 1
  570.     }
  571.     inst iDelMsg :: "ok" { 
  572.         prop Visible :: 0
  573.         prop Writable :: 0
  574.         prop NoGen :: 1
  575.     }
  576.     inst bufseg :: = self.OBJMEMSEG { 
  577.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  578.         prop JSName :: "bufSeg"
  579.         prop MemberType :: MEM
  580.         prop MemberTest :: MEM.dataMember($1)
  581.         prop Visible :: 1
  582.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  583.         prop NoGen :: 1
  584.     }
  585.     inst bufalign :: 1 { 
  586.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  587.         prop JSName :: "bufAlign"
  588.         prop Style :: 0x01 | 0x02
  589.         prop Visible :: 1
  590.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  591.         prop NoGen :: 1
  592.         prop Set :: ($e = "ok", if ($1 == 0) {$e = self.error("Cannot set align value to 0")} else {self.bufalign = $1}, $e)
  593.     }
  594.     inst buf :: "<NULL>" { 
  595.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  596.         prop Visible :: 0
  597.         prop Writable :: 0
  598.         prop NoGen :: 0
  599.     }
  600.     inst framesize :: 8 { 
  601.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  602.         prop Label :: "framesize (words)"
  603.         prop JSName :: "frameSize"
  604.         prop Style :: if GBL.DSPTYPE == 62 {0x02} else {0x01 | 0x02}
  605.         prop Visible :: 1
  606.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  607.         prop NoGen :: 0
  608.         prop Set :: (if ($1 < 1) {self.error("framesize must be >= 1.")} else {GlobalStatus.gDirty = 1, self.framesize = $1, "ok"})
  609.     }
  610.     inst numframes :: 2 { 
  611.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  612.         prop Style :: 0x01
  613.         prop JSName :: "numFrames"
  614.         prop Visible :: 1
  615.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  616.         prop NoGen :: 0
  617.         prop Set :: (if ($1 < 1) {self.error("Pipes must contain at least 1 frame.")} else {GlobalStatus.gDirty = 1, self.numframes = $1, "ok"})
  618.     }
  619.     inst monitor :: "reader" { 
  620.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  621.         prop JSName :: "monitor"
  622.         prop Enum :: "reader,writer,none"
  623.         prop Visible :: 1
  624.         prop Writable :: 1
  625.         prop NoGen :: 0
  626.     }
  627.     inst notifyWriter :: @_FXN_F_nop { 
  628.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  629.         prop JSName :: "notifyWriterFxn"
  630.         prop Visible :: 1
  631.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  632.         prop NoGen :: 0
  633.         prop TabName :: "Notify Functions"
  634.     }
  635.     inst nwarg0 :: 0 { 
  636.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  637.         prop JSName :: "notifyWriterArg0"
  638.         prop Visible :: 1
  639.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  640.         prop NoGen :: 0
  641.         prop TabName :: "Notify Functions"
  642.     }
  643.     inst nwarg1 :: 0 { 
  644.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  645.         prop JSName :: "notifyWriterArg1"
  646.         prop Visible :: 1
  647.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  648.         prop NoGen :: 0
  649.         prop TabName :: "Notify Functions"
  650.     }
  651.     inst notifyReader :: @_FXN_F_nop { 
  652.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  653.         prop JSName :: "notifyReaderFxn"
  654.         prop Visible :: 1
  655.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  656.         prop NoGen :: 0
  657.         prop TabName :: "Notify Functions"
  658.     }
  659.     inst nrarg0 :: 0 { 
  660.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  661.         prop JSName :: "notifyReaderArg0"
  662.         prop Visible :: 1
  663.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  664.         prop NoGen :: 0
  665.         prop TabName :: "Notify Functions"
  666.     }
  667.     inst nrarg1 :: 0 { 
  668.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  669.         prop JSName :: "notifyReaderArg1"
  670.         prop Visible :: 1
  671.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  672.         prop NoGen :: 0
  673.         prop TabName :: "Notify Functions"
  674.     }
  675.     inst bufFrameAlign :: = self._objAlign { 
  676.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  677.         prop Visible :: 0
  678.         prop Writable :: 0
  679.         prop NoGen :: 0
  680.     }
  681. }
  682. type SEM {
  683.     isa ObjectMgr
  684.     prop name :: "SEM"
  685.     prop Label :: "SEM - Semaphore Manager"
  686.     prop IsContainedIn :: SYN
  687.     prop GlobalIcon :: 137
  688.     prop InstanceIcon :: 138
  689.     prop GlobalHelpTopic :: (310)
  690.     prop InstanceHelpTopic :: (410)
  691.     prop InstancePropertyPage :: ("{D01ACC04-38DD-11d1-988B-0020AFEE33C6}")
  692.     prop GlobalPropertyPage :: ("{D01ACC05-38DD-11d1-988B-0020AFEE33C6}")
  693.     prop maxObjs :: (32767)
  694.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  695.     prop _globalAllocDesc :: ("%8t .sem: {}")
  696.     prop _placement :: (0x7fffffff / 2)
  697.     prop _memSeg :: self.OBJMEMSEG
  698.     prop dataSize :: ((8 + 3) * SEM.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  699.     prop cGen :: 1
  700.     prop cHeaderName :: if self.gNumOf > 0 {"sem.h"} else {""}
  701.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far SEM_Obj %0r;n"} else {"extern SEM_Obj %0r;n"})
  702.     global gUser :: "USER" { 
  703.         prop Visible :: 0
  704.         prop Writable :: 0
  705.         prop NoGen :: 1
  706.     }
  707.     global gSetOf :: 0 { 
  708.         prop Visible :: 0
  709.         prop Writable :: 0
  710.         prop NoGen :: 1
  711.     }
  712.     global gNumOf :: 0 { 
  713.         prop Visible :: 0
  714.         prop Writable :: 0
  715.         prop NoGen :: 1
  716.     }
  717.     global gDirty :: 0 { 
  718.         prop Visible :: 0
  719.         prop Writable :: 0
  720.         prop NoGen :: 1
  721.     }
  722.     global gInitFlag :: 1 { 
  723.         prop Visible :: 0
  724.         prop Writable :: 0
  725.         prop NoGen :: 1
  726.     }
  727.     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) { 
  728.         prop Visible :: 0
  729.         prop Writable :: 0
  730.         prop NoGen :: 1
  731.     }
  732.     global CALLBACKOBJ :: nil { 
  733.         prop Visible :: 0
  734.         prop Writable :: 0
  735.         prop NoGen :: 1
  736.     }
  737.     global OBJMEMSEG :: SDRAM { 
  738.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  739.         prop MemberType :: MEM
  740.         prop MemberTest :: MEM.dataMember($1)
  741.         prop Label :: "Object Memory"
  742.         prop JSName :: "OBJMEMSEG"
  743.         prop Visible :: 1
  744.         prop Writable :: 1
  745.         prop NoGen :: 1
  746.     }
  747.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  748.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  749.         prop Label :: "comment"
  750.         prop JSName :: "comment"
  751.         prop Visible :: 1
  752.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  753.         prop NoGen :: 1
  754.     }
  755.     inst iIsUsed :: 0 { 
  756.         prop Visible :: 0
  757.         prop Writable :: 0
  758.         prop NoGen :: 1
  759.     }
  760.     inst iId :: 0 { 
  761.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  762.         prop Style :: 0x01
  763.         prop Visible :: 0
  764.         prop Writable :: 1
  765.         prop NoGen :: 1
  766.     }
  767.     inst iDelUser :: "USER" { 
  768.         prop Visible :: 0
  769.         prop Writable :: 0
  770.         prop NoGen :: 1
  771.     }
  772.     inst iDelMsg :: "ok" { 
  773.         prop Visible :: 0
  774.         prop Writable :: 0
  775.         prop NoGen :: 1
  776.     }
  777.     inst iCount :: 0 { 
  778.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  779.         prop Style :: 0x02
  780.         prop Label :: "Initial semaphore count"
  781.         prop JSName :: "count"
  782.         prop Visible :: 1
  783.         prop Writable :: 1
  784.     }
  785. }
  786. type MBX {
  787.     isa ObjectMgr
  788.     prop name :: "MBX"
  789.     prop Label :: "MBX - Mailbox Manager"
  790.     prop IsContainedIn :: SYN
  791.     prop GlobalIcon :: 131
  792.     prop InstanceIcon :: 132
  793.     prop GlobalHelpTopic :: (307)
  794.     prop InstanceHelpTopic :: (407)
  795.     prop InstancePropertyPage :: ("{0EB45D44-38C1-11d1-988B-0020AFEE33C6}")
  796.     prop GlobalPropertyPage :: ("{0EB45D45-38C1-11d1-988B-0020AFEE33C6}")
  797.     prop maxObjs :: (32767)
  798.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} )
  799.     prop _bssAllocDesc :: ("%8t .mbx: {}")
  800.     prop _placement :: (0x7fffffff / 2)
  801.     prop _memSeg :: self.OBJMEMSEG
  802.     prop AllocInst :: ("1 _instAllocDesc, _instMemSeg, _placement")
  803.     prop _instAllocDesc :: ("%8t .%0s$que: align = 0x4 {%12tn %0s$queElems = .;n . += %1d;%8tn }, _qElemSize")
  804.     prop _instMemSeg :: self.iMbxSeg
  805.     prop _qElemSize :: (if ((GBL.DSPTYPE == 55) || (GBL.DSPTYPE == 28)) {$a = self.iMsgSize, if ($a & 0x1) {$a += 1} , (2 + $a) * self.iMbxLength * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * 2} else {(2 + self.iMsgSize) * self.iMbxLength * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)})
  806.     prop dataSize :: ($d = 0, scan ($i; MBX) {$d += (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * (($i.iMsgSize + 2) * $i.iMbxLength + 29)}, $d)
  807.     prop cGen :: 1
  808.     prop cHeaderName :: if self.gNumOf > 0 {"mbx.h"} else {""}
  809.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far MBX_Obj %0r;n"} else {"extern MBX_Obj %0r;n"})
  810.     global gUser :: "USER" { 
  811.         prop Visible :: 0
  812.         prop Writable :: 0
  813.         prop NoGen :: 1
  814.     }
  815.     global gSetOf :: 0 { 
  816.         prop Visible :: 0
  817.         prop Writable :: 0
  818.         prop NoGen :: 1
  819.     }
  820.     global gNumOf :: 0 { 
  821.         prop Visible :: 0
  822.         prop Writable :: 0
  823.         prop NoGen :: 1
  824.     }
  825.     global gDirty :: 0 { 
  826.         prop Visible :: 0
  827.         prop Writable :: 0
  828.         prop NoGen :: 1
  829.     }
  830.     global gInitFlag :: 1 { 
  831.         prop Visible :: 0
  832.         prop Writable :: 0
  833.         prop NoGen :: 1
  834.     }
  835.     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) { 
  836.         prop Visible :: 0
  837.         prop Writable :: 0
  838.         prop NoGen :: 1
  839.     }
  840.     global CALLBACKOBJ :: nil { 
  841.         prop Visible :: 0
  842.         prop Writable :: 0
  843.         prop NoGen :: 1
  844.     }
  845.     global OBJMEMSEG :: SDRAM { 
  846.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  847.         prop MemberType :: MEM
  848.         prop MemberTest :: MEM.dataMember($1)
  849.         prop Label :: "Object Memory"
  850.         prop JSName :: "OBJMEMSEG"
  851.         prop Visible :: 1
  852.         prop Writable :: 1
  853.         prop NoGen :: 1
  854.     }
  855.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  856.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  857.         prop Label :: "comment"
  858.         prop JSName :: "comment"
  859.         prop Visible :: 1
  860.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  861.         prop NoGen :: 1
  862.     }
  863.     inst iIsUsed :: 0 { 
  864.         prop Visible :: 0
  865.         prop Writable :: 0
  866.         prop NoGen :: 1
  867.     }
  868.     inst iId :: 0 { 
  869.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  870.         prop Style :: 0x01
  871.         prop Visible :: 0
  872.         prop Writable :: 1
  873.         prop NoGen :: 1
  874.     }
  875.     inst iDelUser :: "USER" { 
  876.         prop Visible :: 0
  877.         prop Writable :: 0
  878.         prop NoGen :: 1
  879.     }
  880.     inst iDelMsg :: "ok" { 
  881.         prop Visible :: 0
  882.         prop Writable :: 0
  883.         prop NoGen :: 1
  884.     }
  885.     inst iMsgSize :: 1 { 
  886.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  887.         prop Style :: 0x02
  888.         prop Label :: "Message Size"
  889.         prop JSName :: "messageSize"
  890.         prop Visible :: 1
  891.         prop Writable :: 1
  892.         prop Set :: (if ($1 == 0) {self.error("Message size cannot be zero")} else {GlobalStatus.gDirty = 1, self.iMsgSize = $1, "ok"})
  893.     }
  894.     inst iMbxLength :: 1 { 
  895.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  896.         prop Style :: 0x02
  897.         prop Label :: "Mailbox Length"
  898.         prop JSName :: "length"
  899.         prop Visible :: 1
  900.         prop Writable :: 1
  901.         prop Set :: (if ($1 == 0) {self.error("Mailbox length cannot be zero")} else {GlobalStatus.gDirty = 1, self.iMbxLength = $1, "ok"})
  902.     }
  903.     inst iMbxSeg :: MBX.OBJMEMSEG { 
  904.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  905.         prop MemberType :: MEM
  906.         prop MemberTest :: MEM.dataMember($1)
  907.         prop Label :: "Element memory segment"
  908.         prop JSName :: "elementSeg"
  909.         prop Visible :: 1
  910.         prop Writable :: 1
  911.     }
  912. }
  913. type QUE {
  914.     isa ObjectMgr
  915.     prop name :: "QUE"
  916.     prop Label :: "QUE - Atomic Queue Manager"
  917.     prop IsContainedIn :: SYN
  918.     prop GlobalIcon :: 133
  919.     prop InstanceIcon :: 134
  920.     prop IsConfMod :: 1
  921.     prop GlobalHelpTopic :: (309)
  922.     prop InstanceHelpTopic :: (409)
  923.     prop InstancePropertyPage :: ("{D01ACC01-38DD-11d1-988B-0020AFEE33C6}")
  924.     prop GlobalPropertyPage :: ("{D01ACC02-38DD-11d1-988B-0020AFEE33C6}")
  925.     prop maxObjs :: (32767)
  926.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  927.     prop _globalAllocDesc :: ("%8t .que: {}")
  928.     prop _placement :: (0x7fffffff / 2)
  929.     prop _memSeg :: self.OBJMEMSEG
  930.     prop dataSize :: (2 * QUE.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  931.     prop cGen :: 1
  932.     prop cHeaderName :: if self.gNumOf > 0 {"que.h"} else {""}
  933.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far QUE_Obj %0r;n"} else {"extern QUE_Obj %0r;n"})
  934.     global gUser :: "USER" { 
  935.         prop Visible :: 0
  936.         prop Writable :: 0
  937.         prop NoGen :: 1
  938.     }
  939.     global gSetOf :: 0 { 
  940.         prop Visible :: 0
  941.         prop Writable :: 0
  942.         prop NoGen :: 1
  943.     }
  944.     global gNumOf :: 0 { 
  945.         prop Visible :: 0
  946.         prop Writable :: 0
  947.         prop NoGen :: 1
  948.     }
  949.     global gDirty :: 0 { 
  950.         prop Visible :: 0
  951.         prop Writable :: 0
  952.         prop NoGen :: 1
  953.     }
  954.     global gInitFlag :: 1 { 
  955.         prop Visible :: 0
  956.         prop Writable :: 0
  957.         prop NoGen :: 1
  958.     }
  959.     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) { 
  960.         prop Visible :: 0
  961.         prop Writable :: 0
  962.         prop NoGen :: 1
  963.     }
  964.     global CALLBACKOBJ :: nil { 
  965.         prop Visible :: 0
  966.         prop Writable :: 0
  967.         prop NoGen :: 1
  968.     }
  969.     global OBJMEMSEG :: SDRAM { 
  970.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  971.         prop MemberType :: MEM
  972.         prop MemberTest :: MEM.dataMember($1)
  973.         prop Label :: "Object Memory"
  974.         prop JSName :: "OBJMEMSEG"
  975.         prop Visible :: 1
  976.         prop Writable :: 1
  977.         prop NoGen :: 1
  978.     }
  979.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  980.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  981.         prop Label :: "comment"
  982.         prop JSName :: "comment"
  983.         prop Visible :: 1
  984.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  985.         prop NoGen :: 1
  986.     }
  987.     inst iIsUsed :: 0 { 
  988.         prop Visible :: 0
  989.         prop Writable :: 0
  990.         prop NoGen :: 1
  991.     }
  992.     inst iId :: 0 { 
  993.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  994.         prop Style :: 0x01
  995.         prop Visible :: 0
  996.         prop Writable :: 1
  997.         prop NoGen :: 1
  998.     }
  999.     inst iDelUser :: "USER" { 
  1000.         prop Visible :: 0
  1001.         prop Writable :: 0
  1002.         prop NoGen :: 1
  1003.     }
  1004.     inst iDelMsg :: "ok" { 
  1005.         prop Visible :: 0
  1006.         prop Writable :: 0
  1007.         prop NoGen :: 1
  1008.     }
  1009. }
  1010. type LCK {
  1011.     isa ObjectMgr
  1012.     prop name :: "LCK"
  1013.     prop Label :: "LCK - Resource Lock Manager"
  1014.     prop IsContainedIn :: SYN
  1015.     prop GlobalIcon :: 129
  1016.     prop InstanceIcon :: 130
  1017.     prop IsConfMod :: 1
  1018.     prop GlobalHelpTopic :: (306)
  1019.     prop InstanceHelpTopic :: (406)
  1020.     prop InstancePropertyPage :: ("{0EB45D40-38C1-11d1-988B-0020AFEE33C6}")
  1021.     prop GlobalPropertyPage :: ("{0EB45D41-38C1-11d1-988B-0020AFEE33C6}")
  1022.     prop maxObjs :: (32767)
  1023.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} )
  1024.     prop _bssAllocDesc :: ("%8t .lck: {}")
  1025.     prop _objAllocDesc :: ("%8t .LCK$obj: {}")
  1026.     prop _placement :: (0x7fffffff / 2)
  1027.     prop _memSeg :: self.OBJMEMSEG
  1028.     prop dataSize :: ((8 + 2) * LCK.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  1029.     prop cGen :: 1
  1030.     prop cHeaderName :: if self.gNumOf > 0 {"lck.h"} else {""}
  1031.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far LCK_Obj %0r;n"} else {"extern LCK_Obj %0r;n"})
  1032.     global gUser :: "USER" { 
  1033.         prop Visible :: 0
  1034.         prop Writable :: 0
  1035.         prop NoGen :: 1
  1036.     }
  1037.     global gSetOf :: 0 { 
  1038.         prop Visible :: 0
  1039.         prop Writable :: 0
  1040.         prop NoGen :: 1
  1041.     }
  1042.     global gNumOf :: 0 { 
  1043.         prop Visible :: 0
  1044.         prop Writable :: 0
  1045.         prop NoGen :: 1
  1046.     }
  1047.     global gDirty :: 0 { 
  1048.         prop Visible :: 0
  1049.         prop Writable :: 0
  1050.         prop NoGen :: 1
  1051.     }
  1052.     global gInitFlag :: 1 { 
  1053.         prop Visible :: 0
  1054.         prop Writable :: 0
  1055.         prop NoGen :: 1
  1056.     }
  1057.     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) { 
  1058.         prop Visible :: 0
  1059.         prop Writable :: 0
  1060.         prop NoGen :: 1
  1061.     }
  1062.     global CALLBACKOBJ :: nil { 
  1063.         prop Visible :: 0
  1064.         prop Writable :: 0
  1065.         prop NoGen :: 1
  1066.     }
  1067.     global OBJMEMSEG :: SDRAM { 
  1068.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1069.         prop MemberType :: MEM
  1070.         prop MemberTest :: MEM.dataMember($1)
  1071.         prop Label :: "Object Memory"
  1072.         prop JSName :: "OBJMEMSEG"
  1073.         prop Visible :: 1
  1074.         prop Writable :: 1
  1075.         prop NoGen :: 1
  1076.     }
  1077.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1078.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1079.         prop Label :: "comment"
  1080.         prop JSName :: "comment"
  1081.         prop Visible :: 1
  1082.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1083.         prop NoGen :: 1
  1084.     }
  1085.     inst iIsUsed :: 0 { 
  1086.         prop Visible :: 0
  1087.         prop Writable :: 0
  1088.         prop NoGen :: 1
  1089.     }
  1090.     inst iId :: 0 { 
  1091.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1092.         prop Style :: 0x01
  1093.         prop Visible :: 0
  1094.         prop Writable :: 1
  1095.         prop NoGen :: 1
  1096.     }
  1097.     inst iDelUser :: "USER" { 
  1098.         prop Visible :: 0
  1099.         prop Writable :: 0
  1100.         prop NoGen :: 1
  1101.     }
  1102.     inst iDelMsg :: "ok" { 
  1103.         prop Visible :: 0
  1104.         prop Writable :: 0
  1105.         prop NoGen :: 1
  1106.     }
  1107. }
  1108. type SIO {
  1109.     isa ObjectMgr
  1110.     prop name :: "SIO"
  1111.     prop Label :: "SIO - Stream Input and Output Manager"
  1112.     prop IsContainedIn :: IOF
  1113.     prop GlobalIcon :: 139
  1114.     prop InstanceIcon :: 140
  1115.     prop GlobalHelpTopic :: (311)
  1116.     prop InstanceHelpTopic :: (411)
  1117.     prop InstancePropertyPage :: ("{7C4C9A60-763E-11d1-988B-0020AFEE33C6}")
  1118.     prop GlobalPropertyPage :: ("{7C4C9A61-763E-11d1-988B-0020AFEE33C6}")
  1119.     prop DependsOn :: "DEV,UDEV,DGN,DHL,DPI"
  1120.     prop maxObjs :: (32767)
  1121.     prop AllocType :: (if (self.gNumOf > 0) {"2, _bssAllocDesc, _memSeg, _placement,
  1122.           _objAllocDesc, _memSeg, _placement"} )
  1123.     prop _bssAllocDesc :: ("%8t .SIO$bss: {%12tn *(.SIO$bss)%8tn }")
  1124.     prop _objAllocDesc :: ("%8t .SIO$obj: {%12tn *(.SIO$obj)%8tn }")
  1125.     prop _placement :: (0x7fffffff / 2)
  1126.     prop _memSeg :: self.OBJMEMSEG
  1127.     prop AllocInst :: ("1, _instBufDesc, _instBufSeg, _placement")
  1128.     prop _instBufDesc :: (if self.iAlign > 1 {"%8t .%0s$bufs: align = 0x%1x {}, _objAlign"} else {"%8t .%0s$bufs: {}"})
  1129.     prop _objAlign :: self.iAlign
  1130.     prop _instBufSeg :: self.iBufSegid
  1131.     prop defDev :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($j == nil && $i.iIsTerminal != 0 && $i.iIsVirtual == 0) {$j = $i, break} }} }, $j)
  1132.     prop devList :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($j == nil && $i.iIsTerminal != 0 && $i.iIsVirtual == 0) {$j = $i, scan ($a; DIO) {if ($a == $i) {$i.numTimeUse++} }, break} }} }, $j)
  1133.     prop setDev :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($i == $1) {$j = $i} }} }, $j)
  1134.     prop localCanCreate :: (if (self.defDev == nil) {self.error("A driver device must be created before creating a stream.")} else {"ok"})
  1135.     prop localDelete :: (scan ($a; DIO) {if ($a == self.iDevice) {self.iDevice.numTimeUse--} }, "ok")
  1136.     prop cGen :: 1
  1137.     prop cHeaderName :: if self.gNumOf > 0 {"sio.h"} else {""}
  1138.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far SIO_Obj %0r;n"} else {"extern SIO_Obj %0r;n"})
  1139.     global gUser :: "USER" { 
  1140.         prop Visible :: 0
  1141.         prop Writable :: 0
  1142.         prop NoGen :: 1
  1143.     }
  1144.     global gSetOf :: 0 { 
  1145.         prop Visible :: 0
  1146.         prop Writable :: 0
  1147.         prop NoGen :: 1
  1148.     }
  1149.     global gNumOf :: 0 { 
  1150.         prop Visible :: 0
  1151.         prop Writable :: 0
  1152.         prop NoGen :: 1
  1153.     }
  1154.     global gDirty :: 0 { 
  1155.         prop Visible :: 0
  1156.         prop Writable :: 0
  1157.         prop NoGen :: 1
  1158.     }
  1159.     global gInitFlag :: 1 { 
  1160.         prop Visible :: 0
  1161.         prop Writable :: 0
  1162.         prop NoGen :: 1
  1163.     }
  1164.     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) { 
  1165.         prop Visible :: 0
  1166.         prop Writable :: 0
  1167.         prop NoGen :: 1
  1168.     }
  1169.     global gNumEmbed :: 0 { 
  1170.         prop NoGen :: 1
  1171.     }
  1172.     global OBJMEMSEG :: SDRAM { 
  1173.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1174.         prop MemberType :: MEM
  1175.         prop MemberTest :: MEM.dataMember($1)
  1176.         prop Label :: "Object Memory"
  1177.         prop JSName :: "OBJMEMSEG"
  1178.         prop Visible :: 1
  1179.         prop Writable :: 1
  1180.         prop NoGen :: 1
  1181.     }
  1182.     global USEISSUERECLAIM :: 0 { 
  1183.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1184.         prop Label :: "Use Only Issue/Reclaim Model"
  1185.         prop JSName :: "USEISSUERECLAIM"
  1186.         prop Visible :: 1
  1187.         prop Writable :: 1
  1188.         prop NoGen :: 1
  1189.         prop Set :: (self.USEISSUERECLAIM = $1, if ($1 == 1) {scan ($i; SIO) {$i.iModelName = "Issue/Reclaim"}} , "ok")
  1190.     }
  1191.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1192.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1193.         prop Label :: "comment"
  1194.         prop JSName :: "comment"
  1195.         prop Visible :: 1
  1196.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1197.         prop NoGen :: 1
  1198.     }
  1199.     inst iIsUsed :: 0 { 
  1200.         prop Visible :: 0
  1201.         prop Writable :: 0
  1202.         prop NoGen :: 1
  1203.     }
  1204.     inst iId :: 0 { 
  1205.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1206.         prop Style :: 0x01
  1207.         prop Visible :: 0
  1208.         prop Writable :: 1
  1209.         prop NoGen :: 1
  1210.     }
  1211.     inst iDelUser :: "USER" { 
  1212.         prop Visible :: 0
  1213.         prop Writable :: 0
  1214.         prop NoGen :: 1
  1215.     }
  1216.     inst iDelMsg :: "ok" { 
  1217.         prop Visible :: 0
  1218.         prop Writable :: 0
  1219.         prop NoGen :: 1
  1220.     }
  1221.     inst iDevice :: SIO.devList { 
  1222.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1223.         prop TypeTest :: $1.isDriver == 1
  1224.         prop MemberTest :: $1.driverType != "DEV_IOMTYPE"
  1225.         prop Label :: "Device"
  1226.         prop JSName :: "deviceName"
  1227.         prop Set :: (if (($1.iIsTerminal == 0) && (self.iDevCtrlParam == "")) {self.error("To select a stacking device, enter first a terminal device in Device Control String")} else {if ($1.iIsVirtual == 1) {self.error("The device you have selected is a virtual instance, you must select a non-virtual device")} else {scan ($a; DIO) {if ($a == self.iDevice) {self.iDevice.numTimeUse--} }, scan ($b; DIO) {if ($b == $1) {$1.numTimeUse++} }, self.iDevice = self.setDev($1), "ok"}})
  1228.         prop Visible :: 1
  1229.         prop Writable :: 1
  1230.     }
  1231.     inst iDevCtrlParam :: "" { 
  1232.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1233.         prop Label :: "Device Control String"
  1234.         prop JSName :: "controlParameter"
  1235.         prop Visible :: 1
  1236.         prop Writable :: 1
  1237.     }
  1238.     inst iDevId :: = self.iDevice.iDevId
  1239.     inst iFxns :: = self.iDevice.iFxns
  1240.     inst iMode :: "input" { 
  1241.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1242.         prop Enum :: "input,output"
  1243.         prop Label :: "Mode"
  1244.         prop JSName :: "mode"
  1245.         prop Visible :: 1
  1246.         prop Writable :: 1
  1247.     }
  1248.     inst iBufsize :: 0x80 { 
  1249.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1250.         prop Style :: 0x02
  1251.         prop Label :: "Buffer size"
  1252.         prop JSName :: "bufSize"
  1253.         prop Visible :: 1
  1254.         prop Writable :: 1
  1255.     }
  1256.     inst iNbufs :: 2 { 
  1257.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1258.         prop Style :: 0x01
  1259.         prop Label :: "Number of buffers"
  1260.         prop JSName :: "numBufs"
  1261.         prop Visible :: 1
  1262.         prop Writable :: 1
  1263.     }
  1264.     inst iBufSegid :: = self.OBJMEMSEG { 
  1265.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1266.         prop MemberType :: MEM
  1267.         prop MemberTest :: MEM.dataMember($1)
  1268.         prop Label :: "Place buffers in memory segment"
  1269.         prop JSName :: "bufSegId"
  1270.         prop Visible :: 1
  1271.         prop Writable :: self.iAllocBuf == 1
  1272.     }
  1273.     inst iAlign :: 1 { 
  1274.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  1275.         prop Enum :: "1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768"
  1276.         prop Label :: "Buffer alignment"
  1277.         prop JSName :: "bufAlign"
  1278.         prop Visible :: 1
  1279.         prop Writable :: self.iAllocBuf == 1
  1280.     }
  1281.     inst iFlush :: 0 { 
  1282.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1283.         prop Label :: "Flush"
  1284.         prop JSName :: "flush"
  1285.         prop Visible :: 1
  1286.         prop Writable :: 1
  1287.     }
  1288.     inst iModelName :: "Standard" { 
  1289.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1290.         prop Enum :: "Standard,Issue/Reclaim"
  1291.         prop Label :: "Model"
  1292.         prop JSName :: "modelName"
  1293.         prop Visible :: 1
  1294.         prop Writable :: 1
  1295.         prop NoGen :: 1
  1296.         prop Set :: ($e = "ok", if (self.USEISSUERECLAIM == 1) {if ($1 == "Standard") {$e = self.error("SIO Issue/Reclaim model support selected")} else {self.iModel = if $1 == "Standard" {"SIO_STANDARD"} else {"SIO_ISSUERECLAIM"}, self.iModelName = $1}} else {self.iModel = if $1 == "Standard" {"SIO_STANDARD"} else {"SIO_ISSUERECLAIM"}, self.iModelName = $1}, $e)
  1297.     }
  1298.     inst iAllocBuf :: = self.iSaveAllocBuf { 
  1299.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1300.         prop Label :: "Allocate Static Buffer(s)"
  1301.         prop JSName :: "allocStaticBuf"
  1302.         prop Visible :: 1
  1303.         prop Writable :: 1
  1304.         prop Set :: (self.iSaveAllocBuf = $1, "ok")
  1305.     }
  1306.     inst iSaveAllocBuf :: 0 { 
  1307.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1308.         prop NoGen :: 1
  1309.     }
  1310.     inst iModel :: "SIO_STANDARD" { 
  1311.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1312.         prop Enum :: "SIO_STANDARD,SIO_ISSUERECLAIM"
  1313.         prop Visible :: 0
  1314.         prop Writable :: 0
  1315.     }
  1316.     inst iTimeout :: = if self.iModel == "SIO_ISSUERECLAIM" {self.iSaveTimeout} else {-1} { 
  1317.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1318.         prop Label :: "Timeout for I/O operation"
  1319.         prop JSName :: "timeout"
  1320.         prop Visible :: 1
  1321.         prop Writable :: self.iModel == "SIO_ISSUERECLAIM"
  1322.         prop Set :: (self.iSaveTimeout = $1, "ok")
  1323.     }
  1324.     inst iSaveTimeout :: -1 { 
  1325.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1326.         prop NoGen :: 1
  1327.     }
  1328.     inst useCallBackFxn :: 0 { 
  1329.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1330.         prop Label :: "use callback function"
  1331.         prop JSName :: "useCallBackFxn"
  1332.         prop Visible :: 1
  1333.         prop Writable :: 1
  1334.         prop NoGen :: 0
  1335.         prop TabName :: "Callback"
  1336.     }
  1337.     inst callBackFxn :: @_FXN_F_nop { 
  1338.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1339.         prop Label :: "callback function"
  1340.         prop JSName :: "callBackFxn"
  1341.         prop Visible :: 1
  1342.         prop Writable :: self.useCallBackFxn
  1343.         prop NoGen :: 0
  1344.         prop TabName :: "Callback"
  1345.     }
  1346.     inst arg0 :: 0 { 
  1347.         prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
  1348.         prop Label :: "argument 0"
  1349.         prop JSName :: "arg0"
  1350.         prop Visible :: 1
  1351.         prop Writable :: self.useCallBackFxn
  1352.         prop NoGen :: 0
  1353.         prop TabName :: "Callback"
  1354.     }
  1355.     inst arg1 :: 0 { 
  1356.         prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
  1357.         prop Label :: "argument 1"
  1358.         prop JSName :: "arg1"
  1359.         prop Visible :: 1
  1360.         prop Writable :: self.useCallBackFxn
  1361.         prop NoGen :: 0
  1362.         prop TabName :: "Callback"
  1363.     }
  1364. }
  1365. type STS {
  1366.     isa ObjectMgr
  1367.     prop name :: "STS"
  1368.     prop Label :: "STS - Statistics Object Manager"
  1369.     prop IsContainedIn :: INS
  1370.     prop GlobalIcon :: 125
  1371.     prop InstanceIcon :: 126
  1372.     prop InstanceHelpTopic :: (212)
  1373.     prop GlobalHelpTopic :: (112)
  1374.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _placement")
  1375.     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")
  1376.     prop localInit :: (if (PRD.CALLBACKOBJ != nil) {self.error("STS initialization failure")} , PRD.CALLBACKOBJ = STS)
  1377.     prop _placement :: (0x7fffffff / 2)
  1378.     prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  1379.     prop _memSeg :: STS.OBJMEMSEG
  1380.     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * (4 * 4))} else {(4 * 4)}
  1381.     prop dataSize :: ((4 * 4) * (STS.gNumOf + STS.gNumEmbed))
  1382.     prop maxObjs :: (32767)
  1383.     prop InstancePropertyPage :: ("{B7240DEE-AA51-11cf-9BFE-0000C0AC14C7}")
  1384.     prop GlobalPropertyPage :: ("{B7240DEF-AA51-11cf-9BFE-0000C0AC14C7}")
  1385.     prop STSGetMaxFmt :: (self.format)
  1386.     prop STSGetSumFmt :: (self.format)
  1387.     prop STSGetAvgFmt :: ("%.2f")
  1388.     prop STSFilterSum :: ((self.iA * $1 + self.iB * $2) / (1.0 * self.iC))
  1389.     prop STSFilterMax :: ((self.iA * $1 + self.iB) / (1.0 * self.iC))
  1390.     prop HighTimeBased :: (if self.unittype == "High resolution time based" {1} else {0})
  1391.     prop LowTimeBased :: (if self.unittype == "Low resolution time based" {1} else {0})
  1392.     prop cGen :: 1
  1393.     prop cHeaderName :: if self.gNumOf > 0 {"sts.h"} else {""}
  1394.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far STS_Obj %0r;n"} else {"extern STS_Obj %0r;n"})
  1395.     prop modifiable :: ((if (self.iDelUser == "USER" || self.iDelUser == "HWI") {1} else {0}))
  1396.     prop call :: (scan ($a; STS) {if ($a.unittype == "High resolution time based") {$a.iA = CLK.INSTRPERCLK} })
  1397.     global gUser :: "USER" { 
  1398.         prop Visible :: 0
  1399.         prop Writable :: 0
  1400.         prop NoGen :: 1
  1401.     }
  1402.     global gSetOf :: 0 { 
  1403.         prop Visible :: 0
  1404.         prop Writable :: 0
  1405.         prop NoGen :: 1
  1406.     }
  1407.     global gNumOf :: 1 { 
  1408.         prop Visible :: 0
  1409.         prop Writable :: 0
  1410.         prop NoGen :: 1
  1411.     }
  1412.     global gDirty :: 1 { 
  1413.         prop Visible :: 0
  1414.         prop Writable :: 0
  1415.         prop NoGen :: 1
  1416.     }
  1417.     global gInitFlag :: 1 { 
  1418.         prop Visible :: 0
  1419.         prop Writable :: 0
  1420.         prop NoGen :: 1
  1421.     }
  1422.     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) { 
  1423.         prop Visible :: 0
  1424.         prop Writable :: 0
  1425.         prop NoGen :: 1
  1426.     }
  1427.     global OBJMEMSEG :: SDRAM { 
  1428.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1429.         prop MemberType :: MEM
  1430.         prop MemberTest :: MEM.dataMember($1)
  1431.         prop Label :: "Object Memory"
  1432.         prop Visible :: 1
  1433.         prop Writable :: 1
  1434.         prop NoGen :: 1
  1435.     }
  1436.     global gNumEmbed :: 2 { 
  1437.         prop Visible :: 0
  1438.         prop Writable :: 0
  1439.         prop NoGen :: 1
  1440.     }
  1441.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1442.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1443.         prop Label :: "comment"
  1444.         prop JSName :: "comment"
  1445.         prop Visible :: 1
  1446.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1447.         prop NoGen :: 1
  1448.     }
  1449.     inst iIsUsed :: 0 { 
  1450.         prop Visible :: 0
  1451.         prop Writable :: 0
  1452.         prop NoGen :: 1
  1453.     }
  1454.     inst iId :: 0 { 
  1455.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1456.         prop Style :: 0x01
  1457.         prop Visible :: 0
  1458.         prop Writable :: 1
  1459.         prop NoGen :: 1
  1460.     }
  1461.     inst iDelUser :: "USER" { 
  1462.         prop Visible :: 0
  1463.         prop Writable :: 0
  1464.         prop NoGen :: 1
  1465.     }
  1466.     inst iDelMsg :: "ok" { 
  1467.         prop Visible :: 0
  1468.         prop Writable :: 0
  1469.         prop NoGen :: 1
  1470.     }
  1471.     inst prev :: 0 { 
  1472.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1473.         prop Visible :: 1
  1474.         prop Writable :: self.modifiable()
  1475.         prop JSName :: "previousVal"
  1476.         prop NoGen :: GBL.DSPTYPE != 40 && GBL.DSPTYPE != 62
  1477.         prop Set :: (self.prev = $1, self.prevlow = $1 & 0xffff, self.prevhigh = ($1 >> 16) & 0xffff, "ok")
  1478.     }
  1479.     inst format :: "%g" { 
  1480.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1481.         prop Visible :: 0
  1482.         prop Writable :: 1
  1483.         prop Label :: "format"
  1484.         prop NoGen :: 1
  1485.     }
  1486.     inst unittype :: "Not time based" { 
  1487.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1488.         prop Enum :: "Not time based,High resolution time based,Low resolution time based"
  1489.         prop Label :: "unit type"
  1490.         prop JSName :: "unitType"
  1491.         prop Visible :: 1
  1492.         prop Writable :: self.modifiable()
  1493.         prop NoGen :: 1
  1494.         prop Set :: (self.unittype = $1, if ($1 == "High resolution time based") {self.iA = CLK.INSTRPERCLK, self.iB = 0, self.iC = 1, self.operation = "A * x"} else {if ($1 == "Low resolution time based") {self.iA = 1, self.iB = 0, self.iC = 1, self.operation = "A * x"} else {self.iA = 1, self.iB = 0, self.iC = 1, self.operation = "Nothing"}}, "ok")
  1495.     }
  1496.     inst operation :: "Nothing" { 
  1497.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1498.         prop Enum :: "Nothing,A * x,A * x + B,(A * x + B) / C"
  1499.         prop Label :: "host operation"
  1500.         prop JSName :: "operation"
  1501.         prop Visible :: 1
  1502.         prop Writable :: ((self.unittype != "Low resolution time based") && self.modifiable())
  1503.         prop NoGen :: 1
  1504.         prop Set :: (self.operation = $1, if ($1 == "Nothing" && self.unittype != "High resolution time based") {self.iA = 1, self.iB = 0, self.iC = 1} else {if ($1 == "A * x") {self.iB = 0, self.iC = 1} else {if ($1 == "A * x + B") {self.iC = 1} }}, "ok")
  1505.     }
  1506.     inst iA :: 1 { 
  1507.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1508.         prop Visible :: 1
  1509.         prop Writable :: (self.modifiable() && !(self.unittype != "Not time based" || self.operation == "Nothing"))
  1510.         prop Label :: "A"
  1511.         prop JSName :: "numA"
  1512.         prop NoGen :: 1
  1513.     }
  1514.     inst iB :: 0 { 
  1515.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1516.         prop Visible :: 1
  1517.         prop Writable :: (self.modifiable() && !(self.unittype == "Low resolution time based" || self.operation == "Nothing" || self.operation == "A * x"))
  1518.         prop Label :: "B"
  1519.         prop JSName :: "numB"
  1520.         prop NoGen :: 1
  1521.     }
  1522.     inst iC :: 1 { 
  1523.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1524.         prop Visible :: 1
  1525.         prop Writable :: (self.modifiable() && (self.unittype == "Not time based" && self.operation == "(A * x + B) / C"))
  1526.         prop Label :: "C"
  1527.         prop JSName :: "numC"
  1528.         prop NoGen :: 1
  1529.     }
  1530.     inst prevhigh :: 0 { 
  1531.         prop Visible :: 0
  1532.         prop Writable :: 0
  1533.         prop NoGen :: GBL.DSPTYPE == 40 || GBL.DSPTYPE == 62
  1534.     }
  1535.     inst prevlow :: 0 { 
  1536.         prop Visible :: 0
  1537.         prop Writable :: 0
  1538.         prop NoGen :: 0
  1539.     }
  1540. }
  1541. type SYS {
  1542.     isa Module
  1543.     prop name :: "SYS"
  1544.     prop Label :: "SYS - System Settings"
  1545.     prop IsContainedIn :: SYSTEM
  1546.     prop GlobalIcon :: 141
  1547.     prop InstanceIcon :: 142
  1548.     prop IsConfMod :: 1
  1549.     prop GlobalHelpTopic :: (313)
  1550.     prop InstanceHelpTopic :: (413)
  1551.     prop InstancePropertyPage :: ("{473C4A62-B1A8-11d0-9885-0020AFEE33C6}")
  1552.     prop GlobalPropertyPage :: ("{473C4A63-B1A8-11d0-9885-0020AFEE33C6}")
  1553.     prop AllocType :: (if self.PUTCFXN == @_UTL_doPutc {"2, _globalAllocDesc, _memSeg, _midPlace, 
  1554.       _traceString, _traceSeg, _midPlace"} else {"1, _globalAllocDesc, _memSeg, _midPlace"})
  1555.     prop _globalAllocDesc :: ("%8t .sys:     {}")
  1556.     prop _traceString :: ("%8t .trace: fill = 0x0 {%12tn_SYS_PUTCBEG = .;n. += 0x%1x;n_SYS_PUTCEND = . - 1;%8tn }, _traceSize")
  1557.     prop _midPlace :: (0x7fffffff / 2)
  1558.     prop _memSeg :: MEM.CFGOBJSEG
  1559.     prop _traceSeg :: SYS.TRACESEG
  1560.     prop _traceSize :: SYS.TRACESIZE
  1561.     global gUser :: "USER" { 
  1562.         prop Visible :: 0
  1563.         prop Writable :: 0
  1564.         prop NoGen :: 1
  1565.     }
  1566.     global gSetOf :: 0 { 
  1567.         prop Visible :: 0
  1568.         prop Writable :: 0
  1569.         prop NoGen :: 1
  1570.     }
  1571.     global gNumOf :: 0 { 
  1572.         prop Visible :: 0
  1573.         prop Writable :: 0
  1574.         prop NoGen :: 1
  1575.     }
  1576.     global gDirty :: 0 { 
  1577.         prop Visible :: 0
  1578.         prop Writable :: 0
  1579.         prop NoGen :: 1
  1580.     }
  1581.     global gInitFlag :: 1 { 
  1582.         prop Visible :: 0
  1583.         prop Writable :: 0
  1584.         prop NoGen :: 1
  1585.     }
  1586.     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) { 
  1587.         prop Visible :: 0
  1588.         prop Writable :: 0
  1589.         prop NoGen :: 1
  1590.     }
  1591.     global CALLBACKOBJ :: nil { 
  1592.         prop Visible :: 0
  1593.         prop Writable :: 0
  1594.         prop NoGen :: 1
  1595.     }
  1596.     global TRACESIZE :: 512 { 
  1597.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1598.         prop Format :: "%d"
  1599.         prop Style :: 0x01 | 0x02
  1600.         prop Label :: "Trace Buffer Size"
  1601.         prop JSName :: "TRACESIZE"
  1602.         prop Visible :: 1
  1603.         prop Writable :: 1
  1604.         prop NoGen :: 1
  1605.     }
  1606.     global TRACESEG :: SDRAM { 
  1607.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1608.         prop MemberType :: MEM
  1609.         prop MemberTest :: MEM.dataMember($1)
  1610.         prop Label :: "Trace Buffer Memory"
  1611.         prop JSName :: "TRACESEG"
  1612.         prop Visible :: 1
  1613.         prop Writable :: 1
  1614.         prop NoGen :: 1
  1615.     }
  1616.     global ABORTFXN :: @_UTL_doAbort { 
  1617.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1618.         prop Label :: "Abort Function"
  1619.         prop JSName :: "ABORTFXN"
  1620.         prop Visible :: 1
  1621.         prop Writable :: 1
  1622.         prop NoGen :: 0
  1623.     }
  1624.     global ERRORFXN :: @_UTL_doError { 
  1625.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1626.         prop Label :: "Error Function"
  1627.         prop JSName :: "ERRORFXN"
  1628.         prop Visible :: 1
  1629.         prop Writable :: 1
  1630.         prop NoGen :: 0
  1631.     }
  1632.     global EXITFXN :: @_UTL_halt { 
  1633.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1634.         prop Label :: "Exit Function"
  1635.         prop JSName :: "EXITFXN"
  1636.         prop Visible :: 1
  1637.         prop Writable :: 1
  1638.         prop NoGen :: 0
  1639.     }
  1640.     global PUTCFXN :: @_UTL_doPutc { 
  1641.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1642.         prop Label :: "Putc Function"
  1643.         prop JSName :: "PUTCFXN"
  1644.         prop Visible :: 1
  1645.         prop Writable :: 1
  1646.         prop NoGen :: 0
  1647.     }
  1648. }
  1649. type GIO {
  1650.     isa Module
  1651.     prop Visible :: 1
  1652.     prop name :: "GIO"
  1653.     prop Label :: "GIO - General Input/Output Manager"
  1654.     prop IsConfMod :: self.USEGIO
  1655.     prop IsContainedIn :: IOF
  1656.     prop GlobalIcon :: 141
  1657.     prop InstanceIcon :: 142
  1658.     prop GlobalHelpTopic :: (320)
  1659.     prop InstanceHelpTopic :: (420)
  1660.     prop InstancePropertyPage :: ("{473C4A62-B1A8-11d0-9885-0020AFEE33C6}")
  1661.     prop GlobalPropertyPage :: ("{473C4A63-B1A8-11d0-9885-0020AFEE33C6}")
  1662.     prop DependsOn :: "DEV,UDEV"
  1663.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _midPlace")
  1664.     prop _globalAllocDesc :: ("%8t .gio:     {}")
  1665.     prop _midPlace :: (0x7fffffff / 2)
  1666.     prop _memSeg :: MEM.CFGOBJSEG
  1667.     global gUser :: "USER" { 
  1668.         prop Visible :: 0
  1669.         prop Writable :: 0
  1670.         prop NoGen :: 1
  1671.     }
  1672.     global gSetOf :: 0 { 
  1673.         prop Visible :: 0
  1674.         prop Writable :: 0
  1675.         prop NoGen :: 1
  1676.     }
  1677.     global gNumOf :: 0 { 
  1678.         prop Visible :: 0
  1679.         prop Writable :: 0
  1680.         prop NoGen :: 1
  1681.     }
  1682.     global gDirty :: 0 { 
  1683.         prop Visible :: 0
  1684.         prop Writable :: 0
  1685.         prop NoGen :: 1
  1686.     }
  1687.     global gInitFlag :: 1 { 
  1688.         prop Visible :: 0
  1689.         prop Writable :: 0
  1690.         prop NoGen :: 1
  1691.     }
  1692.     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) { 
  1693.         prop Visible :: 0
  1694.         prop Writable :: 0
  1695.         prop NoGen :: 1
  1696.     }
  1697.     global CALLBACKOBJ :: nil { 
  1698.         prop Visible :: 0
  1699.         prop Writable :: 0
  1700.         prop NoGen :: 1
  1701.     }
  1702.     global USEGIO :: 1 { 
  1703.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1704.         prop Label :: "Enable General Input/Output Manager"
  1705.         prop JSName :: "ENABLEGIO"
  1706.         prop Visible :: 1
  1707.         prop Writable :: 1
  1708.         prop NoGen :: 1
  1709.     }
  1710.     global CREATEFXN :: = if self.USEGIO == 1 {@_SEM_create} else {@_FXN_F_nop} { 
  1711.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1712.         prop Label :: "Create Function"
  1713.         prop JSName :: "CREATEFXN"
  1714.         prop Visible :: 1
  1715.         prop Writable :: self.USEGIO
  1716.         prop NoGen :: 0
  1717.     }
  1718.     global DELETEFXN :: = if self.USEGIO == 1 {@_SEM_delete} else {@_FXN_F_nop} { 
  1719.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1720.         prop Label :: "Delete Function"
  1721.         prop JSName :: "DELETEFXN"
  1722.         prop Visible :: 1
  1723.         prop Writable :: self.USEGIO
  1724.         prop NoGen :: 0
  1725.     }
  1726.     global PENDFXN :: = if self.USEGIO == 1 {@_SEM_pend} else {@_FXN_F_nop} { 
  1727.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1728.         prop Label :: "Pend Function"
  1729.         prop JSName :: "PENDFXN"
  1730.         prop Visible :: 1
  1731.         prop Writable :: self.USEGIO
  1732.         prop NoGen :: 0
  1733.     }
  1734.     global POSTFXN :: = if self.USEGIO == 1 {@_SEM_post} else {@_FXN_F_nop} { 
  1735.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1736.         prop Label :: "Post Function"
  1737.         prop JSName :: "POSTFXN"
  1738.         prop Visible :: 1
  1739.         prop Writable :: self.USEGIO
  1740.         prop NoGen :: 0
  1741.     }
  1742. }
  1743. type SIODRIVER {
  1744.     isa ModuleFolder
  1745.     prop Label :: "Device Drivers"
  1746.     prop IsContainedIn :: IOF
  1747.     prop GlobalIcon :: 127
  1748.     prop GlobalHelpTopic :: (BIOSHELP_DEV_FOLDER)
  1749.     prop GlobalPropertyPage :: ("{A2BCEC70-5365-11d4-947C-0050048381B7}")
  1750.     global gUser :: "USER" { 
  1751.         prop Visible :: 0
  1752.         prop Writable :: 0
  1753.         prop NoGen :: 1
  1754.     }
  1755.     global gSetOf :: 0 { 
  1756.         prop Visible :: 0
  1757.         prop Writable :: 0
  1758.         prop NoGen :: 1
  1759.     }
  1760.     global gNumOf :: 0 { 
  1761.         prop Visible :: 0
  1762.         prop Writable :: 0
  1763.         prop NoGen :: 1
  1764.     }
  1765.     global gDirty :: 0 { 
  1766.         prop Visible :: 0
  1767.         prop Writable :: 0
  1768.         prop NoGen :: 1
  1769.     }
  1770.     global gInitFlag :: 1 { 
  1771.         prop Visible :: 0
  1772.         prop Writable :: 0
  1773.         prop NoGen :: 1
  1774.     }
  1775.     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) { 
  1776.         prop Visible :: 0
  1777.         prop Writable :: 0
  1778.         prop NoGen :: 1
  1779.     }
  1780. }
  1781. type DEV {
  1782.     isa ObjectMgr
  1783.     prop name :: "DEV"
  1784.     prop Visible :: 0
  1785.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} , if (DGN.gNumOf || DHL.gNumOf || DPI.gNumOf || DIO.gNumOf || UDEV.gNumOf) {"1, _devtableDesc, _memSeg, _placement"} )
  1786.     prop _bssAllocDesc :: ("%8t .dev: {}")
  1787.     prop _devtableDesc :: ("%8t .devtable: {}")
  1788.     prop _memSeg :: MEM.CFGOBJSEG
  1789.     prop _placement :: (0x7fffffff / 2)
  1790.     prop DependsOn :: "HWI"
  1791.     global gUser :: "USER" { 
  1792.         prop Visible :: 0
  1793.         prop Writable :: 0
  1794.         prop NoGen :: 1
  1795.     }
  1796.     global gSetOf :: 0 { 
  1797.         prop Visible :: 0
  1798.         prop Writable :: 0
  1799.         prop NoGen :: 1
  1800.     }
  1801.     global gNumOf :: 0 { 
  1802.         prop Visible :: 0
  1803.         prop Writable :: 0
  1804.         prop NoGen :: 1
  1805.     }
  1806.     global gDirty :: 0 { 
  1807.         prop Visible :: 0
  1808.         prop Writable :: 0
  1809.         prop NoGen :: 1
  1810.     }
  1811.     global gInitFlag :: 1 { 
  1812.         prop Visible :: 0
  1813.         prop Writable :: 0
  1814.         prop NoGen :: 1
  1815.     }
  1816.     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) { 
  1817.         prop Visible :: 0
  1818.         prop Writable :: 0
  1819.         prop NoGen :: 1
  1820.     }
  1821.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1822.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1823.         prop Label :: "comment"
  1824.         prop JSName :: "comment"
  1825.         prop Visible :: 1
  1826.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1827.         prop NoGen :: 1
  1828.     }
  1829.     inst iIsUsed :: 0 { 
  1830.         prop Visible :: 0
  1831.         prop Writable :: 0
  1832.         prop NoGen :: 1
  1833.     }
  1834.     inst iId :: 0 { 
  1835.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1836.         prop Style :: 0x01
  1837.         prop Visible :: 0
  1838.         prop Writable :: 1
  1839.         prop NoGen :: 1
  1840.     }
  1841.     inst iDelUser :: "USER" { 
  1842.         prop Visible :: 0
  1843.         prop Writable :: 0
  1844.         prop NoGen :: 1
  1845.     }
  1846.     inst iDelMsg :: "ok" { 
  1847.         prop Visible :: 0
  1848.         prop Writable :: 0
  1849.         prop NoGen :: 1
  1850.     }
  1851. }
  1852. type UDEV {
  1853.     isa ObjectMgr
  1854.     prop name :: "UDEV"
  1855.     prop Label :: "User-Defined Devices"
  1856.     prop IsContainedIn :: SIODRIVER
  1857.     prop GlobalIcon :: 127
  1858.     prop InstanceIcon :: 128
  1859.     prop GlobalHelpTopic :: (315)
  1860.     prop InstanceHelpTopic :: (415)
  1861.     prop InstancePropertyPage :: ("{7AE86AA0-35C0-11d1-988B-0020AFEE33C6}")
  1862.     prop GlobalPropertyPage :: ("{7AE86AA1-35C0-11d1-988B-0020AFEE33C6}")
  1863.     prop maxObjs :: (32767)
  1864.     prop isDriver :: (1)
  1865.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  1866.     prop _globalAllocDesc :: ("%8t .udev: {}")
  1867.     prop _placement :: (0x7fffffff / 2)
  1868.     prop _memSeg :: MEM.CFGOBJSEG
  1869.     prop _driverType :: (if self.fxnTableType == "DEV_Fxns" {"DEV_SIOTYPE"} else {"DEV_IOMTYPE"})
  1870.     global gUser :: "USER" { 
  1871.         prop Visible :: 0
  1872.         prop Writable :: 0
  1873.         prop NoGen :: 1
  1874.     }
  1875.     global gSetOf :: 0 { 
  1876.         prop Visible :: 0
  1877.         prop Writable :: 0
  1878.         prop NoGen :: 1
  1879.     }
  1880.     global gNumOf :: 1 { 
  1881.         prop Visible :: 0
  1882.         prop Writable :: 0
  1883.         prop NoGen :: 1
  1884.     }
  1885.     global gDirty :: 1 { 
  1886.         prop Visible :: 0
  1887.         prop Writable :: 0
  1888.         prop NoGen :: 1
  1889.     }
  1890.     global gInitFlag :: 1 { 
  1891.         prop Visible :: 0
  1892.         prop Writable :: 0
  1893.         prop NoGen :: 1
  1894.     }
  1895.     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) { 
  1896.         prop Visible :: 0
  1897.         prop Writable :: 0
  1898.         prop NoGen :: 1
  1899.     }
  1900.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1901.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1902.         prop Label :: "comment"
  1903.         prop JSName :: "comment"
  1904.         prop Visible :: 1
  1905.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1906.         prop NoGen :: 1
  1907.     }
  1908.     inst iIsUsed :: 0 { 
  1909.         prop Visible :: 0
  1910.         prop Writable :: 0
  1911.         prop NoGen :: 1
  1912.     }
  1913.     inst iId :: 0 { 
  1914.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1915.         prop Style :: 0x01
  1916.         prop Visible :: 0
  1917.         prop Writable :: 1
  1918.         prop NoGen :: 1
  1919.     }
  1920.     inst iDelUser :: "USER" { 
  1921.         prop Visible :: 0
  1922.         prop Writable :: 0
  1923.         prop NoGen :: 1
  1924.     }
  1925.     inst iDelMsg :: "ok" { 
  1926.         prop Visible :: 0
  1927.         prop Writable :: 0
  1928.         prop NoGen :: 1
  1929.     }
  1930.     inst iInit :: 0 { 
  1931.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1932.         prop Label :: "init function"
  1933.         prop JSName :: "initFxn"
  1934.         prop Visible :: 1
  1935.         prop Writable :: 1
  1936.         prop NoGen :: 1
  1937.         prop Set :: (self.iInit = $1, self.initFxn = self.iInit, "ok")
  1938.     }
  1939.     inst iFxns :: 0 { 
  1940.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1941.         prop Label :: "function table ptr"
  1942.         prop JSName :: "fxnTable"
  1943.         prop Visible :: 1
  1944.         prop Writable :: 1
  1945.     }
  1946.     inst fxnTableType :: "DEV_Fxns" { 
  1947.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1948.         prop Enum :: "DEV_Fxns,IOM_Fxns"
  1949.         prop Label :: "function table type"
  1950.         prop JSName :: "fxnTableType"
  1951.         prop Visible :: 1
  1952.         prop Writable :: 1
  1953.         prop NoGen :: 1
  1954.     }
  1955.     inst driverType :: = self._driverType { 
  1956.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1957.         prop Enum :: "DEV_SIOTYPE,DEV_IOMTYPE"
  1958.         prop Visible :: 0
  1959.     }
  1960.     inst iDevId :: 0 { 
  1961.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1962.         prop Label :: "device id"
  1963.         prop JSName :: "deviceId"
  1964.         prop Visible :: 1
  1965.         prop Writable :: 1
  1966.         prop NoGen :: 1
  1967.         prop Set :: (self.iDevId = $1, self.deviceId = self.iDevId, "ok")
  1968.     }
  1969.     inst iParams :: 0 { 
  1970.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1971.         prop Label :: "device params ptr"
  1972.         prop JSName :: "params"
  1973.         prop Visible :: 1
  1974.         prop Writable :: 1
  1975.     }
  1976.     inst deviceId :: 0 { 
  1977.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1978.         prop JSName :: ""
  1979.         prop Visible :: 0
  1980.     }
  1981.     inst initFxn :: 0 { 
  1982.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1983.         prop JSName :: ""
  1984.         prop Visible :: 0
  1985.     }
  1986.     inst iIsStacking :: 0 { 
  1987.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1988.         prop Label :: "Stacking Device"
  1989.         prop JSName :: "stackingDevice"
  1990.         prop Visible :: 0
  1991.         prop Writable :: 1
  1992.         prop NoGen :: 1
  1993.     }
  1994.     inst deviceGlobalDataPtr :: 0 { 
  1995.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1996.         prop Label :: "device global data ptr"
  1997.         prop JSName :: "deviceGlobalDataPtr"
  1998.         prop Visible :: 1
  1999.         prop Writable :: self.fxnTableType == "IOM_Fxns"
  2000.     }
  2001.     inst iIsTerminal :: = if self.fxnTableType == "DEV_Fxns" {1} else {0} { 
  2002.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2003.         prop NoGen :: 1
  2004.     }
  2005.     inst iIsVirtual :: 0 { 
  2006.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2007.         prop NoGen :: 1
  2008.     }
  2009. }
  2010. type DGN {
  2011.     isa ObjectMgr
  2012.     prop name :: "DGN"
  2013.     prop Label :: "DGN - Software Generator Driver"
  2014.     prop IsContainedIn :: SIODRIVER
  2015.     prop GlobalIcon :: 127
  2016.     prop InstanceIcon :: 128
  2017.     prop GlobalHelpTopic :: (302)
  2018.     prop InstanceHelpTopic :: (402)
  2019.     prop InstancePropertyPage :: ("{054FE166-B014-11d0-9885-0020AFEE33C6}")
  2020.     prop GlobalPropertyPage :: ("{054FE167-B014-11d0-9885-0020AFEE33C6}")
  2021.     prop DependsOn :: "DEV"
  2022.     prop maxObjs :: (32767)
  2023.     prop isDriver :: (1)
  2024.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2025.     prop _globalAllocDesc :: ("%8t .dgn: {}")
  2026.     prop _placement :: (0x7fffffff / 2)
  2027.     prop _memSeg :: MEM.CFGOBJSEG
  2028.     global gUser :: "USER" { 
  2029.         prop Visible :: 0
  2030.         prop Writable :: 0
  2031.         prop NoGen :: 1
  2032.     }
  2033.     global gSetOf :: 0 { 
  2034.         prop Visible :: 0
  2035.         prop Writable :: 0
  2036.         prop NoGen :: 1
  2037.     }
  2038.     global gNumOf :: 0 { 
  2039.         prop Visible :: 0
  2040.         prop Writable :: 0
  2041.         prop NoGen :: 1
  2042.     }
  2043.     global gDirty :: 0 { 
  2044.         prop Visible :: 0
  2045.         prop Writable :: 0
  2046.         prop NoGen :: 1
  2047.     }
  2048.     global gInitFlag :: 1 { 
  2049.         prop Visible :: 0
  2050.         prop Writable :: 0
  2051.         prop NoGen :: 1
  2052.     }
  2053.     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) { 
  2054.         prop Visible :: 0
  2055.         prop Writable :: 0
  2056.         prop NoGen :: 1
  2057.     }
  2058.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2059.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2060.         prop Label :: "comment"
  2061.         prop JSName :: "comment"
  2062.         prop Visible :: 1
  2063.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2064.         prop NoGen :: 1
  2065.     }
  2066.     inst iIsUsed :: 0 { 
  2067.         prop Visible :: 0
  2068.         prop Writable :: 0
  2069.         prop NoGen :: 1
  2070.     }
  2071.     inst iId :: 0 { 
  2072.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2073.         prop Style :: 0x01
  2074.         prop Visible :: 0
  2075.         prop Writable :: 1
  2076.         prop NoGen :: 1
  2077.     }
  2078.     inst iDelUser :: "USER" { 
  2079.         prop Visible :: 0
  2080.         prop Writable :: 0
  2081.         prop NoGen :: 1
  2082.     }
  2083.     inst iDelMsg :: "ok" { 
  2084.         prop Visible :: 0
  2085.         prop Writable :: 0
  2086.         prop NoGen :: 1
  2087.     }
  2088.     inst iDevice :: "user" { 
  2089.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2090.         prop Enum :: if GBL.DSPARITHMETIC == "FLOAT" {"user,sine,random,constant,printFloat,printHex,printInt"} else {"user,sine,random,constant,printHex,printInt"}
  2091.         prop Label :: "Device category"
  2092.         prop JSName :: "device"
  2093.         prop Visible :: 1
  2094.         prop Writable :: 1
  2095.         prop NoGen :: 1
  2096.         prop Set :: ($a = $1, if ($a != self.iDevice) {self.iDevice = $a, self.iUserFxn = @_FXN_F_nop} , if ($a == "user") {self.iUserFxn = self.iSaveUserFxn} , if ($a == "printFloat") {self.iUserFxn = @_DGN_printFloat} , if ($a == "printHex") {self.iUserFxn = @_DGN_printHex} , if ($a == "printInt") {self.iUserFxn = @_DGN_printInt} , "ok")
  2097.     }
  2098.     inst iUseDefaults :: 0 { 
  2099.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2100.         prop Label :: "Use default parameters"
  2101.         prop Visible :: 1
  2102.         prop JSName :: "useDefaultParam"
  2103.         prop Writable :: self.iDevice == "sine" || self.iDevice == "constant" || self.iDevice == "random" || self.iDevice == "user"
  2104.     }
  2105.     inst iDevId :: = if self.iDevice == "constant" {@DGN_CONST} else {if self.iDevice == "random" {@DGN_RAND} else {if self.iDevice == "sine" {@DGN_SINE} else {@DGN_USER}}} { 
  2106.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  2107.         prop Label :: "Device ID"
  2108.         prop JSName :: "deviceId"
  2109.         prop Visible :: 1
  2110.         prop Writable :: 0
  2111.     }
  2112.     inst iIsTerminal :: 1 { 
  2113.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2114.         prop NoGen :: 1
  2115.     }
  2116.     inst iIsVirtual :: 0 { 
  2117.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2118.         prop NoGen :: 1
  2119.     }
  2120.     inst iConstant :: if GBL.DSPARITHMETIC == "FIXED" {1} else {1.0} { 
  2121.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2122.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2123.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2124.         prop Label :: "Constant value"
  2125.         prop JSName :: "constant"
  2126.         prop Visible :: 1
  2127.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "constant" || self.iDevice == "user")
  2128.     }
  2129.     inst iRandSeed :: 1 { 
  2130.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2131.         prop Label :: "Seed value"
  2132.         prop JSName :: "seedValue"
  2133.         prop Visible :: 1
  2134.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2135.     }
  2136.     inst iRandLower :: if GBL.DSPARITHMETIC == "FIXED" {-32767} else {0.0} { 
  2137.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2138.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2139.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2140.         prop Label :: "Lower limit"
  2141.         prop JSName :: "lowerLimit"
  2142.         prop Visible :: 1
  2143.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2144.     }
  2145.     inst iRandUpper :: if GBL.DSPARITHMETIC == "FIXED" {32767} else {1.0} { 
  2146.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2147.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2148.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2149.         prop Label :: "Upper limit"
  2150.         prop JSName :: "upperLimit"
  2151.         prop Visible :: 1
  2152.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2153.     }
  2154.     inst iSineGain :: if GBL.DSPARITHMETIC == "FIXED" {32767} else {1.0} { 
  2155.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2156.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2157.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2158.         prop Label :: "Gain"
  2159.         prop JSName :: "gain"
  2160.         prop Visible :: 1
  2161.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2162.     }
  2163.     inst iSineFreq :: if GBL.DSPARITHMETIC == "FIXED" {1} else {1000.0} { 
  2164.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2165.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2166.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2167.         prop Label :: "Frequency (Hz)"
  2168.         prop JSName :: "frequency"
  2169.         prop Visible :: 1
  2170.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2171.     }
  2172.     inst iSinePhase :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0.0} { 
  2173.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2174.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2175.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2176.         prop Label :: "Phase (radians)"
  2177.         prop JSName :: "phase"
  2178.         prop Visible :: 1
  2179.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2180.     }
  2181.     inst iSineRate :: if GBL.DSPARITHMETIC == "FIXED" {256} else {44000} { 
  2182.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2183.         prop Label :: "Sample rate (samples/sec)"
  2184.         prop JSName :: "rate"
  2185.         prop Visible :: 1
  2186.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2187.     }
  2188.     inst iUserFxn :: if self.iDevice == "printFloat" {@_DGN_printFloat} else {if self.iDevice == "printHex" {@_DGN_printHex} else {if self.iDevice == "printInt" {@_DGN_printInt} else {@_FXN_F_nop}}} { 
  2189.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2190.         prop Label :: "User function"
  2191.         prop JSName :: "fxn"
  2192.         prop Visible :: 1
  2193.         prop Writable :: self.iDevice == "user"
  2194.         prop Set :: (self.iUserFxn = $1, self.iSaveUserFxn = self.iUserFxn, "ok")
  2195.     }
  2196.     inst iSaveUserFxn :: @_FXN_F_nop { 
  2197.         prop Visible :: 0
  2198.         prop Writable :: 0
  2199.         prop NoGen :: 1
  2200.     }
  2201.     inst iUserArg :: = 0 { 
  2202.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  2203.         prop Label :: "User function argument"
  2204.         prop JSName :: "arg"
  2205.         prop Visible :: 1
  2206.         prop Writable :: self.iDevice == "user"
  2207.     }
  2208.     inst iFxns :: @_DGN_FXNS { 
  2209.         prop NoGen :: 1
  2210.     }
  2211. }
  2212. type DHL {
  2213.     isa ObjectMgr
  2214.     prop name :: "DHL"
  2215.     prop Label :: "DHL - Host Link Driver"
  2216.     prop IsContainedIn :: SIODRIVER
  2217.     prop GlobalHelpTopic :: (303)
  2218.     prop InstanceHelpTopic :: (403)
  2219.     prop InstancePropertyPage :: ("{9C29DA20-90F9-11d1-988B-0020AFEE33C6}")
  2220.     prop GlobalPropertyPage :: ("{9C29DA21-90F9-11d1-988B-0020AFEE33C6}")
  2221.     prop GlobalIcon :: 127
  2222.     prop InstanceIcon :: 128
  2223.     prop DependsOn :: "DEV"
  2224.     prop Visible :: 1
  2225.     prop isDriver :: 1
  2226.     prop dataSize :: (7 + 11 * DHL.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  2227.     prop localCanCreate :: (if (self.gChannelsAvailable > 0) {"ok"} else {self.warning("No HST channels are available for a new DHL device.")})
  2228.     prop localCreate :: (self.gChannelsAvailable--, self.seizeHSTChannel(self.iHSTChannel), "ok")
  2229.     prop seizeHSTChannel :: ($1.iDelUser = "DHL", $1.iDHLAvailable = 0, $1.notify = @_DHL_notify, $1.arg0 = $1.iId, "ok")
  2230.     prop localDelete :: (self.gChannelsAvailable++, self.releaseHSTChannel(self.iHSTChannel), "ok")
  2231.     prop releaseHSTChannel :: ($1.iDelUser = "USER", $1.iDHLAvailable = 1, $1.notify = @_FXN_F_nop, $1.arg0 = 0, "ok")
  2232.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2233.     prop _globalAllocDesc :: "%8t .dhl: {}"
  2234.     prop _memSeg :: self.OBJMEMSEG
  2235.     prop _placement :: (0x7fffffff / 2)
  2236.     global gUser :: "USER" { 
  2237.         prop Visible :: 0
  2238.         prop Writable :: 0
  2239.         prop NoGen :: 1
  2240.     }
  2241.     global gSetOf :: 0 { 
  2242.         prop Visible :: 0
  2243.         prop Writable :: 0
  2244.         prop NoGen :: 1
  2245.     }
  2246.     global gNumOf :: 0 { 
  2247.         prop Visible :: 0
  2248.         prop Writable :: 0
  2249.         prop NoGen :: 1
  2250.     }
  2251.     global gDirty :: 0 { 
  2252.         prop Visible :: 0
  2253.         prop Writable :: 0
  2254.         prop NoGen :: 1
  2255.     }
  2256.     global gInitFlag :: 1 { 
  2257.         prop Visible :: 0
  2258.         prop Writable :: 0
  2259.         prop NoGen :: 1
  2260.     }
  2261.     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) { 
  2262.         prop Visible :: 0
  2263.         prop Writable :: 0
  2264.         prop NoGen :: 1
  2265.     }
  2266.     global gChannelsAvailable :: 0
  2267.     global OBJMEMSEG :: SDRAM { 
  2268.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2269.         prop MemberType :: MEM
  2270.         prop MemberTest :: MEM.dataMember($1)
  2271.         prop Label :: "Object Memory"
  2272.         prop JSName :: "OBJMEMSEG"
  2273.         prop Visible :: 1
  2274.         prop Writable :: 1
  2275.         prop NoGen :: 1
  2276.     }
  2277.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2278.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2279.         prop Label :: "comment"
  2280.         prop JSName :: "comment"
  2281.         prop Visible :: 1
  2282.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2283.         prop NoGen :: 1
  2284.     }
  2285.     inst iIsUsed :: 0 { 
  2286.         prop Visible :: 0
  2287.         prop Writable :: 0
  2288.         prop NoGen :: 1
  2289.     }
  2290.     inst iId :: 0 { 
  2291.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2292.         prop Style :: 0x01
  2293.         prop Visible :: 0
  2294.         prop Writable :: 1
  2295.         prop NoGen :: 1
  2296.     }
  2297.     inst iDelUser :: "USER" { 
  2298.         prop Visible :: 0
  2299.         prop Writable :: 0
  2300.         prop NoGen :: 1
  2301.     }
  2302.     inst iDelMsg :: "ok" { 
  2303.         prop Visible :: 0
  2304.         prop Writable :: 0
  2305.         prop NoGen :: 1
  2306.     }
  2307.     inst iHSTChannel :: (scan ($i; HST) {if ($i.iDHLAvailable == 1) {$a = $i} }, $a) { 
  2308.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2309.         prop Label :: "Underlying HST Channel"
  2310.         prop JSName :: "hstChannel"
  2311.         prop MemberType :: HST
  2312.         prop MemberTest :: (if (($1.iDHLAvailable == 1) || ($1 == self.iHSTChannel)) {1} else {0})
  2313.         prop Set :: (if ($1.iDHLAvailable != 1) {self.error("This channel is already in use.")} else {self.releaseHSTChannel(self.iHSTChannel), self.seizeHSTChannel($1), self.iHSTChannel = $1, "ok"})
  2314.         prop Visible :: 1
  2315.         prop Writable :: 1
  2316.         prop NoGen :: 0
  2317.     }
  2318.     inst iMode :: = self.iHSTChannel.mode { 
  2319.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2320.         prop Label :: "Mode"
  2321.         prop JSName :: "mode"
  2322.         prop Visible :: 1
  2323.         prop Writable :: 0
  2324.         prop NoGen :: 0
  2325.     }
  2326.     inst iDevId :: = (self.iHSTChannel.iId) { 
  2327.         prop NoGen :: 0
  2328.     }
  2329.     inst iIsTerminal :: 1 { 
  2330.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2331.         prop NoGen :: 1
  2332.     }
  2333.     inst iIsVirtual :: 0 { 
  2334.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2335.         prop NoGen :: 1
  2336.     }
  2337.     inst iFxns :: @_DHL_FXNS { 
  2338.         prop NoGen :: 1
  2339.     }
  2340. }
  2341. type DPI {
  2342.     isa ObjectMgr
  2343.     prop name :: "DPI"
  2344.     prop Label :: "DPI - Pipe Driver"
  2345.     prop IsContainedIn :: SIODRIVER
  2346.     prop GlobalIcon :: 127
  2347.     prop InstanceIcon :: 128
  2348.     prop GlobalHelpTopic :: (304)
  2349.     prop InstanceHelpTopic :: (404)
  2350.     prop InstancePropertyPage :: ("{7FE06FA0-2DE9-11d1-988B-0020AFEE33C6}")
  2351.     prop GlobalPropertyPage :: ("{7FE06FA1-2DE9-11d1-988B-0020AFEE33C6}")
  2352.     prop DependsOn :: "DEV"
  2353.     prop maxObjs :: (32767)
  2354.     prop isDriver :: (1)
  2355.     prop localCreate :: (self.gCurDevId += 1, "ok")
  2356.     global gUser :: "USER" { 
  2357.         prop Visible :: 0
  2358.         prop Writable :: 0
  2359.         prop NoGen :: 1
  2360.     }
  2361.     global gSetOf :: 0 { 
  2362.         prop Visible :: 0
  2363.         prop Writable :: 0
  2364.         prop NoGen :: 1
  2365.     }
  2366.     global gNumOf :: 0 { 
  2367.         prop Visible :: 0
  2368.         prop Writable :: 0
  2369.         prop NoGen :: 1
  2370.     }
  2371.     global gDirty :: 0 { 
  2372.         prop Visible :: 0
  2373.         prop Writable :: 0
  2374.         prop NoGen :: 1
  2375.     }
  2376.     global gInitFlag :: 1 { 
  2377.         prop Visible :: 0
  2378.         prop Writable :: 0
  2379.         prop NoGen :: 1
  2380.     }
  2381.     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) { 
  2382.         prop Visible :: 0
  2383.         prop Writable :: 0
  2384.         prop NoGen :: 1
  2385.     }
  2386.     global gCurDevId :: 0 { 
  2387.         prop Visible :: 0
  2388.         prop Writable :: 0
  2389.         prop NoGen :: 1
  2390.     }
  2391.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2392.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2393.         prop Label :: "comment"
  2394.         prop JSName :: "comment"
  2395.         prop Visible :: 1
  2396.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2397.         prop NoGen :: 1
  2398.     }
  2399.     inst iIsUsed :: 0 { 
  2400.         prop Visible :: 0
  2401.         prop Writable :: 0
  2402.         prop NoGen :: 1
  2403.     }
  2404.     inst iId :: 0 { 
  2405.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2406.         prop Style :: 0x01
  2407.         prop Visible :: 0
  2408.         prop Writable :: 1
  2409.         prop NoGen :: 1
  2410.     }
  2411.     inst iDelUser :: "USER" { 
  2412.         prop Visible :: 0
  2413.         prop Writable :: 0
  2414.         prop NoGen :: 1
  2415.     }
  2416.     inst iDelMsg :: "ok" { 
  2417.         prop Visible :: 0
  2418.         prop Writable :: 0
  2419.         prop NoGen :: 1
  2420.     }
  2421.     inst iDevId :: DPI.gCurDevId { 
  2422.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2423.         prop Visible :: 0
  2424.         prop Writable :: 0
  2425.         prop Set :: (self.error("DPI.iDevId parameter no longer settable, it is now handled automatically"))
  2426.     }
  2427.     inst iIsVirtual :: 0 { 
  2428.         prop Label :: "Allow virtual instances of this device."
  2429.         prop JSName :: "allowVirtual"
  2430.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2431.         prop Visible :: 1
  2432.         prop Writable :: 1
  2433.         prop NoGen :: 0
  2434.         prop Set :: (if ($1 == 1) {$a = "ok", $b = 1, scan ($i; SIO) {if ($i.iDevice == self) {$a = self.error("This DPI instance is being used by one or more SIO instances, cannot reconfigure"), $b = 0} }, if ($b == 1) {self.iIsVirtual = 1} , $a} else {self.iIsVirtual = 0, "ok"})
  2435.     }
  2436.     inst iIsTerminal :: 1 { 
  2437.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2438.         prop NoGen :: 1
  2439.     }
  2440.     inst iFxns :: @_DPI_FXNS { 
  2441.         prop NoGen :: 1
  2442.     }
  2443. }
  2444. type HOOK {
  2445.     isa ObjectMgr
  2446.     prop name :: "HOOK"
  2447.     prop Label :: "HOOK - Module Hook Manager"
  2448.     prop IsContainedIn :: SYSTEM
  2449.     prop DependsOn :: "SWI"
  2450.     prop InstancePropertyPage :: ("{473C4A64-B1A8-11d0-9885-0020AFEE33C6}")
  2451.     prop GlobalIcon :: 181
  2452.     prop InstanceIcon :: 182
  2453.     prop GlobalHelpTopic :: (318)
  2454.     prop InstanceHelpTopic :: (418)
  2455.     prop localCreate :: (if (self.gNumOf == 0) {HOOK_KNL.iIsUsed = 1, self.mkId(0)} , "ok")
  2456.     prop localDelete :: (if (self.gNumOf == 2) {HOOK_KNL.iIsUsed = 0, self.rmId} , "ok")
  2457.     prop maxObjs :: (32767)
  2458.     prop SortByField :: "iPri"
  2459.     prop SortGroups :: 1
  2460.     global gUser :: "USER" { 
  2461.         prop Visible :: 0
  2462.         prop Writable :: 0
  2463.         prop NoGen :: 1
  2464.     }
  2465.     global gSetOf :: 0 { 
  2466.         prop Visible :: 0
  2467.         prop Writable :: 0
  2468.         prop NoGen :: 1
  2469.     }
  2470.     global gNumOf :: 0 { 
  2471.         prop Visible :: 0
  2472.         prop Writable :: 0
  2473.         prop NoGen :: 1
  2474.     }
  2475.     global gDirty :: 0 { 
  2476.         prop Visible :: 0
  2477.         prop Writable :: 0
  2478.         prop NoGen :: 1
  2479.     }
  2480.     global gInitFlag :: 1 { 
  2481.         prop Visible :: 0
  2482.         prop Writable :: 0
  2483.         prop NoGen :: 1
  2484.     }
  2485.     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) { 
  2486.         prop Visible :: 0
  2487.         prop Writable :: 0
  2488.         prop NoGen :: 1
  2489.     }
  2490.     global KNLID :: = (HOOK_KNL.Order - 1) { 
  2491.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2492.     }
  2493.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2494.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2495.         prop Label :: "comment"
  2496.         prop JSName :: "comment"
  2497.         prop Visible :: 1
  2498.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2499.         prop NoGen :: 1
  2500.     }
  2501.     inst iIsUsed :: 0 { 
  2502.         prop Visible :: 0
  2503.         prop Writable :: 0
  2504.         prop NoGen :: 1
  2505.     }
  2506.     inst iId :: 0 { 
  2507.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2508.         prop Style :: 0x01
  2509.         prop Visible :: 0
  2510.         prop Writable :: 1
  2511.         prop NoGen :: 1
  2512.     }
  2513.     inst iDelUser :: "USER" { 
  2514.         prop Visible :: 0
  2515.         prop Writable :: 0
  2516.         prop NoGen :: 1
  2517.     }
  2518.     inst iDelMsg :: "ok" { 
  2519.         prop Visible :: 0
  2520.         prop Writable :: 0
  2521.         prop NoGen :: 1
  2522.     }
  2523.     inst initFxn :: @_FXN_F_nop { 
  2524.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2525.         prop Label :: "Initialization function"
  2526.         prop JSName :: "initFxn"
  2527.         prop Visible :: 1
  2528.         prop Writable :: 1
  2529.     }
  2530.     inst createFxn :: @_FXN_F_nop { 
  2531.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2532.         prop Label :: "Create function"
  2533.         prop JSName :: "createFxn"
  2534.         prop Visible :: 1
  2535.         prop Writable :: self.iDelUser == "USER"
  2536.     }
  2537.     inst deleteFxn :: @_FXN_F_nop { 
  2538.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2539.         prop Label :: "Delete function"
  2540.         prop JSName :: "deleteFxn"
  2541.         prop Visible :: 1
  2542.         prop Writable :: self.iDelUser == "USER"
  2543.     }
  2544.     inst exitFxn :: @_FXN_F_nop { 
  2545.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2546.         prop Label :: "Exit function"
  2547.         prop JSName :: "exitFxn"
  2548.         prop Visible :: 1
  2549.         prop Writable :: self.iDelUser == "USER"
  2550.     }
  2551.     inst callSwitchFxn :: 0 { 
  2552.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2553.         prop Label :: "Call switch function"
  2554.         prop JSName :: "callSwitchFxn"
  2555.         prop Visible :: 1
  2556.         prop Writable :: self.iDelUser == "USER"
  2557.     }
  2558.     inst switchFxn :: @_FXN_F_nop { 
  2559.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2560.         prop Label :: "Switch function"
  2561.         prop JSName :: "switchFxn"
  2562.         prop Visible :: 1
  2563.         prop Writable :: self.callSwitchFxn
  2564.     }
  2565.     inst callReadyFxn :: 0 { 
  2566.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2567.         prop Label :: "Call ready function"
  2568.         prop JSName :: "callReadyFxn"
  2569.         prop Visible :: 1
  2570.         prop Writable :: self.iDelUser == "USER"
  2571.     }
  2572.     inst readyFxn :: @_FXN_F_nop { 
  2573.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2574.         prop Label :: "Ready function"
  2575.         prop JSName :: "readyFxn"
  2576.         prop Visible :: 1
  2577.         prop Writable :: self.callReadyFxn
  2578.     }
  2579.     inst Order :: 2 { 
  2580.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2581.         prop JSName :: "order"
  2582.         prop NoGen :: 1
  2583.         prop Writable :: 1
  2584.     }
  2585.     inst iPri :: 0 { 
  2586.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  2587.         prop Visible :: 0
  2588.         prop NoGen :: 1
  2589.     }
  2590. }
  2591. object HOOK_KNL :: HOOK {
  2592.     param iComment :: "Used to support TSK function hooks (cannot be deleted)"
  2593.     param iIsUsed :: 0
  2594.     param iId :: 0
  2595.     param iDelUser :: "HOOK"
  2596.     param iDelMsg :: "This hook instance is used by TSK and cannot be deleted"
  2597.     param initFxn :: @_FXN_F_nop
  2598.     param createFxn :: @_FXN_F_nop
  2599.     param deleteFxn :: @_FXN_F_nop
  2600.     param exitFxn :: @_FXN_F_nop
  2601.     param callSwitchFxn :: 0
  2602.     param switchFxn :: @_FXN_F_nop
  2603.     param callReadyFxn :: 0
  2604.     param readyFxn :: @_FXN_F_nop
  2605.     param Order :: 1
  2606.     param iPri :: 0
  2607. }
  2608. type DIO {
  2609.     isa ObjectMgr
  2610.     prop Visible :: 1
  2611.     prop Label :: "DIO - Class Driver"
  2612.     prop name :: "DIO"
  2613.     prop IsContainedIn :: SIODRIVER
  2614.     prop GlobalIcon :: 127
  2615.     prop InstanceIcon :: 127
  2616.     prop GlobalHelpTopic :: (319)
  2617.     prop InstanceHelpTopic :: (419)
  2618.     prop InstancePropertyPage :: ("{f80273c0-3838-11d2-a32c-006097656921}")
  2619.     prop GlobalPropertyPage :: ("{050a0600-3839-11d2-a32c-006097656921}")
  2620.     prop maxObjs :: (32767)
  2621.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2622.     prop _globalAllocDesc :: ("%8t .dio: {}")
  2623.     prop _placement :: (0x7fffffff / 2)
  2624.     prop _memSeg :: self.OBJMEMSEG
  2625.     prop isDriver :: (1)
  2626.     prop mdObject :: ($h = nil, $j = nil, scan ($h; UDEV) {if ($h.driverType == "DEV_IOMTYPE") {$j = $h, break} }, $j)
  2627.     prop localCanCreate :: (if (self.mdObject == nil) {self.error("An IOM type device must be created first.")} else {"ok"})
  2628.     prop numTsk :: ($a = 0, $h = nil, scan ($h; DIO) {if ($h.useCallBackFxn == 0) {$a = $a + $h.numTimeUse} }, $a)
  2629.     prop numSwi :: ($a = 0, $h = nil, scan ($h; DIO) {if ($h.useCallBackFxn == 1) {$a = $a + $h.numTimeUse} }, $a)
  2630.     prop functionTablePtr :: (if (self.STATIC) {if (self.useCallBackFxn) {@_DIO_cbStaticFxns} else {@_DIO_tskStaticFxns}} else {if (self.useCallBackFxn) {@_DIO_cbDynamicFxns} else {@_DIO_tskDynamicFxns}})
  2631.     global gUser :: "USER" { 
  2632.         prop Visible :: 0
  2633.         prop Writable :: 0
  2634.         prop NoGen :: 1
  2635.     }
  2636.     global gSetOf :: 0 { 
  2637.         prop Visible :: 0
  2638.         prop Writable :: 0
  2639.         prop NoGen :: 1
  2640.     }
  2641.     global gNumOf :: 1 { 
  2642.         prop Visible :: 0
  2643.         prop Writable :: 0
  2644.         prop NoGen :: 1
  2645.     }
  2646.     global gDirty :: 1 { 
  2647.         prop Visible :: 0
  2648.         prop Writable :: 0
  2649.         prop NoGen :: 1
  2650.     }
  2651.     global gInitFlag :: 1 { 
  2652.         prop Visible :: 0
  2653.         prop Writable :: 0
  2654.         prop NoGen :: 1
  2655.     }
  2656.     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) { 
  2657.         prop Visible :: 0
  2658.         prop Writable :: 0
  2659.         prop NoGen :: 1
  2660.     }
  2661.     global OBJMEMSEG :: SDRAM { 
  2662.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2663.         prop MemberType :: MEM