home *** CD-ROM | disk | FTP | other *** search
- ;
- ; Include Data for Standard programs
- ;
- _LVOFindTask EQU -$0126
- _LVOWaitPort EQU -$0180
- _LVOGetMsg EQU -$0174
- _LVOReplyMsg EQU -$017a
- _LVOForbid EQU -$0084
-
- PR_CLI EQU 172
- PR_MsgPort EQU 92
-
- CALLSYS:MACRO $\1
- JSR _LVO\1(A6)
- ENDM
-
- LINKSYS:MACRO $\1,$\2
- MOVE.L A6,-(SP)
- MOVE.L \2,A6
- JSR _LVO\1(A6)
- MOVE.L (SP)+,A6
- ENDM
-
- INIT_AMIGA:MACRO
-
- MOVE.L SP,Initial_SP
- MOVE.L 4,A6
- MOVE.L A6,ExecBase
- SUBA.L A1,A1
- CALLSYS FindTask
- MOVE.L D0,Own_Task
-
- ; Start from Workbench ?
-
- MOVE.L D0,A4
- TST.L PR_CLI(A4)
- BNE.S \1
-
- ; Get Message
-
- LEA PR_MsgPort(A4),A0
- CALLSYS WaitPort
- LEA PR_MsgPort(A4),A0
- CALLSYS GetMsg
- MOVE.L D0,WBenchMsg
-
- \1:
- ENDM
-
- EXIT_AMIGA:MACRO
-
- TST.L WBenchMsg
- BEQ.S \1
-
- CALLSYS Forbid
- MOVE.L WBenchMsg,A1
- CALLSYS ReplyMsg
-
- \1:
- MOVEQ #0,D0
- MOVE.L Initial_SP,SP
- RTS
-
- BSS
- WBenchMsg:DS.L 1
- Own_Task:DS.L 1
- ExecBase:DS.L 1
- Initial_SP:DS.L 1
-
- TEXT
- ENDM
-
- END
-