This is a sub-page of Magical Medical.
0xAF200#
clut;
short w, h;
} SPRT;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char u0, v0; u_short clut;
} SPRT_16;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char u0, v0; u_short clut;
} SPRT_8;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short w, h;
} TILE;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
} TILE_16;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
} TILE_8;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
} TILE_1;
typedef struct {
u_long tag;
u_long code[2];
} DR_MODE;
typedef struct {
u_long tag;
u_long code[2];
} DR_TWIN;
typedef struct {
u_long tag;
u_long code[2];
} DR_AREA;
typedef struct {
u_long tag;
u_long code[2];
} DR_OFFSET;
typedef struct {
u_long tag;
u_long code[5];
} DR_MOVE;
typedef struct {
u_long tag;
u_long code[3];
u_long p[13];
} DR_LOAD;
typedef struct {
u_long tag;
u_long code[1];
} DR_TPAGE;
typedef struct {
u_long tag;
u_long code[2];
} DR_STP;
typedef struct {
u_long id;
u_char r0, g0, b0, p0;
u_char r1, g1, b1, p1;
u_char r2, g2, b2, p2;
u_char r3, g3, b3, p3;
u_short tpage, clut;
0x11CC00#
.scl 8; .type 0x3; .endef
.def TURN_OVER; .val 1116; .scl 8; .type 0x4; .endef
.def Motu; .val 1120; .scl 8; .type 0x3; .endef
.def Mo_x_size; .val 1122; .scl 8; .type 0xc; .endef
.def Mo_y_size; .val 1123; .scl 8; .type 0xc; .endef
.def Event; .val 1124; .scl 8; .dim 14; .size 28; .type 0x33; .endef
.def next_Event; .val 1152; .scl 8; .dim 14; .size 28; .type 0x33; .endef
.def TEZUKURI_UGOKI; .val 1180; .scl 8; .type 0x3; .endef
.def TEZUKURI_CHK; .val 1182; .scl 8; .type 0x3; .endef
.def Jyoutai; .val 1184; .scl 8; .dim 14; .size 28; .type 0x33; .endef
.def zenmetu; .val 1212; .scl 8; .dim 14; .size 14; .type 0x3c; .endef
.def zenmetu_Goal; .val 1226; .scl 8; .type 0xc; .endef
.def keiken2bai; .val 1227; .scl 8; .type 0xc; .endef
.def KAIWA_HONTAI; .val 1228; .scl 8; .type 0x15; .endef
.def ZOUKI_EVENT; .val 1232; .scl 8; .type 0x15; .endef
.def EnemyFlg; .val 1236; .scl 8; .type 0xd; .endef
.def naizou; .val 1238; .scl 8; .dim 4248; .size 4248; .type 0x3c; .endef
.def nai_
0x185A20#
extern Doctor Doc;
extern int dir2sdir(int dir);
static void cha25func(ENE_ACT *mact);
static void m25WalkStart(ENE_ACT *mact);
static void m25Walk(ENE_ACT *mact);
static void m25AtkStart(ENE_ACT *mact);
static void m25Attack(ENE_ACT *mact);
static void m25DmgStart(ENE_ACT *mact);
static void m25Damage(ENE_ACT *mact);
static TEKI_MIKATA *m25srh8(TEKI_MIKATA *obj);
static int bakufree(TEKI_MIKATA *tgt);
static void cha25ESP(TEKI_MIKATA *obj);
static void m25enefuncchg(Game_virus *ply);
static void m25enefunc(ENE_ACT *eact);
static void cha26func(ENE_ACT *mact);
static void m26AtkStart(ENE_ACT *mact);
static void m26Attack(ENE_ACT *mact);
static void cha26ESP(TEKI_MIKATA *obj);
static void m26srh8(Game_virus *ply);
static void m26enefuncchg(Game_virus *ply);
static void m26purupuru(ENE_ACT *eact);
static void cha27func(ENE_ACT *mact);
static void m27WalkStart(ENE_ACT *mact);
static void m27Walk(ENE_ACT *mact);
static void m27DmgStart(ENE_ACT *mact);
static void m27Damage(ENE_ACT *mact);
static void m27KuruKuru(ENE_ACT *mact);
static void m27KuruKuruExe(ENE_ACT *mact);
static void cha27ESP(TEKI_MIKATA *obj);
static void m27srcharea(Game_virus *ply);
static void m27enefuncchg(Game_virus *ply);
static void m27enefunc(ENE_ACT *eact);
static void m27puructrl(ENE_ACT *eact);
static ENE_ACT *cha25damage(TEKI_MIKATA *tgt,Game_virus *me);
static ENE_ACT *cha27damage(TEKI_MIKATA *tgt,Game_viru
0x1BB600#
oadAverageShort12(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern void LoadAverage0(VECTOR *v0,VECTOR *v1,long p0,long p1,VECTOR *v2);
extern void LoadAverageShort0(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern void LoadAverageByte(u_char *v0,u_char *v1,long p0,long p1,u_char *v2);
extern void LoadAverageCol(u_char *v0,u_char *v1,long p0,long p1,u_char *v2);
extern long VectorNormal(VECTOR *v0, VECTOR *v1);
extern long VectorNormalS(VECTOR *v0, SVECTOR *v1);
exte
0x223400#
6,$9
.set macro
.set reorder
.loc 1 159
LM51:
sll $16,$16,16
.set noreorder
.set nomacro
jal mikaTgtSelItemMemory
sra $4,$16,16
.set macro
.set reorder
.loc 1 160
LM52:
j $L3
$L8:
.loc 1 165
LM53:
addiu $18,$2,%lo(Doc) # low
lh $4,66($18)
lh $5,68($18)
lh $6,58($17)
lh $7,60($17)
jal edist
.loc 1 167
LM54:
lh $4,66($18)
lh $5,68($18)
lh $6,74($sp)
lh $7,76($sp)
.loc 1 167
LM55:
.set noreorder
.set nomacro
jal edist
move $16,$2
.set macro
.set reorder
.loc 1 169
LM56:
slt $16,$16,$2
.set noreorder
.set nomacro
beq $16,$0,$L10
addu $7,$sp,16
.set macro
.set reorder
move $6,$18
addu $8,$6,80
$L11:
lw $2,0($6)
lw $3,4($6)
lw $4,8($6)
lw $5,12($6)
sw $2,0($7)
sw $3,4($7)
sw $4,8($7)
sw $5,12($7)
addu $6,$6,16
.set noreorder
.set nomacro
bne $6,$8,$L11
addu $7,$7,16
.set macro
.set reorder
$L10:
.loc 1 170
LM57:
lui $2,%hi(m28WalkStart) # high
addiu
0x248A00#
ee(void);
u_char MikataKao(u_char id);
void MikataAct(void);
void MikataESP(void);
void MikataRot(void);
void MikataTalk(TEKI_MIKATA *obj);
int MikataSWAP(TEKI_MIKATA *obj);
void MikataDel(TEKI_MIKATA *obj);
int MikataHAGURE(u_char id);
void MikataPUSH(void);
void MikataDeruKesu(int mode);
void MikataEV_ON(void);
int MikataEV_MAIN(void);
void NusiInit(short x,short y,u_char dir);
void NusiPut(int flg);
void NusiClr(void);
void NusiMove(u_char vec);
void NusiNearFarMove(Game_virus *ply,int flg);
void NoraMikaInit(short cha_no);
void NoraMikaOFF(void);
void NoraMikaON(short x,short y,u_char vec);
void NoraMikaBorn(short cha_no,short lv);
ENE_ACT *MikataDmg(TEKI_MIKATA *tgt,Game_virus *me);
ENE_ACT *MikataPayanCover(ENE_ACT *eact);
void mikaFstDisp(TEKI_MIKATA *obj);
TEKI_MIKATA *mikaTgtSel(TEKI_MIKATA *obj);
int mikaTgtSelItem(TEKI_MIKATA *obj,Game_virus *tgt);
void mikaTgtSelItemMemory(short xxyy);
void mikaTgtSelItemForget(void);
int mikaMyFriend(TEKI_MIKATA *obj);
int mikaKARABURI(ENE_ACT *mact);
int mikaDOUSIUTI(ENE_ACT *mact,short x,short y);
int mikaStateYUKOU(Game_virus *ply);
void mikaTrapHYOUJI(TEKI_MIKATA *obj);
TEKI_MIKATA *mikasrh(short x,short y);
void NakaTama(ENEDISP *disp,signed char *tbl,u_short uv,int cnt);
voi
0x273600#
ndef
.def w; .val 4; .scl 8; .type 0x3; .endef
.def h; .val 6; .scl 8; .type 0x3; .endef
.def .eos; .val 8; .scl 102; .tag .16fake; .size 8; .endef
.def RECT; .scl 13; .tag .16fake; .size 8; .type 0x8; .endef
.def .17fake; .scl 10; .type 0x8; .size 16; .endef
.def x; .val 0; .scl 8; .type 0x4; .endef
.def y; .val 4; .scl 8; .type 0x4; .endef
.def w; .val 8; .scl 8; .type 0x4; .endef
.def h; .val 12; .scl 8; .type 0x4; .endef
.def .eos; .val 16; .scl 102; .tag .17fake; .size 16; .endef
0x274200#
.def tag; .val 0; .scl 8; .type 0xf; .endef
.def r0; .val 4; .scl 8; .type 0xc; .endef
.def g0; .val 5; .scl 8; .type 0xc; .endef
.def b0; .val 6; .scl 8; .type 0xc; .endef
.def code; .val 7; .scl 8; .type 0xc; .endef
.def x0; .val 8; .scl 8; .type 0x3; .endef
.def y0; .val 10; .scl 8; .type 0x3; .endef
.def x1; .val 12; .scl 8; .type 0x3; .endef
.def y1; .val 14; .scl 8; .type 0x3; .endef
.def x2; .val 16; .scl 8; .type 0x3; .endef
.def y2; .val 18; .scl 8; .type 0x3; .endef
.def .eos; .val 20; .scl 102; .tag .23fake; .size 20; .endef
.def POLY_F3; .scl 13; .tag .23fake; .size 20; .type 0x8; .endef
.def .24fake; .scl 10; .type 0x8; .size 24; .endef
.def tag; .val 0; .scl 8; .type 0xf; .endef
.def r0; .val 4; .scl 8; .type 0xc; .endef
.def g0; .val 5; .scl 8; .type 0xc; .endef
.def b0; .val 6; .scl 8; .type 0xc; .endef
.def code; .val 7; .scl 8; .type 0xc; .endef
.def x0; .val 8; .scl 8; .type 0x3; .endef
.def y0; .val 10; .scl 8; .type 0x3; .endef
.def x1; .val 12; .scl 8; .type 0x3; .endef
.def y1; .val 14; .scl 8; .type 0x3; .endef
.def x2; .val 16; .scl 8; .type 0x3; .endef
.def y2; .val 18; .scl 8; .type 0x3; .endef
.def x3; .val 20; .scl 8; .type 0x3; .endef
.def y3; .val 22; .scl 8; .type 0x3; .endef
.def .eos; .val 24; .scl 102; .tag .24fake; .size 24; .endef
.def POLY_F4; .scl 13; .tag .24fake; .size 24; .type 0x8; .endef
.def .25fake; .scl 10; .type 0x8; .size 32; .endef
.def tag; .val 0; .scl 8; .type 0xf; .endef
.def r0; .val 4; .scl 8; .
0x29A4A0#
-----*/
/*--------------------------------------------------------------------------*/
//static void EBRB04(ENE_ACT *bact)
// {
// }
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* ボス個別思考05
0x2A1C79#
int CheckCallback(void) ;
void PadInit(int mode);
int ResetCallback(void) ;
int RestartCallback(void) ;
int StopCallback(void) ;
int VSync(int mode);
int VSyncCallback(void (*f)()) ;
long GetVideoMode (void);
long SetVideoMode (long mode);
u_long PadRead(int id);
void PadStop(void);
0x2AACF0#
2,$0,$L65
lui $18,%hi(evret.32) # high
.set macro
.set reorder
.loc 1 424
LM189:
lh $4,22($17)
lh $5,20($17)
lh $6,26($17)
lh $7,24($17)
jal edist
.loc 1 426
LM190:
lui $3,%hi(tact.31) # high
sw $0,%lo(tact.31)($3)
.loc 1 427
LM191:
0x2C378B#
5:
$Le131:
.bend $Le131 15
.loc 1 2570
LM1416:
lw $31,20($sp)
lw $16,16($sp)
addu $sp,$sp,24
j $31
0x2CC75E#
5
.loc 1 1480
LM850:
lw $31,28($sp)
lw $18,24($sp)
lw $17,20($sp)
lw $16,16($sp)
addu $sp,$sp,32
j $31
.end eneATSet
.align 2
.def EBR001;
0x3119CC#
フみの場合 */
if(edistp(obj->Ply.position_x,obj->Pl
0x31D60C#
T *mact);
static void cha09func(ENE_ACT *mact);
static void (*chaFunc[])(ENE_ACT *mact) = {
cha07func,
// cha08func,
// cha09func,
cha07func, /* test */
cha07func, /* test */
};
static ENE_ACT *(*chaDamage[])(TEKI_MIKATA *tgt,Game_virus *me) = {
cha07damage,
cha07damage,
cha07damage,
};
void MIKATA_FUNC( Mikata03 , B_NO )(ENE_ACT *mact)
{
u_short chaindex;
chaindex = mact->obj->Ply.cha_no - MK_BASE; /* このファイル内でのベース */
(*chaFunc[chaindex])(ma
0x32A39C#
0;
(*mact->func)(mact);
}
}
/*---------------------------------------------------------*
lui $5,%hi(MikaProgCnt) # high
.set macro
.set reorder
.loc 1 626
LM240:
$L156:
lw $2,%lo(MikaProgCnt)($5)
#nop
sll $3,$2,3
addu $3,$3,$21
sw $20,4($3)
.loc 1 627
LM241:
lhu $4,0($17)
.loc 1 628
LM242:
addu $2,$2,1
sw $2,%lo(MikaProgCnt)($5)
.loc 1 627
LM243:
.loc 1 630
LM244:
.set noreorder
.set nomacro
j $L147
sh $4,0($3)
.set macro
.set reorder
$L149:
.loc 1 633
LM245:
sh $0,0($18)
.loc 1 634
LM246:
sh $0,0($19)
.loc 1 615
LM247:
$L147:
addu $19,$19,2
addu $18,$18,2
addu $20,$20,1
slt $2,$20,3
.set noreorder
.set nomacro
bne $2,$0,$L148
addu $17,$17,2
.set macro
.set reorder
.loc 1 638
LM248:
$Le27:
.bend $Le27 31
$L143:
.loc 1 638
LM249:
lw $31,44($sp)
lw $22,40($sp)
lw $21,36($sp)
lw $20,32($sp)
lw $19,28($sp)
lw $18,24($sp)
lw $17,20($sp)
lw $16,16($sp)
addu $sp,$sp,48
j $31
.end MikaProgSet
.align 2
.def mikaGraLoad; .val mikaGraLoad; .scl 3; .type 0x21; .e
0x330EE8#
---------*/
static void m13Walk(ENE_ACT *mact)
{
if(EneEventExe(mact,move[mact->obj->Ply.cha_no -MK_BASE]) == -1)
{
if((mact->obj->Ply.cha_no == CH_MK13) ||(mact->obj->Ply.cha_no == CH_MK14))
{
/* 足元アイテム判定 */
mact->func = (void(*))(mact->para2);
(*m
0x339600#
$4,$16
.loc 1 1365
LM784:
sw $2,32($16)
.loc 1 1366
LM785:
lui $2,%hi(nusiCure_exe) # high
addiu $2,$2,%lo(nusiCure_exe) # low
.loc 1 1367
LM786:
.set noreorder
.set nomacro
jal EneActPost
sw $2,36($16)
.set macro
.set reorder
.loc 1 1368
LM787:
lw $4,32($16)
.set noreorder
.set nomacro
jal ClearEffect
addu $4,$4,56
.set macro
.set reorder
.loc 1 1369
LM788:
lbu $4,1094($17)
jal NusiCureGousei
lw $3,32($16)
#nop
sh $2,66($3)
.loc 1
0x342BC8#
.loc 1 505
LM311:
.set noreorder
.set nomacro
o
beq $2,$0,$L559
lui $2,%hi(ZAKO_MAX) # high
.set macro
.set reorder
.loc 1 1854
LM1113:
lh $4,58($17)
lh $5,60($17)
jal edistp
.loc 1 1855
LM1114:
lh $4,58($19)
lh $5,60($19)
lh $6,58($17)
lh $7,60($17)
.loc 1 1855
LM1115:
.set noreorder
.set nomacro
jal edist
move $16,$2
.set macro
.set reorder
.loc 1 1857
LM1116:
.set noreorder
.set nomacro
beq $18,$0,$L550
addu $16,$16,$2
.set macro
.set reorder
slt $2,$16,$21
.set noreorder
.set nomacro
beq $2,$0,$L559
lui $2,%hi(ZAKO_MAX) # high
.set macro
.set reorder
$L550:
.loc 1 1859
LM1117:
move $18,$17
.loc 1 1860
LM1118:
move $21,$16
.loc 1 1850
LM1119:
lui $2,%hi(ZAKO_MAX) # high
$L559:
lw $2,%lo(ZAKO_MAX)($2)
addu $20,$20,1
slt $2,$20,$2
.set noreorder
.set nomacro
bne $2,$0,$L547
addu $17,$17,108
.set macro
.set reorder
$L545:
.loc 1 1865
LM1120:
lui $17,%hi(actMansei) # high
lw $2,%lo(actMansei)($17)
#nop
beq $2,$0,
0x34D5F0#
; .endef
.def lui $3,%hi(Mikata-108) # high
addiu $3,$3,%lo(Mikata-108) # low
addu $2,$2,$3
.loc 1 2433
LM1474:
lh $4,58($2)
lh $5,60($2)
jal edistp
slt $2,$2,4
.set noreorder
.set nomacro
beq $2,$0,$L761
move $2,$16
.set macro
.set reorder
move $16,$0
$L758:
.loc 1 2435
LM1475:
move $2,$16
$L761:
.loc 1 2436
LM1476:
$Le167:
.bend $Le167 12
.loc 1 2436
LM1477:
lw $31,20($sp)
lw $16,16($sp)
addu $sp,$sp,24
j $31
.end MikataHAGURE
.align 2
.def MikataMAI
0x357E30#
c; .endef
.def g2; .val 29; .scl 8; .type 0xc; .endef
.def b2; .val 30; .scl 8; .type 0xc; .endef
.def p2; .val 31; .scl 8; .type 0xc; .endef
.def x2; .val 32; .scl 8; .type 0x3; .endef
.def y2; .val 34; .scl 8; .type 0x3; .endef
.def u2; .val 36; .scl 8; .type 0xc; .endef
.def v2; .val 37; .scl 8; .type 0xc; .endef
.def pad2; .val 38; .scl 8; .type 0xd; .endef
.def .eos; .val 40; .scl 102; .tag .29fake; .size 40; .endef
.def POLY_GT3; .scl
0x362630#
void EneCtrlInit(void);
void EneTurnAct(void);
ENE_ACT *EneCtrlGet(void);
void EneCtrl(ENE_ACT *eact);
ENE_ACT *EneCtrlLocal(ENE_ACT *eact);
ENE_ACT *EneActNew(void);
void EneActKill(ENE_ACT *eact);
void EneActKillAll(TEKI_MIKATA *obj);
void EneActCntClr(ENE_ACT *eact);
void EneActPost(ENE_ACT *eact);
void EneAct
0x36CC78#
*ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_SV_G3(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_SV_FT3(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_SV_GT3(long *pa,long *va,u_long *ot,ig tag;
u_long code[2];
} DR_STP;
typedef struct {
u_long id;
u_char r0, g0, b0, p0;
u_char r1, g1, b1, p1;
u_char r2, g2, b2, p2;
u_char r3, g3, b3, p3;
u_short tpage, clut;
u_char u0, v0, u1, v1;
u_char u2, v2, u3, v3;
SVECTOR x0, x1, x2, x3;
SVECTOR n0, n1, n2, n3;
SVECTOR *v_ofs;
SVECTOR *n_ofs;
u_short vert0, vert1;
u_short vert2, vert3;
u_short norm0,
0x376600#
extern u_long *GsU_0000001d(GsARGUNIT *);
extern u_long *GsU_00000209(GsARGUNIT *);
extern u_long *GsU_0000020d(GsARGUNIT *);
extern u_long *GsU_00000211(GsARGUNIT *);
extern u_long *GsU_00000215(GsARGUNIT *);
extern u_long *GsU_02000000(GsARGUNIT *);
extern u_long *GsU_02000001(GsARGUNIT *);
extern u_long *GsU_00040148(GsARGUNIT *);
extern u_long *GsU_00040149(GsARGUNIT *);
extern u_long *GsU_0004014c(GsARGUNIT *);
extern u_long *GsU_0004014d(GsARGUNIT *);
extern u_long *GsU_000401
0x3A6C00#
static void (*chaESP[])(TEKI_MIKATA *obj) = {
cha25ESP,
cha26ESP,
cha27ESP,
};
/*==========================================================================*/
/*==========================================================================*/
/* 呼出し関数 */
/*==========================================================================*/
/*==========================================================================*/
void MIKATA_FUNC( Mikata09 , B_NO )(ENE_ACT *mact)
{
u_short chaindex;
chaindex = mact->obj->Ply.cha_no - MK_BASE;
(*chaFunc[chaindex])(mact);
}
ENE_ACT * MIKATA_FUNC( MikaDmg09, B_NO)(TEKI_MIKATA *tgt,Game_virus *me)
{
u_short chaindex;
chaindex = tgt->Ply.cha_no - MK_BASE;
return((*chaDamage[chaindex])(tgt,me));
}
/* EnemyAct内から呼ばれる味方特殊処理 */
void MIKATA_FUNC( MikaESP09, B_NO)(TEKI_MIKATA *obj)
{
u_short chaindex;
chaindex = obj->Ply.cha_no - MK_BASE;
(*chaESP[chaindex])(obj
0x3F8A00#
.type 0xd; .endef
.def tu2; .val 12; .scl 8; .type 0xc; .endef
.def tv2; .val 13; .scl 8; .type 0xc; .endef
.def p0; .val 14; .scl 8; .type 0xd; .endef
.def tu3; .val 16; .scl 8; .type 0xc; .endef
.def tv3; .val 17; .scl 8; .type 0xc; .endef
.def p1; .val 18; .scl 8; .type 0xd; .endef
.def r0; .val 20; .scl 8; .type 0xc; .endef
.def g0; .val 21; .scl 8; .type 0xc; .endef
.def b0; .val 22; .scl 8; .type 0xc; .endef
.def p2; .val 23; .scl 8; .type 0xc; .endef
.def r1; .val 24; .scl 8; .type 0xc; .endef
.def g1; .val 25; .scl 8; .type 0xc; .endef
.def b1; .val 26; .scl 8; .type 0xc; .endef
.def p3; .val 27; .scl 8; .type 0xc; .endef
.def r2; .val 28; .scl 8; .type 0xc; .endef
.def g2; .val 29; .scl 8; .type 0xc; .endef
.def b2; .val 30; .scl 8; .type 0xc; .endef
.def p4; .val 31; .scl 8; .type 0xc; .endef
.def r3; .val 32; .scl 8; .type 0xc; .endef
.def g3; .val 33; .scl 8; .type 0xc; .endef
.def b3; .val 34; .scl 8; .type 0xc; .endef
.def p5; .val 35; .scl 8; .type 0xc; .endef
.def v0; .val 36; .scl 8; .type 0xd; .endef
.def v1; .val 38; .scl 8; .type 0xd; .endef
.def v2; .val 40; .scl 8; .type 0xd; .endef
.def v3; .val 42; .scl 8; .type 0xd; .endef
.def .eos; .val 44; .scl 102; .tag .96fake; .size 44; .endef
.def TMD_P_TNG4; .scl 13; .tag .96fake; .size 44; .type 0x8; .endef
.def TMD_STRUCT; .scl 10; .type 0x8; .size 28; .endef
.def vertop; .val 0; .scl 8; .type 0x1f; .endef
.def vern; .val 4; .scl 8; .type 0xf; .endef
.def nortop; .val 8; .scl 8; .
0x46CC00#
har val0;
u_char val1;
u_char val2;
u_char val3;
} DslATV;
typedef struct {
DslLOC pos;
u_long size;
char name[ 16 ];
} DslFILE;
typedef struct {
u_short id;
u_short type;
u_short secCount;
u_short nSectors;
u_long frameCount;
u_long frameSize;
u_short width;
u_short height;
u_long dummy1;
u_long dummy2;
DslLOC loc;
} StHEADER;
void StSetRing( u_long* ring_addr, u_long ring_size );
void StClearRing( void );
void StUnSetRing( void );
void StSetStream( u_long mode, u_long start_frame, u_long end_frame,
void ( *func1 )(), void ( *func2 )() );
void StSetEmulate( u_long* addr, u_long mode, u_long start_frame,
u_long end_frame, void ( *func1 )(), void ( *func2 )() );
u_long StFreeRing( u_long* base );
u_long StGetNext( u_long** addr, u_long** header );
u_long StGetNextS( u_long** addr, u_long** header );
u_short StNextStatus( u_long** addr, u_long**