home *** CD-ROM | disk | FTP | other *** search
-
- ; Expansion-Interface
-
- INCLUDE "lvo/misc.i"
-
- XREF _ExpansionBase
-
-
-
-
-
- CREATE MACRO Name,Registermaske,Registeranzahl,Satz1,Anzahl1,Satz2,Anzahl2...
-
- IFD \1
- XDEF _\1
-
- _\1
- IFEQ \3-1
- move.l \2,-(SP)
- ELSE
- movem.l \2,-(SP)
- ENDC
-
- TIEFE SET 4+4*\3
- IFNC '\4',''
- SATZ \4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j
- ENDC
-
- move.l _ExpansionBase,a6
- jsr _LVO\1(a6)
- IFEQ \3-1
- move.l (SP)+,\2
- ELSE
- movem.l (SP)+,\2
- ENDC
- rts
-
- ENDC
-
- ENDM
-
-
-
-
-
- SATZ MACRO Satz1,Anzahl1,Satz2,Anzahl2...
- IFEQ \2-1
- move.l TIEFE(SP),\1
- ELSE
- movem.l TIEFE(SP),\1
- ENDC
- TIEFE SET TIEFE+4*\2
- IFNC '\3',''
- SATZ \3,\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i
- ENDC
- ENDM
-
-
-
-
-
- ; AddConfigDev(configDev)(A0)
- CREATE AddConfigDev,a6,1,a0,1
-
- ; expansionUnused()
- ; CREATE expansionUnused,a6,1
-
- ; AllocBoardMem(slotSpec)(D0)
- CREATE AllocBoardMem,a6,1,d0,1
-
- ; AllocConfigDev()
- CREATE AllocConfigDev,a6,1
-
- ; AllocExpansionMem(numSlots,SlotAlign,SlotOffset)(D0/D1/D2)
- CREATE AllocExpansionMem,d2/a6,2,d0-d2,3
-
- ; ConfigBoard(board,configDev)(A0/A1)
- CREATE ConfigBoard,a6,1,a0-a1,2
-
- ; ConfigChain(baseAddr)(A0)
- CREATE ConfigChain,a6,1,a0,1
-
- ; FindConfigDev(oldConfigDev,manufacturer,product)(A0,D0/D1)
- CREATE FindConfigDev,a6,1,a0,1,d0-d1,2
-
- ; FreeBoardMem(startSlot,slotSpec)(D0/D1)
- CREATE FreeBoardMem,a6,1,d0-d1,2
-
- ; FreeConfigDev(configDev)(A0)
- CREATE FreeConfigDev,a6,1,a0,1
-
- ; FreeExpansionMem(startSlot,numSlots)(D0/D1)
- CREATE FreeExpansionMem,a6,1,d0-d1,2
-
- ; ReadExpansionByte(board,offset)(A0,D0)
- CREATE ReadExpansionByte,a6,1,a0,1,d0,1
-
- ; ReadExpansionRom(board,configDev)(A0/A1)
- CREATE ReadExpansionRom,a6,1,a0-a1,2
-
- ; RemConfigDev(configDev)(A0)
- CREATE RemConfigDev,a6,1,a0,1
-
- ; WriteExpansionByte(board,offset,byte)(A0,D0/D1)
- CREATE WriteExpansionByte,a6,1,a0,1,d0-d1,2
-
- ; ObtainConfigBinding()
- CREATE ObtainConfigBinding,a6,1
-
- ; ReleaseConfigBinding()
- CREATE ReleaseConfigBinding,a6,1
-
- ; SetCurrentBinding(currentBinding,bindingSize)(A0,D0)
- CREATE SetCurrentBinding,a6,1,a0,1,d0,1
-
- ; GetCurrentBinding(currentBinding,bindingSize)(A0,D0)
- CREATE GetCurrentBinding,a6,1,a0,1,d0,1
-
- ; MakeDosNode(parmPacket)(A0)
- CREATE MakeDosNode,a6,1,a0,1
-
- ; AddDosNode(bootPri,flags,dosNode)(D0/D1/A0)
- CREATE AddDosNode,a6,1,d0-d1,2,a0,1
-
-
-
-
-
- ; Offsets
-
- IFD OFFSETS
-
- XDEF _LVOAddConfigDev
- XDEF _LVOexpansionUnused
- XDEF _LVOAllocBoardMem
- XDEF _LVOAllocConfigDev
- XDEF _LVOAllocExpansionMem
- XDEF _LVOConfigBoard
- XDEF _LVOConfigChain
- XDEF _LVOFindConfigDev
- XDEF _LVOFreeBoardMem
- XDEF _LVOFreeConfigDev
- XDEF _LVOFreeExpansionMem
- XDEF _LVOReadExpansionByte
- XDEF _LVOReadExpansionRom
- XDEF _LVORemConfigDev
- XDEF _LVOWriteExpansionByte
- XDEF _LVOObtainConfigBinding
- XDEF _LVOReleaseConfigBinding
- XDEF _LVOSetCurrentBinding
- XDEF _LVOGetCurrentBinding
- XDEF _LVOMakeDosNode
- XDEF _LVOAddDosNode
-
- ENDC
-
-
-
-
-
- END
-
-