sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

rdb.h (2777B)


      1 
      2 /**************************************************************************
      3  *
      4  *  $Revision: 1.6 $
      5  *  $Date: 1997/02/11 08:29:31 $
      6  *  $Source: /disk6/Master/cvsmdev2/PR/include/rdb.h,v $
      7  *
      8  **************************************************************************/
      9 
     10 #ifndef _RDB_H
     11 #define _RDB_H
     12 
     13 /* U64 side address */
     14 #define	RDB_BASE_REG		0xc0000000
     15 #define RDB_WRITE_INTR_REG	(RDB_BASE_REG + 0x8)
     16 #define RDB_READ_INTR_REG	(RDB_BASE_REG + 0xc)
     17 #define RDB_BASE_VIRTUAL_ADDR	0x80000000
     18 
     19 /* packet type  Have six bits, so can have up to 63 types */
     20 #define RDB_TYPE_INVALID                0
     21 #define RDB_TYPE_GtoH_PRINT             1
     22 #define RDB_TYPE_GtoH_FAULT             2
     23 #define RDB_TYPE_GtoH_LOG_CT		3
     24 #define RDB_TYPE_GtoH_LOG               4
     25 #define RDB_TYPE_GtoH_READY_FOR_DATA    5
     26 #define RDB_TYPE_GtoH_DATA_CT		6
     27 #define RDB_TYPE_GtoH_DATA              7
     28 #define RDB_TYPE_GtoH_DEBUG             8
     29 #define RDB_TYPE_GtoH_RAMROM		9
     30 #define RDB_TYPE_GtoH_DEBUG_DONE        10
     31 #define RDB_TYPE_GtoH_DEBUG_READY       11
     32 #define RDB_TYPE_GtoH_KDEBUG            12
     33 #define RDB_TYPE_GtoH_PROF_DATA         22
     34 
     35 
     36 #define RDB_TYPE_HtoG_LOG_DONE		13
     37 #define RDB_TYPE_HtoG_DEBUG            	14
     38 #define RDB_TYPE_HtoG_DEBUG_CT          15
     39 #define RDB_TYPE_HtoG_DATA              16
     40 #define RDB_TYPE_HtoG_DATA_DONE		17 
     41 #define RDB_TYPE_HtoG_REQ_RAMROM        18
     42 #define RDB_TYPE_HtoG_FREE_RAMROM	19
     43 #define RDB_TYPE_HtoG_KDEBUG            20
     44 #define RDB_TYPE_HtoG_PROF_SIGNAL       21
     45 
     46 
     47 #define RDB_PROF_ACK_SIG               1
     48 #define RDB_PROF_FLUSH_SIG             2
     49 #define PROF_BLOCK_SIZE			2048
     50 
     51 #define RDB_LOG_MAX_BLOCK_SIZE         0x8000
     52 #define RDB_DATA_MAX_BLOCK_SIZE        0x8000
     53 
     54 
     55 /* GIO side address */
     56 #define GIO_RDB_BASE_REG	0xbf480000
     57 #define	GIO_RDB_WRITE_INTR_REG	(GIO_RDB_BASE_REG + 0x8)
     58 #define GIO_RDB_READ_INTR_REG	(GIO_RDB_BASE_REG + 0xc)
     59 
     60 /* minor device number */
     61 #define GIO_RDB_PRINT_MINOR		1
     62 #define GIO_RDB_DEBUG_MINOR		2
     63 
     64 /* interrupt bit */
     65 #define GIO_RDB_WRITE_INTR_BIT	0x80000000
     66 #define GIO_RDB_READ_INTR_BIT	0x40000000
     67 
     68 /* debug command */
     69 #define DEBUG_COMMAND_NULL	0
     70 #define DEBUG_COMMAND_MEMORY	1
     71 #define DEBUG_COMMAND_REGISTER	2
     72 #define DEBUG_COMMAND_INVALID	255
     73 
     74 /* debug state */
     75 #define DEBUG_STATE_NULL	0
     76 #define DEBUG_STATE_RECEIVE	1
     77 #define DEBUG_STATE_INVALID	255
     78 
     79 #if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
     80 
     81 /* Structure for debug port */
     82 typedef struct {
     83 	unsigned type : 2;	/* 0: invalid, 1: print, 2: debug */
     84     unsigned pad : 4;   // CHANGED FROM THE ORIGINAL LIBULTRA HEADER
     85 	unsigned length : 2;	/* 1, 2, or 3 */
     86 	unsigned char buf[3];		/* character buffer */
     87 } rdbPacket;
     88 
     89 extern unsigned int	__osRdbWriteOK;
     90 extern unsigned int	__osRdbSendMessage;
     91 
     92 #endif /* _LANGUAGE_C */
     93 
     94 #endif /* !_RDB_H */