O.k no probs, these tests would def be better done by some with access to PPC HW, so I might skip that then.Bart wrote:Not a bad idea but it would be easier to do this on a PPC eval board or even an old Mac. Also, the tests would have to be carefully designed. There is a PowerPC stress test out there somewhere that was used once to test our PPC emulation (at least for arithmetic flags).
I was the 1st to get a triangle on the R-Pi screen without using a driver, here is the documentation I used: https://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdfBart wrote:I didn't know that the Raspberry Pi GPU was documented. I thought a driver was needed to access it.
Heh no probs, I will checkout the Supermodel source and try to get a triangle on the screen, it'll be a fun challengeBart wrote:No real docs but I could send you the SDK and API manual. It won't be all that helpful in actually writing code, though. The best place to look is really Supermodel's code.
for (int offset = 0; offset < file_size_in_bytes; offset += 4)
printf("%06x: %08x %f\n", base_addr + offset/4, *(uint32_t *) &buf[offset], *(float *) &buf[offset]);
// Translates 24-bit culling RAM addresses
const UINT32 *CLegacy3D::TranslateCullingAddress(UINT32 addr)
{
addr &= 0x00FFFFFF; // caller should have done this already
if ((addr>=0x800000) && (addr<0x840000))
return &cullingRAMHi[addr&0x3FFFF];
else if (addr < 0x100000)
return &cullingRAMLo[addr];
#ifdef DEBUG
ErrorLog("TranslateCullingAddress(): invalid address: %06X", addr);
#endif
return NULL;
}
// Translates model references
const UINT32 *CLegacy3D::TranslateModelAddress(UINT32 modelAddr)
{
modelAddr &= 0x00FFFFFF; // caller should have done this already
if (modelAddr < 0x100000)
return &polyRAM[modelAddr];
else
return &vrom[modelAddr];
}
Great idea, I was thinking about doing something like this, & it might get some cool results =DBart wrote:The more I think about it, your best bet would be to dump the InGen sequence and use that as your base line! Just write exactly what it writes to set up your scene database and then just supply your own polygons to polygon RAM!
Vasiliy Familiya wrote:Hi everybody. The successful Bart's expiriment inspired me to try to create my own game for Model 3.
And, of course, the first thing I need for game is a possibility to interact with a control devices. What commands in the Bart's SDK are responsle for interaction with a control devices?
Bart wrote:There are none. You can add such functions easily. Just take a look at how they are emulated in Supermodel. There, you can find the addresses.
Bart wrote:I would suggest using the fighting game controls because those are simply digital inputs that can easily be wired up to a Model 3 board.
Users browsing this forum: No registered users and 1 guest