home *** CD-ROM | disk | FTP | other *** search
- PR_WindowPtr = $b8 ; i includefilen dos/dosextens.i står det pr_WindowPrt
-
- INIT_AMIGA MACRO ; Handles the WB/CLI problems (init)
-
- move.l sp,Init_Sp
-
- move.l a0,ArgList ;Save aguments
- subq.l #1,d0 ;Minska längden med 1
- add.l d0,a0 ;Addera längden till adressen
- move.b #0,(a0) ;Nolla sista byten (CLI=0A)
-
- clr.l ResultKod
-
- move.l (ExecBase).w,a6
- sub.l a1,a1
- jsr _FindTask(a6) ; Find this task
- move.l d0,TaskAdr
- move.l d0,a4
-
- move.l PR_WindowPtr(a4),OldWinPtr ; Save old Error window
-
- tst.l $ac(a4) ;pr_CLI(a4) ; Start from CLI?
- bne.s Init_CLI
- lea $5c(a4),a0 ;pr_MsgPort(a4),a0
- jsr _WaitPort(a6) ; Wait for message
- lea $5c(a4),a0 ;pr_MsgPort(a4),a0
- jsr _GetMsg(a6) ; Get message
- move.l d0,Init_Msg ; and save it for Exit
- move.l #1,WBTRUE
- Init_CLI:
- ENDM
-
-
-
- EXIT_AMIGA MACRO ; Handles the WB/CLI problem (exit)
-
- move.l TaskAdr,a4
- move.l OldWinPtr,PR_WindowPtr(a4) ; Restore error window
-
- tst.l Init_Msg
- beq.s Exit_CLI
-
- move.l (ExecBase).w,a6
- jsr _Forbid(a6)
- move.l Init_Msg,a1
- jsr _ReplyMsg(a6)
-
- Exit_CLI: ; moveq #0,d0
- move.l ResultKod,d0
- move.l Init_Sp,sp
- rts
-
- Init_Msg: dc.l 0
- Init_Sp: dc.l 0
- TaskAdr: dc.l 0
- OldWinPtr: dc.l 0
- ArgList: dc.l 0
- WBTRUE dc.l 0
- ResultKod dc.l 0
- ENDM
-
-