1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
GLideN64/src/N64.h
2015-05-13 10:21:32 +06:00

53 lines
999 B
C

#ifndef N64_H
#define N64_H
#include "Types.h"
#define MI_INTR_DP 0x20 // Bit 5: DP intr
// Actual TMEM size is 512 QWORDS. However, some load operations load more data that TMEM can take.
// We can either cut the surplus data, or increase the buffer and load everything.
// The second option is more simple and safe. Actual texture load will use correct TMEM size.
#define TMEM_SIZE 1024
#define TMEM_SIZE_BYTES 8192
struct N64Regs
{
u32 *MI_INTR;
u32 *DPC_START;
u32 *DPC_END;
u32 *DPC_CURRENT;
u32 *DPC_STATUS;
u32 *DPC_CLOCK;
u32 *DPC_BUFBUSY;
u32 *DPC_PIPEBUSY;
u32 *DPC_TMEM;
u32 *VI_STATUS;
u32 *VI_ORIGIN;
u32 *VI_WIDTH;
u32 *VI_INTR;
u32 *VI_V_CURRENT_LINE;
u32 *VI_TIMING;
u32 *VI_V_SYNC;
u32 *VI_H_SYNC;
u32 *VI_LEAP;
u32 *VI_H_START;
u32 *VI_V_START;
u32 *VI_V_BURST;
u32 *VI_X_SCALE;
u32 *VI_Y_SCALE;
};
extern N64Regs REG;
extern u8 *HEADER;
extern u8 *DMEM;
extern u8 *IMEM;
extern u8 *RDRAM;
extern u64 TMEM[TMEM_SIZE];
extern u32 RDRAMSize;
#endif