Page 1 of 1

Xena again

Posted: Sat Mar 15, 2025 12:28 am
by jaokim
I wanted to play with some Xena stuff again. Turns out Lyle's old examples from the wiki, and some other examples I had, now throws a DSI when writing to Xena. What's up with that?

I tried opening that xena.resource/XR_DATABUS, which worked, but still got the DSI. The DSI can be ignored, but it seems to no longer do what it's supposed to do.
Does this has something with what can be read in xena.h regarding "You are still obliged to follow the rules for shared access of the interrupt system"?

Is there anything that can be done about this, besides moving to some older kernel (suggested on this forum).

Re: Xena again

Posted: Sun Mar 16, 2025 9:57 pm
by jaokim
Okay, found the issue.

When getting the memory attributes, you have to check for the MEMATTRF_NOT_MAPPED attribute, and not 0.

Code: Select all

	xmematt = IMMU->GetMemoryAttrs((APTR)0xF4000000, 0);

	// if(0 == xmematt)
	if(xmematt & MEMATTRF_NOT_MAPPED)
	{	// if Xena has no memory space..
		IDOS->Printf("Creating Xena memory space\n");
		IMMU->MapMemory(