home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
600-699
/
ff634.lha
/
NewDefTool
/
Source
/
Base.i
next >
Wrap
Text File
|
1992-04-06
|
2KB
|
62 lines
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