Stephane Louise wrote:
I am trying to set up a ATI Radeon X1900 MacEdition (PCIe) on my Quad G5 PowerMac.
IIRC, the powerpc on Mac is a big-endian architecture. Coupled with:
(II) RADEONHD: version 1.2.1, built from dist of git branch master, commit 761940fd
it is not surprising that it doesn't work as version 1.2.1 of radeonhd does not support big-endian architectures. You need to update to at least version 1.2.5 of readonhd. But even then you're probably screwed, as the fixes in 1.2.5 do not extend to accessing the AtomBios. I attach a patch that might help you. You apply it to git master (or version 1.2.5 source would suffice, if you prefer). There is a possibility that you have to insert a '#define linux' before the '#include "compiler.h"' before it works correctly. I have to do that on the Alpha architecture for some reason that I haven't had time to find out why. (The patch fixes both endian and alignment issues.) But, if your ati card has no AtomBIOS as you suggest, then my patch will likely be of no use to you. Upgrading to at least version 1.2.5 of radeonhd may still be a useful test. Cheers Michael. diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c index 1e48f81..7e0738f 100644 --- a/src/AtomBios/CD_Operations.c +++ b/src/AtomBios/CD_Operations.c @@ -39,7 +39,7 @@ Revision History: #include "Decoder.h" #include "atombios.h" - +#include "compiler.h" VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData); VOID PutDataPS(PARSER_TEMP_DATA STACK_BASED * pParserTempData); @@ -438,7 +438,7 @@ UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED * pParserTempData) UINT32 GetParametersDirect32(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { pParserTempData->CD_Mask.SrcAlignment=alignmentDword; - pParserTempData->Index=*(UINT32*)pParserTempData->pWorkingTableData->IP; + pParserTempData->Index = ldl_u(pParserTempData->pWorkingTableData->IP); pParserTempData->pWorkingTableData->IP+=sizeof(UINT32); return pParserTempData->Index; }