Search
lxdream.org :: lxdream/test/lib.h
lxdream 0.9.1
released Jun 29
Download Now
filename test/lib.h
changeset 190:f7653df5e832
prev185:6755a04c447f
next210:c356f597c896
author nkeynes
date Sat Aug 05 00:18:21 2006 +0000 (16 years ago)
permissions -rw-r--r--
last change Add error lines to tests with incomplete polys
Split clip tests to separate data file
Add tests for cmd bit 23 ("use list size field")
file annotate diff log raw
nkeynes@185
     1
#ifndef dc_lib_H
nkeynes@185
     2
#define dc_lib_H
nkeynes@185
     3
nkeynes@185
     4
#include <stdio.h>
nkeynes@185
     5
nkeynes@185
     6
typedef unsigned char uint8_t;
nkeynes@185
     7
typedef unsigned short uint16_t;
nkeynes@185
     8
typedef unsigned int uint32_t;
nkeynes@185
     9
typedef volatile unsigned int vuint32_t;
nkeynes@185
    10
typedef volatile unsigned short vuint16_t;
nkeynes@185
    11
nkeynes@185
    12
#define ASIC_STATUS0    0xA05F6900
nkeynes@185
    13
#define ASIC_STATUS1    0xA05F6904
nkeynes@185
    14
#define ASIC_STATUS2    0xA05F6908
nkeynes@185
    15
#define ASIC_IRQB0      0xA05F6920
nkeynes@185
    16
#define ASIC_IRQC2      0xA05f6938
nkeynes@185
    17
#define IRQB0_MASK      0x0007B000
nkeynes@185
    18
nkeynes@185
    19
#define long_read(A)      (*((volatile unsigned long*)(A)))
nkeynes@185
    20
#define long_write(A, V) ( (*((volatile unsigned long*)(A))) = (V) )
nkeynes@185
    21
#define word_read(A)      (*((volatile unsigned short*)(A)))
nkeynes@185
    22
#define word_write(A, V) ( (*((volatile unsigned short*)(A))) = (V) )
nkeynes@185
    23
#define byte_read(A)       (unsigned int)(*((volatile unsigned char*)(A)))
nkeynes@185
    24
#define byte_write(A, V) ( (*((volatile unsigned char*)(A))) = (V) )
nkeynes@185
    25
nkeynes@185
    26
int asic_wait(int event);
nkeynes@185
    27
void asic_clear(void);
nkeynes@185
    28
void asic_dump(FILE *f);
nkeynes@185
    29
nkeynes@185
    30
void fwrite_dump(FILE *f, char *buf, int length);
nkeynes@190
    31
void fwrite_diff(FILE *f, char *expect, int exp_length, char *buf, int length);
nkeynes@190
    32
void fwrite_diff32(FILE *f, char *expect, int exp_length, char *buf, int length);
nkeynes@185
    33
nkeynes@185
    34
void *align32(char *buf );
nkeynes@185
    35
void write_asic_status(void);
nkeynes@185
    36
void reset_asic_status(void);
nkeynes@185
    37
void g2_fifo_wait( void );
nkeynes@185
    38
nkeynes@185
    39
void spu_memload( uint32_t dst, const void *src, int length );
nkeynes@185
    40
void spu_memread( void *dst, uint32_t src, int length );
nkeynes@185
    41
void dump_spu_memory( unsigned int from, int length );
nkeynes@185
    42
nkeynes@185
    43
struct spudma_struct {
nkeynes@185
    44
    uint32_t g2_addr;
nkeynes@185
    45
    uint32_t sh4_addr;
nkeynes@185
    46
    uint32_t count;
nkeynes@185
    47
    uint32_t direction;
nkeynes@185
    48
    uint32_t mode;
nkeynes@185
    49
    uint32_t enable;
nkeynes@185
    50
    uint32_t status;
nkeynes@185
    51
    uint32_t blah;
nkeynes@185
    52
};
nkeynes@185
    53
extern struct spudma_struct *spudma;
nkeynes@185
    54
nkeynes@185
    55
#define get_asic_status() (long_read(ASIC_STATUS0)&EVENT_MAPLE_MASK)
nkeynes@185
    56
nkeynes@185
    57
int is_start_pressed();
nkeynes@185
    58
nkeynes@185
    59
#define CHECK_IEQUALS( a, b ) if( a != b ) { fprintf(stderr, "Assertion failed at %s:%d: expected %08X, but was %08X\n", __FILE__, __LINE__, a, b ); return -1; }
nkeynes@185
    60
nkeynes@185
    61
#endif
.