[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
| Title: | AMIGA NOTES | 
| Notice: | Join us in the *NEW* conference - HYDRA::AMIGA_V2 | 
| Moderator: | HYDRA::MOORE | 
|  | 
| Created: | Sat Apr 26 1986 | 
| Last Modified: | Wed Feb 05 1992 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 5378 | 
| Total number of notes: | 38326 | 
342.0. "Calling New 1.2 routines from Manx 3.20a" by COOKIE::WECKER (Dave (Cum Grano Salis) Wecker) Fri Feb 20 1987 20:28
Here is a little assembly file that will let you call the new 1.2 routines
from Manx 3.20 (BTW: They just released 3.40!!!! it will start shipping on
Monday... yahooooo!)
P.S.	This is off of the Usenet.. I didn't write it and don't guarantee
	ANYTHING about it (except that it now assembles/links without error).
************************************************************************
*	NewBindings.ASM
*
* This assembly file contains binding routines for the new gadget functions
* provided in V1.2 of AmigaDOS.  You can use these binding routines
* if you have an old version of C compiler, for instance Manx V3.20A
* ( Though with a couple minor changes it can be used with the old
*   MetaComco Assember and Lattice C V3.03 )
************************************************************************
LIB_VERSION		equ	$14
_LVOActivateGadget	equ	-$1CE
_LVOActivateWindow	equ	-$1C2
_LVOAddGList		equ	-$1B6
_LVORefreshGList	equ	-$1B0
_LVORemoveGList		equ	-$1BC
_LVOGetScreenData	equ	-$1AA
_LVOAreaEllipse		equ	-$BA
	public	_ActivateGadget
	public	_ActivateWindow
	public	_AddGList
	public	_RefreshGList
	public	_RemoveGList
	public	_GetScreenData
	public	_AreaEllipse
	public	_IntuitionBase
	public	_GfxBase
*************************************************************************
*	ActivateGadget(&gadget, p_window, p_requester);
*		BOOLEAN return true on sucess
*************************************************************************
_ActivateGadget:
	movem.l	A2/A6,-(sp)		* A6 isn't mandatory w/Manx
	movem.l	12(sp),A0-A2		* ( but if you toss, adjust to 8! )
	move.l	_IntuitionBase,A6
	cmp	#32,LIB_VERSION(A6)	* SPECIAL TEST FOR LEGIT V1.2
	ble	nicht1
	jsr	_LVOActivateGadget(A6)
nicht1:	movem.l	(sp)+,A2/A6
	rts
************************************************************************
*	ActivateWindow(p_wind);
*
************************************************************************
_ActivateWindow:
	move.l	4(sp),A0
	move.l	A6,-(sp)		* Not necessary w/Manx
	move.l	_IntuitionBase,A6
	cmp	#32,LIB_VERSION(A6)	* SPECIAL TEST FOR LEGIT V1.2
	ble	nicht2
	jsr	_LVOActivateWindow(A6)
nicht2:	move.l	(sp)+,A6
	rts
*************************************************************************
*	AddGList( &gad, p_wind, position, number)
*		Return value is actual position inserted
*************************************************************************
_AddGList:
	movem.l	4(sp),A0/A1
	movem.l	12(sp),D0/D1
	move.l	A6,-(sp)			* Nicht Manx
	move.l	_IntuitionBase,A6
	jsr	_LVOAddGList(A6)
	move.l	(sp)+,A6
	rts
*************************************************************************
*	RefreshGList( &gad, p_wind, p_requester, number )
*
*************************************************************************
_RefreshGList:
	movem.l	A2/A6,-(sp)
	movem.l	12(sp),A0-A2
	move.l	$18(sp),D0
	move.l	_IntuitionBase,A6
	jsr	_LVORefreshGList(A6)
	movem.l	(sp)+,A2/A6
	rts
*************************************************************************
*	RemoveGList( &gad, p_wind, number);
*************************************************************************
_RemoveGList:
	movem.l	4(sp),A0-A1
	move.l	12(sp),D0
	move.l	A6,-(sp)			* Toss w/Manx
	move.l	_IntuitionBase,A6
	jsr	_LVORemoveGList(A6)
	move.l	(sp)+,A6
	rts
*************************************************************************
* AreaEllipse( p_rast, xcenter, ycenter, xdel, ydel);
*	(?) Returns 0 if no error a_la_AreaDraw()
*************************************************************************
_AreaEllipse:
	movem.l	D2/D3/A6,-(sp)
	move.l	16(sp),A1
	movem.l	20(sp),D0-D3
	move.l	_GfxBase,A6
	jsr	_LVOAreaEllipse(A6)
	movem.l	(sp)+,D2/D3/A6
	rts
	
*************************************************************************
*	GetScreenData( p_buffer, buffsize, type, p_somescreen);
*
*	Where p_buffer is a data area, sizeof(buffsize) which is
*	sizeof (struct Screen). type is WBENCHSCREEN or CUSTOMSCREEN
*	if type = CUSTOM, p_somescreen is the customscreen
*	Returns buffer containing a cloned_data for the screen requested
*************************************************************************
_GetScreenData
	move.l	4(sp),A0
	movem.l	8(sp),D0/D1/A1
	move.l	A6,-(sp)		* Gonzo Manx_a_mania
	move.l	_IntuitionBase,A6
	jsr	_LVOGetScreenData(A6)
	move.l	(sp)+,A6
	rts
| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 342.1 | Need help with ActivateGadget() | COOKIE::WECKER | Dave (Cum Grano Salis) Wecker | Fri Feb 20 1987 20:36 | 21 | 
|  | re:	.0
Now that I've got a way to call these wonderful routines, I can't seem to
get a certain one to work - ActivateGadget(). ActivateWindow() works like
a charm, but ActivateGadget() just returns FALSE and does nothing.
This is of course for the VT100 emulator... I've tried everything I can
think (yes I followed all of the guidelines in autodocs).
If any brave sole would like to come up with a simple example of a string
requester that is selected (or just hack up VT100 so it works) it would be
greatly appreciated... right now I'm stumped!
thanks!
dave
P.S.	If you want to really get mired down, I traced execution into the
	kernal where I hit:
	fc1f6c	btst	#7,124(a6)	; a6 = 676, 124(a6) = 0
		beq	failure		; which is what happens
 | 
| 342.2 |  | 38007::SMCAFEE | Steve McAfee | Mon Feb 23 1987 08:47 | 6 | 
|  |     
    Uhh. Off the usenet?  I haven't gotten any messages in weeks.
    
    sorry to digress.
    
    steve mcafee
 |