Example #1
0
void GPUwritereg32(u32 addr, u32 data) //1eb00000 + addr
{
    GPUDEBUG("GPU write %08x to %08x\n",data,addr);
    if (addr >= 0x420000) {
        GPUDEBUG("write out of range write\r\n");
        return;
    }
    *(uint32_t*)(&IObuffer[addr]) = data;
    switch (addr) {
    default:
        break;
    }
}
Example #2
0
u32 convertvirtualtopys(u32 addr) //todo
{
    if (addr >= 0x14000000 && addr < 0x1C000000)return addr + 0xC000000; //FCRAM
    if (addr >= 0x1F000000 && addr < 0x1F600000)return addr - 0x7000000; //VRAM
    GPUDEBUG("can't convert vitual to py %08x\n",addr);
    return 0;
}
Example #3
0
File: gpu.c Project: 20150/3dmoo
u32 gpu_ConvertVirtualToPhysical(u32 addr) //todo
{
    if (addr >= 0x14000000 && addr < 0x1C000000)return addr + 0xC000000; //FCRAM
    if (addr >= 0x1F000000 && addr < 0x1F600000)return addr - 0x7000000; //VRAM
    GPUDEBUG("Can't convert virtual to physical %08x\n",addr);
    return 0;
}
Example #4
0
u32 GPUreadreg32(u32 addr)
{
    //GPUDEBUG("GPU read %08x\n", addr);
    if (addr >= 0x420000) {
        GPUDEBUG("read out of range write\r\n");
        return 0;
    }
    return *(uint32_t*)(&IObuffer[addr]);
}
Example #5
0
u32 getsizeofframebuffer(u32 val)
{
    switch (val) {
    case 0x0201:
        return 3;
    default:
        GPUDEBUG("unknown len %08x\n", val);
        return 3;
    }
}
Example #6
0
u32 getsizeofwight(u16 val) //this is the size of pixel
{
    switch (val&0x7000) { //check this
    case 0x0000: //RGBA8
        return 4;
    case 0x1000: //RGB8
        return 3;
    case 0x2000: //RGB565
        return 2;
    case 0x3000://RGB5A1
        return 2;
    case 0x4000://RGBA4
        return 2;
    default:
        GPUDEBUG("unknown len %04x\n",val);
        return 2;
    }
}