;
;  Copyright 2000 by Texas Instruments Incorporated.
;  All rights reserved. Property of Texas Instruments Incorporated.
;  Restricted rights to use, duplicate or disclose this code are
;  granted through contract.
;  U.S. Patent Nos. 5,283,900  5,392,448
;
; "@(#) DSP/BIOS 4.00 09-15-00 (barracuda-e16)"
;;   Do *not* directly modify this file.  It was   
;;   generated by the Configuration Tool; any 
;;   changes risk being overwritten.               

;; INPUT audio.cdb

;; CONFIGURATION/VERSION INFORMATION
        .asg "Fri Sep 15 11:31:21 2000", VERS$DATE

;; PROLOGUE
        .include audiocfg.h62
        .copy confbeg.s62

;; TYPE HEADERS
        .include gbl.h62
        .include obj.h62
        .include clk.h62
        .include hst.h62
        .include hwi.h62
        .include idl.h62
        .include isrc.h62
        .include lck.h62
        .include log.h62
        .include mbx.h62
        .include mem.h62
        .include pip.h62
        .include prd.h62
        .include que.h62
        .include rtdx.h62
        .include sem.h62
        .include sio.h62
        .include sts.h62
        .include swi.h62
        .include sys.h62
        .include tsk.h62
        .include dev.h62
        .include udev.h62
        .include dgn.h62
        .include dhl.h62
        .include dpi.h62

;; TYPE ATTRIBUTES
OBJ$NUMOF           .set 0
OBJ$SETOF           .set 00H
CLK$NUMOF           .set 1
CLK$SETOF           .set 00H
HST$NUMOF           .set 2
HST$SETOF           .set 03H
HWI$NUMOF           .set 16
HWI$SETOF           .set 0ffffH
IDL$NUMOF           .set 3
IDL$SETOF           .set 00H
ISRC$NUMOF          .set 0
ISRC$SETOF          .set 00H
LCK$NUMOF           .set 0
LCK$SETOF           .set 00H
LOG$NUMOF           .set 2
LOG$SETOF           .set 00H
MBX$NUMOF           .set 0
MBX$SETOF           .set 00H
MEM$NUMOF           .set 5
MEM$SETOF           .set 00H
PIP$NUMOF           .set 2
PIP$SETOF           .set 00H
PRD$NUMOF           .set 2
PRD$SETOF           .set 00H
QUE$NUMOF           .set 0
QUE$SETOF           .set 00H
RTDX$NUMOF          .set 0
RTDX$SETOF          .set 00H
SEM$NUMOF           .set 0
SEM$SETOF           .set 00H
SIO$NUMOF           .set 0
SIO$SETOF           .set 00H
STS$NUMOF           .set 1
STS$SETOF           .set 00H
SWI$NUMOF           .set 3
SWI$SETOF           .set 00H
TSK$NUMOF           .set 1
TSK$SETOF           .set 00H
DEV$NUMOF           .set 0
DEV$SETOF           .set 00H
UDEV$NUMOF          .set 0
UDEV$SETOF          .set 00H
DGN$NUMOF           .set 0
DGN$SETOF           .set 00H
DHL$NUMOF           .set 0
DHL$SETOF           .set 00H
DPI$NUMOF           .set 0
DPI$SETOF           .set 00H

;; module GBL (ROM, USERINIT, USERINITFXN, ENABLEINST, CACHE, L2CONFIGURE, L2MODE, L2PRIORITY, L2MARMASK)
        .global GBL$                     ; == 0
        .global GBL_ROM                  ; audiocfg.h62
        .global GBL_USERINIT             ; audiocfg.h62
        .global GBL_USERINITFXN          ; audiocfg.cmd
        .global GBL_ENABLEINST           ; audiocfg.h62
        .global GBL_CACHE                ; audiocfg.h62
        .global GBL_L2CONFIGURE          ; audiocfg.h62
        .global GBL_L2MODE               ; audiocfg.h62
        .global GBL_L2PRIORITY           ; audiocfg.h62
        .global GBL_L2MARMASK            ; audiocfg.h62

;; module OBJ ()
        .global OBJ$                     ; == 0

;; module CLK (INTBIT, REGS, USETIMER, TCR, PRD, COUNTSPMS, TIMEFXN, HOOKFXN)
        .global CLK$                     ; == 1
        .global CLK_INTBIT               ; audiocfg.h62
        .global CLK_REGS                 ; audiocfg.h62
        .global CLK_USETIMER             ; audiocfg.h62
        .global CLK_TCR                  ; audiocfg.h62
        .global CLK_PRD                  ; audiocfg.h62
        .global CLK_COUNTSPMS            ; audiocfg.h62
        .global CLK_TIMEFXN              ; audiocfg.cmd
        .global CLK_HOOKFXN              ; audiocfg.cmd

;; module HST (RTDX, DSM, NONE, MAXFRAMESET, MAXFRAMEALLOWED, DSMBUFSEG, DSMMEMSIZE)
        .global HST$                     ; == 1
        .global HST_RTDX                 ; audiocfg.h62
        .global HST_DSM                  ; audiocfg.h62
        .global HST_NONE                 ; audiocfg.h62
        .global HST_MAXFRAMESET          ; audiocfg.h62
        .global HST_MAXFRAMEALLOWED      ; audiocfg.h62
        .global HST_DSMBUFSEG            ; audiocfg.cmd
        .global HST_DSMMEMSIZE           ; audiocfg.h62

;; module HWI (ZEROTAB, POLARITYMASK, INTRMULTLOW, INTRMULTHIGH)
        .global HWI$                     ; == 1
        .global HWI_ZEROTAB              ; audiocfg.h62
        .global HWI_POLARITYMASK         ; audiocfg.h62
        .global HWI_INTRMULTLOW          ; audiocfg.h62
        .global HWI_INTRMULTHIGH         ; audiocfg.h62

;; module IDL (USECLKIDLTIME, CALIBRFXN)
        .global IDL$                     ; == 1
        .global IDL_USECLKIDLTIME        ; audiocfg.h62
        .global IDL_CALIBRFXN            ; audiocfg.cmd

;; module ISRC ()
        .global ISRC$                    ; == 1

;; module LCK ()
        .global LCK$                     ; == 1

;; module LOG (ENABLED)
        .global LOG$                     ; == 1
        .global LOG_ENABLED              ; audiocfg.h62

;; module MBX ()
        .global MBX$                     ; == 0

;; module MEM (gNumHeap, NOHEAPS, MALLOCSEG)
        .global MEM$                     ; == 1
        .global MEM_gNumHeap             ; audiocfg.h62
        .global MEM_NOHEAPS              ; audiocfg.h62
        .global MEM_MALLOCSEG            ; audiocfg.cmd

;; module PIP (gNumEmbed, gNextId)
        .global PIP$                     ; == 1
        .global PIP_gNumEmbed            ; audiocfg.h62
        .global PIP_gNextId              ; audiocfg.h62

;; module PRD (SCALAR, THOOKFXN)
        .global PRD$                     ; == 1
        .global PRD_SCALAR               ; audiocfg.h62
        .global PRD_THOOKFXN             ; audiocfg.cmd

;; module QUE ()
        .global QUE$                     ; == 1

;; module RTDX (USERTDX, USERTEXECUTION, DATAMEMSEG, BUFMEMSIZE)
        .global RTDX$                    ; == 0
        .global RTDX_USERTDX             ; audiocfg.h62
        .global RTDX_USERTEXECUTION      ; audiocfg.h62
        .global RTDX_DATAMEMSEG          ; audiocfg.cmd
        .global RTDX_BUFMEMSIZE          ; audiocfg.h62

;; module SEM ()
        .global SEM$                     ; == 0

;; module SIO ()
        .global SIO$                     ; == 0

;; module STS ()
        .global STS$                     ; == 1

;; module SWI (EHOOKFXN, IHOOKFXN, EXECFXN, RUNFXN)
        .global SWI$                     ; == 1
        .global SWI_EHOOKFXN             ; audiocfg.cmd
        .global SWI_IHOOKFXN             ; audiocfg.cmd
        .global SWI_EXECFXN              ; audiocfg.cmd
        .global SWI_RUNFXN               ; audiocfg.cmd

;; module SYS (ABORTFXN, ERRORFXN, EXITFXN, PUTCFXN)
        .global SYS$                     ; == 1
        .global SYS_ABORTFXN             ; audiocfg.cmd
        .global SYS_ERRORFXN             ; audiocfg.cmd
        .global SYS_EXITFXN              ; audiocfg.cmd
        .global SYS_PUTCFXN              ; audiocfg.cmd

;; module TSK (STACKSIZE, STACKSEG, PRIORITY, CREATEFXN, DELETEFXN, EXITFXN, SWITCHFXN, READYFXN)
        .global TSK$                     ; == 1
        .global TSK_STACKSIZE            ; audiocfg.h62
        .global TSK_STACKSEG             ; audiocfg.cmd
        .global TSK_PRIORITY             ; audiocfg.h62
        .global TSK_CREATEFXN            ; audiocfg.cmd
        .global TSK_DELETEFXN            ; audiocfg.cmd
        .global TSK_EXITFXN              ; audiocfg.cmd
        .global TSK_SWITCHFXN            ; audiocfg.h62
        .global TSK_READYFXN             ; audiocfg.h62

;; module DEV ()
        .global DEV$                     ; == 0

;; module UDEV ()
        .global UDEV$                    ; == 0

;; module DGN ()
        .global DGN$                     ; == 0

;; module DHL (gChannelsAvailable)
        .global DHL$                     ; == 0
        .global DHL_gChannelsAvailable   ; audiocfg.h62

;; module DPI ()
        .global DPI$                     ; == 0

;; MODULE CONFIGURATION

;; ======== GBL_config ========
        .asg 00H, _ROM
        .asg 00H, _USERINIT
        .asg _FXN_F_nop, _USERINITFXN
        .asg 01H, _ENABLEINST
        .asg 00H, _CACHE
        .asg 00H, _L2CONFIGURE
        .asg 00H, _L2MODE
        .asg 00H, _L2PRIORITY
        .asg 00H, _L2MARMASK
        GBL_config  _ROM, _USERINIT, _USERINITFXN, _ENABLEINST, _CACHE, _L2CONFIGURE, _L2MODE, _L2PRIORITY, _L2MARMASK

;; ======== OBJ_config ========
        OBJ_config

;; ======== CLK_config ========
        .asg 04000H, _INTBIT
        .asg 01940000H, _REGS
        .asg 01H, _USETIMER
        .asg 020H, _TCR
        .asg 081e2H, _PRD
        .asg 081e2H, _COUNTSPMS
        .asg CLK_F_getshtime, _TIMEFXN
        .asg HWI_F_dispatch, _HOOKFXN
        CLK_config  _INTBIT, _REGS, _USETIMER, _TCR, _PRD, _COUNTSPMS, _TIMEFXN, _HOOKFXN

;; ======== HST_config ========
        .asg 01H, _RTDX
        .asg 00H, _DSM
        .asg 00H, _NONE
        .asg 040H, _MAXFRAMESET
        .asg 0100H, _MAXFRAMEALLOWED
        .asg IDRAM, _DSMBUFSEG
        .asg 0400H, _DSMMEMSIZE
        HST_config  _RTDX, _DSM, _NONE, _MAXFRAMESET, _MAXFRAMEALLOWED, _DSMBUFSEG, _DSMMEMSIZE

;; ======== HWI_config ========
        .asg 01H, _ZEROTAB
        .asg 00H, _POLARITYMASK
        .asg 0250718a4H, _INTRMULTLOW
        .asg 08202da3H, _INTRMULTHIGH
        HWI_config  _ZEROTAB, _POLARITYMASK, _INTRMULTLOW, _INTRMULTHIGH

;; ======== IDL_config ========
        .asg 01H, _USECLKIDLTIME
        .asg IDL_F_stub, _CALIBRFXN
        IDL_config  _USECLKIDLTIME, _CALIBRFXN

;; ======== ISRC_config ========
        ISRC_config

;; ======== LCK_config ========
        LCK_config

;; ======== LOG_config ========
        .asg 01H, _ENABLED
        LOG_config  _ENABLED

;; ======== MBX_config ========
        MBX_config

;; ======== MEM_config ========
        .asg 01H, _gNumHeap
        .asg 00H, _NOHEAPS
        .asg IDRAM, _MALLOCSEG
        MEM_config  _gNumHeap, _NOHEAPS, _MALLOCSEG

;; ======== PIP_config ========
        .asg 04H, _gNumEmbed
        .asg 02H, _gNextId
        PIP_config  _gNumEmbed, _gNextId

;; ======== PRD_config ========
        .asg 08H, _SCALAR
        .asg _KNL_tick, _THOOKFXN
        PRD_config  _SCALAR, _THOOKFXN

;; ======== QUE_config ========
        QUE_config

;; ======== RTDX_config ========
        .asg 01H, _USERTDX
        .asg 00H, _USERTEXECUTION
        .asg IDRAM, _DATAMEMSEG
        .asg 0408H, _BUFMEMSIZE
        RTDX_config  _USERTDX, _USERTEXECUTION, _DATAMEMSEG, _BUFMEMSIZE

;; ======== SEM_config ========
        SEM_config

;; ======== SIO_config ========
        SIO_config

;; ======== STS_config ========
        STS_config

;; ======== SWI_config ========
        .asg GBL_NULL, _EHOOKFXN
        .asg GBL_NULL, _IHOOKFXN
        .asg SWI_F_iexec, _EXECFXN
        .asg SWI_F_run, _RUNFXN
        SWI_config  _EHOOKFXN, _IHOOKFXN, _EXECFXN, _RUNFXN

;; ======== SYS_config ========
        .asg _UTL_doAbort, _ABORTFXN
        .asg _UTL_doError, _ERRORFXN
        .asg _UTL_halt, _EXITFXN
        .asg _UTL_doPutc, _PUTCFXN
        SYS_config  _ABORTFXN, _ERRORFXN, _EXITFXN, _PUTCFXN

;; ======== TSK_config ========
        .asg 0400H, _STACKSIZE
        .asg IDRAM, _STACKSEG
        .asg 01H, _PRIORITY
        .asg _FXN_F_nop, _CREATEFXN
        .asg _FXN_F_nop, _DELETEFXN
        .asg _FXN_F_nop, _EXITFXN
        .asg 00H, _SWITCHFXN
        .asg 00H, _READYFXN
        TSK_config  _STACKSIZE, _STACKSEG, _PRIORITY, _CREATEFXN, _DELETEFXN, _EXITFXN, _SWITCHFXN, _READYFXN

;; ======== DEV_config ========
        DEV_config

;; ======== UDEV_config ========
        UDEV_config

;; ======== DGN_config ========
        DGN_config

;; ======== DHL_config ========
        .asg 00H, _gChannelsAvailable
        DHL_config  _gChannelsAvailable

;; ======== DPI_config ========
        DPI_config

;; ======== CLK_Obj PRD_clock ========
;; This clock function calls PRD_tick from within the on-chip timer ISR
;;
;; CLK_Obj PRD_clock (function)
        .global PRD_clock
        .asg PRD_F_tick, _function
        CLK_Obj 1, PRD_clock, 0, _function

;; ======== HST_Obj RTA_fromHost ========
;; Used to access LOG and STS data
;;
;; HST_Obj RTA_fromHost (mode, buf, framesize, numframes, stsflg, notify, arg0, arg1, lnk)
        .global RTA_fromHost
        .asg "input", _mode
        .asg "<NULL>", _buf
        .asg 04H, _framesize
        .asg 01H, _numframes
        .asg 00H, _stsflg
        .asg _FXN_F_nop, _notify
        .asg 00H, _arg0
        .asg 00H, _arg1
        .asg "RTDX", _lnk
        HST_Obj 1, RTA_fromHost, 1, _mode, _buf, _framesize, _numframes, _stsflg, _notify, _arg0, _arg1, _lnk

;; ======== HST_Obj RTA_toHost ========
;; Used to access LOG and STS data
;;
;; HST_Obj RTA_toHost (mode, buf, framesize, numframes, stsflg, notify, arg0, arg1, lnk)
        .global RTA_toHost
        .asg "output", _mode
        .asg "<NULL>", _buf
        .asg 040H, _framesize
        .asg 01H, _numframes
        .asg 00H, _stsflg
        .asg _FXN_F_nop, _notify
        .asg 00H, _arg0
        .asg 00H, _arg1
        .asg "RTDX", _lnk
        HST_Obj 1, RTA_toHost, 0, _mode, _buf, _framesize, _numframes, _stsflg, _notify, _arg0, _arg1, _lnk

;; ======== HWI_Obj HWI_RESET ========
;; defines function for the RESET ISR
;;
;; HWI_Obj HWI_RESET (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_RESET
        .asg BIOS_reset, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 01H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_RESET, 0, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_NMI ========
;; defines function for the NMI ISR
;;
;; HWI_Obj HWI_NMI (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_NMI
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 02H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_NMI, 1, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_RESERVED0 ========
;; RESERVED for RTDX
;;
;; HWI_Obj HWI_RESERVED0 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_RESERVED0
        .asg HWI_F_dispatch, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "RTDX", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 04H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_RESERVED0, 2, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_RESERVED1 ========
;; RESERVED for RTDX
;;
;; HWI_Obj HWI_RESERVED1 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_RESERVED1
        .asg HWI_F_dispatch, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "RTDX", _client
        .asg 01H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 08H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_RESERVED1, 3, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT4 ========
;; defines the INT4 Interrupt
;;
;; HWI_Obj HWI_INT4 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT4
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 010H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT4, 4, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT5 ========
;; defines the INT5 Interrupt
;;
;; HWI_Obj HWI_INT5 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT5
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 020H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT5, 5, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT6 ========
;; defines the INT6 Interrupt
;;
;; HWI_Obj HWI_INT6 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT6
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 040H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT6, 6, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT7 ========
;; defines the INT7 Interrupt
;;
;; HWI_Obj HWI_INT7 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT7
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 080H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT7, 7, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT8 ========
;; defines the INT8 Interrupt
;;
;; HWI_Obj HWI_INT8 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT8
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 0100H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT8, 8, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT9 ========
;; defines the INT9 Interrupt
;;
;; HWI_Obj HWI_INT9 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT9
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 0200H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT9, 9, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT10 ========
;; defines the INT10 Interrupt
;;
;; HWI_Obj HWI_INT10 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT10
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 0400H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT10, 10, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT11 ========
;; defines the INT11 Interrupt
;;
;; HWI_Obj HWI_INT11 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT11
        .asg _DSS_isr, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 0800H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT11, 11, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT12 ========
;; defines the INT12 Interrupt
;;
;; HWI_Obj HWI_INT12 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT12
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 01000H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT12, 12, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT13 ========
;; defines the INT13 Interrupt
;;
;; HWI_Obj HWI_INT13 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT13
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 02000H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT13, 13, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT14 ========
;; defines the INT14 Interrupt
;;
;; HWI_Obj HWI_INT14 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT14
        .asg CLK_F_isr, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "CLK", _client
        .asg 01H, _iUseDispatcher
        .asg CLK_A_TABBEG, _iArg
        .asg 04000H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT14, 14, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== HWI_Obj HWI_INT15 ========
;; defines the INT15 Interrupt
;;
;; HWI_Obj HWI_INT15 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask)
        .global HWI_INT15
        .asg HWI_unused, _function
        .asg "Nothing", _monitor
        .asg 00H, _addr
        .asg "signed", _dataType
        .asg "STS_add(*addr)", _operation
        .asg "USER", _client
        .asg 00H, _iUseDispatcher
        .asg 00H, _iArg
        .asg 08000H, _IntrMask
        .asg 01H, _iCCBitMask
        HWI_Obj 1, HWI_INT15, 15, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask

;; ======== IDL_Obj LNK_dataPump ========
;; This object cannot be deleted
;;
;; IDL_Obj LNK_dataPump (function, calibration)
        .global LNK_dataPump
        .asg LNK_F_dataPump, _function
        .asg 01H, _calibration
        IDL_Obj 1, LNK_dataPump, 0, _function, _calibration

;; ======== IDL_Obj RTA_dispatcher ========
;; This object cannot be deleted
;;
;; IDL_Obj RTA_dispatcher (function, calibration)
        .global RTA_dispatcher
        .asg RTA_F_dispatch, _function
        .asg 01H, _calibration
        IDL_Obj 1, RTA_dispatcher, 0, _function, _calibration

;; ======== IDL_Obj IDL_cpuLoad ========
;; This object is required by the system to acquire CPU load data
;;
;; IDL_Obj IDL_cpuLoad (function, calibration)
        .global IDL_cpuLoad
        .asg IDL_F_busy, _function
        .asg 01H, _calibration
        IDL_Obj 1, IDL_cpuLoad, 0, _function, _calibration

;; ======== LOG_Obj LOG_system ========
;; This object is required by the system to accumulate execution trace information
;;
;; LOG_Obj LOG_system (bufseg, buflen, logtype)
        .global LOG_system
        .asg IDRAM, _bufseg
        .asg 0400H, _buflen
        .asg "circular", _logtype
        LOG_Obj 1, LOG_system, 0, _bufseg, _buflen, _logtype

;; ======== LOG_Obj trace ========
;; <add comments here>
;;
;; LOG_Obj trace (bufseg, buflen, logtype)
        .global trace
        .asg IDRAM, _bufseg
        .asg 0200H, _buflen
        .asg "circular", _logtype
        LOG_Obj 1, trace, 0, _bufseg, _buflen, _logtype

;; ======== MEM_Obj IPRAM ========
;; This object defines space for the DSP's on-chip program memory
;;
;; MEM_Obj IPRAM (len, iAllocHeap, iSegZero, iHeapId)
        .global IPRAM
        .asg 010000H, _len
        .asg 00H, _iAllocHeap
        .asg IDRAM, _iSegZero
        .asg segment_name, _iHeapId
        MEM_Obj 1, IPRAM, 0, _len, _iAllocHeap, _iSegZero, _iHeapId

;; ======== MEM_Obj SBSRAM ========
;; This object defines space for the DSP's external memory
;;
;; MEM_Obj SBSRAM (len, iAllocHeap, iSegZero, iHeapId)
        .global SBSRAM
        .asg 040000H, _len
        .asg 00H, _iAllocHeap
        .asg IDRAM, _iSegZero
        .asg segment_name, _iHeapId
        MEM_Obj 1, SBSRAM, 0, _len, _iAllocHeap, _iSegZero, _iHeapId

;; ======== MEM_Obj SDRAM0 ========
;; This object defines space for the DSP's external memory
;;
;; MEM_Obj SDRAM0 (len, iAllocHeap, iSegZero, iHeapId)
        .global SDRAM0
        .asg 0400000H, _len
        .asg 00H, _iAllocHeap
        .asg IDRAM, _iSegZero
        .asg segment_name, _iHeapId
        MEM_Obj 1, SDRAM0, 0, _len, _iAllocHeap, _iSegZero, _iHeapId

;; ======== MEM_Obj SDRAM1 ========
;; This object defines space for the DSP's external memory
;;
;; MEM_Obj SDRAM1 (len, iAllocHeap, iSegZero, iHeapId)
        .global SDRAM1
        .asg 0400000H, _len
        .asg 00H, _iAllocHeap
        .asg IDRAM, _iSegZero
        .asg segment_name, _iHeapId
        MEM_Obj 1, SDRAM1, 0, _len, _iAllocHeap, _iSegZero, _iHeapId

;; ======== MEM_Obj IDRAM ========
;; This object defines space for the DSP's on-chip data memory
;;
;; MEM_Obj IDRAM (len, iAllocHeap, iSegZero, iHeapId)
        .global IDRAM
        .asg 010000H, _len
        .asg 01H, _iAllocHeap
        .asg IDRAM, _iSegZero
        .asg segment_name, _iHeapId
        MEM_Obj 1, IDRAM, 0, _len, _iAllocHeap, _iSegZero, _iHeapId

;; ======== PIP_Obj DSS_rxPipe ========
;; <add comments here>
;;
;; PIP_Obj DSS_rxPipe (buf, framesize, numframes, monitor, notifyWriter, nwarg0, nwarg1, notifyReader, nrarg0, nrarg1)
        .global DSS_rxPipe
        .asg "<NULL>", _buf
        .asg 060H, _framesize
        .asg 02H, _numframes
        .asg "reader", _monitor
        .asg _DSS_rxPrime, _notifyWriter
        .asg 00H, _nwarg0
        .asg 00H, _nwarg1
        .asg _SWI_andn, _notifyReader
        .asg _audioSwi, _nrarg0
        .asg 02H, _nrarg1
        PIP_Obj 1, DSS_rxPipe, 0, _buf, _framesize, _numframes, _monitor, _notifyWriter, _nwarg0, _nwarg1, _notifyReader, _nrarg0, _nrarg1

;; ======== PIP_Obj DSS_txPipe ========
;; <add comments here>
;;
;; PIP_Obj DSS_txPipe (buf, framesize, numframes, monitor, notifyWriter, nwarg0, nwarg1, notifyReader, nrarg0, nrarg1)
        .global DSS_txPipe
        .asg "<NULL>", _buf
        .asg 060H, _framesize
        .asg 02H, _numframes
        .asg "reader", _monitor
        .asg _SWI_andn, _notifyWriter
        .asg _audioSwi, _nwarg0
        .asg 01H, _nwarg1
        .asg _DSS_txPrime, _notifyReader
        .asg 00H, _nrarg0
        .asg 00H, _nrarg1
        PIP_Obj 1, DSS_txPipe, 1, _buf, _framesize, _numframes, _monitor, _notifyWriter, _nwarg0, _nwarg1, _notifyReader, _nrarg0, _nrarg1

;; ======== PRD_Obj loadPrd ========
;; <add comments here>
;;
;; PRD_Obj loadPrd (period, mode, function, arg0, arg1)
        .global loadPrd
        .asg 08H, _period
        .asg "continuous", _mode
        .asg _load, _function
        .asg 08H, _arg0
        .asg 00H, _arg1
        PRD_Obj 1, loadPrd, 0, _period, _mode, _function, _arg0, _arg1

;; ======== PRD_Obj stepPrd ========
;; <add comments here>
;;
;; PRD_Obj stepPrd (period, mode, function, arg0, arg1)
        .global stepPrd
        .asg 02710H, _period
        .asg "continuous", _mode
        .asg _step, _function
        .asg 00H, _arg0
        .asg 00H, _arg1
        PRD_Obj 1, stepPrd, 0, _period, _mode, _function, _arg0, _arg1

;; ======== STS_Obj IDL_busyObj ========
;; This object is required by the system to accumulate CPU load statistics
;;
;; STS_Obj IDL_busyObj (prev, prevlow)
        .global IDL_busyObj
        .asg 00H, _prev
        .asg 00H, _prevlow
        STS_Obj 1, IDL_busyObj, 0, _prev, _prevlow

;; ======== SWI_Obj KNL_swi ========
;; This Software Interrupt calls the TSK scheduler
;;
;; SWI_Obj KNL_swi (function, pri, mailbox, arg0, arg1, dorta)
        .global KNL_swi
        .asg _KNL_run, _function
        .asg 00H, _pri
        .asg 00H, _mailbox
        .asg 00H, _arg0
        .asg 00H, _arg1
        .asg 01H, _dorta
        SWI_Obj 1, KNL_swi, 0, _function, _pri, _mailbox, _arg0, _arg1, _dorta

;; ======== SWI_Obj PRD_swi ========
;; This Software ISR executes all configured PRD functions
;;
;; SWI_Obj PRD_swi (function, pri, mailbox, arg0, arg1, dorta)
        .global PRD_swi
        .asg PRD_F_swi, _function
        .asg 01H, _pri
        .asg 00H, _mailbox
        .asg 00H, _arg0
        .asg 00H, _arg1
        .asg 01H, _dorta
        SWI_Obj 1, PRD_swi, 0, _function, _pri, _mailbox, _arg0, _arg1, _dorta

;; ======== SWI_Obj audioSwi ========
;; <add comments here>
;;
;; SWI_Obj audioSwi (function, pri, mailbox, arg0, arg1, dorta)
        .global audioSwi
        .asg _audio, _function
        .asg 02H, _pri
        .asg 03H, _mailbox
        .asg DSS_rxPipe, _arg0
        .asg DSS_txPipe, _arg1
        .asg 01H, _dorta
        SWI_Obj 1, audioSwi, 0, _function, _pri, _mailbox, _arg0, _arg1, _dorta

;; ======== TSK_Obj TSK_idle ========
;; This is the idle task; it only runs when no other task is ready
;;
;; TSK_Obj TSK_idle (iFXN, iARG0, iARG1, iARG2, iARG3, iARG4, iARG5, iARG6, iARG7, iAUTOSTK, iMANSTK, iSTKSZ, iSTKSEG, iPRI, iENV, iEXITFLAG, iUSETSKNAME, iSTATREG)
        .global TSK_idle
        .asg IDL_F_loop, _iFXN
        .asg 00H, _iARG0
        .asg 00H, _iARG1
        .asg 00H, _iARG2
        .asg 00H, _iARG3
        .asg 00H, _iARG4
        .asg 00H, _iARG5
        .asg 00H, _iARG6
        .asg 00H, _iARG7
        .asg 01H, _iAUTOSTK
        .asg null, _iMANSTK
        .asg 0400H, _iSTKSZ
        .asg IDRAM, _iSTKSEG
        .asg 00H, _iPRI
        .asg 00H, _iENV
        .asg 01H, _iEXITFLAG
        .asg 00H, _iUSETSKNAME
        .asg 00H, _iSTATREG
        TSK_Obj 1, TSK_idle, 0, _iFXN, _iARG0, _iARG1, _iARG2, _iARG3, _iARG4, _iARG5, _iARG6, _iARG7, _iAUTOSTK, _iMANSTK, _iSTKSZ, _iSTKSEG, _iPRI, _iENV, _iEXITFLAG, _iUSETSKNAME, _iSTATREG

;; MODULE INITIALIZATION
        .sect ".sysinit"
        .global BIOS_init, _BIOS_init
BIOS_init:
_BIOS_init:
        GBL_preamble
        GBL_init
        OBJ_init
        CLK_init
        IDL_init
        LCK_init
        LOG_init
        MBX_init
        SEM_init
        MEM_init
        PIP_init
        PRD_init
        QUE_init
        RTDX_init
        SIO_init
        STS_init
        SYS_init
        UDEV_init
        DGN_init
        DHL_init
        DPI_init
        DEV_init
        HWI_init
        HST_init
        ISRC_init
        SWI_init
        TSK_init
        GBL_postamble

;; MODULE STARTUP
        .sect ".sysinit"
        .global BIOS_start, _BIOS_start
BIOS_start:
_BIOS_start:
        GBL_preamble
        GBL_startup
        OBJ_startup
        CLK_startup
        IDL_startup
        LCK_startup
        LOG_startup
        MBX_startup
        SEM_startup
        MEM_startup
        PIP_startup
        PRD_startup
        QUE_startup
        RTDX_startup
        SIO_startup
        STS_startup
        SYS_startup
        UDEV_startup
        DGN_startup
        DHL_startup
        DPI_startup
        DEV_startup
        HWI_startup
        HST_startup
        ISRC_startup
        SWI_startup
        TSK_startup
        GBL_postamble

;; EPILOGUE
        GBL_end
        OBJ_end
        CLK_end
        HST_end
        HWI_end
        IDL_end
        ISRC_end
        LCK_end
        LOG_end
        MBX_end
        MEM_end
        PIP_end
        PRD_end
        QUE_end
        RTDX_end
        SEM_end
        SIO_end
        STS_end
        SWI_end
        SYS_end
        TSK_end
        DEV_end
        UDEV_end
        DGN_end
        DHL_end
        DPI_end

        .copy confend.s62
