filename | test/lib.h |
changeset | 190:f7653df5e832 |
prev | 185:6755a04c447f |
next | 210: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 |
.