mirror of
https://github.com/HarbourMasters/Starship
synced 2026-08-21 23:01:30 -04:00
Header fix (#9)
* headers * format * format * format again * headers oh my * irix is love * irix is life * working * even more fixes * format * touching to rebuild
This commit is contained in:
+334
-58
@@ -12,8 +12,8 @@
|
||||
**************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.121 $
|
||||
* $Date: 1997/02/11 08:21:52 $
|
||||
* $Revision: 1.128 $
|
||||
* $Date: 1997/11/26 00:30:51 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/gbi.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -86,6 +86,33 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef F3DEX_GBI_2
|
||||
#define G_NOOP 0x00
|
||||
#define G_RDPHALF_2 0xf1
|
||||
#define G_SETOTHERMODE_H 0xe3
|
||||
#define G_SETOTHERMODE_L 0xe2
|
||||
#define G_RDPHALF_1 0xe1
|
||||
#define G_SPNOOP 0xe0
|
||||
#define G_ENDDL 0xdf
|
||||
#define G_DL 0xde
|
||||
#define G_LOAD_UCODE 0xdd
|
||||
#define G_MOVEMEM 0xdc
|
||||
#define G_MOVEWORD 0xdb
|
||||
#define G_MTX 0xda
|
||||
#define G_GEOMETRYMODE 0xd9
|
||||
#define G_POPMTX 0xd8
|
||||
#define G_TEXTURE 0xd7
|
||||
#define G_SUBMODULE 0xd6
|
||||
|
||||
#define G_VTX 0x01
|
||||
#define G_MODIFYVTX 0x02
|
||||
#define G_CULLDL 0x03
|
||||
#define G_BRANCH_Z 0x04
|
||||
#define G_TRI1 0x05
|
||||
#define G_TRI2 0x06
|
||||
#define G_LINE3D 0x07
|
||||
#else /* F3DEX_GBI_2 */
|
||||
|
||||
/* DMA commands: */
|
||||
#define G_SPNOOP 0 /* handle 0 gracefully */
|
||||
#define G_MTX 1
|
||||
@@ -130,6 +157,10 @@
|
||||
|
||||
/* RDP commands: */
|
||||
#define G_NOOP 0xc0 /* 0 */
|
||||
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/* RDP commands: */
|
||||
#define G_SETCIMG 0xff /* -1 */
|
||||
#define G_SETZIMG 0xfe /* -2 */
|
||||
#define G_SETTIMG 0xfd /* -3 */
|
||||
@@ -158,6 +189,7 @@
|
||||
#define G_TEXRECTFLIP 0xe5 /* -27 */
|
||||
#define G_TEXRECT 0xe4 /* -28 */
|
||||
|
||||
|
||||
/*
|
||||
* The following commands are the "generated" RDP commands; the user
|
||||
* never sees them, the RSP microcode generates them.
|
||||
@@ -256,12 +288,21 @@
|
||||
/*
|
||||
* G_MTX: parameter flags
|
||||
*/
|
||||
#define G_MTX_MODELVIEW 0x00 /* matrix types */
|
||||
#define G_MTX_PROJECTION 0x01
|
||||
#define G_MTX_MUL 0x00 /* concat or load */
|
||||
#define G_MTX_LOAD 0x02
|
||||
#define G_MTX_NOPUSH 0x00 /* push or not */
|
||||
#define G_MTX_PUSH 0x04
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define G_MTX_MODELVIEW 0x00 /* matrix types */
|
||||
# define G_MTX_PROJECTION 0x04
|
||||
# define G_MTX_MUL 0x00 /* concat or load */
|
||||
# define G_MTX_LOAD 0x02
|
||||
# define G_MTX_NOPUSH 0x00 /* push or not */
|
||||
# define G_MTX_PUSH 0x01
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define G_MTX_MODELVIEW 0x00 /* matrix types */
|
||||
# define G_MTX_PROJECTION 0x01
|
||||
# define G_MTX_MUL 0x00 /* concat or load */
|
||||
# define G_MTX_LOAD 0x02
|
||||
# define G_MTX_NOPUSH 0x00 /* push or not */
|
||||
# define G_MTX_PUSH 0x04
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/*
|
||||
* flags for G_SETGEOMETRYMODE
|
||||
@@ -431,7 +472,7 @@
|
||||
#define G_CC_MODULATEIDECALA_PRIM TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0
|
||||
#define G_CC_MODULATERGB_PRIM G_CC_MODULATEI_PRIM
|
||||
#define G_CC_MODULATERGBA_PRIM G_CC_MODULATEIA_PRIM
|
||||
#define G_CC_MODULATERGBDECALA_PRIM G_CC_MODULATEIA_PRIM
|
||||
#define G_CC_MODULATERGBDECALA_PRIM G_CC_MODULATEIDECALA_PRIM
|
||||
#define G_CC_DECALRGB 0, 0, 0, TEXEL0, 0, 0, 0, SHADE
|
||||
#define G_CC_DECALRGBA 0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0
|
||||
#define G_CC_BLENDI ENVIRONMENT, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE
|
||||
@@ -1134,22 +1175,40 @@ typedef union {
|
||||
* which to store a 1-4 word DMA.
|
||||
*
|
||||
*/
|
||||
#define G_MV_VIEWPORT 0x80
|
||||
#define G_MV_LOOKATY 0x82
|
||||
#define G_MV_LOOKATX 0x84
|
||||
#define G_MV_L0 0x86
|
||||
#define G_MV_L1 0x88
|
||||
#define G_MV_L2 0x8a
|
||||
#define G_MV_L3 0x8c
|
||||
#define G_MV_L4 0x8e
|
||||
#define G_MV_L5 0x90
|
||||
#define G_MV_L6 0x92
|
||||
#define G_MV_L7 0x94
|
||||
#define G_MV_TXTATT 0x96
|
||||
#define G_MV_MATRIX_1 0x9e /* NOTE: this is in moveword table */
|
||||
#define G_MV_MATRIX_2 0x98
|
||||
#define G_MV_MATRIX_3 0x9a
|
||||
#define G_MV_MATRIX_4 0x9c
|
||||
#ifdef F3DEX_GBI_2x
|
||||
/* 0,2,4,6 are reserved by G_MTX */
|
||||
# define G_MV_VIEWPORT 8
|
||||
# define G_MV_LIGHT 10
|
||||
# define G_MV_POINT 12
|
||||
# define G_MV_MATRIX 14 /* NOTE: this is in moveword table */
|
||||
# define G_MVO_LOOKATX (0*24)
|
||||
# define G_MVO_LOOKATY (1*24)
|
||||
# define G_MVO_L0 (2*24)
|
||||
# define G_MVO_L1 (3*24)
|
||||
# define G_MVO_L2 (4*24)
|
||||
# define G_MVO_L3 (5*24)
|
||||
# define G_MVO_L4 (6*24)
|
||||
# define G_MVO_L5 (7*24)
|
||||
# define G_MVO_L6 (8*24)
|
||||
# define G_MVO_L7 (9*24)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define G_MV_VIEWPORT 0x80
|
||||
# define G_MV_LOOKATY 0x82
|
||||
# define G_MV_LOOKATX 0x84
|
||||
# define G_MV_L0 0x86
|
||||
# define G_MV_L1 0x88
|
||||
# define G_MV_L2 0x8a
|
||||
# define G_MV_L3 0x8c
|
||||
# define G_MV_L4 0x8e
|
||||
# define G_MV_L5 0x90
|
||||
# define G_MV_L6 0x92
|
||||
# define G_MV_L7 0x94
|
||||
# define G_MV_TXTATT 0x96
|
||||
# define G_MV_MATRIX_1 0x9e /* NOTE: this is in moveword table */
|
||||
# define G_MV_MATRIX_2 0x98
|
||||
# define G_MV_MATRIX_3 0x9a
|
||||
# define G_MV_MATRIX_4 0x9c
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/*
|
||||
* MOVEWORD indices
|
||||
@@ -1165,7 +1224,11 @@ typedef union {
|
||||
#define G_MW_SEGMENT 0x06
|
||||
#define G_MW_FOG 0x08
|
||||
#define G_MW_LIGHTCOL 0x0a
|
||||
#define G_MW_POINTS 0x0c
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define G_MW_FORCEMTX 0x0c
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define G_MW_POINTS 0x0c
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
#define G_MW_PERSPNORM 0x0e
|
||||
|
||||
/*
|
||||
@@ -1634,11 +1697,32 @@ typedef union {
|
||||
(unsigned int)(s) \
|
||||
}
|
||||
|
||||
#define gDma2p(pkt, c, adrs, len, idx, ofs) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
_g->words.w0 = (_SHIFTL((c),24,8)|_SHIFTL((ofs)/8,16,8)| \
|
||||
_SHIFTL(((len)-1)/8,8,8)|_SHIFTL((idx),0,8)); \
|
||||
_g->words.w1 = (unsigned int)(adrs); \
|
||||
}
|
||||
#define gsDma2p(c, adrs, len, idx, ofs) \
|
||||
{ \
|
||||
(_SHIFTL((c),24,8)|_SHIFTL((ofs)/8,16,8)| \
|
||||
_SHIFTL(((len)-1)/8,8,8)|_SHIFTL((idx),0,8)), \
|
||||
(unsigned int)(adrs) \
|
||||
}
|
||||
|
||||
#define gSPNoOp(pkt) gDma0p(pkt, G_SPNOOP, 0, 0)
|
||||
#define gsSPNoOp() gsDma0p(G_SPNOOP, 0, 0)
|
||||
|
||||
#define gSPMatrix(pkt, m, p) gDma1p(pkt, G_MTX, m, sizeof(Mtx), p)
|
||||
#define gsSPMatrix(m, p) gsDma1p(G_MTX, m, sizeof(Mtx), p)
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define gSPMatrix(pkt, m, p) \
|
||||
gDma2p((pkt),G_MTX,(m),sizeof(Mtx),(p)^G_MTX_PUSH,0)
|
||||
# define gsSPMatrix(m, p) \
|
||||
gsDma2p( G_MTX,(m),sizeof(Mtx),(p)^G_MTX_PUSH,0)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define gSPMatrix(pkt, m, p) gDma1p(pkt, G_MTX, m, sizeof(Mtx), p)
|
||||
# define gsSPMatrix(m, p) gsDma1p(G_MTX, m, sizeof(Mtx), p)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/*
|
||||
* F3DEX_GBI: G_VTX GBI format was changed to support 64 vertice.
|
||||
@@ -1661,8 +1745,14 @@ typedef union {
|
||||
gsDma1p(G_VTX, v, sizeof(Vtx)*(n), ((n)-1)<<4|(v0))
|
||||
#endif
|
||||
|
||||
#define gSPViewport(pkt, v) gDma1p(pkt, G_MOVEMEM, v, sizeof(Vp), G_MV_VIEWPORT)
|
||||
#define gsSPViewport(v) gsDma1p(G_MOVEMEM, v, sizeof(Vp), G_MV_VIEWPORT)
|
||||
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define gSPViewport(pkt, v) gDma2p(pkt,G_MOVEMEM,v,sizeof(Vp),G_MV_VIEWPORT,0)
|
||||
# define gsSPViewport(v) gsDma2p( G_MOVEMEM,v,sizeof(Vp),G_MV_VIEWPORT,0)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define gSPViewport(pkt,v) gDma1p(pkt,G_MOVEMEM,(v),sizeof(Vp),G_MV_VIEWPORT)
|
||||
# define gsSPViewport(v) gsDma1p( G_MOVEMEM,(v),sizeof(Vp),G_MV_VIEWPORT)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
#define gSPDisplayList(pkt,dl) gDma1p(pkt,G_DL,dl,0,G_DL_PUSH)
|
||||
#define gsSPDisplayList( dl) gsDma1p( G_DL,dl,0,G_DL_PUSH)
|
||||
@@ -1744,12 +1834,17 @@ typedef union {
|
||||
(unsigned int) (dat) \
|
||||
}
|
||||
|
||||
#ifdef F3DEX_GBI_2x
|
||||
#define gMoveWd(pkt, index, offset, data) \
|
||||
gImmp21(pkt, G_MOVEWORD, offset, index, data)
|
||||
|
||||
gDma1p((pkt), G_MOVEWORD, data, offset, index)
|
||||
#define gsMoveWd( index, offset, data) \
|
||||
gsImmp21( G_MOVEWORD, offset, index, data)
|
||||
|
||||
gsDma1p( G_MOVEWORD, data, offset, index)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
#define gMoveWd(pkt, index, offset, data) \
|
||||
gImmp21((pkt), G_MOVEWORD, offset, index, data)
|
||||
#define gsMoveWd( index, offset, data) \
|
||||
gsImmp21( G_MOVEWORD, offset, index, data)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/* Sprite immediate macros, there is also a sprite dma macro above */
|
||||
|
||||
@@ -1895,10 +1990,33 @@ typedef union {
|
||||
/***
|
||||
*** 1 Quadrangle
|
||||
***/
|
||||
#define gSP1Quadrangle(pkt, v0, v1, v2, v3, flag) \
|
||||
gSP2Triangles(pkt, v1, v2, v3, 0, v1, v3, v0, 0)
|
||||
#define gsSP1Quadrangle(v0, v1, v2, v3, flag) \
|
||||
gsSP2Triangles(v1, v2, v3, 0, v1, v3, v0, 0)
|
||||
#define __gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag) \
|
||||
(((flag) == 0) ? __gsSP1Triangle_w1(v0, v1, v2): \
|
||||
((flag) == 1) ? __gsSP1Triangle_w1(v1, v2, v3): \
|
||||
((flag) == 2) ? __gsSP1Triangle_w1(v2, v3, v0): \
|
||||
__gsSP1Triangle_w1(v3, v0, v1))
|
||||
|
||||
#define __gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag) \
|
||||
(((flag) == 0) ? __gsSP1Triangle_w1(v0, v2, v3): \
|
||||
((flag) == 1) ? __gsSP1Triangle_w1(v1, v3, v0): \
|
||||
((flag) == 2) ? __gsSP1Triangle_w1(v2, v0, v1): \
|
||||
__gsSP1Triangle_w1(v3, v1, v2))
|
||||
|
||||
#define gSP1Quadrangle(pkt, v0, v1, v2, v3, flag) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = (_SHIFTL(G_TRI2, 24, 8)| \
|
||||
__gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag)); \
|
||||
_g->words.w1 = __gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag); \
|
||||
}
|
||||
|
||||
#define gsSP1Quadrangle(v0, v1, v2, v3, flag) \
|
||||
{ \
|
||||
(_SHIFTL(G_TRI2, 24, 8)| \
|
||||
__gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag)), \
|
||||
__gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag) \
|
||||
}
|
||||
#endif /* F3DEX_GBI/F3DLP_GBI */
|
||||
|
||||
#if (defined(F3DEX_GBI)||defined(F3DLP_GBI))
|
||||
@@ -1935,9 +2053,9 @@ typedef union {
|
||||
#endif
|
||||
|
||||
#define gSPSegment(pkt, segment, base) \
|
||||
gMoveWd(pkt, G_MW_SEGMENT, (segment*4), base)
|
||||
gMoveWd(pkt, G_MW_SEGMENT, (segment)*4, base)
|
||||
#define gsSPSegment(segment, base) \
|
||||
gsMoveWd( G_MW_SEGMENT, (segment*4), base)
|
||||
gsMoveWd( G_MW_SEGMENT, (segment)*4, base)
|
||||
|
||||
/*
|
||||
* Clipping Macros
|
||||
@@ -1978,17 +2096,30 @@ typedef union {
|
||||
* num = new element (32 bit value replacing 2 int or 2 frac matrix
|
||||
* componants
|
||||
*/
|
||||
#ifdef F3DEX_GBI_2x
|
||||
ERROR!! gSPInsertMatrix is no longer supported.
|
||||
#else
|
||||
#define gSPInsertMatrix(pkt, where, num) \
|
||||
gMoveWd(pkt, G_MW_MATRIX, where, num)
|
||||
|
||||
#define gsSPInsertMatrix(where, num) \
|
||||
gsMoveWd(G_MW_MATRIX, where, num)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Load new matrix directly
|
||||
*
|
||||
* mptr = pointer to matrix
|
||||
*/
|
||||
#ifdef F3DEX_GBI_2x
|
||||
#define gSPForceMatrix(pkt, mptr) \
|
||||
{ gDma2p((pkt),G_MOVEMEM,(mptr),sizeof(Mtx),G_MV_MATRIX,0); \
|
||||
gMoveWd((pkt), G_MW_FORCEMTX,0,0x00010000); \
|
||||
}
|
||||
#define gsSPForceMatrix(mptr) \
|
||||
gsDma2p(G_MOVEMEM,(mptr),sizeof(Mtx),G_MV_MATRIX,0), \
|
||||
gsMoveWd(G_MW_FORCEMTX,0,0x00010000)
|
||||
|
||||
#else /* F3DEX_GBI_2 */
|
||||
#define gSPForceMatrix(pkt, mptr) \
|
||||
{ \
|
||||
gDma1p(pkt, G_MOVEMEM, mptr, 16, G_MV_MATRIX_1); \
|
||||
@@ -2001,6 +2132,7 @@ typedef union {
|
||||
gsDma1p( G_MOVEMEM, (char *)(mptr)+16, 16, G_MV_MATRIX_2), \
|
||||
gsDma1p( G_MOVEMEM, (char *)(mptr)+32, 16, G_MV_MATRIX_3), \
|
||||
gsDma1p( G_MOVEMEM, (char *)(mptr)+48, 16, G_MV_MATRIX_4)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/*
|
||||
* Insert values into Points
|
||||
@@ -2142,8 +2274,11 @@ typedef union {
|
||||
/*
|
||||
* Lighting Macros
|
||||
*/
|
||||
#define NUML(n) (((n)+1)*32 + 0x80000000)
|
||||
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define NUML(n) ((n)*24)
|
||||
#else
|
||||
# define NUML(n) (((n)+1)*32 + 0x80000000)
|
||||
#endif
|
||||
#define NUMLIGHTS_0 1
|
||||
#define NUMLIGHTS_1 1
|
||||
#define NUMLIGHTS_2 2
|
||||
@@ -2178,8 +2313,17 @@ typedef union {
|
||||
* LIGHT_1 through LIGHT_3 will be the directional lights and light
|
||||
* LIGHT_4 will be the ambient light.
|
||||
*/
|
||||
#define gSPLight(pkt, l, n) gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0)
|
||||
#define gsSPLight(l, n) gsDma1p( G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0)
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define gSPLight(pkt, l, n) \
|
||||
gDma2p((pkt),G_MOVEMEM,(l),sizeof(Light),G_MV_LIGHT,(n)*3+3)
|
||||
# define gsSPLight(l, n) \
|
||||
gsDma2p( G_MOVEMEM,(l),sizeof(Light),G_MV_LIGHT,(n)*3+3)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define gSPLight(pkt, l, n) \
|
||||
gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0)
|
||||
# define gsSPLight(l, n) \
|
||||
gsDma1p( G_MOVEMEM, l, sizeof(Light),((n)-1)*2+G_MV_L0)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
/*
|
||||
* gSPLightColor changes color of light without recalculating light direction
|
||||
@@ -2333,20 +2477,34 @@ typedef union {
|
||||
/*
|
||||
* Reflection/Hiliting Macros
|
||||
*/
|
||||
#define gSPLookAtX(pkt, l) gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX)
|
||||
#define gsSPLookAtX(l) gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX)
|
||||
|
||||
#define gSPLookAtY(pkt, l) gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY)
|
||||
#define gsSPLookAtY(l) gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY)
|
||||
#ifdef F3DEX_GBI_2
|
||||
# define gSPLookAtX(pkt, l) \
|
||||
gDma2p((pkt),G_MOVEMEM,(l),sizeof(Light),G_MV_LOOKATX,0)
|
||||
# define gsSPLookAtX(l) \
|
||||
gsDma2p( G_MOVEMEM,(l),sizeof(Light),G_MV_LOOKATX,0)
|
||||
# define gSPLookAtY(pkt, l) \
|
||||
gDma2p((pkt),G_MOVEMEM,(l),sizeof(Light),G_MV_LOOKATY,0)
|
||||
# define gsSPLookAtY(l) \
|
||||
gsDma2p( G_MOVEMEM,(l),sizeof(Light),G_MV_LOOKATY,0)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define gSPLookAtX(pkt, l) \
|
||||
gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX)
|
||||
# define gsSPLookAtX(l) \
|
||||
gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATX)
|
||||
# define gSPLookAtY(pkt, l) \
|
||||
gDma1p(pkt, G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY)
|
||||
# define gsSPLookAtY(l) \
|
||||
gsDma1p( G_MOVEMEM, l, sizeof(Light),G_MV_LOOKATY)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
#define gSPLookAt(pkt, la) \
|
||||
{ \
|
||||
gSPLookAtX(pkt,la) \
|
||||
gSPLookAtY(pkt,((char *)la)+16) \
|
||||
gSPLookAtY(pkt,(char *)(la)+16) \
|
||||
}
|
||||
#define gsSPLookAt(la) \
|
||||
gsSPLookAtX(la), \
|
||||
gsSPLookAtY(((char *)la)+16)
|
||||
gsSPLookAtY((char *)(la)+16)
|
||||
|
||||
#define gDPSetHilite1Tile(pkt, tile, hilite, width, height) \
|
||||
gDPSetTileSize(pkt, tile, (hilite)->h.x1 & 0xfff, (hilite)->h.y1 & 0xfff, \
|
||||
@@ -2385,13 +2543,13 @@ typedef union {
|
||||
|
||||
#define gSPFogPosition(pkt, min, max) \
|
||||
gMoveWd(pkt, G_MW_FOG, G_MWO_FOG, \
|
||||
(_SHIFTL((128000/(max-min)),16,16) | \
|
||||
_SHIFTL(((500-min)*256/(max-min)),0,16)))
|
||||
(_SHIFTL((128000/((max)-(min))),16,16) | \
|
||||
_SHIFTL(((500-(min))*256/((max)-(min))),0,16)))
|
||||
|
||||
#define gsSPFogPosition(min, max) \
|
||||
gsMoveWd(G_MW_FOG, G_MWO_FOG, \
|
||||
(_SHIFTL((128000/(max-min)),16,16) | \
|
||||
_SHIFTL(((500-min)*256/(max-min)),0,16)))
|
||||
(_SHIFTL((128000/((max)-(min))),16,16) | \
|
||||
_SHIFTL(((500-(min))*256/((max)-(min))),0,16)))
|
||||
|
||||
/*
|
||||
* Macros to turn texture on/off
|
||||
@@ -2442,8 +2600,15 @@ typedef union {
|
||||
#define gsSPPerspNormalize(s) \
|
||||
gsMoveWd( G_MW_PERSPNORM, 0, (s))
|
||||
|
||||
#define gSPPopMatrix(pkt, n) gImmp1(pkt, G_POPMTX, n)
|
||||
#define gsSPPopMatrix(n) gsImmp1(G_POPMTX, n)
|
||||
#ifdef F3DEX_GBI_2x
|
||||
# define gSPPopMatrixN(pkt, n, num) gDma2p((pkt),G_POPMTX,(num)*64,64,2,0)
|
||||
# define gsSPPopMatrixN(n, num) gsDma2p( G_POPMTX,(num)*64,64,2,0)
|
||||
# define gSPPopMatrix(pkt, n) gSPPopMatrixN((pkt), (n), 1)
|
||||
# define gsSPPopMatrix(n) gsSPPopMatrixN( (n), 1)
|
||||
#else /* F3DEX_GBI_2 */
|
||||
# define gSPPopMatrix(pkt, n) gImmp1(pkt, G_POPMTX, n)
|
||||
# define gsSPPopMatrix(n) gsImmp1( G_POPMTX, n)
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
#define gSPEndDisplayList(pkt) \
|
||||
{ \
|
||||
@@ -2458,6 +2623,34 @@ typedef union {
|
||||
_SHIFTL(G_ENDDL, 24, 8), 0 \
|
||||
}
|
||||
|
||||
#ifdef F3DEX_GBI_2x
|
||||
/*
|
||||
* One gSPGeometryMode(pkt,c,s) GBI is equal to these two GBIs.
|
||||
*
|
||||
* gSPClearGeometryMode(pkt,c)
|
||||
* gSPSetGeometryMode(pkt,s)
|
||||
*
|
||||
* gSPLoadGeometryMode(pkt, word) sets GeometryMode directly.
|
||||
*/
|
||||
#define gSPGeometryMode(pkt, c, s) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
_g->words.w0 = _SHIFTL(G_GEOMETRYMODE,24,8)|_SHIFTL(~(u32)(c),0,24);\
|
||||
_g->words.w1 = (u32)(s); \
|
||||
}
|
||||
|
||||
#define gsSPGeometryMode(c, s) \
|
||||
{ \
|
||||
(_SHIFTL(G_GEOMETRYMODE,24,8)|_SHIFTL(~(u32)(c),0,24)),(u32)(s) \
|
||||
}
|
||||
#define gSPSetGeometryMode(pkt, word) gSPGeometryMode((pkt),0,(word))
|
||||
#define gsSPSetGeometryMode(word) gsSPGeometryMode(0,(word))
|
||||
#define gSPClearGeometryMode(pkt, word) gSPGeometryMode((pkt),(word),0)
|
||||
#define gsSPClearGeometryMode(word) gsSPGeometryMode((word),0)
|
||||
#define gSPLoadGeometryMode(pkt, word) gSPGeometryMode((pkt),-1,(word))
|
||||
#define gsSPLoadGeometryMode(pkt, word) gsSPGeometryMode(-1,(word))
|
||||
|
||||
#else /* F3DEX_GBI_2 */
|
||||
#define gSPSetGeometryMode(pkt, word) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
@@ -2483,7 +2676,23 @@ typedef union {
|
||||
{ \
|
||||
_SHIFTL(G_CLEARGEOMETRYMODE, 24, 8), (unsigned int)(word) \
|
||||
}
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
#ifdef F3DEX_GBI_2x
|
||||
#define gSPSetOtherMode(pkt, cmd, sft, len, data) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
_g->words.w0 = (_SHIFTL(cmd,24,8)|_SHIFTL(32-(sft)-(len),8,8)| \
|
||||
_SHIFTL((len)-1,0,8)); \
|
||||
_g->words.w1 = (unsigned int)(data); \
|
||||
}
|
||||
|
||||
#define gsSPSetOtherMode(cmd, sft, len, data) \
|
||||
{ \
|
||||
_SHIFTL(cmd,24,8)|_SHIFTL(32-(sft)-(len),8,8)|_SHIFTL((len)-1,0,8), \
|
||||
(unsigned int)(data) \
|
||||
}
|
||||
#else
|
||||
#define gSPSetOtherMode(pkt, cmd, sft, len, data) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
@@ -2498,6 +2707,7 @@ typedef union {
|
||||
_SHIFTL(cmd, 24, 8) | _SHIFTL(sft, 8, 8) | _SHIFTL(len, 0, 8), \
|
||||
(unsigned int)(data) \
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* RDP setothermode register commands - register shadowed in RSP
|
||||
@@ -2767,6 +2977,47 @@ typedef union {
|
||||
_SHIFTL(a, 0, 8)) \
|
||||
}
|
||||
|
||||
/*
|
||||
* gDPSetOtherMode (This is for expert user.)
|
||||
*
|
||||
* This command makes all othermode parameters set.
|
||||
* Do not use this command in the same DL with another g*SPSetOtherMode DLs.
|
||||
*
|
||||
* [Usage]
|
||||
* gDPSetOtherMode(pkt, modeA, modeB)
|
||||
*
|
||||
* 'modeA' is described all parameters of GroupA GBI command.
|
||||
* 'modeB' is also described all parameters of GroupB GBI command.
|
||||
*
|
||||
* GroupA:
|
||||
* gDPPipelineMode, gDPSetCycleType, gSPSetTexturePersp,
|
||||
* gDPSetTextureDetail, gDPSetTextureLOD, gDPSetTextureLUT,
|
||||
* gDPSetTextureFilter, gDPSetTextureConvert, gDPSetCombineKey,
|
||||
* gDPSetColorDither, gDPSetAlphaDither
|
||||
*
|
||||
* GroupB:
|
||||
* gDPSetAlphaCompare, gDPSetDepthSource, gDPSetRenderMode
|
||||
*
|
||||
* Use 'OR' operation to get modeA and modeB.
|
||||
*
|
||||
* modeA = G_PM_* | G_CYC_* | G_TP_* | G_TD_* | G_TL_* | G_TT_* | G_TF_*
|
||||
* G_TC_* | G_CK_* | G_CD_* | G_AD_*;
|
||||
*
|
||||
* modeB = G_AC_* | G_ZS_* | G_RM_* | G_RM_*2;
|
||||
*/
|
||||
#define gDPSetOtherMode(pkt, mode0, mode1) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_RDPSETOTHERMODE,24,8)|_SHIFTL(mode0,0,24);\
|
||||
_g->words.w1 = (unsigned int)(mode1); \
|
||||
}
|
||||
|
||||
#define gsDPSetOtherMode(mode0, mode1) \
|
||||
{ \
|
||||
_SHIFTL(G_RDPSETOTHERMODE,24,8)|_SHIFTL(mode0,0,24), \
|
||||
(unsigned int)(mode1) \
|
||||
}
|
||||
|
||||
/*
|
||||
* Texturing macros
|
||||
@@ -3994,6 +4245,19 @@ typedef union {
|
||||
_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16) \
|
||||
}
|
||||
|
||||
#define gDPTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy)\
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
if (pkt); \
|
||||
_g->words.w0 = (_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | \
|
||||
_SHIFTL(yh, 0, 12)); \
|
||||
_g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \
|
||||
_SHIFTL(yl, 0, 12)); \
|
||||
_g ++; \
|
||||
_g->words.w0 = (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16)); \
|
||||
_g->words.w1 = (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16)); \
|
||||
}
|
||||
|
||||
#define gsDPTextureRectangleFlip(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \
|
||||
{ \
|
||||
(_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \
|
||||
@@ -4005,6 +4269,18 @@ typedef union {
|
||||
_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16) \
|
||||
}
|
||||
|
||||
#define gDPTextureRectangleFlip(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy)\
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
if (pkt); \
|
||||
_g->words.w0 = (_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \
|
||||
_SHIFTL(yh, 0, 12)); \
|
||||
_g->words.w1 = (_SHIFTL(tile, 24, 3) | _SHIFTL(xl, 12, 12) | \
|
||||
_SHIFTL(yl, 0, 12)); \
|
||||
_g ++; \
|
||||
_g->words.w0 = (_SHIFTL(s, 16, 16) | _SHIFTL(t, 0, 16)); \
|
||||
_g->words.w1 = (_SHIFTL(dsdx, 16, 16) | _SHIFTL(dtdy, 0, 16)); \
|
||||
}
|
||||
|
||||
#define gsSPTextureRectangle(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \
|
||||
(_SHIFTL(G_TEXRECT, 24, 8) | _SHIFTL(xh, 12, 12) | _SHIFTL(yh, 0, 12)),\
|
||||
|
||||
@@ -0,0 +1,364 @@
|
||||
/*---------------------------------------------------------------------
|
||||
Copyright (C) 1997, Nintendo.
|
||||
|
||||
File gs2dex.h
|
||||
Coded by Yoshitaka Yasumoto. Jul 31, 1997.
|
||||
Modified by
|
||||
Comments Header file for S2DEX ucode.
|
||||
|
||||
$Id: gs2dex.h,v 1.15 1997/10/17 08:19:07 yasu Exp $
|
||||
---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _GS2DEX_H_
|
||||
#define _GS2DEX_H_
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*===========================================================================*
|
||||
* Macro
|
||||
*===========================================================================*/
|
||||
#define GS_CALC_DXT(line) (((1<< G_TX_DXT_FRAC)-1)/(line)+1)
|
||||
#define GS_PIX2TMEM(pix, siz) ((pix)>>(4-(siz)))
|
||||
#define GS_PIX2DXT(pix, siz) GS_CALC_DXT(GS_PIX2TMEM((pix), (siz)))
|
||||
|
||||
/*===========================================================================*
|
||||
* Data structures for S2DEX microcode
|
||||
*===========================================================================*/
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Background
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define G_BGLT_LOADBLOCK 0x0033
|
||||
#define G_BGLT_LOADTILE 0xfff4
|
||||
|
||||
#define G_BG_FLAG_FLIPS 0x01
|
||||
#define G_BG_FLAG_FLIPT 0x10
|
||||
|
||||
/* Non scalable background plane */
|
||||
typedef struct {
|
||||
u16 imageX; /* The x-coordinate of the upper-left position of the texture. (u11.5)*/
|
||||
u16 imageW; /* The width of the texture. (u10.2)*/
|
||||
s16 frameX; /* The upper-left position of the transferred frame. (s10.2)*/
|
||||
u16 frameW; /* The width of the transferred frame. (u10.2)*/
|
||||
|
||||
u16 imageY; /* The y-coordinate of the upper-left position of the texture. (u11.5)*/
|
||||
u16 imageH; /* The height of the texture. (u10.2)*/
|
||||
s16 frameY; /* The upper-left position of the transferred frame. (s10.2)*/
|
||||
u16 frameH; /* The height of the transferred frame. (u10.2)*/
|
||||
|
||||
u64 *imagePtr; /* The texture source address on DRAM. */
|
||||
u16 imageLoad; /* Which to use, LoadBlock or LoadTile? */
|
||||
u8 imageFmt; /* The format of the texel. G_IM_FMT_* */
|
||||
u8 imageSiz; /* The size of the texel G_IM_SIZ_* */
|
||||
u16 imagePal; /* The pallet number. */
|
||||
u16 imageFlip; /* The right & left inversion of the image. Inverted by G_BG_FLAG_FLIPS*/
|
||||
|
||||
/* Because the following are set in the initialization routine guS2DInitBg(), the user doesn't
|
||||
have to set it.*/
|
||||
u16 tmemW; /* The TMEM width and Work size of the frame 1 line.
|
||||
At LoadBlock, GS_PIX2TMEM(imageW/4,imageSiz)
|
||||
At LoadTile GS_PIX2TMEM(frameW/4,imageSiz)+1 */
|
||||
u16 tmemH; /* The height of TMEM loadable at a time. (s13.2) The 4 times value.
|
||||
When the normal texture, 512/tmemW*4
|
||||
When the CI texture, 256/tmemW*4 */
|
||||
u16 tmemLoadSH; /* The SH value
|
||||
At LoadBlock, tmemSize/2-1
|
||||
At LoadTile, tmemW*16-1 */
|
||||
u16 tmemLoadTH; /* The TH value or the Stride value
|
||||
At LoadBlock, GS_CALC_DXT(tmemW)
|
||||
At LoadTile, tmemH-1 */
|
||||
u16 tmemSizeW; /* The skip value of imagePtr for image 1-line.
|
||||
At LoadBlock, tmemW*2
|
||||
At LoadTile, GS_PIX2TMEM(imageW/4,imageSiz)*2 */
|
||||
u16 tmemSize; /* The skip value of imagePtr for 1-loading.
|
||||
= tmemSizeW*tmemH */
|
||||
} uObjBg_t; /* 40 bytes */
|
||||
|
||||
/* Scalable background plane */
|
||||
typedef struct {
|
||||
u16 imageX; /* The x-coordinate of the upper-left position of the texture. (u11.5)*/
|
||||
u16 imageW; /* The width of the texture. (u10.2)*/
|
||||
s16 frameX; /* The upper-left position of the transferred frame. (s10.2)*/
|
||||
u16 frameW; /* The width of the transferred frame. (u10.2)*/
|
||||
|
||||
u16 imageY; /* The y-coordinate of the upper-left position of the texture. (u11.5)*/
|
||||
u16 imageH; /* The height of the texture. (u10.2)*/
|
||||
s16 frameY; /* The upper-left position of the transferred frame. (s10.2)*/
|
||||
u16 frameH; /* The height of the transferred frame. (u10.2)*/
|
||||
|
||||
u64 *imagePtr; /* The texture source address on DRAM. */
|
||||
u16 imageLoad; /* Which to use, LoadBlock or LoadTile? */
|
||||
u8 imageFmt; /* The format of the texel. G_IM_FMT_* */
|
||||
u8 imageSiz; /* The size of the texel G_IM_SIZ_* */
|
||||
u16 imagePal; /* The pallet number. */
|
||||
u16 imageFlip; /* The right & left inversion of the image. Inverted by G_BG_FLAG_FLIPS*/
|
||||
|
||||
u16 scaleW; /* The scale value of the X-direction. (u5.10)*/
|
||||
u16 scaleH; /* The scale value of the Y-direction. (u5.10)*/
|
||||
s32 imageYorig; /* The start point of drawing on the image. (s20.5)*/
|
||||
|
||||
u8 padding[4];
|
||||
|
||||
} uObjScaleBg_t; /* 40 bytes */
|
||||
|
||||
typedef union {
|
||||
uObjBg_t b;
|
||||
uObjScaleBg_t s;
|
||||
long long int force_structure_alignment;
|
||||
} uObjBg;
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* 2D Objects
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define G_OBJ_FLAG_FLIPS 1<<0 /* The inversion to the S-direction. */
|
||||
#define G_OBJ_FLAG_FLIPT 1<<4 /* The inversion to the T-direction. */
|
||||
|
||||
typedef struct {
|
||||
s16 objX; /* The x-coordinate of the upper-left end. s10.2 OBJ */
|
||||
u16 scaleW; /* Scaling of the u5.10 width direction. */
|
||||
u16 imageW; /* The width of the u10.5 texture. (The length of the S-direction.) */
|
||||
u16 paddingX; /* Unused. Always 0. */
|
||||
s16 objY; /* The y-coordinate of the s10.2 OBJ upper-left end. */
|
||||
u16 scaleH; /* Scaling of the u5.10 height direction. */
|
||||
u16 imageH; /* The height of the u10.5 texture. (The length of the T-direction.)*/
|
||||
u16 paddingY; /* Unused. Always 0. */
|
||||
u16 imageStride; /* The folding width of the texel. (In units of 64bit word.) */
|
||||
u16 imageAdrs; /* The texture header position in TMEM. (In units of 64bit word.) */
|
||||
u8 imageFmt; /* The format of the texel. G_IM_FMT_* */
|
||||
u8 imageSiz; /* The size of the texel. G_IM_SIZ_* */
|
||||
u8 imagePal; /*The pallet number. 0-7 */
|
||||
u8 imageFlags; /* The display flag. G_OBJ_FLAG_FLIP* */
|
||||
} uObjSprite_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
uObjSprite_t s;
|
||||
long long int force_structure_alignment;
|
||||
} uObjSprite;
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* 2D Matrix
|
||||
*---------------------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
s32 A, B, C, D; /* s15.16 */
|
||||
s16 X, Y; /* s10.2 */
|
||||
u16 BaseScaleX; /* u5.10 */
|
||||
u16 BaseScaleY; /* u5.10 */
|
||||
} uObjMtx_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
uObjMtx_t m;
|
||||
long long int force_structure_alignment;
|
||||
} uObjMtx;
|
||||
|
||||
typedef struct {
|
||||
s16 X, Y; /* s10.2 */
|
||||
u16 BaseScaleX; /* u5.10 */
|
||||
u16 BaseScaleY; /* u5.10 */
|
||||
} uObjSubMtx_t; /* 8 bytes */
|
||||
|
||||
typedef union {
|
||||
uObjSubMtx_t m;
|
||||
long long int force_structure_alignment;
|
||||
} uObjSubMtx;
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Loading into TMEM
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define G_OBJLT_TXTRBLOCK 0x00001033
|
||||
#define G_OBJLT_TXTRTILE 0x00fc1034
|
||||
#define G_OBJLT_TLUT 0x00000030
|
||||
|
||||
#define GS_TB_TSIZE(pix,siz) (GS_PIX2TMEM((pix),(siz))-1)
|
||||
#define GS_TB_TLINE(pix,siz) (GS_CALC_DXT(GS_PIX2TMEM((pix),(siz))))
|
||||
|
||||
typedef struct {
|
||||
u32 type; /* G_OBJLT_TXTRBLOCK divided into types. */
|
||||
u64 *image; /* The texture source address on DRAM. */
|
||||
u16 tmem; /* The transferred TMEM word address. (8byteWORD) */
|
||||
u16 tsize; /* The Texture size. Specified by the macro GS_TB_TSIZE(). */
|
||||
u16 tline; /* The width of the Texture 1-line. Specified by the macro GS_TB_TLINE()*/
|
||||
u16 sid; /* STATE ID Multipled by 4. Either one of 0,4,8 and 12. */
|
||||
u32 flag; /* STATE flag */
|
||||
u32 mask; /* STATE mask */
|
||||
} uObjTxtrBlock_t; /* 24 bytes */
|
||||
|
||||
#define GS_TT_TWIDTH(pix,siz) ((GS_PIX2TMEM((pix), (siz))<<2)-1)
|
||||
#define GS_TT_THEIGHT(pix,siz) (((pix)<<2)-1)
|
||||
|
||||
typedef struct {
|
||||
u32 type; /* G_OBJLT_TXTRTILE divided into types. */
|
||||
u64 *image; /* The texture source address on DRAM. */
|
||||
u16 tmem; /* The loaded texture source address on DRAM. (8byteWORD) */
|
||||
u16 twidth; /* The width of the Texture. Specified by the macro GS_TT_TWIDTH() */
|
||||
u16 theight; /* The height of the Texture. Specified by the macro GS_TT_THEIGHT()*/
|
||||
u16 sid; /* STATE ID Multiplied by 4. Either one of 0,4,8 and 12. */
|
||||
u32 flag; /* STATE flag */
|
||||
u32 mask; /* STATE mask */
|
||||
} uObjTxtrTile_t; /* 24 bytes */
|
||||
|
||||
#define GS_PAL_HEAD(head) ((head)+256)
|
||||
#define GS_PAL_NUM(num) ((num)-1)
|
||||
|
||||
typedef struct {
|
||||
u32 type; /* G_OBJLT_TLUT divided into types. */
|
||||
u64 *image; /* the texture source address on DRAM. */
|
||||
u16 phead; /* The pallet number of the load header. Between 256 and 511. */
|
||||
u16 pnum; /* The loading pallet number -1. */
|
||||
u16 zero; /* Assign 0 all the time. */
|
||||
u16 sid; /* STATE ID Multiplied by 4. Either one of 0,4,8 and 12. */
|
||||
u32 flag; /* STATE flag */
|
||||
u32 mask; /* STATE mask */
|
||||
} uObjTxtrTLUT_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
uObjTxtrBlock_t block;
|
||||
uObjTxtrTile_t tile;
|
||||
uObjTxtrTLUT_t tlut;
|
||||
long long int force_structure_alignment;
|
||||
} uObjTxtr;
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Loading into TMEM & 2D Objects
|
||||
*---------------------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
uObjTxtr txtr;
|
||||
uObjSprite sprite;
|
||||
} uObjTxSprite; /* 48 bytes */
|
||||
|
||||
/*===========================================================================*
|
||||
* GBI Commands for S2DEX microcode
|
||||
*===========================================================================*/
|
||||
/* GBI Header */
|
||||
#define G_BG_1CYC 0x01
|
||||
#define G_BG_COPY 0x02
|
||||
#define G_OBJ_RECTANGLE 0x03
|
||||
#define G_OBJ_SPRITE 0x04
|
||||
#define G_OBJ_MOVEMEM 0x05
|
||||
#define G_SELECT_DL 0xb0
|
||||
#define G_OBJ_RENDERMODE 0xb1
|
||||
#define G_OBJ_RECTANGLE_R 0xb2
|
||||
#define G_OBJ_LOADTXTR 0xc1
|
||||
#define G_OBJ_LDTX_SPRITE 0xc2
|
||||
#define G_OBJ_LDTX_RECT 0xc3
|
||||
#define G_OBJ_LDTX_RECT_R 0xc4
|
||||
#define G_RDPHALF_0 0xe4
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Background wrapped screen
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define gSPBgRectangle(pkt, m, mptr) gDma0p((pkt),(m),(mptr),0)
|
||||
#define gsSPBgRectangle(m, mptr) gsDma0p( (m),(mptr),0)
|
||||
#define gSPBgRectCopy(pkt, mptr) gSPBgRectangle((pkt), G_BG_COPY, (mptr))
|
||||
#define gsSPBgRectCopy(mptr) gsSPBgRectangle( G_BG_COPY, (mptr))
|
||||
#define gSPBgRect1Cyc(pkt, mptr) gSPBgRectangle((pkt), G_BG_1CYC, (mptr))
|
||||
#define gsSPBgRect1Cyc(mptr) gsSPBgRectangle( G_BG_1CYC, (mptr))
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* 2D Objects
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define gSPObjSprite(pkt, mptr) gDma0p((pkt),G_OBJ_SPRITE, (mptr),0)
|
||||
#define gsSPObjSprite(mptr) gsDma0p( G_OBJ_SPRITE, (mptr),0)
|
||||
#define gSPObjRectangle(pkt, mptr) gDma0p((pkt),G_OBJ_RECTANGLE, (mptr),0)
|
||||
#define gsSPObjRectangle(mptr) gsDma0p( G_OBJ_RECTANGLE, (mptr),0)
|
||||
#define gSPObjRectangleR(pkt, mptr) gDma0p((pkt),G_OBJ_RECTANGLE_R,(mptr),0)
|
||||
#define gsSPObjRectangleR(mptr) gsDma0p( G_OBJ_RECTANGLE_R,(mptr),0)
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* 2D Matrix
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define gSPObjMatrix(pkt, mptr) gDma1p((pkt),G_OBJ_MOVEMEM,(mptr),0,23)
|
||||
#define gsSPObjMatrix(mptr) gsDma1p( G_OBJ_MOVEMEM,(mptr),0,23)
|
||||
#define gSPObjSubMatrix(pkt, mptr) gDma1p((pkt),G_OBJ_MOVEMEM,(mptr),2, 7)
|
||||
#define gsSPObjSubMatrix(mptr) gsDma1p( G_OBJ_MOVEMEM,(mptr),2, 7)
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Loading into TMEM
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define gSPObjLoadTxtr(pkt, tptr) gDma0p((pkt),G_OBJ_LOADTXTR, (tptr),23)
|
||||
#define gsSPObjLoadTxtr(tptr) gsDma0p( G_OBJ_LOADTXTR, (tptr),23)
|
||||
#define gSPObjLoadTxSprite(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_SPRITE,(tptr),47)
|
||||
#define gsSPObjLoadTxSprite(tptr) gsDma0p( G_OBJ_LDTX_SPRITE,(tptr),47)
|
||||
#define gSPObjLoadTxRect(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_RECT, (tptr),47)
|
||||
#define gsSPObjLoadTxRect(tptr) gsDma0p( G_OBJ_LDTX_RECT, (tptr),47)
|
||||
#define gSPObjLoadTxRectR(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_RECT_R,(tptr),47)
|
||||
#define gsSPObjLoadTxRectR(tptr) gsDma0p( G_OBJ_LDTX_RECT_R,(tptr),47)
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Select Display List
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define gSPSelectDL(pkt, mptr, sid, flag, mask) \
|
||||
{ gDma1p((pkt), G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
|
||||
gDma1p((pkt), G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_PUSH); }
|
||||
#define gsSPSelectDL(mptr, sid, flag, mask) \
|
||||
{ gsDma1p(G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
|
||||
gsDma1p(G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_PUSH); }
|
||||
#define gSPSelectBranchDL(pkt, mptr, sid, flag, mask) \
|
||||
{ gDma1p((pkt), G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
|
||||
gDma1p((pkt), G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_NOPUSH); }
|
||||
#define gsSPSelectBranchDL(mptr, sid, flag, mask) \
|
||||
{ gsDma1p(G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
|
||||
gsDma1p(G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_NOPUSH); }
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Set general status
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define G_MW_GENSTAT 0x08 /* Note that it is the same value of G_MW_FOG. */
|
||||
|
||||
#define gSPSetStatus(pkt, sid, val) \
|
||||
gMoveWd((pkt), G_MW_GENSTAT, (sid), (val))
|
||||
#define gsSPSetStatus(sid, val) \
|
||||
gsMoveWd( G_MW_GENSTAT, (sid), (val))
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
* Set Object Render Mode
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define G_OBJRM_NOTXCLAMP 0x01
|
||||
#define G_OBJRM_XLU 0x02 /* Ignored */
|
||||
#define G_OBJRM_ANTIALIAS 0x04 /* Ignored */
|
||||
#define G_OBJRM_BILERP 0x08
|
||||
#define G_OBJRM_SHRINKSIZE_1 0x10
|
||||
#define G_OBJRM_SHRINKSIZE_2 0x20
|
||||
#define G_OBJRM_WIDEN 0x40
|
||||
|
||||
#define gSPObjRenderMode(pkt, mode) gImmp1((pkt),G_OBJ_RENDERMODE,(mode))
|
||||
#define gsSPObjRenderMode(mode) gsImmp1( G_OBJ_RENDERMODE,(mode))
|
||||
|
||||
/*===========================================================================*
|
||||
* Render Mode Macro
|
||||
*===========================================================================*/
|
||||
#define RM_RA_SPRITE(clk) \
|
||||
AA_EN | CVG_DST_CLAMP | \
|
||||
CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
|
||||
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
|
||||
|
||||
#define G_RM_SPRITE G_RM_OPA_SURF
|
||||
#define G_RM_SPRITE2 G_RM_OPA_SURF2
|
||||
#define G_RM_RA_SPRITE RM_RA_SPRITE(1)
|
||||
#define G_RM_RA_SPRITE2 RM_RA_SPRITE(2)
|
||||
#define G_RM_AA_SPRITE G_RM_AA_TEX_TERR
|
||||
#define G_RM_AA_SPRITE2 G_RM_AA_TEX_TERR2
|
||||
#define G_RM_XLU_SPRITE G_RM_XLU_SURF
|
||||
#define G_RM_XLU_SPRITE2 G_RM_XLU_SURF2
|
||||
#define G_RM_AA_XLU_SPRITE G_RM_AA_XLU_SURF
|
||||
#define G_RM_AA_XLU_SPRITE2 G_RM_AA_XLU_SURF2
|
||||
|
||||
/*===========================================================================*
|
||||
* External functions
|
||||
*===========================================================================*/
|
||||
extern u64 gspS2DEX_fifoTextStart[], gspS2DEX_fifoTextEnd[];
|
||||
extern u64 gspS2DEX_fifoDataStart[], gspS2DEX_fifoDataEnd[];
|
||||
extern u64 gspS2DEX_fifo_dTextStart[], gspS2DEX_fifo_dTextEnd[];
|
||||
extern u64 gspS2DEX_fifo_dDataStart[], gspS2DEX_fifo_dDataEnd[];
|
||||
extern void guS2DInitBg(uObjBg *);
|
||||
extern void guS2DEmuSetScissor(u32, u32, u32, u32, u8);
|
||||
extern void guS2DEmuBgRect1Cyc(Gfx **, uObjBg *);
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
#endif /* _GS2DEX_H_ */
|
||||
|
||||
/*======== End of gs2dex.h ========*/
|
||||
+8
-8
@@ -15,8 +15,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.45 $
|
||||
* $Date: 1997/02/11 08:23:46 $
|
||||
* $Revision: 1.46 $
|
||||
* $Date: 1997/11/26 00:30:53 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/gu.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -32,12 +32,12 @@
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
#define M_PI 3.14159265358979323846
|
||||
#define M_DTOR (3.14159265358979323846/180.0)
|
||||
#define D_PI 3.14159265358979323846
|
||||
#define D_DTOR (3.14159265358979323846/180.0)
|
||||
|
||||
#define FTOFIX32(x) ((x) * 0x10000)
|
||||
#define FIX32TOF(x) ((float)(((float)x) / (float)(0x10000)))
|
||||
#define FTOFRAC8(x) ((int) MIN(((x) * (128.0)),127.0) & 0xff)
|
||||
#define FTOFIX32(x) (long)((x) * (float)0x00010000)
|
||||
#define FIX32TOF(x) ((float)(x) * (1.0f / (float)0x00010000))
|
||||
#define FTOFRAC8(x) ((int) MIN(((x) * (128.0f)), 127.0f) & 0xff)
|
||||
|
||||
#define FILTER_WRAP 0
|
||||
#define FILTER_CLAMP 1
|
||||
@@ -191,7 +191,7 @@ extern float sinf(float angle);
|
||||
extern float cosf(float angle);
|
||||
extern signed short sins (unsigned short angle);
|
||||
extern signed short coss (unsigned short angle);
|
||||
extern float sqrtf(float value);
|
||||
extern float guSqrtf(float value);
|
||||
|
||||
/*
|
||||
* Dump routines for low-level display lists
|
||||
|
||||
@@ -1,238 +0,0 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.8 $
|
||||
* $Date: 1997/02/13 14:54:47 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/leo.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef _LEO_H_
|
||||
#define _LEO_H_
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <PR/leoappli.h>
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Type definitions
|
||||
*
|
||||
*/
|
||||
typedef u32 LEOError;
|
||||
|
||||
typedef u8 LEOSpdlMode;
|
||||
|
||||
typedef u8 LEOStatus;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 drive; /* version of hw */
|
||||
u8 driver; /* version of sw */
|
||||
u8 deviceType; /* dev type, always 00 */
|
||||
u8 ndevices; /* # of devices, always 01 */
|
||||
} LEOVersion;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u32 startLBA;
|
||||
u32 endLBA;
|
||||
u32 nbytes;
|
||||
} LEOCapacity;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 pad;
|
||||
u8 yearhi;
|
||||
u8 yearlo;
|
||||
u8 month;
|
||||
u8 day;
|
||||
u8 hour;
|
||||
u8 minute;
|
||||
u8 second;
|
||||
} LEODiskTime;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u64 lineNumber;
|
||||
LEODiskTime time;
|
||||
} LEOSerialNum;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 gameName[4];
|
||||
u8 gameVersion;
|
||||
u8 diskNumber;
|
||||
u16 diskUsage;
|
||||
LEOSerialNum serialNumber;
|
||||
u64 reserve;
|
||||
} LEODiskID;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LEOCmdHeader header;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
u32 lba;
|
||||
u32 xfer_blks;
|
||||
void *buff_ptr;
|
||||
u32 rw_bytes;
|
||||
} readwrite;
|
||||
struct
|
||||
{
|
||||
u32 lba;
|
||||
} seek;
|
||||
struct
|
||||
{
|
||||
void *buffer_pointer;
|
||||
} readdiskid;
|
||||
LEODiskTime time;
|
||||
} data;
|
||||
|
||||
} LEOCmd;
|
||||
|
||||
#define _nbytes readwrite.rw_bytes
|
||||
#define _result header.status
|
||||
|
||||
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Global definitions
|
||||
*
|
||||
*/
|
||||
#define LEO_SW_VERSION 1 /* This will be returned by */
|
||||
/* LeoInquiry command */
|
||||
|
||||
#define OS_PRIORITY_LEOMGR OS_PRIORITY_PIMGR
|
||||
|
||||
/*
|
||||
* Drive Rom offset address
|
||||
*/
|
||||
#define DDROM_FONT_START 0x000a0000
|
||||
#define DDROM_WAVEDATA_START 0x00140000
|
||||
|
||||
/*
|
||||
* Definition for osLeoSpdlMotor()
|
||||
*/
|
||||
#define ACTIVE 0
|
||||
#define STANDBY 1
|
||||
#define SLEEP 2
|
||||
|
||||
#define LEO_MOTOR_ACTIVE 0
|
||||
#define LEO_MOTOR_STANDBY 1
|
||||
#define LEO_MOTOR_SLEEP 2
|
||||
|
||||
#define NUM_LBAS 4292 /* total number of LBAs */
|
||||
|
||||
#define BLK_SIZE_ZONE0 19720
|
||||
#define BLK_SIZE_ZONE1 18360
|
||||
#define BLK_SIZE_ZONE2 17680
|
||||
#define BLK_SIZE_ZONE3 16320
|
||||
#define BLK_SIZE_ZONE4 14960
|
||||
#define BLK_SIZE_ZONE5 13600
|
||||
#define BLK_SIZE_ZONE6 12240
|
||||
#define BLK_SIZE_ZONE7 10880
|
||||
#define BLK_SIZE_ZONE8 9520
|
||||
|
||||
#define MAX_BLK_SIZE BLK_SIZE_ZONE0
|
||||
#define MIN_BLK_SIZE BLK_SIZE_ZONE8
|
||||
|
||||
/*
|
||||
* Error codes
|
||||
*/
|
||||
#define LEO_ERROR_GOOD 0
|
||||
#define LEO_ERROR_DRIVE_NOT_READY 1
|
||||
#define LEO_ERROR_DIAGNOSTIC_FAILURE 2
|
||||
#define LEO_ERROR_COMMAND_PHASE_ERROR 3
|
||||
#define LEO_ERROR_DATA_PHASE_ERROR 4
|
||||
#define LEO_ERROR_REAL_TIME_CLOCK_FAILURE 5
|
||||
#define LEO_ERROR_BUSY 8
|
||||
#define LEO_ERROR_INCOMPATIBLE_MEDIUM_INSTALLED 11
|
||||
#define LEO_ERROR_UNKNOWN_FORMAT 11
|
||||
#define LEO_ERROR_NO_SEEK_COMPLETE 21
|
||||
#define LEO_ERROR_WRITE_FAULT 22
|
||||
#define LEO_ERROR_UNRECOVERED_READ_ERROR 23
|
||||
#define LEO_ERROR_NO_REFERENCE_POSITION_FOUND 24
|
||||
#define LEO_ERROR_TRACK_FOLLOWING_ERROR 25
|
||||
#define LEO_ERROR_TRACKING_OR_SPDL_SERVO_FAILURE 25
|
||||
#define LEO_ERROR_INVALID_COMMAND_OPERATION_CODE 31
|
||||
#define LEO_ERROR_LBA_OUT_OF_RANGE 32
|
||||
#define LEO_ERROR_WRITE_PROTECT_ERROR 33
|
||||
#define LEO_ERROR_COMMAND_CLEARED_BY_HOST 34
|
||||
#define LEO_ERROR_COMMAND_TERMINATED 34
|
||||
#define LEO_ERROR_QUEUE_FULL 35
|
||||
#define LEO_ERROR_DEVICE_COMMUNICATION_FAILURE 41
|
||||
#define LEO_ERROR_MEDIUM_NOT_PRESENT 42
|
||||
#define LEO_ERROR_POWERONRESET_DEVICERESET_OCCURED 43
|
||||
#define LEO_ERROR_RAMPACK_NOT_CONNECTED 44
|
||||
#define LEO_ERROR_NOT_BOOTED_DISK 45
|
||||
#define LEO_ERROR_DIDNOT_CHANGED_DISK_AS_EXPECTED 46
|
||||
#define LEO_ERROR_MEDIUM_MAY_HAVE_CHANGED 47
|
||||
#define LEO_ERROR_RTC_NOT_SET_CORRECTLY 48
|
||||
#define LEO_ERROR_DISK_EJECTED_WHEN_ACCESSED 49
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Macro definitions
|
||||
*
|
||||
*/
|
||||
#define GET_ERROR(x) ((x).header.sense)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Extern variables
|
||||
*
|
||||
*/
|
||||
extern LEODiskID leoBootID;
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Function prototypes
|
||||
*
|
||||
*/
|
||||
/* Initialize routine */
|
||||
extern s32 LeoCreateLeoManager(OSPri comPri, OSPri intPri,
|
||||
OSMesg *cmdBuf, s32 cmdMsgCnt);
|
||||
|
||||
/* Synchronous functions */
|
||||
extern s32 LeoClearQueue(void);
|
||||
extern s32 LeoByteToLBA(s32 startLBA, u32 nbytes, s32 *lbas);
|
||||
extern s32 LeoLBAToByte(s32 startLBA, u32 nLBAs, s32 *bytes);
|
||||
extern s32 LeoReadCapacity(LEOCapacity *cap, s32 dir);
|
||||
extern s32 LeoInquiry(LEOVersion *ver);
|
||||
extern s32 LeoTestUnitReady(LEOStatus *status);
|
||||
extern s32 LeoModeSelect(u32 standby, u32 sleep);
|
||||
|
||||
/* Asynchronous functions */
|
||||
extern s32 LeoSpdlMotor(LEOCmd *cmdBlock, LEOSpdlMode mode, OSMesgQueue *mq);
|
||||
extern s32 LeoSeek(LEOCmd *cmdBlock, u32 lba, OSMesgQueue *mq);
|
||||
extern s32 LeoRezero(LEOCmd *cmdBlock, OSMesgQueue *mq);
|
||||
extern s32 LeoReadWrite(LEOCmd *cmdBlock, s32 direction,
|
||||
u32 LBA, void *vAddr, u32 nLBAs, OSMesgQueue *mq);
|
||||
extern s32 LeoReadDiskID(LEOCmd *cmdBlock, LEODiskID *vaddr, OSMesgQueue *mq);
|
||||
extern s32 LeoSetRTC(LEOCmd *cmdBlock, LEODiskTime *RTCdata, OSMesgQueue *mq);
|
||||
extern s32 LeoReadRTC(LEOCmd *cmdBlock, OSMesgQueue *mq);
|
||||
|
||||
/* Font routines */
|
||||
extern int LeoGetKAdr(int sjis);
|
||||
extern int LeoGetAAdr(int code,int *dx,int *dy, int *cy);
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !_LEO_H */
|
||||
@@ -1,273 +0,0 @@
|
||||
/*
|
||||
* F i l e N a m e : l e o a p p l i . h
|
||||
*
|
||||
****************************************************************************
|
||||
* (C) Copyright ALPS Electric Co., Ltd. 1995-1996
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.4 $
|
||||
* $Date: 1997/02/11 16:14:19 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/leoappli.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* DRIVE PARAMETER */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_DISK_TYPE_MIN 0
|
||||
#define LEO_DISK_TYPE_MAX 6
|
||||
|
||||
#define LEO_LBA_MIN 0
|
||||
#define LEO_LBA_MAX 4291
|
||||
|
||||
#define LEO_LBA_ROM_TOP LEO_LBA_MIN
|
||||
#define LEO_LBA_ROM_END0 1417
|
||||
#define LEO_LBA_ROM_END1 1965
|
||||
#define LEO_LBA_ROM_END2 2513
|
||||
#define LEO_LBA_ROM_END3 3061
|
||||
#define LEO_LBA_ROM_END4 3609
|
||||
#define LEO_LBA_ROM_END5 4087
|
||||
#define LEO_LBA_ROM_END6 LEO_LBA_MAX
|
||||
#define LEO_LBA_RAM_TOP0 (LEO_LBA_ROM_END0+1)
|
||||
#define LEO_LBA_RAM_TOP1 (LEO_LBA_ROM_END1+1)
|
||||
#define LEO_LBA_RAM_TOP2 (LEO_LBA_ROM_END2+1)
|
||||
#define LEO_LBA_RAM_TOP3 (LEO_LBA_ROM_END3+1)
|
||||
#define LEO_LBA_RAM_TOP4 (LEO_LBA_ROM_END4+1)
|
||||
#define LEO_LBA_RAM_TOP5 (LEO_LBA_ROM_END5+1)
|
||||
#define LEO_LBA_RAM_TOP6 (LEO_LBA_ROM_END6+1)
|
||||
#define LEO_LBA_RAM_END6 LEO_LBA_MAX
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* LEO FUNCTION DEFINITIONS */
|
||||
/*-----------------------------------*/
|
||||
extern void leoInitialize(OSPri PRI_WRK, OSPri PRI_INT, OSMesg *command_que_buf, u32 cmd_buff_size);
|
||||
extern void leoCommand(void *CDB);
|
||||
extern void leoReset(void);
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* THREAD PRIORITY */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_PRIORITY_WRK (OS_PRIORITY_PIMGR-1)
|
||||
#define LEO_PRIORITY_INT OS_PRIORITY_PIMGR
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* COMMAND CODE */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_COMMAND_CLEAR_QUE 0x01
|
||||
#define LEO_COMMAND_INQUIRY 0x02
|
||||
#define LEO_COMMAND_TEST_UNIT_READY 0x03
|
||||
#define LEO_COMMAND_REZERO 0x04
|
||||
#define LEO_COMMAND_READ 0x05
|
||||
#define LEO_COMMAND_WRITE 0x06
|
||||
#define LEO_COMMAND_SEEK 0x07
|
||||
#define LEO_COMMAND_START_STOP 0x08
|
||||
#define LEO_COMMAND_READ_CAPACITY 0x09
|
||||
#define LEO_COMMAND_TRANSLATE 0x0a
|
||||
#define LEO_COMMAND_MODE_SELECT 0x0b
|
||||
#define LEO_COMMAND_READ_DISK_ID 0x0c
|
||||
#define LEO_COMMAND_READ_TIMER 0x0d
|
||||
#define LEO_COMMAND_SET_TIMER 0x0e
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* CONTROL BIT */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_CONTROL_POST 0x80 /* ENABLE POST QUEUE */
|
||||
#define LEO_CONTROL_START 0x01 /* START COMMAND */
|
||||
#define LEO_CONTROL_STBY 0x02 /* STAND-BY MODE(NOT SLEEP MODE) */
|
||||
#define LEO_CONTROL_WRT 0x01 /* READ RE-WRITE-ABLE CAPACITY */
|
||||
#define LEO_CONTROL_TBL 0x01 /* TRANSLATE BYTE TO LBA */
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* BIT FIELD PARAMETER */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_TEST_UNIT_MR 0x01 /* MEDIUM REMOVED */
|
||||
#define LEO_TEST_UNIT_RE 0x02 /* HEAD RETRACTED */
|
||||
#define LEO_TEST_UNIT_SS 0x04 /* SPINDLE STOPPED */
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* STATUS */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_STATUS_GOOD 0x00
|
||||
#define LEO_STATUS_CHECK_CONDITION 0x02
|
||||
#define LEO_STATUS_BUSY 0x08
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* SENSE CODE */
|
||||
/*-----------------------------------*/
|
||||
#define LEO_SENSE_NO_ADDITIONAL_SENSE_INFOMATION 00
|
||||
#define LEO_SENSE_DRIVE_NOT_READY 01
|
||||
#define LEO_SENSE_DIAGNOSTIC_FAILURE 02
|
||||
#define LEO_SENSE_COMMAND_PHASE_ERROR 03
|
||||
#define LEO_SENSE_DATA_PHASE_ERROR 04
|
||||
#define LEO_SENSE_REAL_TIME_CLOCK_FAILURE 05
|
||||
#define LEO_SENSE_INCOMPATIBLE_MEDIUM_INSTALLED 11
|
||||
#define LEO_SENSE_UNKNOWN_FORMAT 11
|
||||
#define LEO_SENSE_NO_SEEK_COMPLETE 21
|
||||
#define LEO_SENSE_WRITE_FAULT 22
|
||||
#define LEO_SENSE_UNRECOVERED_READ_ERROR 23
|
||||
#define LEO_SENSE_NO_REFERENCE_POSITION_FOUND 24
|
||||
#define LEO_SENSE_TRACK_FOLLOWING_ERROR 25
|
||||
#define LEO_SENSE_TRACKING_OR_SPDL_SERVO_FAILURE 25
|
||||
#define LEO_SENSE_INVALID_COMMAND_OPERATION_CODE 31
|
||||
#define LEO_SENSE_LBA_OUT_OF_RANGE 32
|
||||
#define LEO_SENSE_WRITE_PROTECT_ERROR 33
|
||||
#define LEO_SENSE_COMMAND_TERMINATED 34
|
||||
#define LEO_SENSE_QUEUE_FULL 35
|
||||
#define LEO_SENSE_ILLEGAL_TIMER_VALUE 36
|
||||
#define LEO_SENSE_DEVICE_COMMUNICATION_FAILURE 41
|
||||
#define LEO_SENSE_MEDIUM_NOT_PRESENT 42
|
||||
#define LEO_SENSE_POWERONRESET_DEVICERESET_OCCURED 43
|
||||
#define LEO_SENSE_MEDIUM_MAY_HAVE_CHANGED 47
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* Command Block Header */
|
||||
/*-----------------------------------*/
|
||||
typedef struct{
|
||||
u8 command;
|
||||
u8 reserve1;
|
||||
u8 control;
|
||||
u8 reserve3;
|
||||
u8 status;
|
||||
u8 sense;
|
||||
u8 reserve6;
|
||||
u8 reserve7;
|
||||
OSMesgQueue *post;
|
||||
} LEOCmdHeader;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* CLEAR QUEUE(01H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
} LEOCmdClearQue;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* INQUIRY(02H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u8 dev_type;
|
||||
u8 version;
|
||||
u8 dev_num;
|
||||
u8 leo_bios_ver;
|
||||
u32 reserve5;
|
||||
} LEOCmdInquiry;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* TEST UNIT READY(03H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u8 test;
|
||||
u8 reserve2;
|
||||
u8 reserve3;
|
||||
u8 reserve4;
|
||||
} LEOCmdTestUnitReady;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* REZERO(04H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
} LEOCmdRezero;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* READ(05H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u32 lba;
|
||||
u32 xfer_blks;
|
||||
void *buff_ptr;
|
||||
u32 rw_bytes;
|
||||
} LEOCmdRead;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* WRITE(06H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef LEOCmdRead LEOCmdWrite;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* SEEK(07H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u32 lba;
|
||||
} LEOCmdSeek;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* START/STOP(08H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
} LEOCmdStartStop;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* READ CAPACITY(09H) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u32 start_lba;
|
||||
u32 end_lba;
|
||||
u32 capa_bytes;
|
||||
} LEOCmdReadCapacity;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* TRANSLATE(0AH) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u32 start_lba;
|
||||
u32 in_param;
|
||||
u32 out_param;
|
||||
} LEOCmdTranslate;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* MODE SELECT(0BH) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u8 page_code;
|
||||
u8 reserve1;
|
||||
u8 standby_time;
|
||||
u8 sleep_time;
|
||||
u8 led_on_time;
|
||||
u8 led_off_time;
|
||||
u8 reserve18;
|
||||
u8 reserve19;
|
||||
} LEOCmdModeSelect;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* READ DISK ID(0CH) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
void *buffer_pointer;
|
||||
} LEOCmdReadDiskId;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* READ TIMER(0DH) command */
|
||||
/*-----------------------------------*/
|
||||
typedef struct {
|
||||
LEOCmdHeader header;
|
||||
u8 reserve12;
|
||||
u8 reserve13;
|
||||
u8 year;
|
||||
u8 month;
|
||||
u8 day;
|
||||
u8 hour;
|
||||
u8 minute;
|
||||
u8 second;
|
||||
} LEOCmdReadTimer;
|
||||
|
||||
/*-----------------------------------*/
|
||||
/* SET TIMER(0EH) command */
|
||||
/*-----------------------------------*/
|
||||
typedef LEOCmdReadTimer LEOCmdSetTimer;
|
||||
|
||||
/*-------end of leoappli.h--------------------------*/
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.172 $
|
||||
* $Date: 1997/02/11 08:24:57 $
|
||||
* $Revision: 1.173 $
|
||||
* $Date: 1997/12/01 12:42:21 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/libaudio.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -57,7 +57,9 @@ extern "C" {
|
||||
# endif /* AUD_PROFILE */
|
||||
#endif /* EMULATOR */
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#define AL_FX_BUFFER_SIZE 8192
|
||||
#define AL_FRAME_INIT -1
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
/*---------------------------------------------------------------------
|
||||
File : libnos.h version 1.3
|
||||
|
||||
Coded by Yoshitaka Yasumoto. Apr 13, 1996.
|
||||
|
||||
Copyright by Nintendo, Co., Ltd. 1996.
|
||||
---------------------------------------------------------------------*/
|
||||
#ifndef __libnos_h__
|
||||
#define __libnos_h__
|
||||
|
||||
#define FONTSIZE_E 2112
|
||||
#define FONTSIZE_J 4768
|
||||
|
||||
extern void nosLoadFont(u16 *);
|
||||
extern int nosPakMenu(OSMesgQueue *, OSMesgQueue *);
|
||||
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -15,8 +15,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.134 $
|
||||
* $Date: 1997/02/11 08:25:28 $
|
||||
* $Revision: 1.135 $
|
||||
* $Date: 1997/11/26 00:30:54 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/mbi.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
#define NUM_SEGMENTS (16)
|
||||
#define SEGMENT_OFFSET(a) ((unsigned int)(a) & 0x00ffffff)
|
||||
#define SEGMENT_NUMBER(a) ((unsigned int)(a) >> 24)
|
||||
#define SEGMENT_NUMBER(a) (((unsigned int)(a) << 4) >> 28)
|
||||
#define SEGMENT_ADDR(num, off) (((num) << 24) + (off))
|
||||
|
||||
#ifndef NULL
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
/*---------------------------------------------------------------------
|
||||
File : ncode.h
|
||||
|
||||
Coded by Yoshitaka Yasumoto. Feb 14, 1996.
|
||||
Copyright by Nintendo, Co., Ltd. 1996.
|
||||
---------------------------------------------------------------------*/
|
||||
#ifndef __ncode_h__
|
||||
#define __ncode_h__
|
||||
|
||||
//------------------------------------------------------
|
||||
// Nintendo code for letter(upper case) & digit
|
||||
//------------------------------------------------------
|
||||
#define __NUL 0x00
|
||||
#define __SPC 0x0f
|
||||
#define __0 0x10
|
||||
#define __1 0x11
|
||||
#define __2 0x12
|
||||
#define __3 0x13
|
||||
#define __4 0x14
|
||||
#define __5 0x15
|
||||
#define __6 0x16
|
||||
#define __7 0x17
|
||||
#define __8 0x18
|
||||
#define __9 0x19
|
||||
#define __A 0x1a
|
||||
#define __B 0x1b
|
||||
#define __C 0x1c
|
||||
#define __D 0x1d
|
||||
#define __E 0x1e
|
||||
#define __F 0x1f
|
||||
#define __G 0x20
|
||||
#define __H 0x21
|
||||
#define __I 0x22
|
||||
#define __J 0x23
|
||||
#define __K 0x24
|
||||
#define __L 0x25
|
||||
#define __M 0x26
|
||||
#define __N 0x27
|
||||
#define __O 0x28
|
||||
#define __P 0x29
|
||||
#define __Q 0x2a
|
||||
#define __R 0x2b
|
||||
#define __S 0x2c
|
||||
#define __T 0x2d
|
||||
#define __U 0x2e
|
||||
#define __V 0x2f
|
||||
#define __W 0x30
|
||||
#define __X 0x31
|
||||
#define __Y 0x32
|
||||
#define __Z 0x33
|
||||
#define __EXCLAM 0x34 // !
|
||||
#define __2QUOTE 0x35 // "
|
||||
#define __NUMBR 0x36 // #
|
||||
#define __1QUOTE 0x37 // '
|
||||
#define __ASTER 0x38 // *
|
||||
#define __PLUS 0x39 // +
|
||||
#define __COMMA 0x3a // ,
|
||||
#define __MINUS 0x3b // -
|
||||
#define __PERIOD 0x3c // .
|
||||
#define __SLASH 0x3d // /
|
||||
#define __COLON 0x3e // :
|
||||
#define __EQUAL 0x3f // =
|
||||
#define __QUEST 0x40 // ?
|
||||
#define __AT 0x41 // @
|
||||
|
||||
//-----------------------------------------------
|
||||
// Nintendo code for JAPANESE letter
|
||||
//-----------------------------------------------
|
||||
#ifdef LANG_JAPANESE
|
||||
# define j_MARU 0x42
|
||||
# define j_DAKU 0x43
|
||||
# define j_HANDAKU 0x44
|
||||
# define j_XA 0x45
|
||||
# define j_XI 0x46
|
||||
# define j_XU 0x47
|
||||
# define j_XE 0x48
|
||||
# define j_XO 0x49
|
||||
# define j_XTSU 0x4a
|
||||
# define j_XYA 0x4b
|
||||
# define j_XYU 0x4c
|
||||
# define j_XYO 0x4d
|
||||
# define j_WO 0x4e
|
||||
# define j_N 0x4f
|
||||
# define j_A 0x50
|
||||
# define j_I 0x51
|
||||
# define j_U 0x52
|
||||
# define j_E 0x53
|
||||
# define j_O 0x54
|
||||
# define j_KA 0x55
|
||||
# define j_KI 0x56
|
||||
# define j_KU 0x57
|
||||
# define j_KE 0x58
|
||||
# define j_KO 0x59
|
||||
# define j_SA 0x5a
|
||||
# define j_SHI 0x5b
|
||||
# define j_SU 0x5c
|
||||
# define j_SE 0x5d
|
||||
# define j_SO 0x5e
|
||||
# define j_TA 0x5f
|
||||
# define j_CHI 0x60
|
||||
# define j_TSU 0x61
|
||||
# define j_TE 0x62
|
||||
# define j_TO 0x63
|
||||
# define j_NA 0x64
|
||||
# define j_NI 0x65
|
||||
# define j_NU 0x66
|
||||
# define j_NE 0x67
|
||||
# define j_NO 0x68
|
||||
# define j_HA 0x69
|
||||
# define j_HI 0x6a
|
||||
# define j_FU 0x6b
|
||||
# define j_HE 0x6c
|
||||
# define j_HO 0x6d
|
||||
# define j_MA 0x6e
|
||||
# define j_MI 0x6f
|
||||
# define j_MU 0x70
|
||||
# define j_ME 0x71
|
||||
# define j_MO 0x72
|
||||
# define j_YA 0x73
|
||||
# define j_YU 0x74
|
||||
# define j_YO 0x75
|
||||
# define j_RA 0x76
|
||||
# define j_RI 0x77
|
||||
# define j_RU 0x78
|
||||
# define j_RE 0x79
|
||||
# define j_RO 0x7a
|
||||
# define j_WA 0x7b
|
||||
# define j_GA 0x7c
|
||||
# define j_GI 0x7d
|
||||
# define j_GU 0x7e
|
||||
# define j_GE 0x7f
|
||||
# define j_GO 0x80
|
||||
# define j_ZA 0x81
|
||||
# define j_JI 0x82
|
||||
# define j_ZU 0x83
|
||||
# define j_ZE 0x84
|
||||
# define j_ZO 0x85
|
||||
# define j_DA 0x86
|
||||
# define j_DI 0x87
|
||||
# define j_DU 0x88
|
||||
# define j_DE 0x89
|
||||
# define j_DO 0x8a
|
||||
# define j_BA 0x8b
|
||||
# define j_BI 0x8c
|
||||
# define j_BU 0x8d
|
||||
# define j_BE 0x8e
|
||||
# define j_BO 0x8f
|
||||
# define j_PA 0x90
|
||||
# define j_PI 0x91
|
||||
# define j_PU 0x92
|
||||
# define j_PE 0x93
|
||||
# define j_PO 0x94
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+31
-10
@@ -21,8 +21,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.137 $
|
||||
* $Date: 1997/02/13 14:54:14 $
|
||||
* $Revision: 1.149 $
|
||||
* $Date: 1997/12/15 04:30:52 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/os.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -555,6 +555,10 @@ typedef struct {
|
||||
#define CONT_RELATIVE 0x0002
|
||||
#define CONT_JOYPORT 0x0004
|
||||
#define CONT_EEPROM 0x8000
|
||||
#define CONT_EEP16K 0x4000
|
||||
#define CONT_TYPE_MASK 0x1f07
|
||||
#define CONT_TYPE_NORMAL 0x0005
|
||||
#define CONT_TYPE_MOUSE 0x0002
|
||||
|
||||
/* Controller status */
|
||||
|
||||
@@ -563,6 +567,11 @@ typedef struct {
|
||||
#define CONT_ADDR_CRC_ER 0x04
|
||||
#define CONT_EEPROM_BUSY 0x80
|
||||
|
||||
/* EEPROM TYPE */
|
||||
|
||||
#define EEPROM_TYPE_4K 0x01
|
||||
#define EEPROM_TYPE_16K 0x02
|
||||
|
||||
/* Buttons */
|
||||
|
||||
#define CONT_A 0x8000
|
||||
@@ -598,6 +607,9 @@ typedef struct {
|
||||
#define D_CBUTTONS CONT_D
|
||||
|
||||
/* File System size */
|
||||
#define OS_PFS_VERSION 0x0200
|
||||
#define OS_PFS_VERSION_HI (OS_PFS_VERSION >> 8)
|
||||
#define OS_PFS_VERSION_LO (OS_PFS_VERSION & 255)
|
||||
|
||||
#define PFS_FILE_NAME_LEN 16
|
||||
#define PFS_FILE_EXT_LEN 4
|
||||
@@ -633,8 +645,15 @@ typedef struct {
|
||||
/* definition for EEPROM */
|
||||
|
||||
#define EEPROM_MAXBLOCKS 64
|
||||
#define EEP16K_MAXBLOCKS 256
|
||||
#define EEPROM_BLOCK_SIZE 8
|
||||
|
||||
/*
|
||||
* PI/EPI
|
||||
*/
|
||||
#define PI_DOMAIN1 0
|
||||
#define PI_DOMAIN2 1
|
||||
|
||||
/*
|
||||
* Profiler constants
|
||||
*/
|
||||
@@ -683,11 +702,12 @@ typedef struct {
|
||||
*/
|
||||
extern u64 osClockRate;
|
||||
|
||||
#define OS_NSEC_TO_CYCLES(n) (((u64)(n)*(osClockRate))/1000000000LL)
|
||||
#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate))/1000000LL)
|
||||
#define OS_CYCLES_TO_NSEC(c) (((u64)(c)*1000000000LL)/(osClockRate))
|
||||
#define OS_CYCLES_TO_USEC(c) (((u64)(c)*1000000LL)/(osClockRate))
|
||||
|
||||
#define OS_CLOCK_RATE 62500000LL
|
||||
#define OS_CPU_COUNTER (OS_CLOCK_RATE*3/4)
|
||||
#define OS_NSEC_TO_CYCLES(n) (((u64)(n)*(OS_CPU_COUNTER/15625000LL))/(1000000000LL/15625000LL))
|
||||
#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(OS_CPU_COUNTER/15625LL))/(1000000LL/15625LL))
|
||||
#define OS_CYCLES_TO_NSEC(c) (((u64)(c)*(1000000000LL/15625000LL))/(OS_CPU_COUNTER/15625000LL))
|
||||
#define OS_CYCLES_TO_USEC(c) (((u64)(c)*(1000000LL/15625LL))/(OS_CPU_COUNTER/15625LL))
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
@@ -864,7 +884,7 @@ extern void osViSetEvent(OSMesgQueue *, OSMesg, u32);
|
||||
extern void osViSwapBuffer(void *);
|
||||
extern void osViBlack(u8);
|
||||
extern void osViFade(u8, u16);
|
||||
extern void osRepeatLine(u8);
|
||||
extern void osViRepeatLine(u8);
|
||||
extern void osCreateViManager(OSPri);
|
||||
|
||||
/* Timer interface */
|
||||
@@ -877,7 +897,7 @@ extern int osStopTimer(OSTimer *);
|
||||
|
||||
/* Controller interface */
|
||||
|
||||
extern s32 osContInit(OSMesgQueue * mq, u8 * bitpattern, OSContStatus * data);
|
||||
extern s32 osContInit(OSMesgQueue *, u8 *, OSContStatus *);
|
||||
extern s32 osContReset(OSMesgQueue *, OSContStatus *);
|
||||
extern s32 osContStartQuery(OSMesgQueue *);
|
||||
extern s32 osContStartReadData(OSMesgQueue *);
|
||||
@@ -904,7 +924,6 @@ extern s32 osPfsSetLabel(OSPfs *, u8 *);
|
||||
extern s32 osPfsIsPlug(OSMesgQueue *, u8 *);
|
||||
extern s32 osPfsFreeBlocks(OSPfs *, s32 *);
|
||||
extern s32 osPfsNumFiles(OSPfs *, s32 *, s32 *);
|
||||
extern s32 osPfsReSizeFile(OSPfs *, u16 , u32 , u8 *, u8 *, int);
|
||||
|
||||
/* EEPROM interface */
|
||||
|
||||
@@ -933,6 +952,7 @@ extern s32 osEPiRawStartDma(OSPiHandle *, s32 , u32 , void *, u32 );
|
||||
extern s32 osEPiWriteIo(OSPiHandle *, u32 , u32 );
|
||||
extern s32 osEPiReadIo(OSPiHandle *, u32 , u32 *);
|
||||
extern s32 osEPiStartDma(OSPiHandle *, OSIoMesg *, s32);
|
||||
extern s32 osEPiLinkHandle(OSPiHandle *);
|
||||
|
||||
/* Profiler Interface */
|
||||
|
||||
@@ -961,6 +981,7 @@ extern void bzero(void *, int);
|
||||
extern void osInitialize(void);
|
||||
extern u32 osGetCount(void);
|
||||
extern void osExit(void);
|
||||
extern u32 osGetMemSize(void);
|
||||
|
||||
/* Printf */
|
||||
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
/**************************************************************************
|
||||
* *
|
||||
* Copyright (C) 1995, Silicon Graphics, Inc. *
|
||||
* *
|
||||
* These coded instructions, statements, and computer programs contain *
|
||||
* unpublished proprietary information of Silicon Graphics, Inc., and *
|
||||
* are protected by Federal copyright law. They may not be disclosed *
|
||||
* to third parties or copied or duplicated in any form, in whole or *
|
||||
* in part, without the prior written consent of Silicon Graphics, Inc. *
|
||||
* *
|
||||
**************************************************************************/
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.18 $
|
||||
* $Date: 1997/02/11 08:26:14 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/os_internal.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef _OS_INTERNAL_H_
|
||||
#define _OS_INTERNAL_H_
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <PR/os.h>
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/* Routines to get/fetch coprocessor 0 registers */
|
||||
|
||||
extern u32 __osGetCause(void);
|
||||
extern void __osSetCause(u32);
|
||||
extern u32 __osGetCompare(void);
|
||||
extern void __osSetCompare(u32);
|
||||
extern u32 __osGetConfig(void);
|
||||
extern void __osSetConfig(u32);
|
||||
extern void __osSetCount(u32);
|
||||
extern u32 __osGetSR(void);
|
||||
extern void __osSetSR(u32);
|
||||
extern u32 __osDisableInt(void);
|
||||
extern void __osRestoreInt(u32);
|
||||
|
||||
/* Routines to get/set floating-point control and status register */
|
||||
extern u32 __osSetFpcCsr(u32);
|
||||
extern u32 __osGetFpcCsr(void);
|
||||
|
||||
/* Routine for HW interrupt "handler" */
|
||||
extern void __osSetHWIntrRoutine(OSHWIntr, s32 (*handler)(void));
|
||||
|
||||
/* Routine for global interrupt mask */
|
||||
extern void __osSetGlobalIntMask(OSHWIntr);
|
||||
extern void __osResetGlobalIntMask(OSHWIntr);
|
||||
|
||||
/* Routine for global interrupt mask */
|
||||
extern s32 __osLeoInterrupt(void);
|
||||
|
||||
/* Routines for fetch TLB info */
|
||||
|
||||
extern u32 __osGetTLBASID(void);
|
||||
extern u32 __osGetTLBPageMask(s32);
|
||||
extern u32 __osGetTLBHi(s32);
|
||||
extern u32 __osGetTLBLo0(s32);
|
||||
extern u32 __osGetTLBLo1(s32);
|
||||
|
||||
/* Serial interface (Si) */
|
||||
|
||||
extern u32 __osSiGetStatus(void);
|
||||
extern s32 __osSiRawWriteIo(u32, u32);
|
||||
extern s32 __osSiRawReadIo(u32, u32 *);
|
||||
extern s32 __osSiRawStartDma(s32, void *);
|
||||
|
||||
/* Signal processor interface (Sp) */
|
||||
|
||||
extern u32 __osSpGetStatus(void);
|
||||
extern void __osSpSetStatus(u32);
|
||||
extern s32 __osSpSetPc(u32);
|
||||
extern s32 __osSpRawWriteIo(u32, u32);
|
||||
extern s32 __osSpRawReadIo(u32, u32 *);
|
||||
extern s32 __osSpRawStartDma(s32, u32, void *, u32);
|
||||
|
||||
/* Error handling */
|
||||
|
||||
extern void __osError(s16, s16, ...);
|
||||
extern OSThread * __osGetCurrFaultedThread(void);
|
||||
extern OSThread * __osGetNextFaultedThread(OSThread *);
|
||||
|
||||
/* Development board functions */
|
||||
|
||||
extern void __osGIOInit(s32);
|
||||
extern void __osGIOInterrupt(s32);
|
||||
extern void __osGIORawInterrupt(s32);
|
||||
|
||||
/* For debugger use */
|
||||
|
||||
extern OSThread * __osGetActiveQueue(void);
|
||||
|
||||
/* Debug port */
|
||||
extern void __osSyncPutChars(int, int, const char *);
|
||||
extern int __osSyncGetChars(char *);
|
||||
extern void __osAsyncPutChars(int, int, const char *);
|
||||
extern int __osAsyncGetChars(char *);
|
||||
extern int __osAtomicInc(unsigned int *p);
|
||||
extern int __osAtomicDec(unsigned int *p);
|
||||
|
||||
/* routine for rdb port */
|
||||
extern u32 __osRdbSend(u8 *buf, u32 size, u32 type);
|
||||
|
||||
|
||||
#endif /* _LANGUAGE_C */
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !_OS_INTERNAL_H */
|
||||
@@ -1,7 +1,7 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.3 $
|
||||
* $Date: 1997/02/11 08:13:08 $
|
||||
* $Revision: 1.4 $
|
||||
* $Date: 1997/11/26 00:30:50 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/PRimage.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -45,7 +45,7 @@ extern "C" {
|
||||
#define BPP(type) ((type) & BPPMASK)
|
||||
#define RLE(bpp) (ITYPE_RLE | (bpp))
|
||||
#define VERBATIM(bpp) (ITYPE_VERBATIM | (bpp))
|
||||
#define IBUFSIZE(pixels) ((pixels+(pixels>>6))<<2)
|
||||
#define IBUFSIZE(pixels) (((pixels)+((pixels)>>6))<<2)
|
||||
#define RLE_NOP 0x00
|
||||
|
||||
#define ierror(p) (((p)->flags&_IOERR)!=0)
|
||||
|
||||
+9
-4
@@ -18,8 +18,8 @@
|
||||
* File: rcp.h
|
||||
*
|
||||
* This file contains register and bit definitions for RCP memory map.
|
||||
* $Revision: 1.17 $
|
||||
* $Date: 1997/02/11 08:28:14 $
|
||||
* $Revision: 1.20 $
|
||||
* $Date: 1997/07/23 08:35:21 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/rcp.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -160,7 +160,7 @@ The Indy development board use cartridge domain 1:
|
||||
#define DEVICE_TYPE_CART 0 /* ROM cartridge */
|
||||
#define DEVICE_TYPE_BULK 1 /* ROM bulk */
|
||||
#define DEVICE_TYPE_64DD 2 /* 64 Disk Drive */
|
||||
|
||||
#define DEVICE_TYPE_SRAM 3 /* SRAM */
|
||||
|
||||
/*************************************************************************
|
||||
* SP Memory
|
||||
@@ -270,7 +270,12 @@ The Indy development board use cartridge domain 1:
|
||||
#define SP_CLR_TASKDONE SP_CLR_SIG2
|
||||
#define SP_SET_TASKDONE SP_SET_SIG2
|
||||
#define SP_STATUS_TASKDONE SP_STATUS_SIG2
|
||||
|
||||
#define SP_CLR_RSPSIGNAL SP_CLR_SIG3
|
||||
#define SP_SET_RSPSIGNAL SP_SET_SIG3
|
||||
#define SP_STATUS_RSPSIGNAL SP_STATUS_SIG3
|
||||
#define SP_CLR_CPUSIGNAL SP_CLR_SIG4
|
||||
#define SP_SET_CPUSIGNAL SP_SET_SIG4
|
||||
#define SP_STATUS_CPUSIGNAL SP_STATUS_SIG4
|
||||
|
||||
/* SP IMEM BIST REG (R/W): [6:0] BIST status bits; see below for detail */
|
||||
#define SP_IBIST_REG 0x04080004
|
||||
|
||||
+4
-4
@@ -15,9 +15,9 @@
|
||||
*
|
||||
* Module: region.h
|
||||
*
|
||||
* $Revision: 1.7 $
|
||||
* $Date: 1995/06/07 05:11:42 $
|
||||
* $Author: chn $
|
||||
* $Revision: 1.8 $
|
||||
* $Date: 1997/11/26 00:30:56 $
|
||||
* $Author: mitu $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/region.h,v $
|
||||
*
|
||||
* Description:
|
||||
@@ -73,7 +73,7 @@ extern "C" {
|
||||
*/
|
||||
|
||||
/* Perform alignment on input 's' */
|
||||
#define ALIGN(s, align) (((u32)(s) + (align-1)) & ~(align-1))
|
||||
#define ALIGN(s, align) (((u32)(s) + ((align)-1)) & ~((align)-1))
|
||||
|
||||
|
||||
/***************************************
|
||||
|
||||
+3
-2
@@ -12,8 +12,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.7 $
|
||||
* $Date: 1997/02/11 08:33:45 $
|
||||
* $Revision: 1.8 $
|
||||
* $Date: 1997/11/10 10:48:35 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/sptask.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -124,6 +124,7 @@ typedef u32 OSYieldResult;
|
||||
#define OS_TASK_YIELDED 0x0001
|
||||
#define OS_TASK_DP_WAIT 0x0002
|
||||
#define OS_TASK_LOADABLE 0x0004
|
||||
#define OS_TASK_SP_ONLY 0x0008
|
||||
#define OS_TASK_USR0 0x0010
|
||||
#define OS_TASK_USR1 0x0020
|
||||
#define OS_TASK_USR2 0x0040
|
||||
|
||||
+21
-2
@@ -12,8 +12,8 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.12 $
|
||||
* $Date: 1997/02/11 08:36:39 $
|
||||
* $Revision: 1.13 $
|
||||
* $Date: 1997/11/07 04:55:12 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/ucode.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -152,6 +152,25 @@ extern long long int gspF3DLP_Rej_fifoDataStart[], gspF3DLP_Rej_fifoDataEnd[];
|
||||
extern long long int gspL3DEX_fifoTextStart[], gspL3DEX_fifoTextEnd[];
|
||||
extern long long int gspL3DEX_fifoDataStart[], gspL3DEX_fifoDataEnd[];
|
||||
|
||||
/*========== F3DEX2/F3DLX2/F3DLP2/L3DEX2 ==========*/
|
||||
/* FIFO version only */
|
||||
extern long long int gspF3DEX2_fifoTextStart[], gspF3DEX2_fifoTextEnd[];
|
||||
extern long long int gspF3DEX2_fifoDataStart[], gspF3DEX2_fifoDataEnd[];
|
||||
extern long long int gspF3DEX2_NoN_fifoTextStart[],gspF3DEX2_NoN_fifoTextEnd[];
|
||||
extern long long int gspF3DEX2_NoN_fifoDataStart[],gspF3DEX2_NoN_fifoDataEnd[];
|
||||
|
||||
extern long long int gspF3DLX2_fifoTextStart[], gspF3DLX2_fifoTextEnd[];
|
||||
extern long long int gspF3DLX2_fifoDataStart[], gspF3DLX2_fifoDataEnd[];
|
||||
extern long long int gspF3DLX2_NoN_fifoTextStart[],gspF3DLX2_NoN_fifoTextEnd[];
|
||||
extern long long int gspF3DLX2_NoN_fifoDataStart[],gspF3DLX2_NoN_fifoDataEnd[];
|
||||
extern long long int gspF3DLX2_Rej_fifoTextStart[],gspF3DLX2_Rej_fifoTextEnd[];
|
||||
extern long long int gspF3DLX2_Rej_fifoDataStart[],gspF3DLX2_Rej_fifoDataEnd[];
|
||||
|
||||
extern long long int gspF3DLP2_Rej_fifoTextStart[],gspF3DLP2_Rej_fifoTextEnd[];
|
||||
extern long long int gspF3DLP2_Rej_fifoDataStart[],gspF3DLP2_Rej_fifoDataEnd[];
|
||||
extern long long int gspL3DEX2_fifoTextStart[], gspL3DEX2_fifoTextEnd[];
|
||||
extern long long int gspL3DEX2_fifoDataStart[], gspL3DEX2_fifoDataEnd[];
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Function prototypes
|
||||
|
||||
@@ -1,165 +0,0 @@
|
||||
/*====================================================================
|
||||
* ultraerror.h
|
||||
*
|
||||
* Copyright 1995, Silicon Graphics, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics,
|
||||
* Inc.; the contents of this file may not be disclosed to third
|
||||
* parties, copied or duplicated in any form, in whole or in part,
|
||||
* without the prior written permission of Silicon Graphics, Inc.
|
||||
*
|
||||
* RESTRICTED RIGHTS LEGEND:
|
||||
* Use, duplication or disclosure by the Government is subject to
|
||||
* restrictions as set forth in subdivision (c)(1)(ii) of the Rights
|
||||
* in Technical Data and Computer Software clause at DFARS
|
||||
* 252.227-7013, and/or in similar or successor clauses in the FAR,
|
||||
* DOD or NASA FAR Supplement. Unpublished - rights reserved under the
|
||||
* Copyright Laws of the United States.
|
||||
*====================================================================*/
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.23 $
|
||||
* $Date: 1997/02/11 08:38:08 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/ultraerror.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef __ULTRAERROR_H__
|
||||
#define __ULTRAERROR_H__
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
|
||||
#define OS_ERROR_FMT "/usr/lib/PR/error.fmt"
|
||||
#define OS_ERROR_MAGIC 0x6b617479
|
||||
|
||||
/* OS error codes */
|
||||
|
||||
#define ERR_OSCREATETHREAD_SP 1
|
||||
#define ERR_OSCREATETHREAD_PRI 2
|
||||
#define ERR_OSSTARTTHREAD 3
|
||||
#define ERR_OSSETTHREADPRI 4
|
||||
#define ERR_OSCREATEMESGQUEUE 5
|
||||
#define ERR_OSSENDMESG 6
|
||||
#define ERR_OSJAMMESG 7
|
||||
#define ERR_OSRECVMESG 8
|
||||
#define ERR_OSSETEVENTMESG 9
|
||||
#define ERR_OSMAPTLB_INDEX 10
|
||||
#define ERR_OSMAPTLB_ASID 11
|
||||
#define ERR_OSUNMAPTLB 12
|
||||
#define ERR_OSSETTLBASID 13
|
||||
#define ERR_OSAISETFREQUENCY 14
|
||||
#define ERR_OSAISETNEXTBUFFER_ADDR 15
|
||||
#define ERR_OSAISETNEXTBUFFER_SIZE 16
|
||||
#define ERR_OSDPSETNEXTBUFFER_ADDR 17
|
||||
#define ERR_OSDPSETNEXTBUFFER_SIZE 18
|
||||
#define ERR_OSPIRAWREADIO 19
|
||||
#define ERR_OSPIRAWWRITEIO 20
|
||||
#define ERR_OSPIRAWSTARTDMA_DIR 21
|
||||
#define ERR_OSPIRAWSTARTDMA_DEVADDR 22
|
||||
#define ERR_OSPIRAWSTARTDMA_ADDR 23
|
||||
#define ERR_OSPIRAWSTARTDMA_SIZE 24
|
||||
#define ERR_OSPIRAWSTARTDMA_RANGE 25
|
||||
#define ERR_OSPIREADIO 26
|
||||
#define ERR_OSPIWRITEIO 27
|
||||
#define ERR_OSPISTARTDMA_PIMGR 28
|
||||
#define ERR_OSPISTARTDMA_PRI 29
|
||||
#define ERR_OSPISTARTDMA_DIR 30
|
||||
#define ERR_OSPISTARTDMA_DEVADDR 31
|
||||
#define ERR_OSPISTARTDMA_ADDR 32
|
||||
#define ERR_OSPISTARTDMA_SIZE 33
|
||||
#define ERR_OSPISTARTDMA_RANGE 34
|
||||
#define ERR_OSCREATEPIMANAGER 35
|
||||
#define ERR_OSVIGETCURRENTMODE 36
|
||||
#define ERR_OSVIGETCURRENTFRAMEBUFFER 37
|
||||
#define ERR_OSVIGETNEXTFRAMEBUFFER 38
|
||||
#define ERR_OSVISETXSCALE_VALUE 39
|
||||
#define ERR_OSVISETXSCALE_VIMGR 40
|
||||
#define ERR_OSVISETYSCALE_VALUE 41
|
||||
#define ERR_OSVISETYSCALE_VIMGR 42
|
||||
#define ERR_OSVISETSPECIAL_VALUE 43
|
||||
#define ERR_OSVISETSPECIAL_VIMGR 44
|
||||
#define ERR_OSVISETMODE 45
|
||||
#define ERR_OSVISETEVENT 46
|
||||
#define ERR_OSVISWAPBUFFER_ADDR 47
|
||||
#define ERR_OSVISWAPBUFFER_VIMGR 48
|
||||
#define ERR_OSCREATEVIMANAGER 49
|
||||
#define ERR_OSCREATEREGION_ALIGN 50
|
||||
#define ERR_OSCREATEREGION_SIZE 51
|
||||
#define ERR_OSMALLOC 52
|
||||
#define ERR_OSFREE_REGION 53
|
||||
#define ERR_OSFREE_ADDR 54
|
||||
#define ERR_OSGETREGIONBUFCOUNT 55
|
||||
#define ERR_OSGETREGIONBUFSIZE 56
|
||||
#define ERR_OSSPTASKLOAD_DRAM 57
|
||||
#define ERR_OSSPTASKLOAD_OUT 58
|
||||
#define ERR_OSSPTASKLOAD_OUTSIZE 59
|
||||
#define ERR_OSSPTASKLOAD_YIELD 60
|
||||
#define ERR_OSPROFILEINIT_STR 61
|
||||
#define ERR_OSPROFILEINIT_CNT 62
|
||||
#define ERR_OSPROFILEINIT_ALN 63
|
||||
#define ERR_OSPROFILEINIT_ORD 64
|
||||
#define ERR_OSPROFILEINIT_SIZ 65
|
||||
#define ERR_OSPROFILESTART_TIME 66
|
||||
#define ERR_OSPROFILESTART_FLAG 67
|
||||
#define ERR_OSPROFILESTOP_FLAG 68
|
||||
#define ERR_OSPROFILESTOP_TIMER 69
|
||||
#define ERR_OSREADHOST_ADDR 70
|
||||
#define ERR_OSREADHOST_SIZE 71
|
||||
#define ERR_OSWRITEHOST_ADDR 72
|
||||
#define ERR_OSWRITEHOST_SIZE 73
|
||||
#define ERR_OSGETTIME 74
|
||||
#define ERR_OSSETTIME 75
|
||||
#define ERR_OSSETTIMER 76
|
||||
#define ERR_OSSTOPTIMER 77
|
||||
#define ERR_ALSEQP_NO_SOUND 100
|
||||
#define ERR_ALSEQP_NO_VOICE 101
|
||||
#define ERR_ALSEQP_MAP_VOICE 102
|
||||
#define ERR_ALSEQP_OFF_VOICE 103
|
||||
#define ERR_ALSEQP_POLY_VOICE 104
|
||||
#define ERR_ALSNDP_NO_VOICE 105
|
||||
#define ERR_ALSYN_NO_UPDATE 106
|
||||
#define ERR_ALSNDPDEALLOCATE 107
|
||||
#define ERR_ALSNDPDELETE 108
|
||||
#define ERR_ALSNDPPLAY 109
|
||||
#define ERR_ALSNDPSETSOUND 110
|
||||
#define ERR_ALSNDPSETPRIORITY 111
|
||||
#define ERR_ALSNDPSETPAR 112
|
||||
#define ERR_ALBNKFNEW 113
|
||||
#define ERR_ALSEQNOTMIDI 114
|
||||
#define ERR_ALSEQNOTMIDI0 115
|
||||
#define ERR_ALSEQNUMTRACKS 116
|
||||
#define ERR_ALSEQTIME 117
|
||||
#define ERR_ALSEQTRACKHDR 118
|
||||
#define ERR_ALSEQSYSEX 119
|
||||
#define ERR_ALSEQMETA 120
|
||||
#define ERR_ALSEQPINVALIDPROG 121
|
||||
#define ERR_ALSEQPUNKNOWNMIDI 122
|
||||
#define ERR_ALSEQPUNMAP 123
|
||||
#define ERR_ALEVENTNOFREE 124
|
||||
#define ERR_ALHEAPNOFREE 125
|
||||
#define ERR_ALHEAPCORRUPT 126
|
||||
#define ERR_ALHEAPFIRSTBLOCK 127
|
||||
#define ERR_ALCSEQZEROSTATUS 128
|
||||
#define ERR_ALCSEQZEROVEL 129
|
||||
#define ERR_ALCSPVNOTFREE 130
|
||||
#define ERR_ALSEQOVERRUN 131
|
||||
#define ERR_OSAISETNEXTBUFFER_ENDADDR 132
|
||||
#define ERR_ALMODDELAYOVERFLOW 133
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
typedef void (*OSErrorHandler)(s16, s16, ...);
|
||||
|
||||
OSErrorHandler osSetErrorHandler(OSErrorHandler);
|
||||
#endif
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ULTRAERROR_H__ */
|
||||
+12
-7
@@ -21,8 +21,8 @@
|
||||
*
|
||||
* This file contains various types used in Ultra64 interfaces.
|
||||
*
|
||||
* $Revision: 1.5 $
|
||||
* $Date: 1997/02/11 08:39:54 $
|
||||
* $Revision: 1.6 $
|
||||
* $Date: 1997/12/17 04:02:06 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/ultratypes.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
@@ -57,11 +57,16 @@ typedef volatile long long vs64; /* signed 64-bit */
|
||||
typedef float f32; /* single prec floating point */
|
||||
typedef double f64; /* double prec floating point */
|
||||
|
||||
typedef u32 size_t;
|
||||
|
||||
typedef unsigned long int uintptr_t;
|
||||
|
||||
typedef float Matrix[4][4];
|
||||
#if !defined(_SIZE_T) && !defined(_SIZE_T_) && !defined(_SIZE_T_DEF)
|
||||
#define _SIZE_T
|
||||
#define _SIZE_T_DEF /* exeGCC size_t define label */
|
||||
#if (_MIPS_SZLONG == 32)
|
||||
typedef unsigned int size_t;
|
||||
#endif
|
||||
#if (_MIPS_SZLONG == 64)
|
||||
typedef unsigned long size_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* _LANGUAGE_C */
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
#define PR_XSTDIO_H
|
||||
|
||||
#include "ultratypes.h"
|
||||
// #include "libc/stdarg.h"
|
||||
#include "libc/stdarg.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ union {
|
||||
|
||||
Reference in New Issue
Block a user