[comp.sys.atari.st] XBRA

larserio@IFI.UIO.NO (LarsErikOsterud) (09/18/90)

I see that some resident program use a standard called XBRA.
Can anyone tell me more about this standard ?
I write LOTS og resident programs for use over here in Norway, and
if someone could mail me a copy of this standard it would be great !!

Is it possible to get more info about programs that use XBRA when they
install (like name, size, hooked vectors, etc etc) like MAPMEM on PC ?


 Lars-Erik  /  ABK-BBS +47 2132659  /   ____ ______ ________________________
  Osterud  /  larserio@ifi.uio.no  /   /___    /            The norwegian ST
__________/ ______________________/   ____/   /   Klubben,  user association

csbrod@medusa.informatik.uni-erlangen.de (Claus Brod ) (09/18/90)

larserio@IFI.UIO.NO (LarsErikOsterud) writes:

>I see that some resident program use a standard called XBRA.
>Can anyone tell me more about this standard ?
Any program that steals some system vector must use XBRA to notify other
programs that it linked into a vector. To cut it short, an example in
assembler:

	...
	code to switch to supervisor mode
	...
	move.l $472,o_hdv	; get old vector value
	move.l #my_routine,$472	; link in own routine
	...
	code to switch to user mode
	...
	lotsa stuff, then, somewhere in your program:

	dc.b "XBRA"		; XBRA id
	dc.b "????"		; four printable characters to
				; identify your program
o_hdv:	dc.l	0		; here you store the old vector value
my_routine:
	own code that sits in the redirected vector

This way, a linked XBRA list is created if several programs link into
the same vector. As there is a standard place for the old value of the
vector, a program can retrieve this old value and thereby remove itself
from the chain. Programs can also detect if they already are linked
into a certain vector. Every program has to use some unique ID (????
in the example above) that consists of four printable characters.
If you want to use some ID, please let ATARI know that. In fact, I don't
know if ATARI monitors XBRA IDs right now; to be sure, mail your new
XBRA IDs to Julian Reschke (sorry, forgot his e-mail address - Julian,
would you please help out).


----------------------------------------------------------------------
Claus Brod, Am Felsenkeller 2,			Things. Take. Time.
D-8772 Marktheidenfeld, West Germany		(Piet Hein)
csbrod@medusa.informatik.uni-erlangen.de
----------------------------------------------------------------------