# 1 "main.c"

# 1 "main.c"
# 89 "lib.h"
int _kan_km;
# 29 "main.c"
char *SysMacro = (0);
char SYSMACRO_FN[10] = {'h','e','w','i','n','.','m','a','c','\0'};
char MACROKEY_EXPSEARCH_PATH[16] = {'E','x','p','_','s','e','a','r','c','h','_','p','a','t','h','\0'};
# 6 "lib.c"
int DlgMvFunc(int evtNo, char *sbj)
{
char *dlg;
short fr[4];

dlg = EVT_getPtr(sbj);
fr[0] = DLG_getFr(dlg,0);
fr[1] = DLG_getFr(dlg,1);
fr[2] = DLG_getFr(dlg,2);
fr[3] = DLG_getFr(dlg,3);
if ( DlgMove( fr ) )
{ DLG_move( dlg, fr[0], fr[1] );
}
return ((-2));
}


char *GetAsciiTime( char *s, long t )
{
int *tm;

tm = localtime( &t );
sprintf( s, "%04d/%02d/%02d %02d:%02d",
(tm[5])+1900, (tm[4])+1, (tm[3]),
(tm[2]), (tm[1]) );
return (s);
}


int TxdUsr_saveColTbl( char *txd )
{
int ret;
char *fdl;
char tmp[128], *fn;

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_wildcard( fdl, "*.tbl");
FDL_set_title( fdl, "SAVE COLOR TABLE");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".tbl");
TXD_saveColTbl(txd,tmp);
FDL_close(fdl);

return ((0));
}

int CnsUsr_saveColTbl( char *cns )
{
int ret;
char *fdl;
char tmp[128], *fn;

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "SAVE COLOR TABLE");
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".tbl");
CNS_saveColTbl(cns,tmp);
FDL_close(fdl);

return ((0));
}
# 93 "lib.c"
char *MakeFnDate( char *getFn, char *path, char *top, char *sub )
{
long t;
int *tm;
char tmp[32];
int ch;

time(&t);
tm = localtime( &t );
sprintf( tmp, "%02d%02d%02d", (tm[5]), (tm[4])+1, (tm[3]) );
ch = 'a';
while ( ch <= 'z' )
{ sprintf( getFn,"%s%s%s%c%s", path, top, tmp, ch, sub );
if ( FS_isFileExist(getFn) == 0 )
return (getFn);
++ch;
}
getFn[0] = '\0';
return ((0));
}


int MakeLogStr( char *buf, char *s )
{
while ( *s )
{
if ( iskan(s) )
{
*buf = *s; ++buf; ++s;
*buf = *s; ++buf; ++s;
} else if ( *s == '\\' )
{
*buf = '\\'; ++buf;
*buf = 'x'; ++buf;
*buf = '5'; ++buf;
*buf = 'c'; ++buf;
++s;
} else
{ *buf = *s; ++buf; ++s;
}
}
*buf = '\0';
}

int cci_wait(int sec)
{
int x, y;
unsigned int clk;

clk = clock() + sec * 100;
while ( clock() < clk )
{ if ( EVT_mos_pget(&x,&y) || EVT_kbhit() )
break;
}
KBF_clear();
return ((0));
}

char *GetSizeStr( unsigned int siz, char *buf )
{
if ( siz == 0 )
strcpy( buf, "0");
else if ( siz < 1024 )
sprintf( buf, "%u", siz );
else if ( siz < 1024*1024 )
sprintf( buf, "%.1fK", siz / 1024.0 );
else
sprintf( buf, "%.1fM", siz / 1048576.0 );

return (buf);
}


int cci_system( char *title, char *cmd )
{
char *dlg;

dlg = DLG_msgOpen( (0x10030), (0x10030),
80*6, 12*12, 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
"%s", title );

if ( dlg )
{
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, -1 );
DLG_msgConsSet( dlg, 1, 15);
DLG_msgPrintf(dlg,"\r\n%s\r\n", cmd );
}
MOS_curDisp(2);
system( cmd );
MOS_curDisp(3);
if ( dlg )
{
DLG_msgPrintf(dlg,"\r\n***** COMPLETED *****\r\n");
NTM_wait(2);
DLG_msgConsEnd(dlg);
DLG_msgClose(dlg);
}
return (0);

return ((0));
}
# 1 "pcl.c"
int SetExpSearchPath()
{
char *p;
char buf[256];
char *tok, *terminator;

if ( (p = AMAC_getName( SysMacro, MACROKEY_EXPSEARCH_PATH )) == (0) )
{




return ((0));

}
terminator = ";";
strcpy(buf,p);

tok = strtok(buf, terminator);
while ( tok )
{
p = tok;
while ( isspace(*p) )
++p;
if ( *p )
AplPclSetPath( p );
tok = strtok((0), terminator);
}
return ((0));
}
# 39 "pcl.c"
int CCI_setExpSearchPath()
{
int ret;
char *p;
char buf[256];
char *dlg;

if ( (p = AMAC_getName( SysMacro, MACROKEY_EXPSEARCH_PATH )) == (0) )
buf[0] = '\0';
else
strcpy(buf,p);

dlg = DLG_getsOpen( (0x10010), (0x10010), 480,"セミコロン(;)で区切って複数指定できます。");
DLG_getsSetTitle( dlg, "EXP SEARCH PATH" );
ret = DLG_getsStart( dlg, 255, buf );
if ( ret > 0 && buf[0] )
{
AMAC_setKey( SysMacro, MACROKEY_EXPSEARCH_PATH, buf );
SetExpSearchPath();
}
DLG_getsClose(dlg);
return ((0));
}
# 8 "colset.c"
int _csetDspFunc(char *dlg)
{
int *para;
char *evt;
int nowCol;
int evtNo;
int i, x, y;
int x0, y0, xs, ys;

evtNo = 0;
para = DLG_getPtr(dlg);
evt = para[0];
nowCol = para[1];
x0 = DLG_getFr(dlg,0);
y0 = DLG_getFr(dlg,1);
xs = DLG_getFr(dlg,2);
ys = DLG_getFr(dlg,3);

MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );

DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
DSP_str( x0+4, y0+4, 1, 7, 16, "COLOR SELECT");
EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg );

for ( i = 0; i < 16; ++i )
{
x = x0 + 8 + i * 18;
y = y0 + 32;
DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
if ( i == nowCol )
{ DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
} else
{ EVT_set_mos( evt, evtNo++, i, (0x02), (1),
x, y, x+15, y+15, (0), (0));
}
}


EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
0, 0, 0, 0, (0), (0));
}

int COLSET_dlg(int nowCol)
{
int ret;
char *dlg;
char *evt;
char *mosTk;
int para[2];

if ( (evt = EVT_alloc((0),24)) == (0) )
return ((-1));
para[0] = evt;
para[1] = nowCol;
dlg = DLG_open( (0x10020),(0x10020),
(8+18*16+8),80, (0x1000|(((7)&15)<<4)|((15)&15)), "_csetDspFunc", para );
if ( dlg == (0) )
{
EVT_free(evt);
return ((-1));
}
mosTk = MOS_push();
DLG_dsp(dlg);

while ( 1 )
{
MOS_curDisp(1);
ret = EVT_chk(evt,0);
if ( (ret >= 0 && ret < 16) || ret == 9999 )
break;
}

DLG_close(dlg);
EVT_free(evt);
MOS_pop(mosTk);
if ( ret >= 0 && ret < 16 )
return (ret);
else
return ((-1));
}

int _csetDspFunc2(char *dlg)
{
int *para;
char *evt;
int nowCol;
int evtNo;
int i, j, flag, x, y;
int x0, y0, xs, ys;

evtNo = 0;
para = DLG_getPtr(dlg);
evt = para[0];
nowCol = para[1];
x0 = DLG_getFr(dlg,0);
y0 = DLG_getFr(dlg,1);
xs = DLG_getFr(dlg,2);
ys = DLG_getFr(dlg,3);

MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );

DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
DSP_str( x0+4, y0+4, 1, 7, 16, "COLOR SELECT");
EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg);

for ( j = 0; j < 2; ++ j )
{
y = y0 + j*20 + 32;
DSP_egbStr( x0+4, y, 1, (0x1000|(((7)&15)<<4)|((15)&15)), 16,"color %d", j+1);
for ( i = 0; i < 16; ++i )
{
x = x0 + 8*8+ 8 + i * 18;
DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
flag = (0);
if ( j == 0 )
{
if ( (nowCol & 15) == i )
flag = (1);
} else
{
if ( ((nowCol>>4) & 15) == i )
flag = (1);
}
if ( flag )
{
DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
} else
{
EVT_set_mos( evt, evtNo++, i + (j * 16), (0x02), (1),
x, y, x+15, y+15, (0), (0));
}
}
}

EVT_setSelBtn( evt, evtNo++, 9997, (0x01), (1),
x0+xs/2-48, y0+ys-28, 96, 24, (0), (0),
1, 7, 8, "OK : [実行]" );

EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
0, 0, 0, 0, (0), (0));
}

int COLSET_dlg2(int nowCol)
{
int ret;
char *dlg;
char *evt;
char *mosTk;
int para[2];

if ( (evt = EVT_alloc((0),40)) == (0) )
return ((-1));
para[0] = evt;
para[1] = nowCol;
dlg = DLG_open( (0x10020),(0x10020),
(8+18*16+8)+8*8,112, (0x1000|(((7)&15)<<4)|((15)&15)),
"_csetDspFunc2", para );
if ( dlg == (0) )
{
EVT_free(evt);
return ((-1));
}
mosTk = MOS_push();
DLG_dsp(dlg);

while ( 1 )
{
MOS_curDisp(1);
ret = EVT_chk(evt,0);
if ( ret == 9999 || ret == 9997 )
break;
else if ( ret >= 0 && ret < 16 )
{
nowCol = (nowCol & 0xF0) + ret;
para[1] = nowCol;
DLG_dsp(dlg);
} else if ( ret >= 16 && ret < 32 )
{
nowCol = (nowCol & 0x0F) + ((ret-16)<<4);
para[1] = nowCol;
DLG_dsp(dlg);
}
}

DLG_close(dlg);
EVT_free(evt);
MOS_pop(mosTk);
if ( ret == 9999 )
return ((-1));
else
{
if ( ((nowCol>>4) & 15) == (nowCol & 15) )
nowCol = nowCol & 15;
else
nowCol = nowCol | 0x1000;
return (nowCol);
}
}
# 47 "bgm.c"
int CCI_bgmPlay(int argc, char **argv )
{
char *fn;

if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \nBGM データをロードします。", argv[1] );
if ( argc > 2 )
{
BGM_setPlayMode( atoi(argv[2]) & 3 );
}
fn = argv[1];
if ( BGM_load(fn) == (0) )
{
BGM_playStart();
}
}
return ((0));
}
# 76 "bgm.c"
int CCI_midPlay( int argc, char **argv )
{
char *fn;
char tmp[256];

if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n演奏データをロード、演奏します。", argv[1] );
fn = argv[1];
MID_playStop();
MID_playStart(fn);
# 94 "bgm.c"
}
return ((0));
}
# 5 "blackout.c"
int BlackOutUsr_func( int x1, int y1, int x2, int y2)
{
int x, y, r, c, col;
int xs, ys;
char para[8];

xs = x2 - x1 + 1;
ys = y2 - y1 + 1;
c = 0;
while ( 1 )
{
if ( ++c > 128 )
{
DSP_boxf( x1, y1, x2, y2, 0, 1 );
c = 0;
}
if ( (c & 15) == 0 )
{
EVT_idl();
MOS_curDisp(0);
}
if ( kbhit() || (KYB_shift() & 0x14) != 0 || MOS_pget(&x,&y) )
break;
col = (rand() % 14) + 1;
x = x1 + (rand() % xs);
y = y1 + (rand() % ys);
r = rand() % 320;
EGB_color( EgbPtr,0,col);
EGB_writeMode( EgbPtr, 0 );
EGB_paintMode( EgbPtr, 0x002);
_setWord( para , x );
_setWord( para+2, y );
_setWord( para+4, r );
EGB_circle( EgbPtr, para );
}
}
# 49 "blackout.c"
int CCI_setBlackOut( int argc, char **argv )
{
char *func;

if ( argc > 1 )
{
if ( argc > 2 )
func = argv[2];
else
func = "";
Apl_setBlackOut( 0, atoi(argv[1]) & 0xFFFF, func );
}
return ((0));
}
# 13 "timer.c"
int CCI_setTimer( int argc, char **argv )
{
char *func;

if ( argc > 1 )
{
if ( argc > 2 )
func = argv[2];
else
func = "";
Apl_setTimer( 0, atoi(argv[1]) & 0xFFFF, func );
Apl_timerStart();
}
return ((0));
}
# 59 "debug.c"
int CCI_pclExec(int argc, char **argv)
{
int ret;
char *fdl;
char *fn;
char tmp[128];

if ( argc > 1 )
{
sprintf( tmp, "%s.", AplGetStartPath() );
FS_chdrv( toupper(tmp[0]) - 'A' );
FS_chdir( tmp );
fn = argv[1];
ret = (0);
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "CHILD PROCESS LOADER");
FDL_set_wildcard( fdl, "*.exp");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
ret = (0);
fn = tmp;
} else
ret = (-1);
FDL_close(fdl);
}
if ( ret == (0) )
{
AplDtaInit();
DTA_dump( "f:/tmp/dta001.dmp" );
ret = AplPclExec( fn, 3 );
DTA_dump( "f:/tmp/dta002.dmp" );
}
return (ret);
}
# 101 "debug.c"
int CCI_pclLink(int argc, char **argv)
{
int ret;
char *fdl;
char *fn;
char tmp[128];
unsigned int siz;

siz = 0;
if ( argc > 1 )
{
sprintf( tmp, "%s.", AplGetStartPath() );
FS_chdrv( toupper(tmp[0]) - 'A' );
FS_chdir( tmp );
fn = argv[1];
if ( argc > 2 )
siz = atoi(argv[2]) * 1024;
ret = (0);
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "CHILD PROCESS LOADER");
FDL_set_wildcard( fdl, "*.exp");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
ret = (0);
fn = tmp;
} else
ret = (-1);
FDL_close(fdl);
}
if ( ret == (0) )
{
if ( siz ==0 )
siz = 1*1024*1024;
ret = AplPclLink( fn, siz );
}
return (ret);
}
# 195 "debug.c"
int CCI_idlFuncList()
{
AplIdlingFuncList();
return ((0));
}
# 6 "wpaper.c"
int _wall_setCfg(char *obj, int cfg)
{
char *s;

switch( cfg )
{
case (0x0000): s = "NORMAL"; break;
case (0x0001): s = "CENTER"; break;
case (0x0002): s = "TILE"; break;
default: s = "???"; break;
}
MNU_setObj(obj, 1, (4), 'D', "Display mode [%s]", s, 1, (0), (0) );
}

char *_wall_setFile(char *obj, char *path )
{
int ret;
char *s;
char *fdl;
static char buf[128];

if ( (fdl = FDL_open(0)) == (0) )
return (path);
FDL_set_title( fdl,"WallPaper tiff file");
FDL_set_wildcard( fdl, "*.tif");
FDL_set_defaultFilename( fdl, path);
ret = FDL_start(fdl);
s = FDL_get_filename(fdl);
if ( ret == (0) && strlen(s) > 0 )
{
strcpy( buf, s );
path = buf;
MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
}
FDL_close(fdl);
return (path);
}

int WallTiff()
{
int ret, cfg, frcol, bkcol;
char *mnu;
char *obj;
char *path;

cfg = APL_getWallPaper(1);
frcol = APL_getWallPaper(2) & 15;
bkcol = APL_getWallPaper(3) & 15;
path = APL_getWallPaper(4);

obj = MNU_alloc(7);

MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
_wall_setCfg(obj,cfg);
MNU_setObj(obj, 2, (0), 0, (0), (0) , 0, (0), (0) );
MNU_setObj(obj, 3, (3), 'F', "前景色  %d", frcol, 2, (0), (0) );
MNU_setObj(obj, 4, (3), 'B', "背景色  %d", bkcol, 3, (0), (0) );
MNU_setObj(obj, 5, (0), 0, (0), (0) , 0, (0), (0) );
MNU_setObj(obj, 6, (2), 'S', "決定", (0) , 4, (0), (0) );

mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
while ( 1 )
{
ret = MNU_start( mnu );
if ( ret < 0 || ret == 4 )
break;
switch( ret )
{
case 0:
path = _wall_setFile(obj, path);
break;
case 1:
if ( cfg == (0x0000) )
cfg = (0x0001);
else if ( cfg == (0x0001) )
cfg = (0x0002);
else if ( cfg == (0x0002) )
cfg = (0x0000);
_wall_setCfg(obj,cfg);
break;
case 2:
if ( (ret = COLSET_dlg(frcol)) >= 0 )
{
frcol = ret;
MNU_setObj(obj, 3, (3), 'F', "前景色  %d", frcol, 2, (0), (0) );
}
break;
case 3:
if ( (ret = COLSET_dlg(bkcol)) >= 0 )
{
bkcol = ret;
MNU_setObj(obj, 4, (3), 'B', "背景色  %d", bkcol, 3, (0), (0) );
}
break;
}
}
MNU_close(mnu);
MNU_free(obj);
if ( ret == 4 )
{
APL_setWallPaper( (0x0010), cfg, frcol,bkcol, path );
}
return ((0));
}
# 132 "wpaper.c"
int WallColor()
{
int col;

col = APL_getWallPaper(3);
col = COLSET_dlg2( col );
if ( col >= 0 )
APL_setWallPaper( (0x0000), col);
MOS_initMoveArea();
return ((0));
}
# 152 "wpaper.c"
int CCI_setWallPaper(int argc, char **argv)
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C', "Color 色指定", (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'T', "Tiff  ファイル指定", (0), 1, (0), (0) );

mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 0: WallColor(); break;
case 1: WallTiff(); break;
}
return ((0));
}
# 181 "wpaper.c"
int CCI_rndWallPaper(int argc, char **argv)
{
int ret, cfg, frcol, bkcol;
char *start, arc[256], tmp[256], path[256];

start = AplGetStartPath();
sprintf(arc,"%s%s",start,"desktop.lzh");


if ( FS_isFileExist(arc) > 0 )
{
sprintf(tmp,"rndtif %s %shewin.tif", arc, start);
DCN_system( (0), tmp );

sprintf(path,"%s%s", start, "hewin.tif" );
cfg = (0x0002);
frcol = APL_getWallPaper(2) & 15;
bkcol = APL_getWallPaper(3) & 15;
APL_setWallPaper( (0x0010), cfg, frcol, bkcol, path );
}
return ((0));
}
# 263 "wpaper.c"
int CCI_selectWallPaper(int argc, char **argv)
{
int ret, cfg, frcol, bkcol;
char *start, arc[256], tmp[256], path[256];
char *fnWallpaper;

fnWallpaper = "hewin.tif";
start = AplGetStartPath();
sprintf(arc,"%s%s",start,"desktop.lzh");


if ( FS_isFileExist(arc) > 0 )
{
sprintf(tmp,"wallpop -o %s -w %s%s", arc, start,fnWallpaper);
DCN_system( (0), tmp );

sprintf(path,"%s%s", start, fnWallpaper);
cfg = (0x0002);
frcol = APL_getWallPaper(2) & 15;
bkcol = APL_getWallPaper(3) & 15;
APL_setWallPaper( (0x0010), cfg, frcol, bkcol, path );
}
return ((0));
}
# 50 "main.c"
char *WildCardTbl[5] =
{
"*.*" ,
"*.asm *.c   *.cci *.h" ,
"*.mml *.def *.h",
"*.bgm *.eup *.mid",
"*.doc *.hlp *.man *.txt"
};
# 63 "main.c"
int AfmSetup()
{
int i;
char comspec[128], *s;
char *console;

if ( (s = getenv("COMSPEC")) == (0) )
strcpy( comspec, "C:\\COMMAND.COM /C" );
else
sprintf( comspec,"%s /C", s );
console = "oricon";

Afm_setRunFile(0,".exe", (4), (0), "","");
Afm_setRunFile(0,".com", (4), (0), "","");
Afm_setRunFile(0,".bat", (4), (0), "","");
Afm_setRunFile(0,".exp", (4), (1), "","");


for ( i = 0 ; i < 5; ++i )
FdlSetWildCardList( WildCardTbl[i] );
# 88 "main.c"
Afm_setWinPos(4,28);

}
# 123 "main.c"
int SetAplAppendMenu()
{
Apl_menuAppend('0',"Text editor" ,(2), (1101) ,"");
Apl_menuAppend('1',"GSPLAY" ,(4), 0,"GSPLAY.EXP" ,"");
Apl_menuAppend('2',"ZNSPLAY" ,(4), 0,"ZNSPLAY.EXP","");
Apl_menuAppend('3',"CD-DIC" ,(3), "CCI_cddic" ,"");
Apl_menuAppend('4',"TIFF" ,(4), 0,"TIFF.EXP" ,"");
# 137 "main.c"
Apl_menuAppend('8',"Wall paper" ,(3), "CCI_setWallPaper","");

}
# 148 "main.c"
int HEWIN_init(int argc, char **argv)
{
int i, kan, kan_md;
char tmp[256], *s;

if ( (SysMacro = AMAC_allocWork(0)) != (0) )
{
sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
AMAC_load( SysMacro, tmp );
GetAsciiTime( tmp, time((0)) );
AMAC_setKey( SysMacro, "Startup_time", tmp );
}
AfmSetup();
SetExpSearchPath();
SetAplAppendMenu();


SND_get_elevol_mute(&i);
i |= 3;
SND_elevol_mute(i);
# 174 "main.c"
for ( i = 0; i < argc ; ++i )
{
s = argv[i];
if ( strcmpi( s, "-fep_roumaji") == 0 )
{
kan = KBF_kan_getMode();
if ( kan < 0 )
{
KBF_kan_on();
kan_md = KBF_kan_getMode();
} else
kan_md = kan;
if ( kan_md >= 0 )
{
kan_md = (kan_md & 0xFFFFFF0F) | 0x00000020;
KBF_kan_setMode( kan_md );
if ( kan < 0 )
KBF_kan_off();
}
}
}


return ((0));
}

int HEWIN_start()
{
CCI_rndWallPaper(0,(0));
return ((0));
}

int HEWIN_end(int saveFlag)
{
return ((0));
}
# 215 "main.c"
int HEWIN_term(int saveFlag)
{
char tmp[256];

if ( SysMacro )
{
GetAsciiTime( tmp, time((0)) );
AMAC_setKey( SysMacro, "Exit_time", tmp );

sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
AMAC_save( SysMacro, tmp, "System macro" );
}
# 231 "main.c"
return (0);
}
# 240 "main.c"
int AslUsr_setStartItem()
{

Asl_setDefCciItem("CCI_textViewer" ,"☆読んでネ","message.doc");
Asl_setDefCciItem("CCI_textViewer" ,"説明" ,"hewin.doc");
Asl_setDefCciItem("CCI_setWallPaper" ,"壁紙" ,"");
Asl_setDefCciItem("CCI_sidework" ,"SideWork" ,"");
Asl_setDefCciItem("CCI_sndPlay" ,"SND-PLAY" ,"");
Asl_setDefCciItem("CCI_setExpSearchPath","EXP PATH" ,"");
# 253 "main.c"
return ((0));
}
# 5 "he386.c"
char *_he386p_ = "he386p.exp";
char he386_option[256] = {0};

int he386_compile( char *pn )
{
int ret, drv;
char tmp[256], fn[256];


drv = toupper(pn[0]) - 'A';
FS_chdrv(drv);
FS_getDnamPath(tmp,pn);
FS_chdir(tmp);


AplDtaInit();
AplDtaSetStr( "$MainArg", "%s %s %s", _he386p_, he386_option, pn );

ret = AplPclExec( _he386p_, 4 );

FS_getFnam(fn,pn);
FS_appendSnam( fn, fn, ".mid" );
if ( FS_isFileExist(fn) > 0 )
MID_playStart( fn );

return ((0));
}

int he386_menu( char *pn )
{
int ret;
char tmp[256];
char *dlg;
char *mnu;
char *obj;
char *p;

if ( pn[0] == '\0' )
return ((0));

obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'O', "Option" , (0), 1, (0), (0));
MNU_setObj(obj, 1, (0), 0 , (0) , (0), 2, (0), (0));
MNU_setObj(obj, 2, (2), 'C', "Compile (normal)", (0), 3, (0), (0));

mnu = MNU_open( (0x10010), (0x10010), (1),
obj, "MML Compile" );

for(;;)
{
ret = MNU_start ( mnu );
switch ( ret )
{
case 1:
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"HE386 のオプションパラメータを入力してください。");
DLG_getsSetTitle( dlg, "MML Compiler option parameter" );
strcpy( tmp, he386_option);
ret = DLG_getsStart( dlg, 255, tmp );
if ( ret >= 0 )
strcpy( he386_option, tmp );
DLG_getsClose(dlg);
break;

case 3:
he386_compile( pn );
goto _RET;
default:
goto _RET;
}
}

_RET:
MNU_close(mnu);
MNU_free(obj);
return ((0));
}
# 2 "highc.c"
char *MACROKEY_HIGHC_CCNAME = "HighC_ccname" ;
char *MACROKEY_HIGHC_IPATH = "HighC_ipath" ;
char *MACROKEY_HIGHC_PROFILE = "HighC_profile";
char *MACROKEY_HIGHC_OPTION = "HighC_option" ;

char highc_ccname[128];
char highc_ipath[128];
char highc_profile[128];
char highc_option[128];

int _highc_set_config(char *mkey, char *var, char *ttl, char *msg)
{
int ret;
char tmp[256];
char *dlg;

dlg = DLG_getsOpen( (0x10010), (0x10010), 320, msg );
DLG_getsSetTitle( dlg, ttl);
strcpy( tmp, var);
ret = DLG_getsStart( dlg, 127, tmp );
if ( ret >= 0 )
{
strcpy( var, tmp );
AMAC_setKey( SysMacro, mkey, var);
}
DLG_getsClose(dlg);

return (0);
}

int highc_compile( char *pn )
{
int drv;
char cmd[512], fn[256], tmp[256];


drv = toupper(*pn) - 'A';
FS_chdrv(drv);
FS_getDnamPath(tmp, pn);
FS_chdir(tmp);

FS_getFnamPath( fn, pn);

sprintf( cmd, "%s %s", highc_ccname, fn);

if ( highc_ipath[0] )
{
strcat( cmd, " -ipath ");
strcat( cmd, highc_ipath);
}

if ( highc_profile[0] )
{
strcat( cmd, " -profile ");
strcat( cmd, highc_profile);
}

if ( highc_option[0] )
{
strcat( cmd, " ");
strcat( cmd, highc_option);
}

if ( strlen(cmd) >= 127 )
{
DLG_tmpMsgBox( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
"    コマンドラインが長すぎます。  " );
return (-1);
}

AplDtaInit();
AplDtaSetStr( "$MainArg", "%s", cmd );
AplPclExec( highc_ccname, (8) | (128));

return (0);
}

int highc_menu(char *pn)
{
int ret;
char *mnu;
char *obj;
char *p;

if ( *pn == '\0' )
return (-1);

if ( (p = AMAC_getName( SysMacro, MACROKEY_HIGHC_CCNAME)) == (0) )
{
p = "hcd386p.exp";
AMAC_setKey( SysMacro, MACROKEY_HIGHC_CCNAME, p );
}
strcpy( highc_ccname, p );

if ( (p = AMAC_getName( SysMacro, MACROKEY_HIGHC_IPATH)) == (0) )
{
p = "";
AMAC_setKey( SysMacro, MACROKEY_HIGHC_IPATH, p );
}
strcpy( highc_ipath, p );

if ( (p = AMAC_getName( SysMacro, MACROKEY_HIGHC_PROFILE)) == (0) )
{
p = "";
AMAC_setKey( SysMacro, MACROKEY_HIGHC_PROFILE, p );
}
strcpy( highc_profile, p );

if ( (p = AMAC_getName( SysMacro, MACROKEY_HIGHC_OPTION)) == (0) )
{
p = "-noobject -tpages 64 -output c.err";
AMAC_setKey( SysMacro, MACROKEY_HIGHC_OPTION, p );
}
strcpy( highc_option, p );

obj = MNU_alloc(6);
MNU_setObj(obj, 0, (2), 'H', "hcd386p.exp" , (0), 1, (0), (0));
MNU_setObj(obj, 1, (2), 'I', "Include path" , (0), 2, (0), (0));
MNU_setObj(obj, 2, (2), 'P', "Profile name" , (0), 3, (0), (0));
MNU_setObj(obj, 3, (2), 'O', "Compile Option" , (0), 4, (0), (0));
MNU_setObj(obj, 4, (0), 0 , (0) , (0), 5, (0), (0));
MNU_setObj(obj, 5, (2), 'C', "Compile" , (0), 6, (0), (0));

mnu = MNU_open( (0x10010), (0x10010), (1),
obj, "High C Compile" );

for(;;)
{
ret = MNU_start ( mnu );
switch ( ret )
{
case 1:
_highc_set_config(MACROKEY_HIGHC_CCNAME, highc_ccname,
"High C compiler name","コンパイラを指定してください。");
break;

case 2:
_highc_set_config(MACROKEY_HIGHC_IPATH, highc_ipath,
"High C include path","include パスを入力してください。");
break;

case 3:
_highc_set_config(MACROKEY_HIGHC_PROFILE, highc_profile,
"High C profile","profileの名前を入力してください。");
break;

case 4:
_highc_set_config(MACROKEY_HIGHC_OPTION, highc_option,
"High C option","hcd386p のパラメータを入力してください。");
break;

case 6:
highc_compile(pn);
goto _RET;

default:
goto _RET;
}
}

_RET:
MNU_close(mnu);
MNU_free(obj);
return ((0));
}
# 11 "prs.c"
int PRS_start(int typ)
{
return ((0));
}
# 22 "prs.c"
int PRS_end()
{
return ((0));
}
# 20 "tdp.c"
int TdpUsr_sysInit()
{
int i;

TdpHistFlag = (1);
Apl_stdWinSizeSet( (1101), (2+ 4+(6*80)+20+2), (358-12*3) );


TxdSetSearchPattern("NIFTY TITLE", "[0-9]..../[0-9].... ........  .* .*\\|[0-9]../[0-9]..   ...[0-9]....  .* .*" );
TxdSetSearchPattern("C FUNCTION" , "^[A-Za-z_].*[ \\t]*[a-zA-Z_].*(.*)" );
# 36 "tdp.c"
return ((0));
}

int TdpUsr_sysTerm()
{
return ((0));
}
# 50 "tdp.c"
int TdpUsr_openFunc( char *tdp )
{
char *txd;
# 62 "tdp.c"
txd = TdpGetTxdPtr(tdp);
TXD_cstSetKey( txd, (0x04)|(0x10)|0x4800 , (241), 0, "dup_line	dup line");
TXD_cstSetKey( txd, (0x10)|0x1D00 , (241), 0, "template");
TXD_cstSetKey( txd, (0x04)|(0x10)|0x2100 , (241), 0, "getxt_searchPattern	set search pattern from text");

TXD_cstSetPfxKey( txd, (0x10)|0x1100 , 0x1200 , (241), 0, "pg_help	program helper");

TXD_cstSetPfxKey( txd, (0x10)|0x1100 , (0x04)|0x2100, (241), 0, "set_searchPattern	set search pattern list");

TXD_cstSetPfxKey( txd, (0x10)|0x2500 , 0x1200 , (241), 0, "cut_word	cut word");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400, 0x1700 , (241), 0, "undo_info	undo information");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400, 0x2C00 , (241), 0, "clear_undo_buffer	clear undo buffer");
TXD_cstSetPfxKey( txd, (0x10)|0x2500 , (0x04)|0x1400, (241), 0, "auto_rect_edit	auto rectangle edit");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400, 0x2100 , (241), 0, "extra_filter		extra command filter");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400, 0x2E00 , (241), 0, "extra_filter2	extra command filter2");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400, 0x2300 , (241), 0, "spc_zen2han		space code convert");
# 84 "tdp.c"
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x3000, 0x1500 , (241), 0, "mml_toneGen	mml generate");
# 95 "tdp.c"
TXD_cstSetPfxKey( txd, 0x0100, 0x0B00, (241), 0, "jump_mark_0");
TXD_cstSetPfxKey( txd, 0x0100, 0x0200, (241), 0, "jump_mark_1");
TXD_cstSetPfxKey( txd, 0x0100, 0x0300, (241), 0, "jump_mark_2");
TXD_cstSetPfxKey( txd, 0x0100, 0x0400, (241), 0, "jump_mark_3");
TXD_cstSetPfxKey( txd, 0x0100, 0x0500, (241), 0, "jump_mark_4");
TXD_cstSetPfxKey( txd, 0x0100, 0x0600, (241), 0, "jump_mark_5");
TXD_cstSetPfxKey( txd, 0x0100, 0x0700, (241), 0, "jump_mark_6");
TXD_cstSetPfxKey( txd, 0x0100, 0x0800, (241), 0, "jump_mark_7");
TXD_cstSetPfxKey( txd, 0x0100, 0x0900, (241), 0, "jump_mark_8");
TXD_cstSetPfxKey( txd, 0x0100, 0x0A00, (241), 0, "jump_mark_9");

return ((0));


}
# 115 "tdp.c"
int TdpUsr_saveFunc( char *tdp, char *fn )
{
return ((0));
}
# 124 "tdp.c"
int TdpUsr_quitFunc( char *tdp )
{
return ((0));
}
# 134 "tdp.c"
char *TDPUSR_EVTFUNC = "tdpUsr_evtFunc";

int tdpUsr_evtFunc( int evtNo, char *sbj )
{
return TDP_cmdJump( GetEvtSbjPtr(sbj), evtNo );
}
# 145 "tdp.c"
int TdpUsr_setPathname( char *tdp, char *pn )
{
return ((0));
}

int TDP_menu_1( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(12);
MNU_setObj(obj, 0, (2), 'O', "File Open" , (0), (1101) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 1, (2), 'C', "File Close" , (0), (1102) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 2, (0), 0, (0) , (0), 0, (0) , (0));
MNU_setObj(obj, 3, (2), 'W', "Write file" , (0), (1104) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 4, (2), 'R', "Read file" , (0), (1103) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 5, (2), 'U', "Update file" , (0), (1105) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 6, (2), 'F', "Change Filename", (0), (1106) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 7, (2), 'E', "Edit original" , (0), (1107),TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj, 8, (0), 0, (0) , (0), 0, (0) , (0));
MNU_setObj(obj, 9, (2), 'P', "UPdate all" , (0), (1110) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj,10, (2), 'N', "New window" , (0), (1108) ,TDPUSR_EVTFUNC, tdp );
MNU_setObj(obj,11, (2), 'M', "Multi file open", (0), (1109) ,TDPUSR_EVTFUNC, tdp );

mnu = MNU_open( x, y, (1), obj, "MENU1 (FILE)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return (ret);
}
# 182 "tdp.c"
int tdp_evt_jump( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *dlg;
int ret, ln;
char buf[16];

tdp = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"行番号を入力してください。");
DLG_getsSetTitle( dlg, "JUMP" );
buf[0] = '\0';
ret = DLG_getsStart( dlg, 15, buf );
if ( ret > 0 && (ln = atoi(buf)) > 0 )
{
txd = TdpGetTxdPtr(tdp);
TXD_jumpLine( txd, ln - 1 );
}
DLG_getsClose(dlg);
return (0);
}
# 209 "tdp.c"
int _tdpSetRplPtn( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char buf[256];

tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
memset( buf, 0, 256);
if ( TXD_getCutBuf(txd,buf,256) >= 0 )
TXD_setReplacePtn( txd, buf );

return (evtNo);
}
# 228 "tdp.c"
int _tdpSetRplStr( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char buf[256];

tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
memset( buf, 0, 256);
if ( TXD_getCutBuf(txd,buf,256) >= 0 )
TXD_setReplaceStr( txd, buf );

return (evtNo);
}
# 247 "tdp.c"
int _tdpSetSearch( int evtNo, char *sbj )
{
char *tdp;
char *txd;
int len;
char buf[256];

tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
if ( (len = TXD_getCutBuf(txd,buf,256)) >= 0 )
TXD_setSearchPtn( txd, buf, len );

return (evtNo);
}
# 266 "tdp.c"
int TDP_menu_2( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(13);
MNU_setObj(obj, 0, (2), 'F', "Find & jump" , (0), (184) , (0), tdp );
MNU_setObj(obj, 1, (2), 'S', "Search" , (0), (180) , (0), tdp );
MNU_setObj(obj, 2, (2), 'R', "Replace" , (0), (190) , (0), tdp );
MNU_setObj(obj, 3, (2), 'A', "Multi replace All" , (0), (191) , (0), tdp );
MNU_setObj(obj, 4, (2), '1', "Set repalce pattern", (0), 0, "_tdpSetRplPtn", tdp );
MNU_setObj(obj, 5, (2), '2', "Set repalce strings", (0), 0, "_tdpSetRplStr", tdp );
MNU_setObj(obj, 6, (2), '3', "Set search pattern" , (0), 0, "_tdpSetSearch", tdp );
MNU_setObj(obj, 7, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 8, (2), 'J', "Jump" , (0), 0, "tdp_evt_jump" , tdp );
MNU_setObj(obj, 9, (2), 'T', "Top of text" , (0), (97) , (0), tdp );
MNU_setObj(obj,10, (2), 'B', "Bottom of text" , (0), (98) , (0), tdp );
MNU_setObj(obj,11, (2), 'L', "Last touch" , (0), (99) , (0), tdp );
MNU_setObj(obj,12, (2), 'M', "Mark" , (0), (1201) , (0), tdp );

mnu = MNU_open( x, y, (1), obj, "MENU2 (EDIT)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 302 "tdp.c"
int TDP_menu_3( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *txd;
int md;
unsigned int u[4];
char undoMsg[80], redoMsg[80];

txd = TdpGetTxdPtr(tdp);

obj = MNU_alloc(12);
if ( TXD_getUndoInfo( txd, u ) == (0) && u[3] > 0 )
{
md = (2);
sprintf( undoMsg, "Undo (%4d)", u[3] );
} else
{
md = (2) | (0x80);
strcpy( undoMsg, "Undo");
}
MNU_setObj(obj, 0, md, 'U', undoMsg , (0), (141), (0), tdp );

if ( TXD_getRedoInfo( txd, u ) == (0) && u[3] > 0 )
{
md = (2);
sprintf( redoMsg, "Redo (%4d)", u[3] );
} else
{
md = (2) | (0x80);
strcpy( redoMsg, "Redo");
}

MNU_setObj(obj, 1, md , 'R', redoMsg , (0), (142) , (0), tdp );
MNU_setObj(obj, 2, (0), 0 , (0) , (0), 0 , (0), (0));
MNU_setObj(obj, 3, (2), '1', "Split 1 left/right", (0), (1310) , (0), tdp );
MNU_setObj(obj, 4, (2), '2', "Split 2 up/down" , (0), (1320) , (0), tdp );
MNU_setObj(obj, 5, (0), 0, (0) , (0), 0 , (0), (0));
MNU_setObj(obj, 6, (2), 'P', "Print CUT-BUFFER" , (0), (1304), (0), tdp );
MNU_setObj(obj, 7, (2), 'T', "Text printout" , (0), (1330) , (0), tdp );
MNU_setObj(obj, 8, (0), 0, (0) , (0), 0 , (0), (0));
MNU_setObj(obj, 9, (2), 'C', "Calculator" , (0), (3041) , (0), tdp );
MNU_setObj(obj,10, (2), 'A', "Ascii code list" , (0), (1301), (0), tdp );
MNU_setObj(obj,11, (2), 'K', "Kanji code list" , (0), (1302), (0), tdp );

mnu = MNU_open( x, y, (1), obj, "MENU3 (UTILITY)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}




int _tdpSaveSetup( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *fdl;
int ret;
char tmp[256], *fn;

tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"SAVE SETUP");
FDL_set_wildcard( fdl, "*.kst" );
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".kst" );
TDP_saveKeySetup(tdp,tmp);
FDL_close(fdl);

return ((0));
}

int _tdpLoadSetup( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *fdl;
int ret;
char tmp[256], *fn;

tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"LOAD SETUP");
FDL_set_wildcard( fdl, "*.kst" );
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".kst" );
TDP_loadKeySetup(tdp,tmp);
FDL_close(fdl);

return ((0));
}

int _tdpCallHE386( int evtNo, char *sbj )
{
char *tdp;
char *pn;

tdp = GetEvtSbjPtr(sbj);
pn = ((tdp)+(28));
he386_menu( pn );

return ((0));
}

int _tdpCallGSPLAY( int evtNo, char *sbj )
{
char *tdp;
char *pn;

tdp = GetEvtSbjPtr(sbj);
pn = ((tdp)+(28));


AplDtaInit();
AplPclExec( "GSPLAY.EXP", 7 );

return ((0));
}

int _tdpCallHighC( int evtNo, char *sbj )
{
char *tdp;
char *pn;

tdp = GetEvtSbjPtr(sbj);
pn = ((tdp)+(28));

highc_menu(pn);

return ((0));
}
# 464 "tdp.c"
int TDP_menu_4( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(10);
MNU_setObj(obj, 0, (2), 'A', "Alphabet buffer" , (0), (3000) , (0) , tdp );
MNU_setObj(obj, 1, (2), 'K', "Key customize" , (0), (2032), (0) , tdp );
MNU_setObj(obj, 2, (2), 'S', "Save key setup data", (0), 0 , "_tdpSaveSetup" , tdp );
MNU_setObj(obj, 3, (2), 'L', "Load key setup data", (0), 0 , "_tdpLoadSetup" , tdp );
MNU_setObj(obj, 4, (0), 0 , (0) , (0), 0 , (0) , (0));
MNU_setObj(obj, 5, (2), 'U', "Upload" , (0), (2601) , (0) , tdp );
MNU_setObj(obj, 6, (0), 0 , (0) , (0), 0 , (0) , (0));
MNU_setObj(obj, 7, (2), 'H', "High C compiler" , (0), 0 , "_tdpCallHighC" , tdp );
MNU_setObj(obj, 8, (2), 'M', "MML Compile" , (0), 0 , "_tdpCallHE386" , tdp );
MNU_setObj(obj, 9, (2), 'G', "GSPLAY" , (0), 0 , "_tdpCallGSPLAY", tdp );

mnu = MNU_open( x, y, (1), obj, "MENU4 (OTHER)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 501 "tdp.c"
int CCI_loadKbl( int argc, char **argv )
{
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n  Load alphabet buffer  ", argv[1] );
TDP_loadAlBuf((0), argv[1]);
}
return ((0));
}
# 520 "tdp.c"
int CCI_loadRpl( int argc, char **argv )
{
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n  Load multi replace data  ", argv[1] );
TXD_loadRplBuf( argv[1] );
}
return ((0));
}

int TDP_menu_5( char *tdp ) { return ((-1)); }
int TDP_menu_6( char *tdp ) { return ((-1)); }
int TDP_menu_7( char *tdp ) { return ((-1)); }
int TDP_menu_8( char *tdp ) { return ((-1)); }
# 541 "tdp.c"
int TDP_setup2( char *tdp )
{
char *txd;
int ret;
char *mnu;
char *obj;
char *fn;

txd = TdpGetTxdPtr(tdp);
fn = (0);

obj = MNU_alloc(11);
MNU_setObj(obj, 0, (2), '0', "Natural  (black /white)", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), '1', "Flat     (black /gray) ", (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), '2', "Standard (white /black)", (0), 3, (0), (0) );
MNU_setObj(obj, 3, (2), '3', "Cool     (blue  /black)", (0), 4, (0), (0) );
MNU_setObj(obj, 4, (2), '4', "Chic     (green /black)", (0), 5, (0), (0) );
MNU_setObj(obj, 5, (2), '5', "Light    (yellow/black)", (0), 6, (0), (0) );
MNU_setObj(obj, 6, (2), '6', "Cobalt   (white /blue)" , (0), 7, (0), (0) );
MNU_setObj(obj, 7, (2), '7', "Fever    (white /red)" , (0), 8, (0), (0) );
MNU_setObj(obj, 8, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 9, (2), 'C', "Change color table" , (0), 10, (0), (0) );
MNU_setObj(obj,10, (2), 'S', "Save color table" , (0), 11, (0), (0) );

mnu = MNU_open( (0x10020), (0x10020),
(1), obj, "SETUP2" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

switch ( ret )
{
case 1: fn = "tdpcol70.tbl"; break;
case 2: fn = "tdpcol80.tbl"; break;
case 3: fn = "tdpcol07.tbl"; break;
case 4: fn = "tdpcol05.tbl"; break;
case 5: fn = "tdpcol04.tbl"; break;
case 6: fn = "tdpcol06.tbl"; break;
case 7: fn = "tdpcol17.tbl"; break;
case 8: fn = "tdpcol27.tbl"; break;
case 10:
TDP_cmdJump(tdp,(1910));
break;
case 11:
TxdUsr_saveColTbl( txd );
break;
}
if ( fn )
{
TXD_loadColTbl( txd, fn );
}
return ((0));
}
# 599 "tdp.c"
int TxdUsr_cut_word(char *txd )
{
if ( _getByte((txd)+(682)) != 0 )
return (0);
TXD_cmdJump( txd, (161) );
TXD_cmdJump( txd, (95) );
TXD_cmdJump( txd, (163) );
return ((0));
}
# 613 "tdp.c"
int TxdUsr_dup_line( char *txd )
{
if ( _getByte((txd)+(682)) != 0 )
return (0);
TXD_cmdJump( txd, (85) );
TXD_cmdJump( txd, (171) );
TXD_cmdJump( txd, (82) );
TXD_cmdJump( txd, (172));

return ((0));
}

int _txd_printUndoInf( char *dlg, int *ubuf )
{
DLG_msgPrintf(dlg,"  最大バッファサイズ %8d bytes\r\n", ubuf[0] );
DLG_msgPrintf(dlg,"  使用バッファサイズ %8d bytes\r\n", ubuf[1]);
DLG_msgPrintf(dlg,"  最大回数           %8d 回\r\n" , ubuf[2] );
DLG_msgPrintf(dlg,"  現在有効数         %8d 回" , ubuf[3] );
}
# 637 "tdp.c"
int TxdUsr_undo_info( char *txd )
{
char *dlg;
int ch, x, y;
int u[4];
unsigned int ec;

DSP_writePage(1);
dlg = DLG_msgOpen( (0x10020),(0x10020),
8*38,16*10,1,3,(0x1000|(((12)&15)<<4)|((7)&15)),
"UNDO/REDO BUFFER INFORMATION");
if ( dlg == (0) )
return ((-1));
DLG_msgClear( dlg, -1 );

if ( TXD_getUndoInfo( txd, u ) == (0) )
{
DLG_msgPuts( dlg,"- UNDO -\r\n" );
_txd_printUndoInf( dlg, u );
if ( TXD_getRedoInfo( txd, u ) == (0) )
{
DLG_msgPuts( dlg,"\r\n- REDO -\r\n" );
_txd_printUndoInf( dlg, u );
} else
{
DLG_msgPuts(dlg,"\r\n\n　REDO機能\は使用されていません。\r\n" );
}
} else
{
DLG_msgPuts(dlg,"\r\n　UNDO機能\は使用されていません。\r\n" );
}

while ( 1 )
{
ch = EVT_getkey(&ec);
if ( ch != 0xFFFF || EVT_mos_pget(&x,&y) )
break;
EVT_idl();
}
DLG_msgClose(dlg);
EVT_mos_waitBO();

return ((0));
}
# 686 "tdp.c"
int TxdUsr_clear_undo_buffer( char *txd )
{
TXD_undo_freeAll( txd );
return ((0));
}
# 696 "tdp.c"
int _txd_isRectCha(int ch)
{
switch ( ch )
{
case 0x84A1:
case 0x84A4:
case 0x84A5:
case 0x84A3:
case 0x84A2:
case 0x84A7:
case 0x84A8:
case 0x84A6:
case 0x84A9:
return (0);
case 0x84A0:
return (1);
case 0x849F:
return (2);

case 0x84AC:
case 0x84AD:
case 0x84AE:
case 0x84AF:
case 0x84B0:
case 0x84B1:
case 0x84B2:
case 0x84B3:
case 0x84B4:
return (0);
case 0x84AB:
return (1);
case 0x84AA:
return (2);

case 0x84CC:
case 0x84CD:
case 0x84CE:
case 0x84CF:
case 0x84D0:
case 0x84D1:
case 0x84D2:
case 0x84D3:
case 0x84D4:
return (0);
case 0x84CB:
return (1);
case 0x84CA:
return (2);

default:
return (-1);
}
}
# 754 "tdp.c"
int TxdUsr_auto_rect_edit( char *txd )
{
int saveLnL;
int saveOfs;
int typ, x, y;
int x1, y1, x2, y2;
int pos1LnL, pos1Ofs;
int pos2LnL, pos2Ofs;


saveLnL = _getDword((txd)+(652));
saveOfs = _getDword((txd)+(664));
if ( saveLnL == 0 || _getDword((txd)+(648)) == (0) || _getDword((txd)+(672)) == 0 )
return ((0));
if ( _txd_isRectCha(TXD_getch(txd)) >= 0 )
return ((0));


for(;;)
{
TXD_cmdJump(txd,(83));
typ = _txd_isRectCha(TXD_getch(txd));
if ( typ == (1) )
{
x1 = _getDword((txd)+(672));
break;
} else if ( _getDword((txd)+(672)) == 0 )
goto _ERR;
}


for(;;)
{
TXD_cmdJump(txd,(81));
x = _getDword((txd)+(672));
if ( x != x1 )
goto _ERR;
typ = _txd_isRectCha(TXD_getch(txd));
if ( typ == (0) )
{
y1 = _getDword((txd)+(656));
break;
} else if ( typ != (1) )
goto _ERR;
}

pos1LnL = _getDword((txd)+(652));
pos1Ofs = _getDword((txd)+(664));


for(;;)
{
TXD_cmdJump(txd,(82));
x = _getDword((txd)+(672));
if ( x != x1 )
goto _ERR;
typ = _txd_isRectCha(TXD_getch(txd));
if ( typ == (0) )
{
y2 = _getDword((txd)+(656));
break;
} else if ( typ != (1) )
goto _ERR;
}


for(;;)
{
TXD_cmdJump(txd,(84));
y = _getDword((txd)+(656));
if ( y != y2 )
goto _ERR;
typ = _txd_isRectCha(TXD_getch(txd));
if ( typ == (0) )
{
x2 = _getDword((txd)+(672));
break;
} else if ( typ != (2) )
goto _ERR;
}

if ( x1 >= x2 || y1 >= y2 )
goto _ERR;

pos2LnL = _getDword((txd)+(652));
pos2Ofs = _getDword((txd)+(664));

TXD_jumpPos( txd, pos1LnL, pos1Ofs );
TXD_cmdJump(txd,(84));
TXD_cmdJump(txd,(82));
TXD_cmdJump(txd,(231));

TXD_jumpPos( txd, pos2LnL, pos2Ofs );
TXD_cmdJump(txd,(81));
TXD_cmdJump(txd,(232));

return ((0));

_ERR:
TXD_jumpPos( txd, saveLnL, saveOfs );
return ((0));
}
# 865 "tdp.c"
int TxdUsr_getxt_searchPattern( char *txd )
{
unsigned int curLnL, curOfs;
int ret, ch, len;
char ptn[256+4];


curLnL = _getDword((txd)+(652));
curOfs = _getDword((txd)+(664));

if ( (ch = TXD_getch(txd)) > 0 )
{
len = 0;
while( len < 256 )
{
ch = TXD_getch(txd);
TXD_cmdJump( txd, (84) );
if ( (ch & 0xFF) < 0x20 )
break;
if ( ch < 256 )
{
if ( isdigit(ch) || isalpha(ch) || ch == '_' )
ptn[len++] = ch;
else
break;
} else
{
ptn[len++] = (ch>>8) & 0xFF;
ptn[len++] = ch & 0xFF;
}
}
ptn[len] = '\0';
TXD_jumpPos( txd, curLnL, curOfs );
if ( len == 0 )
return ((0));

if ( TXD_setSearchPtn( txd, ptn, len ) == (0) )
{
DSP_writePage(1);
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "Sear search pattern \n %s ", ptn );
}
}
return ((0));
}
# 916 "tdp.c"
int TxdUsr_set_searchPattern( char *txd )
{
int ret;
char *dlg;
char ttl[20+4], *ptn;

DSP_writePage(1);
ttl[0] = '\0';
dlg = DLG_getsOpen((0x10020), (0x10020),320,
"タイトルを入力してください。" );
if ( dlg == (0) )
return ((-1));
DLG_getsSetTitle( dlg, "検索パターン登録" );
ret = DLG_getsStart( dlg, 20, ttl);
DLG_getsClose(dlg);

if ( ret >= 0 )
{
ptn = _getDword((txd)+(752));
TxdSetSearchPattern( ttl, ptn);
}
return ((0));
}
# 945 "tdp.c"
int TxdUsr_form_1( char *txd )
{
char *tdp;

tdp = _getDword((txd)+(84));
_setByte((tdp)+(292),(0));

_setByte((txd)+(369),(0));
_setByte((txd)+(370),(0));
_setByte((txd)+(371),(1));
_setByte((txd)+(376),(0));
_setByte((txd)+(373),(1));
_setByte((txd)+(374),(1));
_setByte((txd)+(375),(0));
_setDword((txd)+(560),(6));
_setDword((txd)+(564),(12));
_setDword((txd)+(576),(256));
_setDword((txd)+(588),(4));

TXD_chgSize(txd);

return ((0));
}
# 973 "tdp.c"
int TxdUsr_form_2( char *txd )
{
char *tdp;

tdp = _getDword((txd)+(84));
_setByte((tdp)+(292),(0));

_setByte((txd)+(369),(1));
_setByte((txd)+(370),(0));
_setByte((txd)+(371),(1));
_setByte((txd)+(376),(1));
_setByte((txd)+(373),(1));
_setByte((txd)+(374),(1));
_setByte((txd)+(375),(0));
_setDword((txd)+(560),(8));
_setDword((txd)+(564),(16));
_setDword((txd)+(576),(38));
_setDword((txd)+(588),(2));

TXD_chgSize(txd);

return ((0));
}
# 1001 "tdp.c"
int TxdUsr_form_3( char *txd )
{
char *tdp;

tdp = _getDword((txd)+(84));
_setByte((tdp)+(292),(0));

_setByte((txd)+(369),(1));
_setByte((txd)+(370),(0));
_setByte((txd)+(371),(1));
_setByte((txd)+(376),(1));
_setByte((txd)+(373),(1));
_setByte((txd)+(374),(1));
_setByte((txd)+(375),(0));
_setDword((txd)+(560),(6));
_setDword((txd)+(564),(12));
_setDword((txd)+(576),(70));
_setDword((txd)+(588),(2));

TXD_chgSize(txd);

return ((0));
}
# 1029 "tdp.c"
int TxdUsr_form_4( char *txd )
{
char *tdp;

tdp = _getDword((txd)+(84));
_setByte((tdp)+(292),(0));

_setByte((txd)+(369),(0));
_setByte((txd)+(370),(0));
_setByte((txd)+(371),(1));
_setByte((txd)+(376),(1));
_setByte((txd)+(373),(1));
_setByte((txd)+(374),(1));
_setByte((txd)+(375),(0));
_setDword((txd)+(560),(6));
_setDword((txd)+(564),(12));
_setDword((txd)+(576),(76));
_setDword((txd)+(588),(2));

TXD_chgSize(txd);

return ((0));
}


int TxdUsr_jump_mark_0( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,0);}
int TxdUsr_jump_mark_1( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,1);}
int TxdUsr_jump_mark_2( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,2);}
int TxdUsr_jump_mark_3( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,3);}
int TxdUsr_jump_mark_4( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,4);}
int TxdUsr_jump_mark_5( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,5);}
int TxdUsr_jump_mark_6( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,6);}
int TxdUsr_jump_mark_7( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,7);}
int TxdUsr_jump_mark_8( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,8);}
int TxdUsr_jump_mark_9( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,9);}
# 6 "tdptmp.c"
char *_tdpTmp = (0);

int _tdpTmpData_open()
{
char tmp[256];

if ( _tdpTmp == (0) )
{
if ( (_tdpTmp = AMAC_allocWork(0)) == (0) )
return ((-1));
sprintf( tmp,"%s%s", AplGetStartPath(), "tdptmp.tbl" );
AMAC_load( _tdpTmp, tmp );
}
return ((0));
}
# 26 "tdptmp.c"
int TxdUsr_template( char *txd )
{
char word[256], tmp[4];
int ch, len;
int autoIndent;
unsigned int curLnL, curOfs, lnL;
char *s;

if ( _tdpTmpData_open() )
return ((-1));
if ( _getByte((txd)+(682)) != 0 )
return (0);


curLnL = _getDword((txd)+(652));
if ( (curOfs = _getDword((txd)+(664))) == 0 )
return ((0));

TXD_cmdJump( txd, (96) );
if ( _getDword((txd)+(652)) < curLnL )
TXD_cmdJump( txd, (84) );
if ( (ch = TXD_getch(txd)) < 0 || (isalpha(ch) == 0 && ch != '_') )
{
TXD_jumpPos( txd, curLnL, curOfs );
return ((0));
}

len = 0;
while( len < 255 )
{
ch = TXD_getch(txd);
TXD_cmdJump( txd, (84) );
if ( isalpha(ch) || ch == '_' )
{
word[len++] = ch;
} else
break;
}
word[len] = '\0';
TXD_jumpPos( txd, curLnL, curOfs );
if ( len == 0 )
return ((0));

if ( (s = AMAC_getName( _tdpTmp, word )) == (0) )
return ((0));


autoIndent = _getByte((txd)+(378));
_setByte((txd)+(378),((1)));

while ( *s )
{
ch = (*s) & 0xFF;
++s;
switch ( ch )
{
case '\x02':
TXD_cmdJump( txd, (85) );
break;
case '\x06':
TXD_cmdJump( txd, (86) );
break;
case '\x08':
TXD_cmdJump( txd, (122) );
break;
case '\n':
TXD_cmdJump( txd, (42) );
break;
case '\x0B':
TXD_jumpPos( txd, curLnL, curOfs );
break;
case '\x1C':
TXD_cmdJump( txd, (84) );
break;
case '\x1D':
TXD_cmdJump( txd, (83) );
break;
case '\x1E':
TXD_cmdJump( txd, (81) );
break;
case '\x1F':
TXD_cmdJump( txd, (82) );
break;
case '\x7F':
TXD_cmdJump( txd, (121) );
break;

default:
if ( iskanji(ch) && iskanji2(*s) )
{
tmp[0] = ch;
tmp[1] = *s; ++s;
tmp[2] = '\0';
TXD_setBuf( txd, 0, 2, tmp );
} else
{
tmp[0] = ch;
tmp[1] = '\0';
TXD_setBuf( txd, 0, 1, tmp );
}
break;
}
}
_setByte((txd)+(378),(autoIndent));
return ((0));
}
# 5 "tdpmml.c"
int mml_tone_gen( char *txd, char *name )
{
char tmp[256];

TXD_setBuf( txd, 0, 2, "\r\n");

sprintf( tmp, "#define\tA_%s\t$TONE_MODIFY(64,64,64, 64,64, 64,64,64)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tF_%s\t$INSTFILTER(off:0,off:0,rnd:-1/1)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tT_%s\t$F_%s() $INSTMAC(  0, 40, 80, 14,100, 0, 0,12) $A_%s()\r\n", name, name, name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tD_%s\t?(delay:*0..8)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tO_%s\to4\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tG_%s\tq92 ?#(gate:*-16..0)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\tC_%s\tv100 x127 i0 m0 p0\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

sprintf( tmp, "#define\t  %s\t$D_%s() $O_%s() $C_%s() $G_%s() $GenPin()\r\n", name, name, name, name, name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);

TXD_scnFlush( txd );
return ((0));
}

int TxdUsr_mml_toneGen( char *txd )
{
int ret;
char *dlg;
char name[128];

DSP_writePage(1);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"音色マクロ名を入力してください。");
DLG_getsSetTitle( dlg, "MML GENERATE" );
name[0] = '\0';
ret = DLG_getsStart( dlg, 127, name );
if ( ret > 0 && name[0] != '\0' )
{
mml_tone_gen( txd, name );
}
DLG_getsClose(dlg);
return (0);
}
# 5 "tdppghlp.c"
char *MACROKEY_PGHELP_PATH = "ProgHelp_path";
char *_PGHELP_FN = "_index";
# 16 "tdppghlp.c"
int _pgHelp_hash(char *name)
{
int hash, ch;

hash = 0;
while ( *name )
{
ch = (*name) & 0xFF;
hash = hash + (ch * 31);
++name;
}
return (hash & ((16)-1));
}

int _pgHelp(char *name)
{
char *path, fnIndex[256], fn[256];
char *fpIndex, *fp;
int ret, hash, numfn, n, ch, i;
char *s, *p, buf[(512)];
char *fntbl, fninf[(16)];
char tag[(40)+4], func[(28)+4];

char fbuf[64];
long fpos;

int x0, y0;
char *dlg;
char *txtPtr;

DSP_writePage(1);
x0 = y0 = (0x10030);
txtPtr = (0);

hash = _pgHelp_hash(name);
if ( (path = AMAC_getName( SysMacro, MACROKEY_PGHELP_PATH)) == (0) )
{
sprintf(buf, "%sMANUAL/", AplGetStartPath() );
AMAC_setKey( SysMacro, MACROKEY_PGHELP_PATH, buf );
if ( (path = AMAC_getName( SysMacro, MACROKEY_PGHELP_PATH)) == (0) )
return ((-1));
}


sprintf( fnIndex, "%s%s.%03d", path, _PGHELP_FN, hash );
if ( (fpIndex = FM_fopen(fnIndex,"rb")) == (0) )

return ((-1));
# 186 "tdppghlp.c"
ret = 0;
for(;;)
{
if ( fread(tag,(40),1,fpIndex) < 1 )
{
ret = -1;
break;
}
if ( strncmp( name, tag + ((40) - (28)), (28)) == 0 )
break;
}
FM_fclose(fpIndex);

if ( ret )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, "  %s : \n  Pattern not found!! ", name );
return ((-1));
}


sprintf( fnIndex, "%s%s.tbl", path, _PGHELP_FN );
if ( (fpIndex = FM_fopen(fnIndex,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, "  %s : \n  Can't open index file!! ", fnIndex );
return ((-1));
}
fpos = tag[0] * (16);
fseek(fpIndex,fpos,(0));
fread(fninf,(16),1,fpIndex);
FM_fclose(fpIndex);

if ( fninf[0] != tag[0] )
return ((-1));

sprintf(fn,"%s%s", path, fninf + 1);
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, "  %s : \n  Can't open manual file!! ", fn );
return ((-1));
}
fpos = _getDword(tag + 1);
fseek(fp,fpos,(0));



while ( fgets(buf,(512),fp) != (0) )
{
if ( buf[0] != '.' )
break;
}
for(;;)
{
txtPtr = DLG_txtSetLinBuf( txtPtr, 8, 80, "%s", buf );
if ( fgets(buf,(512),fp) == (0) )
break;
if ( buf[0] == '.' )
break;
}
FM_fclose(fp);

if ( (dlg = DLG_txtOpen(x0,y0,80,20,txtPtr,0)) == (0) )
{
DLG_txtFreeLinBuf( txtPtr );
return ((-1));
}
DLG_txtSetTitle( dlg, "PROGRAM HELPER" );
DLG_txtSetGuideMsg( dlg, "Function : %s", name );
DLG_txtStart( dlg );
DLG_txtClose( dlg );
DLG_txtFreeLinBuf( txtPtr );

return ((0));
}
# 271 "tdppghlp.c"
int TxdUsr_pg_help( char *txd )
{
int ret, ch, len;
char func[(28)+4];
unsigned int curLnL, curOfs;
char *dlg;

if ( _getByte((txd)+(682)) != 0 )
return (0);


curLnL = _getDword((txd)+(652));
curOfs = _getDword((txd)+(664));

if ( (ch = TXD_getch(txd)) > 0 && ch < 256 && (isalpha(ch) || ch == '_') )
{
len = 0;
while( len < (28) )
{
ch = TXD_getch(txd);
TXD_cmdJump( txd, (84) );
if ( isalpha(ch) || isdigit(ch) || ch == '_' )
{
func[len++] = ch;
} else
break;
}
func[len] = '\0';
TXD_jumpPos( txd, curLnL, curOfs );
if ( len == 0 )
return ((0));
} else
func[0] = '\0';

DSP_writePage(1);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"検索パターンを入力してください。" );
DLG_getsSetTitle( dlg, "PATTERN" );
ret = DLG_getsStart( dlg, (28), func );
DLG_getsClose(dlg);
if ( ret <= 0 )
return (0);

_pgHelp( func );

return (0);
}
# 5 "tdptool.c"
int _txd_get_tmpPath( char *pathsrc, char *pathdst )
{
unsigned int len;
char *pathtmp, tmp[256];

if ( (pathtmp = getenv("TMP")) == (0) )
pathtmp = "./";
len = strlen(pathtmp);
if ( len > 0 && FS_isdelim(pathtmp[len-1]) == 0 )
{
sprintf( tmp,"%s/$xtrtmp.)1(", pathtmp ); FS_unix2dos(pathsrc,tmp);
sprintf( tmp,"%s/$xtrtmp.)2(", pathtmp ); FS_unix2dos(pathdst,tmp);
} else
{
sprintf( tmp,"%s$xtrtmp.)1(", pathtmp ); FS_unix2dos(pathsrc,tmp);
sprintf( tmp,"%s$xtrtmp.)2(", pathtmp ); FS_unix2dos(pathdst,tmp);
}
}

int _tdp_extra_filter(char *txd,int mode)
{
int sel, ret, saveEofRead;
unsigned int len;
char *dlg;
char *btn;
static char buf1[128], buf2[128];
char *pathtmp, pathsrc[256], pathdst[256], tmp[256];
char *buf, *msg, cmd[1024];

DSP_writePage(1);
if ( mode == 0 )
{
buf = buf1;
msg = "command  <input  >output （リダイレクト）";
} else
{
buf = buf2;
msg = "command  input  output （パラメータ）";
}
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"%s", msg );
DLG_getsSetTitle( dlg, "外部フィルタコマンドの起動" );
ret = DLG_getsStart( dlg, 127, buf );
DLG_getsClose(dlg);
if ( ret <= 0 )
return ((0));

_txd_get_tmpPath( pathsrc, pathdst );
if ( mode == 0 )
sprintf( cmd, "%s <%s >%s", buf, pathsrc, pathdst );
else
sprintf( cmd, "%s %s %s", buf, pathsrc, pathdst );
if ( strlen(cmd) > 127 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
3, "コマンド名が長すぎます" );
return ((-1));
}

if ( _getByte((txd)+(682)) )
{
if ( _getByte((txd)+(683)) == (2) )
{
return ((-1));
}
sel = 1;
} else
{
sel = 0;
}


btn = MNU_allocBtn(3);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "EXECUTE : [実行]" );
MNU_setBtn( btn, 1, 'E' , 0x1300 , 2, "EX. (console) : [E]" );
MNU_setBtn( btn, 2, '\x1B', 0x7200, 3, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)),
(1), 3, btn,
"  command: %s  \n    実行しますか？  \n",
cmd );
MNU_freeBtn( btn );

if ( ret == 1 || ret == 2 )
{
if ( sel )
{
if ( TXD_cutSave( txd, pathsrc, 0 ) )
return ((-1));
} else
{
if ( TXD_saveFile2(txd,pathsrc,0) )
return ((-1));
}

if ( ret == 1 )
system( cmd );
else
cci_system( "FILTER COMMAND", cmd );

btn = MNU_allocBtn(3);
MNU_setBtn( btn, 0, 'E' , 0x1300 , 1, "EDIT : [E]" );
MNU_setBtn( btn, 1, '\r' , 0x7300 , 2, "VIEW : [実行]" );
MNU_setBtn( btn, 2, '\x1B', 0x7200, 3, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)),
(1), 3, btn,
"変換終了しました。\nEDIT   : 編集\nVIEW   : 閲覧\nCANCEL : 取消" );
MNU_freeBtn( btn );

if ( ret == 2 )
{
ret = 0;
SYL_puts(12,"[SPACE:編集（結果の書き込み）");
ret = TXD_tmpEdit(txd,pathdst,3,"Extract filter");
if ( ret == ' ' )
ret = 1;
}

if ( ret == 1 )
{
saveEofRead = _getByte((txd)+(383));
_setByte((txd)+(383),((0)));
if ( sel )
{
TXD_cmdJump(txd,(162));
TXD_includeFile2(txd,pathdst,0);
} else
{
TXD_clearBuffer(txd);
TXD_readFile2(txd,pathdst,0);
}
_setByte((txd)+(383),(saveEofRead));
TXD_scnFlush(txd);
}
}
return ((0));
}

int TxdUsr_extra_filter(char *txd)
{
return _tdp_extra_filter(txd,0);
}

int TxdUsr_extra_filter2(char *txd)
{
return _tdp_extra_filter(txd,1);
}
# 160 "tdptool.c"
int TxdUsr_spc_zen2han( char *txd )
{
int ret, mode, saveEofRead;
unsigned int len;
char *opt, *fnSetup;
char pathsrc[256], pathdst[256];
char cmd[1024];

if ( _getByte((txd)+(349)) || _getByte((txd)+(350)) )
return ((-1));

DSP_writePage(1);
_txd_get_tmpPath( pathsrc, pathdst );

if ( _getByte((txd)+(682)) )
{
if ( _getByte((txd)+(683)) == (2) )
return ((-1));
mode = 1;
if ( TXD_cutSave( txd, pathsrc, 0 ) )
return ((-1));
} else
{
mode = 0;
if ( TXD_saveFile2(txd,pathsrc,0) )
return ((-1));
}


sprintf(cmd,"sed -e \"s/　/  /g\" %s > %s", pathsrc, pathdst);

cci_system("XTR TRANSFORM", cmd);

saveEofRead = _getByte((txd)+(383));
_setByte((txd)+(383),((0)));
if ( mode )
{
TXD_cmdJump(txd,(162));
TXD_includeFile2(txd,pathdst,0);
} else
{
TXD_clearBuffer(txd);
TXD_readFile2(txd,pathdst,0);
}
_setByte((txd)+(383),(saveEofRead));
TXD_scnFlush(txd);

return (0);
}
# 5 "dcn.c"
char *_current_dcn;
char *_cns_console;
char _cns_comspec[128];
# 5 "dcntool.c"
int _dcn_copy( char *dcn )
{
int ret;
char *fdl;
char *btn;
int srcDrv, dstDrv;
char srcDir[128], tmp[128], dstPn[128];

srcDrv = FS_getdrv();
FS_getdir( srcDir );

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
SYL_puts( 12, "カレントディレクトリ上のファイルをすべて複写します。複写先に移動してください。");
FDL_set_title( fdl, "FILE COPY : 複写先指定");
FDL_set_wildcard( fdl, "*.*");

ret = FDL_start(fdl);

dstDrv = FDL_get_drv(fdl);
strcpy( tmp, FDL_get_whare(fdl) );
sprintf( dstPn, "%c:/%s", dstDrv + 'A', tmp );
FDL_close(fdl);
if ( ret != (0) )
return ((1));
if ( srcDrv == dstDrv && FS_cmpfnam( srcDir, tmp) == 0 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "  複写元と複写先が同じです。  ");
return ((1));
}
btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "COPY : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)),
(0), 2, btn,
"複写元 : %c:/%s  \n複写先 : %s  \n        複写を行いますか？      ",
srcDrv + 'A', srcDir, dstPn );
MNU_freeBtn( btn );
if ( ret != 1 )
return ((1));


FS_chdrv( srcDrv );
sprintf( tmp, "/%s", srcDir );
FS_chdir( tmp );
FM_fcopy( "*.*", 0x16, (0x01), dstPn, "" );

return ((1));
}

int _dcn_delete( char *dcn )
{
int i, ret;
unsigned int cf;
char *fn;
char *btn;
char *fdl;

if ( (fdl = FDL_open(((0x00000002)|(0x00000080)|(0x00010000)))) == (0) )
return ((-1));
FDL_set_title( fdl, "FILE DELETE");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"削除するファイルを指定してください。");
ret = FDL_start(fdl);
if ( ret != (0) )
{
SYL_clear();
FDL_close(fdl);
return ((1));
}
SYL_clear();

i = 0;
while ( FDL_getMarkFile(fdl, i) != (0) )
++i;

if ( i == 0 )
{
FDL_close(fdl);
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "    ファイル名が指定されていません。  " );
return ((1));
}

btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "DELETE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)), (0), 2, btn,
"  %d 個のファイルが指定されています。  \n        削除しますか？      ",
i );
MNU_freeBtn( btn );
if ( ret != 1 )
{
FDL_close(fdl);
return ((1));
}

i = 0;
while ( (fn = FDL_getMarkFile(fdl, i)) != (0) )
{
SYL_puts( 12, "DELETE : %s", fn );
FS_remove( fn );
++i;
}
FDL_close(fdl);

return ((1));
}
# 18 "ish.c"
int _ish_md = 0;
int _ish_os = 0;
int _ish_mv = 0;

int _ish_setMd()
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(4);
MNU_setObj(obj, 0, (2), 'S', " shift jis " , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), '7', " jis 7" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), '8', " jis 8" , (0), 2, (0), (0) );
MNU_setObj(obj, 3, (2), 'N', " non-kana" , (0), 3, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH 作成モード" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret >= 0 )
_ish_md = ret;
return (0);
}

int _ish_setOs()
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(7);
MNU_setObj(obj, 0, (2), 'D', " MS-DOS " , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'U', " UNIX" , (0), 1 , (0), (0) );
MNU_setObj(obj, 2, (2), 'M', " Mac" , (0), 2 , (0), (0) );
MNU_setObj(obj, 3, (2), 'C', " CP/M" , (0), 3 , (0), (0) );
MNU_setObj(obj, 4, (2), '9', " OS-9" , (0), 4 , (0), (0) );
MNU_setObj(obj, 5, (2), 'O', " other" , (0), 5, (0), (0) );
MNU_setObj(obj, 6, (2), 'A', " all" , (0), 6 , (0), (0) );

mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH OS 種別" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret >= 0 )
_ish_os = ret;
return (0);
}

int _ish_setMv()
{
int ret;
char *dlg;
char tmp[16], mv[16];

if ( _ish_mv == 0 )
strcpy( mv, "off");
else
sprintf( mv,"%d", mv );
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"    １ファイルの行数を入力してください（100〜9999）。  \n現在：%s",
mv );
DLG_getsSetTitle( dlg, "ISH マルチボリューム設定" );
tmp[0] = 0;
ret = DLG_getsStart( dlg, 15, tmp );
DLG_getsClose(dlg);
if ( ret >= 0 )
{ ret = atoi(tmp);
if ( ret > 99 && ret < 10000 )
_ish_mv = ret;
}
return (0);
}

int _ish_make( char *dcn )
{
int ret;
char *fdl;
char ish[128], dir[128], cmd[256];
char tmp[128];
char *md, *os, mv[16];


switch ( _ish_md )
{
case 0: md = "/ss"; break;
case 1: md = "/s7"; break;
case 2: md = "/s8"; break;
case 3: md = "/sn"; break;
}
switch ( _ish_os )
{
case 0: os = "/m" ; break;
case 1: os = "/u" ; break;
case 2: os = "/ma"; break;
case 3: os = "/c" ; break;
case 4: os = "/9" ; break;
case 5: os = "/?" ; break;
case 6: os = "/*" ; break;
}
if ( _ish_mv == 0 )
mv[0] = '\0';
else
sprintf( mv,"/mv %d", _ish_mv );

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "ISH ファイル作成");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"ISH ファイルにしたいファイルを選択してください。");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
FS_unix2dos( ish, tmp );
ret = (0);
} else
ret = (-1);
if ( ret == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, "  %s : \n    ISH ファイルを作成するディレクトリに移動してください。  ",
ish );
FDL_set_defaultFilename( fdl, "");
FDL_set_title( fdl, "ISH : ディレクトリ指定");
SYL_puts( 12,
"ISH ファイルを作成したいディレクトリに移動してください。");
ret = FDL_start(fdl);
if ( ret == (0) )
{
sprintf( tmp, "%c:/%s", FDL_get_drv(fdl) + 'A', FDL_get_whare(fdl) );
FS_unix2dos( dir, tmp );
FDL_close(fdl);
sprintf( cmd, "ish %s %s %s %s %s", ish, md, os, dir, mv );
DCN_puts( dcn, cmd );
DCN_exec( dcn, 0, cmd );
ret = (1);
} else
FDL_close(fdl);
} else
FDL_close(fdl);

SYL_clear();
return (ret);
}

int _ish_restore( char *dcn )
{
int ret;
char *fdl;
char ish[128], cmd[256], tmp[128];

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "ISH ファイルの復元");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"復元したいファイルを指定してください。");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( ish, FDL_get_filename(fdl)) == (0) )
ret = (0);
else
ret = (-1);
if ( ret == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, "  %s : \n復元先するディレクトリに移動してください。  ",
ish );
FDL_set_defaultFilename( fdl, "");
FDL_set_title( fdl, "ISH : 復元先ディレクトリの指定");
SYL_puts(12,
"ISH ファイルを復元したいディレクトリに移動してください。");
ret = FDL_start(fdl);
FDL_close(fdl);
if ( ret == (0) )
{
FS_unix2dos( tmp, ish );
sprintf( cmd, "ish %s /r", tmp );
DCN_puts( dcn, cmd );
DCN_exec( dcn, 0, cmd );
ret = (1);
}
} else
FDL_close(fdl);

SYL_clear();
return (ret);
}

int _ish_setobj( char *obj )
{
char *md, *os, mv[16];

switch ( _ish_md )
{
case 0: md = "shift jis"; break;
case 1: md = "jis7" ; break;
case 2: md = "jis8" ; break;
case 3: md = "non-kana" ; break;
}
switch ( _ish_os )
{
case 0: os = "MS-DOS"; break;
case 1: os = "UNIX" ; break;
case 2: os = "Mac" ; break;
case 3: os = "CP/M" ; break;
case 4: os = "OS-9" ; break;
case 5: os = "other" ; break;
case 6: os = "all" ; break;
}
if ( _ish_mv == 0 )
strcpy( mv, "off");
else
sprintf( mv, "%d", _ish_mv );

MNU_setObj(obj, 0, (2), 'I', " ISH ファイルの作成 " , (0), 1, (0) , (0) );
MNU_setObj(obj, 1, (4), 'S', " 作成モード       %s " , md , 0, "_ish_setMd", (0) );
MNU_setObj(obj, 2, (4), 'O', " OS種別           %s " , os , 0, "_ish_setOs", (0) );
MNU_setObj(obj, 3, (4), 'M', " マルチボリューム %s " , mv , 0, "_ish_setMv", (0) );
MNU_setObj(obj, 4, (0), 0 , (0) , (0), 0, (0) , (0) );
MNU_setObj(obj, 5, (2), 'R', " ISH ファイルの復元 " , (0), 2, (0) , (0) );

return (0);
}

int dcn_ish_menu( char *dcn )
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(6);
_ish_setobj(obj);
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH MENU" );
while ( 1 )
{
ret = MNU_start ( mnu );
if ( ret != 0 )
break;
_ish_setobj(obj);
}
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: return _ish_make(dcn);
case 2: return _ish_restore(dcn);
}
return ((-1));
}
# 5 "mktags.c"
char _mktags_mode;
char *_mktags_fp;
# 14 "mktags.c"
int _mktags_main_file(char *fn)
{
char *fp;
char buf[512], tmp[128];
int ret, pos, len, ln, ch, ec;
char *reptn;

sprintf( tmp,"---------- %s ----------\r\n", fn );
if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
return ((-1));
DCN_puts( _current_dcn, tmp );
fputs( tmp, _mktags_fp );
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{ RePtnFree( reptn );
return ((-1));
}
ret = 0;
ln = 0;
while ( fgets(buf,512,fp) != (0) )
{
++ln;
if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
{
sprintf( tmp, "%-14s %d: ", fn, ln );
fputs( tmp, _mktags_fp);
fputs( buf, _mktags_fp);
}
if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
{ DCN_puts( _current_dcn, "<<<BREAK>>>\r\n" );
ret = 1;
break;
}
}
FM_fclose(fp);
RePtnFree( reptn );
return (ret);
}


int _mktags_main_scn(char *fn)
{
char *fp;
char buf[512], tmp[128];
int ret, pos, len, ln, ch, ec;
char *reptn;

sprintf( tmp,"---------- %s ----------\r\n", fn );
if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
return ((-1));
DCN_puts(_current_dcn,tmp);
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{ RePtnFree( reptn );
return ((-1));
}
ret = 0;
ln = 0;
while ( fgets(buf,512,fp) != (0) )
{ ++ln;
if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
{
sprintf( tmp, "%-14s %d: ", fn, ln );
DCN_puts(_current_dcn, tmp);
DCN_puts(_current_dcn, buf);
}
if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
{ DCN_puts(_current_dcn, "<<<BREAK>>>\r\n");
ret = 1;
break;
}
}
FM_fclose(fp);
RePtnFree( reptn );

return (ret);
}

int _mktags_extract( char *wild )
{
char buf[64];
int ret, cnt;
# 100 "mktags.c"
cnt = 0;
ret = FM_findfirst( wild, 0, buf );
while ( ret == 0 )
{
++cnt;
# 109 "mktags.c"
if ( _mktags_mode )
ret = _mktags_main_file( buf );
else
ret = _mktags_main_scn( buf );
# 116 "mktags.c"
if ( ret > 0 )
break;
ret = FM_findnext( buf );
}
return (cnt > 0 ? (0) : (-1));
}

int MkTags( int argc, char **argv)
{
int i;
char *s;

if ( _mktags_mode )
{ if ( (_mktags_fp = FM_fopen("tags","wb")) == (0) )
return ((-1));
}
for ( i = 1; i < argc; ++i )
{ s = argv[i];
if ( *s == '-' || *s == '/' )
{
} else
{ _mktags_extract( s );
}
}
if ( _mktags_mode )
FM_fclose(_mktags_fp);
return ((0));
}
# 149 "mktags.c"
int _dcn_searchFunction( char *dcn )
{
int i, ret;
int argc;
char **argv;
char *para;

ret = MNU_sure ( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
"  　カレントディレクトリの 拡張子 .H .C .CCI ファイルから、  \n  関数定義，マクロ定義位置を探します。"
);
if ( ret != (1) )
return ((-1));

_mktags_mode = 0;
_current_dcn = dcn;
DCN_puts(_current_dcn,"\r\n");

para = "mktags *.h *.c *.cci";
argc = FS_argSet(para,&argv);
if ( argc > 0 )
{ MkTags( argc, argv );
FS_argClear( argc, argv );
}
return ((1));
}
# 181 "mktags.c"
int _dcn_mktags( char *dcn )
{
int i, ret;
int argc;
char **argv;
char *para;

ret = MNU_sure ( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
"  　カレントディレクトリの 拡張子 .H .C .CCI ファイルから、  \n  \x22tags\x22ファイルを作成します。"
);
if ( ret != (1) )
return ((-1));

_mktags_mode = 1;
_current_dcn = dcn;
DCN_puts(_current_dcn,"\r\n");

para = "mktags *.h *.c *.cci";
argc = FS_argSet(para,&argv);
if ( argc > 0 )
{ MkTags( argc, argv );
FS_argClear( argc, argv );
}
return ((1));
}
# 28 "dcn.c"
int DcnUsr_commandMenu( char *dcn, int x, int y )
{
int ret;
char *obj;
char *mnu;
char *cmd;

obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'D', "Directory" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'M', "MetaKey" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'C', "CD Dictionary", (0), 3, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "COMMAND" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
cmd = "DIR";
DCN_puts(dcn, cmd );
DCN_puts(dcn, "\r\n" );
DCN_exec(dcn, (1), cmd);
ret = (1);
break;
case 2:
DCN_metakey(dcn);
ret = 0;
break;
case 3:
DCN_puts(dcn, "\r\n" );
DCN_dic(dcn);
ret = (1);
break;
}
return (ret);
}
# 69 "dcn.c"
int DcnUsr_func_01( char *dcn )
{
return DCN_menu( dcn );
}
# 78 "dcn.c"
int DcnUsr_func_02( char *dcn )
{
int ret;
char *fdl;

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "DIRECTORY");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
FDL_close(fdl);

DCN_puts(dcn, "\r\n" );
if ( ret == (0) )
{



DCN_exec( dcn, 0, "dir /w" );

}
return ((1));
}
# 106 "dcn.c"
int DcnUsr_func_03( char *dcn )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C' , "Copy" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'D' , "Delete" , (0), 2, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "TOOL" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: ret = _dcn_copy(dcn); break;
case 2: ret = _dcn_delete(dcn); break;
}
return ((0));
}
# 132 "dcn.c"
int DcnUsr_func_04( char *dcn )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'M' , "Make \x22tags\x22 file" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'S' , "Search function defined position", (0), 2, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "CCI UTILITY" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: ret = _dcn_mktags(dcn); break;
case 2: ret = _dcn_searchFunction(dcn); break;

default: ret = (0); break;
}
return (ret);
}
# 160 "dcn.c"
int DcnUsr_func_05( char *dcn )
{
char *cns;
int ret;
char *mnu;
char *obj;

cns = DcnGetCnsPtr( dcn );

obj = MNU_alloc(5);
MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'T' , "Save color table" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 3, (2), 'S' , "Command setup" , (0), 3, (0), (0) );
MNU_setObj(obj, 4, (2), 'E' , "Exp search path" , (0), 4, (0), (0) );

mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "SETUP" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

switch ( ret )
{
case 1: DCN_changeColor( dcn ); break;
case 2: CnsUsr_saveColTbl( cns ); break;
case 3: Dcn_cmdSetup(); break;
case 4: CCI_setExpSearchPath(); break;
}
return ((0));
}
# 196 "dcn.c"
int DcnUsr_func_06( char *dcn )
{
DCN_puts(dcn, "\r\n" );
DCN_dic(dcn);
return ((1));
}
# 207 "dcn.c"
int DcnUsr_func_07( char *dcn )
{
# 216 "dcn.c"
return ((0));

}
# 224 "dcn.c"
int DcnUsr_func_08( char *dcn )
{
return dcn_ish_menu( dcn );
}
# 233 "dcn.c"
int DcnUsr_func_09( char *dcn )
{
char cmd[256];

sprintf( cmd, "%s %s /C miel *.*", _cns_console, _cns_comspec );
DCN_exec( dcn, 1, cmd );
return ((0));
}
# 246 "dcn.c"
int DcnUsr_func_10( char *dcn )
{
char cmd[256];

DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
3, "  ORICON を起動します。  \n    HEwinに戻るには[EXIT]とタイプしてください。  " );

sprintf( cmd, "%s %s", _cns_console, _cns_comspec );
DCN_exec( dcn, 0, cmd );
return ((0));
}
# 263 "dcn.c"
int DcnUsr_func_11( char *dcn )
{
DCN_help(dcn);
}
# 272 "dcn.c"
int DcnUsr_func_12( char *dcn )
{
return DCN_resizeMax(dcn);
}
# 281 "dcn.c"
int DcnUsr_func_32( char *dcn )
{
return DCN_resizeMin(dcn);
}


char *DcnTbl_scnSave[(2)] =
{
"ARICON", "ORICON"
};



char *DcnTbl_ignore[(3)] =
{
"386", "RUN386", "OAK"
};



char *DcnTbl_check[(2)] =
{
"POFF", "REIPL"
};

char *DcnTbl_pfkey[24] =
{
"MENU", "DIR", "TOOL", "UTY", "SETUP",
"CD.DIC",
# 317 "dcn.c"
"",


"ISH", "MIEL", "ORICON",
"HELP", "▲▼",

"", "", "", "", "",
"", "", "", "", "",
"",
"▽△"
};
# 333 "dcn.c"
int DcnUsr_sysInit()
{
char *s;
int i;

if ( (s = getenv("COMSPEC")) == (0) )
strcpy( _cns_comspec, "C:\\COMMAND.COM" );
else
strcpy( _cns_comspec, s );
_cns_console = "oricon";


for ( i = 0; i < (2); ++i )
DcnSetCommand( DcnTbl_scnSave[i], (0x40));


for ( i = 0; i < (3); ++i )
DcnSetCommand( DcnTbl_ignore[i], (0x80));


for ( i = 0; i < (2); ++i )
DcnSetCommand( DcnTbl_check[i], (0x20));


DcnSetCommand("LHx" ,(0x08));
DcnSetCommand("he386p" ,(0x08));
DcnSetCommand("sz" ,(0x08));
DcnSetCommand("rz" ,(0x08));
DcnSetCommand("gsplay" ,(0x08)|(0x40));
DcnSetCommand("cci" ,(0x08)|(0x40));
DcnSetCommand("znsplay",(0x08)|(0x40));


for ( i = 0; i < 24; ++i )
DCN_setPfkeyMsg( (i%12)+1, i/12, DcnTbl_pfkey[i] );

return ((0));
}

int DcnUsr_sysTerm()
{
return ((0));
}
# 381 "dcn.c"
int DcnUsr_system( char *dcn, char *cmd )
{
DCN_system(dcn, cmd);
return ((0));
}
# 24 "ntm.c"
int ntm_dialStart( char *ntm, char *tel )
{
int ret, count, i, argc;
char **argv;
char *mosTk;
char *center;
char *cmd;

if ( tel == (0) || tel[0] == '\0' )
{
TEL_ERR:
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "    電話番号が指定されていません。  " );
return ((-1));
}
argc = FS_argSet( tel, &argv );
if ( argc < 1 )
goto TEL_ERR;

mosTk = MOS_push();
MOS_curType((120));
if ( (center = NtmGetCenterPtr(ntm)) == (0) )
{
cmd = (0);
} else
{
cmd = NtmCenterGetModem1(center);
if ( cmd[0] == '\0' )
cmd = (0);
}
if ( cmd )
NTM_rsPuts(ntm,cmd);
else
NTM_rsPuts(ntm,"ATZ");
NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "OK", (0) );
if ( ret < 0 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "    Modem not ready!!    " );
ERR_RET:
MOS_pop( mosTk );
FS_argClear( argc, argv );
return ((-1));
}
if ( center )
{
NTM_wait(1);
cmd = NtmCenterGetModem2(center);
if ( cmd[0] != '\0' )
{
NTM_rsPuts(ntm,cmd);
NTM_rsPuts(ntm,"\r");
NTM_wait(2);
}
}

count = 0;
ret = 1;
while ( ret )
{
for ( i = 0; i < argc; ++i )
{
EVT_idl();
NTM_rsPuts(ntm, "ATD");
# 96 "ntm.c"
NTM_rsPuts(ntm, argv[i] );
NTM_rsPuts(ntm, "\r" );
MOS_curDisp(1);
ret = NTM_waitStr( ntm, 60, "CONNECT","BUSY","NO CARRIER", (0) );
if ( ret == 0 )
{
SYL_puts(12,"<<<<< CONNECT >>>>>");
break;
} else if ( ret < 0 )
goto ERR_RET;
if ( NTM_wait(5) != (0) )
goto ERR_RET;
++count;
}
}
NTM_online( ntm );
MOS_pop(mosTk);
FS_argClear( argc, argv );

return ((0));
}

int ntm_chDir( char *dir )
{
int len;
char tmp[128];

if ( (len = strlen(dir)) == 0 )
return ((0));
if ( len > 2 && isalpha(*dir) && dir[1] == ':' )
{
FS_chdrv( toupper(*dir) - 'A' );
}
if ( len > 0 && FS_isdelim(dir[len-1]) )
{
sprintf( tmp, "%s.", dir );
FS_chdir( tmp );
} else
FS_chdir( dir );
return ((0));
}

int ntmSetDownloadDir( char *ntm )
{
char *center;
char *dir;

if ( (center = NtmGetCenterPtr(ntm)) == (0) )
return ((-1));
dir = NtmCenterGetDownDir(center);
return ntm_chDir( dir );
}

int ntmSetUploadDir( char *ntm )
{
char *center;
char *dir;

if ( (center = NtmGetCenterPtr(ntm)) == (0) )
return ((-1));
dir = NtmCenterGetUpDir(center);
return ntm_chDir( dir );
}
# 165 "ntm.c"
char *NTMUSR_EVTFUNC = "ntmUsr_evtFunc";

int ntmUsr_evtFunc( int evtNo, char *sbj )
{
return NTM_cmdJump( GetEvtSbjPtr(sbj), evtNo );
}
# 176 "ntm.c"
int NtmUsr_commandMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), '1', "Input line on" , (0), (1001) ,NTMUSR_EVTFUNC, ntm );
MNU_setObj(obj, 1, (2), '2', "Input line off" , (0), (1002) ,NTMUSR_EVTFUNC, ntm );
MNU_setObj(obj, 2, (2), 'B', "Break" , (0), (1003) ,NTMUSR_EVTFUNC, ntm );
mnu = MNU_open( x, y, (1), obj, "COMMAND MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return (ret);
}

int ntmPrintCutBuf()
{
return TDP_printCutBuf((0));
}
# 203 "ntm.c"
int NtmUsr_fileMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;

obj = MNU_alloc(5);
MNU_setObj(obj, 0, (2), 'S', "Save log buffer" , (0), (1101) , NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, 1, (2), 'C', "Clear log buffer" , (0), (1102), NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, 2, (2), 'T', "Append to Text" , (0), (1103) , NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0 , (0) , (0));
MNU_setObj(obj, 4, (2), 'P', "Print CUT-BUFFER" , (0), 0 , "ntmPrintCutBuf", ntm );
mnu = MNU_open( x, y, (1), obj, "MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return (ret);
}
# 227 "ntm.c"
int ntm_textUpload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;

ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"TEXT FILE UPLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_fileUpload( ntm, fn );
}
FDL_close(fdl);

return ((0));
}
# 253 "ntm.c"
int ntm_Xupload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;

ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"X-MODEM FILE UPLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_Xupload( ntm, fn );
}
FDL_close(fdl);

return ((0));
}

char *ntm_getPara_rzsz(char *ntm)
{
char *rsb;
int baud, md;
char *spd, mode[8];
static char tmp[128];

rsb = NtmGetRsbPtr(ntm);
md = _getByte(rsb);
baud = _getByte(rsb + 1);
switch ( baud )
{
case 0: spd = "300"; break;
case 1: spd = "600"; break;
case 2: spd = "1200"; break;
case 3: spd = "2400"; break;
case 4: spd = "4800"; break;
case 5: spd = "9600"; break;
case 6: spd = "19200"; break;
}
mode[0] = ( md & 1 ) ? '8' : '7';
mode[1] = ( md & 2 ) ? (md & 4 ? 'E':'O') : 'N';
mode[2] = ( md & 8 ) ? '2' : '1';
mode[3] = '\0';

sprintf( tmp,"$-b%s $-m%s", spd, mode );
return (tmp);
}


char *SZ_PATH_KEY = "Sz_path";

int ntm_EXupload( int protcol, char *sbj )
{
int ret;
char *ntm;
char *dlg;
char *p, prog[128], cmd[1024];
int argc;
char **argv;

char *fdl;
char *fnptr, fn[256];

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"FILE UPLOAD (EXTERNAL COMMAND)");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fnptr = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fnptr) > 0 )
{
strcpy( fn, fnptr );
} else
fn[0] = '\0';
FDL_close(fdl);
if ( fn[0] == '\0' )
return ((0));

if ( (p = AMAC_getName(SysMacro,SZ_PATH_KEY)) == (0) )
{




strcpy( prog, "sz.exp");

AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
} else
strcpy( prog, p );

ntm = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
" Command & parameters " );
DLG_getsSetTitle( dlg, "Call external command" );
switch ( protcol )
{
case 1:
sprintf( cmd, "%s $sb $-q %s %s", prog, ntm_getPara_rzsz(ntm), fn );
break;
case 2:
default:
sprintf( cmd, "%s $sz $-q %s %s", prog, ntm_getPara_rzsz(ntm), fn );
break;
}
ret = DLG_getsStart( dlg, 1023, cmd );
DLG_getsClose(dlg);

if ( ret > 0 && cmd[0] )
{
argc = FS_argSet( cmd, &argv );
if ( argc > 0 )
{
if ( strcmpi( argv[0], prog ) )
{
strcpy( prog, argv[0] );
AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
}
FS_argClear( argc, argv );
}
AplDtaInit();
AplDtaSetStr( "$MainArg", "%s", cmd );

AplPclExec( prog, 0 );
}
return ((0));
}
# 388 "ntm.c"
int NtmUsr_uploadMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
int no, onum;

ntmSetUploadDir( ntm );
onum = 4;

onum += 2;

obj = MNU_alloc(onum);

no = 0;
MNU_setObj(obj, no++, (2), 'C', "Send CUT-BUFFER" , (0), (1201), NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, no++, (2), 'T', "Send text buffer" , (0), (1202), NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, no++, (2), 'N', "Normal file upload" , (0), 0 , "ntm_textUpload", ntm );
MNU_setObj(obj, no++, (2), 'X', "X-Modem upload" , (0), 0 , "ntm_Xupload" , ntm );

MNU_setObj(obj, no++, (2), 'Y', "Y-Modem (External)" , (0), 1 , "ntm_EXupload" , ntm );
MNU_setObj(obj, no++, (2), 'Z', "Z-Modem (External)" , (0), 2 , "ntm_EXupload" , ntm );


mnu = MNU_open( x, y, (1), obj, "UPLOAD" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return (ret);
}
# 425 "ntm.c"
int ntm_textDownload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;

ntm = GetEvtSbjPtr(sbj);

if ( NTM_fileDownCheck(ntm) )
return ((-1));

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"TEXT FILE DOWNLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_fileDownload( ntm, fn );
}
FDL_close(fdl);

return ((0));
}
# 455 "ntm.c"
int ntm_Xdownload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;

ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"X-MODEM FILE DOWNLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_Xdownload( ntm, fn );
}
FDL_close(fdl);

return ((0));
}


char *RZ_PATH_KEY = "Rz_path";

int ntm_EXdownload( int protcol, char *sbj )
{
int ret;
char *ntm;
char *dlg;
char *p, prog[128], cmd[1024];
int argc;
char **argv;

if ( (p = AMAC_getName( SysMacro, RZ_PATH_KEY)) == (0) )
{




strcpy( prog, "rz.exp");

AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
} else
strcpy( prog, p );
ntm = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
" Command & parameters " );
DLG_getsSetTitle( dlg, "Call external command" );
switch ( protcol )
{
case 1:
sprintf( cmd, "%s $-q $rb %s", prog, ntm_getPara_rzsz(ntm) );
break;
case 2:
default:
sprintf( cmd, "%s $-q $rz %s", prog, ntm_getPara_rzsz(ntm) );
break;
}
ret = DLG_getsStart( dlg, 1023, cmd );
DLG_getsClose(dlg);

if ( ret > 0 && cmd[0] )
{
argc = FS_argSet( cmd, &argv );
if ( argc > 0 )
{
if ( strcmpi( argv[0], prog ) )
{
strcpy( prog, argv[0] );
AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
}
FS_argClear( argc, argv );
}
AplDtaInit();
AplDtaSetStr( "$MainArg", "%s", cmd );
AplPclExec( prog, 0 );
}
return ((0));
}
# 589 "ntm.c"
int NtmUsr_downloadMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
int no, onum;

ntmSetDownloadDir(ntm);
onum = 2;
# 602 "ntm.c"
onum += 2;

obj = MNU_alloc(onum);
no = 0;
MNU_setObj(obj, no++, (2), 'N', "Normal file download" , (0), 0, "ntm_textDownload", ntm );
MNU_setObj(obj, no++, (2), 'X', "X-Modem download" , (0), 0, "ntm_Xdownload" , ntm );

MNU_setObj(obj, no++, (2), 'Y', "Y-Modem (External)" , (0), 1, "ntm_EXdownload" , ntm );
MNU_setObj(obj, no++, (2), 'Z', "Z-Modem (External)" , (0), 2, "ntm_EXdownload" , ntm );
# 615 "ntm.c"
mnu = MNU_open( x, y, (1), obj, "DOWNLOAD" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return (ret);
}
# 627 "ntm.c"
int ntm_directDial( char *ntm )
{
int ret;
char *dlg;
static char tel[256];

dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"電話番号を入力してください。");
DLG_getsSetTitle( dlg, "DIAL" );
ret = DLG_getsStart( dlg, 255, tel );
DLG_getsClose(dlg);
if ( ret > 0 )
{
ntm_dialStart( ntm, tel );
}
return ((0));
}

int ntm_centerSelect( char *ntm )
{
char *center;
char *keyWord;

if ( (center = NTM_centerSelect()) != (0) )
{ keyWord = NtmCenterGetKeyWord( center );
NTM_setCenter( ntm, keyWord );
}
return ((0));
}
# 661 "ntm.c"
int NtmUsr_autoFreeMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(5);
MNU_setObj(obj, 0, (2), 'D', "ダイアル" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'S', "センター指定" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 3, (2), 'N', "新規センター登録" , (0), 3, (0), (0) );
MNU_setObj(obj, 4, (2), 'K', "センターデータ削除" , (0), 4, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch( ret )
{
case 1: ret = ntm_directDial(ntm); break;
case 2: ret = ntm_centerSelect(ntm); break;
case 3: ret = NTM_makeNewCenter(); break;
case 4: ret = NTM_centerDelete(); break;
}
return (ret);
}
# 692 "ntm.c"
int NtmUsr_autoOffLineMenu( char *ntm, int x, int y )
{
int ret, n;
char *center;
char *name, *keyWord;
char *obj;
char *mnu;

center = NtmGetCenterPtr( ntm );
if ( center == (0) )
{
return NtmUsr_autoFreeMenu( ntm, x, y );
} else
{
name = NtmCenterGetName(center);
keyWord = NtmCenterGetKeyWord(center);
n = 6;
obj = MNU_alloc( n );
n = 0;
MNU_setObj(obj, n++, (2), 'L', "オートログイン" , (0), 1, (0), (0) );
MNU_setObj(obj, n++, (2), 'C', "センターデータ設定" , (0), 3, (0), (0) );
MNU_setObj(obj, n++, (2), 'S', "センター変更" , (0), 4, (0), (0) );
MNU_setObj(obj, n++, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, n++, (2), 'N', "新規センター登録" , (0), 5, (0), (0) );
MNU_setObj(obj, n++, (2), 'K', "センターデータ削除" , (0), 6, (0), (0) );
mnu = MNU_open( x, y, (1), obj, name );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogin( ntm );
case 3:
ret = NTM_centerConfig( keyWord );
if ( ret == (0) )
{
NTM_setCenter( ntm, keyWord );
}
return (ret);
case 4:
return ntm_centerSelect(ntm); break;
case 5:
return NTM_makeNewCenter();
case 6:
return NTM_centerDelete();
}
return ((0));
}
}
# 747 "ntm.c"
int NtmUsr_autoOnLineMenu( char *ntm, int x, int y )
{
int ret;
char *center;
char *obj;
char *mnu;

center = NtmGetCenterPtr( ntm );
if ( center == (0) )
{
obj = MNU_alloc(1);
MNU_setObj(obj, 0, (2), 'O', "OFF 回線切断", (0), 1, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: return NTM_offline(ntm,2);
}
return ((0));
} else
{
return NTM_callAutoMenu( ntm, x, y );
}
}

int _ntm_setFilterFunc( char *ntm, char *func )
{
int ret;

if ( (ret = NtmSetFilterFunc( ntm, func)) != (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "    %s : \n    このフィルタ関数は他のウィンドゥで既に使われています。  ",
func );
} else
{
NtmFilterModeOn( ntm );
}
return (ret);
}
# 795 "ntm.c"
int _ntm_inputFilterPtn( char *ntm )
{
int ret;
char *dlg;
char tmp[256];

strncpy( tmp, NtmGetFilterPtn(ntm), 255 );
tmp[255] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"%s", tmp );
DLG_getsSetTitle( dlg, "FILTER PATTERN" );
ret = DLG_getsStart( dlg, 255, tmp );
DLG_getsClose(dlg);
if ( ret > 0 )
{
if ( NtmSetFilterPtn(ntm,tmp,1) == (0) )
{
NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOn( ntm );
}
}

return ((0));
}

int _ntm_filterTest( char *ntm )
{
char *fdl;
char *fp;
int ret;
char *fn, tmp[256], buf[(512)];

if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"FILTER SEND FILE");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
strcpy( tmp, fn );
} else
ret = (-1);
FDL_close(fdl);

if ( ret == (0) )
{
NTM_puts( ntm, "\r\n***** FILTER TEST *****\r\n");
if ( (fp = FM_fopen( tmp,"rb")) == (0) )
{
NTM_puts( ntm, "\r\n@ File open error!!\r\n");
return ((-1));
}
while ( fgets(buf,(512),fp) != (0) )
{
NTM_sendFilter( ntm, buf );
if ( kbhit() )
{
NTM_puts( ntm, "\r\n***** BREAK *****\r\n");
break;
}
}
FM_fclose(fp);
}
return (0);
}
# 867 "ntm.c"
int NtmUsr_filterMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
_ntm_inputFilterPtn( ntm );
break;
case 2:
NtmSetFilterPtn( ntm, "",0 );
NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOff( ntm );
break;
case 3:
_ntm_filterTest( ntm );
break;
}
return ((0));
}


int NtmUsr_func_01( char *ntm ) { return NTM_cmdJump( ntm, (1100) ); }
int NtmUsr_func_02( char *ntm ) { return NTM_cmdJump( ntm, (1200) ); }
int NtmUsr_func_03( char *ntm ) { return NTM_cmdJump( ntm, (1300) ); }
int NtmUsr_func_04( char *ntm ) { return NTM_cmdJump( ntm, (1400) ); }
int NtmUsr_func_05( char *ntm ) { return NTM_cmdJump( ntm, (1500) ); }
int NtmUsr_func_06( char *ntm ) { return NTM_cmdJump( ntm, (1005) ); }

int NtmUsr_func_10( char *ntm ) { return NTM_cmdJump( ntm, (1003) ); }
int NtmUsr_func_11( char *ntm ) { NTM_help( ntm ); return ((0)) ; }
int NtmUsr_func_12( char *ntm ) { return NTM_cmdJump( ntm, (1011) ); }
int NtmUsr_func_32( char *ntm ) { return NTM_cmdJump( ntm, (1012) ); }

int ntm_saveColTbl( int ret, char *sbj )
{
char *ntm;
char *cns;

ntm = GetEvtSbjPtr(sbj);
cns = NtmGetCnsPtr( ntm );
CnsUsr_saveColTbl( cns );
return ((0));
}
# 926 "ntm.c"
int NtmUsr_func_25( char *ntm )
{
char *mnu;
char *obj;

obj = MNU_alloc(4);
MNU_setObj(obj, 0, (2), 'F' , "Change font size" , (0), (1030) , NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, 1, (0), 0 , (0) , (0), 0 , (0) , (0) );
MNU_setObj(obj, 2, (2), 'C' , "Change color table", (0), (1020), NTMUSR_EVTFUNC , ntm );
MNU_setObj(obj, 3, (2), 'T' , "Save color table" , (0), 0 , "ntm_saveColTbl", ntm );

mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "SETUP2" );
MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

return ((0));
}
# 6 "ntmlib.c"
int _ntm_errmsg_no_setup_id_and_pw()
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, "    ID とパスワードが設定されていません。  " );
}

int _ntm_dspmsg_dial_start( char *name, char *tel, char *cns )
{
DLG_tmpMsgTime( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, "  %s にダイアルします。\n    tel. %s\n    ログ保存行数 %d", name, tel,CnsGet_maxLinBuf(cns) );
}

int CCI_dspCenterRec(int argc, char **argv)
{
char *key;
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];

if ( argc < 2 )
return ((-1));
key = argv[1];
if ( (center = NTM_getCenter(key)) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
"  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 18 "nifty.c"
int _nifty_fenix;
char *_nifty_recKey;

char *_nif_amac = (0);
char _nifty_setid = 0;

int _NIFTY_init()
{
char *center;

NTM_setCenterFunc("NIFTY","NIFTY-Serve (road 1/2/3)");
if ( (center = NTM_centerAlloc( "NIFTY" )) != (0) )
{
NtmCenterSetName( center, "NIFTY-Serve");
NtmCenterSetFuncKey( center, "NIFTY");
NtmCenterSetRecKey( center, "NIFTY");
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetPara( center, "-fenix 2" );
NtmCenterSetModem1( center, "ATZ" );
}

return ((0));
}
# 49 "nifty.c"
int _NIFTY_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 70 "nifty.c"
int _NIFTY_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _nifty_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 81 "nifty.c"
int _NIFTY_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf, loginTime) );
} else
{
strcpy ( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _nifty_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 127 "nifty.c"
int _NIFTY_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
char *btn;

_nifty_setid = 0;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 148 "nifty.c"
_nifty_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _NIFTY_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}


_nifty_fenix = 2;
para = NtmCenterGetPara( center );
argc = FS_argSet( para, &argv );
if ( argc > 0 )
{
for ( i = 0; i < argc; ++i )
{
s = argv[i];
if ( strcmpi( s, "-fenix") == 0 )
{
s = argv[++i];
_nifty_fenix = atoi(s);
}
}
FS_argClear( argc, argv );
if ( _nifty_fenix < 1 || _nifty_fenix > 3 )
_nifty_fenix = 2;
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _nifty_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _NIFTY_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);

AplRecWrite("%s:Connect", _nifty_recKey );

NTM_wait(2);
if ( _nifty_fenix == 2 || _nifty_fenix == 3 )
{
if ( _nifty_fenix == 2 )
{
NtmSetBpSpeed(ntm,3);
retry = 0;
while ( 1 )
{
NTM_rsPuts( ntm, "@P\r");
ret = NTM_waitStr( ntm, 30, "*", (0) );
if ( ret == 0 )
{ break;
} else if ( ret == (-3) )
{ goto ABORT;
}

++retry;
if ( retry > 5 )
goto ABORT;
}
} else
{
NtmSetBpSpeed(ntm,5);
ret = NTM_waitStr( ntm, 30, "*", (0) );
if ( ret == (-3) )
goto ABORT;
}
retry = 0;
while ( 1 )
{
NTM_wait(1);
NTM_rsPuts(ntm, "C NIF\r");
NTM_wait(2);
ret = NTM_waitInstr(ntm,30," Enter Connection-ID  --->", "*", (0));
if ( ret == 0 )
{ break;
} else if ( ret == 1 )
{ ++retry;
if ( retry > 30 )
goto ABORT;
} else
goto ABORT;
}
} else
{
NtmSetBpSpeed(ntm,2);
retry = 0;
while ( 1 )
{ NTM_wait(1);
NTM_rsPuts(ntm,".00+");
ret = NTM_waitInstr(ntm, 30,"Enter Connection-ID  --->",
".1", ".2", ".3", ".4", ".5",
".6", ".7", ".8", ".9",
"NO CARRIER", (0) );
if ( ret == 0 )
{
break;
} else if ( ret < 10 )
{
++retry;
if ( retry > 30 )
goto ABORT;
} else
{
goto ABORT;
}
}
}

NTM_wait(1);
NTM_rsPuts(ntm,"SVC\r");

ret = NTM_waitStr( ntm, 30, " Enter User-ID  --->", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, " Enter Password --->", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _nifty_recKey );
MOS_pop(mos);

return ((0));
}
# 297 "nifty.c"
int _NIFTY_logout( char *ntm, char *center )
{
int ret;
long tm;
char tmp[256];

time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _nifty_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
if ( _nifty_fenix == 2 || _nifty_fenix == 3 )
{
ret = NTM_waitStr( ntm, 60, "*", (0) );
if ( ret == 0 )
{
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
}
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
} else
{
NTM_waitInstr( ntm, 60, "ご利用誠にありがとうございました。", (0) );
}
NTM_offline(ntm,2);
AplRecWrite("%s:Disconnect", _nifty_recKey);

if ( _nif_amac != (0) && _nifty_setid )
{
sprintf( tmp,"%s%s", AplGetStartPath(), "nifty_id.tbl" );
AMAC_save( _nif_amac, tmp, "NIFTY-Serve ID table" );
_nifty_setid = 0;
}
# 335 "nifty.c"
return ((0));
}
# 342 "nifty.c"
int _NIFTY_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 351 "nifty.c"
int _NIFTY_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 10 "niffltr.c"
int _nif_open_amac()
{
char tmp[256];

if ( _nif_amac == (0) )
{
if ( (_nif_amac = AMAC_allocWork(0)) == (0) )
return ((-1));


sprintf( tmp,"%s%s", AplGetStartPath(), "nifty_id.tbl" );
AMAC_load( _nif_amac, tmp );


sprintf( tmp,"%s%s", AplGetStartPath(), "nifty_id.lst" );
AMAC_load( _nif_amac, tmp );
}
return ((0));
}
# 34 "niffltr.c"
int _nif_setAmac( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;

char *dlg;
char *s, id[8+4], handle[8+4];

char *fdl;
char *fn;

static char *_LOAD_TITLE = "LOAD ID TABLE DATA for NIFTY-Serve";
static char *_SAVE_TITLE = "SAVE ID TABLE DATA for NIFTY-Serve";

_nif_open_amac();

do
{
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'I', "Set ID & handle name", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'L', "Load ID table data" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'S', "Save ID table data" , (0), 3, (0), (0) );

mnu = MNU_open( x, y, (1), obj, "ID REGISTRATION MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);

switch ( ret )
{
case 1:
id[0] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"" );
DLG_getsSetTitle( dlg, "ID" );
ret = DLG_getsStart( dlg, 8, id );
id[8] = '\0';
DLG_getsClose(dlg);
if ( ret <= 0 )
{ ret = (1);
break;
}

if ( (s = AMAC_getName( _nif_amac, id )) == (0) )
handle[0] = '\0';
else
{
strncpy( handle, s, 8 );
handle[8] = '\0';
}
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"ID:%s", id );
DLG_getsSetTitle( dlg, "HANDLE" );
ret = DLG_getsStart( dlg, 8, handle );
handle[8] = '\0';
DLG_getsClose(dlg);
if ( ret < 0 )
{ ret = (1);
break;
}
AMAC_setKey( _nif_amac, id, handle );
ret = 1;
break;

case 2:
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, _LOAD_TITLE );
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
dlg = DLG_msgOpen( (0x10030),(0x10030),
6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
_LOAD_TITLE );
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, -1 );
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
if ( AMAC_load( _nif_amac, fn ) != (0) )
DLG_msgPrintf(dlg,"@ LOAD ERROR!!r\n" );
else
DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
MNU_wait(3);
DLG_msgClose(dlg);
}
FDL_close(fdl);
ret = 1;
break;

case 3:
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, _SAVE_TITLE );
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
dlg = DLG_msgOpen( (0x10030),(0x10030),
6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
_SAVE_TITLE );
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, -1 );
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
if ( AMAC_save( _nif_amac, fn, "NIFTY-Serve ID table" ) != (0) )
DLG_msgPrintf(dlg,"@ SAVE ERROR!!r\n" );
else
DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
MNU_wait(3);
DLG_msgClose(dlg);
}
FDL_close(fdl);
ret = 1;
break;

default:
ret = 0;
break;
}
} while ( ret );

return ((0));
}
# 166 "niffltr.c"
int NifConf_flag = (0);
char *NifConf_reptn[20];

int NiftyFilter_confTitle( char *ntm, char *buf )
{
int i, len;
char key[8+4], handle[20], *name;

if ( NifConf_flag == (0) )
{
_nif_open_amac();




NifConf_reptn[1] = RePtnAlloc("番号　発言 (未読) 　最新　　会議室名",0);
NifConf_reptn[2] = RePtnAlloc(

"..     ... (....)   ../..   .*",0);



NifConf_reptn[11] = RePtnAlloc("- [A-Z].* MES(.[0-9]):.* -",0);




NifConf_reptn[12] = RePtnAlloc(

"[0-9]../[0-9]..   ...[0-9]....  .* .*",0);
NifConf_reptn[13] = RePtnAlloc(

"番号 ID       登録日      TO   CO   題名",0);
NifConf_reptn[14] = RePtnAlloc(

" ... ........ ../.. ..:.. ... ...   .*", 0);



NifConf_reptn[15] = RePtnAlloc(

"[0-9]..../[0-9].... ........  .* .*", 0);

NifConf_reptn[16] = RePtnAlloc(

"番号   ID       登録日      TO     CO 題名",0);

NifConf_reptn[17] = RePtnAlloc(

" .[ 0-9]... ........ ../.. ..:.. ..... ... .*",0);

NifConf_flag = (1);
}

if ( *buf == '-' )
{
if ( RePtnMatch( NifConf_reptn[11], buf) == 0 )
{
NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
}
} else
{
if ( strlen(buf) < 18 )
return (-1);
if ( strncmp(buf,"番号",4) == 0 )
{
if ( RePtnMatch( NifConf_reptn[ 1], buf) == 0
|| RePtnMatch( NifConf_reptn[13], buf) == 0
|| RePtnMatch( NifConf_reptn[16], buf) == 0 )
{
NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
}
} else if ( strchr(buf,'/') )
{
if ( RePtnMatch( NifConf_reptn[ 2], buf) == 0 )
{
NTM_puts(ntm,buf);
} else if ( RePtnMatch( NifConf_reptn[12], buf) == 0 )
{

strncpy( key, &buf[10], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) == (0) )
{
strncpy( handle, &buf[20],16); handle[16] = '\0';
for ( i = 15; i > 0; --i )
{
if ( handle[i] == ' ' )
handle[i] = '\0';
else
break;
}
AMAC_setKey( _nif_amac, key, handle );
_nifty_setid = 1;
}
NTM_puts(ntm,buf);
} else if ( RePtnMatch( NifConf_reptn[15], buf) == 0 )
{

strncpy( key, &buf[12], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) == (0) )
{
strncpy( handle, &buf[22],16); handle[16] = '\0';
for ( i = 15; i > 0; --i )
{
if ( handle[i] == ' ' )
handle[i] = '\0';
else
break;
}
AMAC_setKey( _nif_amac, key, handle );
_nifty_setid = 1;
}
NTM_puts(ntm,buf);
} else if ( RePtnMatch( NifConf_reptn[14], buf) == 0 )
{

strncpy( key, &buf[5], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
if ( (len = strlen(name)) > 0 )
{
if ( len < 8 )
len = 8;
for ( i = 0; i < len; ++i )
{ if ( *name )
{ buf[5+i] = *name;
++name;
} else
buf[5+i] = ' ';
}
}
}
NTM_puts(ntm,buf);
} else if ( RePtnMatch( NifConf_reptn[17], buf) == 0 )
{

strncpy( key, &buf[7], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
if ( (len = strlen(name)) > 0 )
{
if ( len < 8 )
len = 8;
for ( i = 0; i < len; ++i )
{ if ( *name )
{ buf[7+i] = *name;
++name;
} else
buf[7+i] = ' ';
}
}
}
NTM_puts(ntm,buf);
}
}
}
return (0);
}

char *_niftyFilter_reptn_rtc = (0);
# 333 "niffltr.c"
int NiftyFilter_rtc( char *ntm, char *buf )
{
if ( _niftyFilter_reptn_rtc == (0) )
{ _niftyFilter_reptn_rtc
= RePtnAlloc("([0-9],.*).*",0);
}
if ( *buf == '(' )
{ if ( RePtnMatch( _niftyFilter_reptn_rtc, buf) == 0 )
NTM_puts(ntm,buf);
}
}

int _nif_set_rtcFilter( char *ntm )
{
char *dlg;
int ret, ch;
char tmp[16], ptn[128];

tmp[0] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"表\示するチャンネルを指定してください。\n    （指定のない場合はすべて）    ");
DLG_getsSetTitle( dlg, "RTC FILTER" );
ret = DLG_getsStart( dlg, 15, tmp );
DLG_getsClose(dlg);
if ( ret >= 0 )
{
if ( ret == 0 )
strcpy( ptn, "([0-9]*,.*)");
else
{
if ( (ch = atoi(tmp)) < 1 )
return ((-1));
sprintf( ptn, "(%d,.*)", ch );
}
if ( _niftyFilter_reptn_rtc )
RePtnFree(_niftyFilter_reptn_rtc);
_niftyFilter_reptn_rtc = RePtnAlloc(ptn,0);
_ntm_setFilterFunc( ntm, "NiftyFilter_rtc");
return ((0));
} else
return ((-1));
}
# 381 "niffltr.c"
int NiftyFilter_dataLibrary( char *ntm, char *buf )
{
int i, len, sub;
char *center;
char *s, *t, fn[16], downFn[128];
char key[8+4], *name;
static int flag = 0;
static char *reptn_1 = (0);
static char *reptn_2 = (0);
static char *reptn_3 = (0);
static int headerLevel = 0;

if ( flag == 0 )
{
_nif_open_amac();


reptn_1 = RePtnAlloc("番号  ID       登録日付 バイト  参照   データ名",0);

reptn_2 = RePtnAlloc("..... ........ ../../.. ....... .... . .*",1);
reptn_3 = RePtnAlloc("処理 (.*)",0);
flag = 1;
}

len = strlen(buf);
if ( len > 42 && RePtnMatch( reptn_1, buf) == 0 )
{ NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
headerLevel = 0;
} else if ( len > 40 && RePtnMatch( reptn_2, buf) == 0 )
{

strncpy( key, &buf[6], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
if ( (len = strlen(name)) > 0 )
{
if ( len < 8 )
len = 8;
for ( i = 0; i < len; ++i )
{ if ( *name )
{ buf[6+i] = *name;
++name;
} else
buf[6+i] = ' ';
}
}
}
NTM_puts(ntm,buf);
headerLevel = 0;
} else if ( len > 10 && strncmp( buf, "データ名：", 10) == 0 )
{
NTM_puts( ntm, "\r\n" );
NTM_puts( ntm, buf );
headerLevel = 1;

s = &buf[10];
if ( isspace(*s) )
return (0);
t = fn;
len = 0;
sub = 0;
while ( len < 13 )
{
if ( *s == '\0' || isspace(*s) )
{ *t = '\0';
break;
} else if ( *s == '.' )
sub = 1;
*t = *s;
++t;
++s;
++len;
}
if ( len > 12 )
return (0);
if ( sub == 0 && len < 8 && *s )
{
while( isspace(*s) )
++s;
if ( *s == '.' )
{
while ( len < 13 )
{ if ( *s == '\0' || isspace(*s) )
{ *t = '\0';
break;
}
*t = *s;
++s;
++t;
++len;
}
if ( len > 12 )
return (0);
}
}
if ( (center = NtmGetCenterPtr(ntm)) != (0) )
{
s = NtmCenterGetDownDir(center);
if ( s && *s )
sprintf( downFn, "%s/%s", s, fn );
} else
strcpy( downFn, fn );
NTM_setCmdStr( ntm, downFn );
} else if ( headerLevel > 0 )
{
if ( headerLevel < 7 )
{
if ( strncmp( &buf[8], "：",2) == 0 )
{ NTM_puts( ntm, buf );
++headerLevel;
}
} else
{ if ( RePtnMatch( reptn_3, buf) == 0 )
{ headerLevel = 0;
} else
NTM_puts( ntm, buf );
}
}
return ((0));
}
# 507 "niffltr.c"
int _NIFTY_filterMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;

obj = MNU_alloc(9);
MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 4, (2), '1', "Conferrence room" , (0), 4, (0), (0) );
MNU_setObj(obj, 5, (2), '2', "Data library" , (0), 5, (0), (0) );
MNU_setObj(obj, 6, (2), '3', "Real time conferrence", (0), 6, (0), (0) );
MNU_setObj(obj, 7, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 8, (2), 'H', "Register Handle" , (0), 7, (0), (0) );

mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
_ntm_inputFilterPtn( ntm );
break;
case 2:
NtmSetFilterPtn ( ntm, "",0 );
NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOff( ntm );
break;
case 3:
_ntm_filterTest( ntm );
break;
case 4:
_ntm_setFilterFunc( ntm, "NiftyFilter_confTitle");
break;
case 5:
_ntm_setFilterFunc( ntm, "NiftyFilter_dataLibrary");
break;
case 6:
_nif_set_rtcFilter( ntm );
break;
case 7:
_nif_setAmac(ntm,x,y);
break;
}
return ((0));
}
# 65 "center00.c"
char *_center00_recKey;

int _CENTER00_init()
{
char *center;

NTM_setCenterFunc("CENTER00", "Sample center (type-00:generic)");
if ( (center = NTM_centerAlloc( "CENTER00" )) != (0) )
{
NtmCenterSetName( center, "Sample center (type-00:generic)");
NtmCenterSetFuncKey( center, "CENTER00");
NtmCenterSetRecKey( center, "CENTER00" );
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1( center, "ATZ" );
}
return ((0));
}
# 90 "center00.c"
int _CENTER00_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 111 "center00.c"
int _CENTER00_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center00_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 122 "center00.c"
int _CENTER00_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{
strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center00_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 166 "center00.c"
int _CENTER00_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;

mos = (0);
cns = NtmGetCnsPtr(ntm);

if ( CnsGet_maxLinBuf(cns) < 1024 )
CnsSet_maxLinBuf(cns,1024);

_center00_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER00_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _center00_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER00_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center00_recKey );
# 215 "center00.c"
s = "*** Hit any key ***";
if ( *s )
{
ret = NTM_waitInstr( ntm, 30, s, (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
}


s = "\r";
if ( *s )
NTM_rsPuts( ntm, s );
# 234 "center00.c"
s = "";
if ( *s )
{
ret = NTM_waitInstr( ntm, 30, s, (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
}


s = "";
if ( *s )
NTM_rsPuts( ntm, s );
# 253 "center00.c"
s = "";
if ( *s )
{
ret = NTM_waitInstr( ntm, 30, s, (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
}


s = "";
if ( *s )
NTM_rsPuts( ntm, s );
# 272 "center00.c"
s = "";
if ( *s )
{
ret = NTM_waitInstr( ntm, 30, s, (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
}


s = "";
if ( *s )
NTM_rsPuts( ntm, s );


ret = NTM_waitInstr( ntm, 30, "      ID ?", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, "Password ?", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center00_recKey );
MOS_pop(mos);

return ((0));
}
# 313 "center00.c"
int _CENTER00_logout( char *ntm, char *center )
{
int ret;
long tm;
char *s;

char *sub;
char *btn;
char *argv[2], tmp[128], *fn;
char *cns;


time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center00_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
# 335 "center00.c"
s = "LOGOUT (Y/N) ? ";
if ( *s )
{
NTM_waitInstr( ntm, 30, "LOGOUT (Y/N) ? ", (0) );
if ( ret != (-3) )
{

s = "Y\r";
if ( *s )
{
NTM_rsPuts( ntm, "Y\r");
}

}
}
# 356 "center00.c"
s = "";
if ( *s )
{
NTM_waitInstr( ntm, 30, "", (0) );
if ( ret != (-3) )
{

s = "";
if ( *s )
{
NTM_rsPuts( ntm, "");
}

}
}
# 377 "center00.c"
s = "";
if ( *s )
{
NTM_waitInstr( ntm, 30, "", (0) );
if ( ret != (-3) )
{

s = "";
if ( *s )
{
NTM_rsPuts( ntm, "");
}

}
}
# 398 "center00.c"
s = "";
if ( *s )
{
NTM_waitInstr( ntm, 30, "", (0) );
if ( ret != (-3) )
{

s = "";
if ( *s )
{
NTM_rsPuts( ntm, "");
}

}
}

NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center00_recKey);


sub = ".c00";
if ( *sub )
{
btn = MNU_allocBtn(2);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "SAVE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0), 2, btn,
"    ログの保存を行いますか？  ");
MNU_freeBtn(btn);
if ( ret == 1 )
{

fn = MakeFnDate( tmp, "K:/TMP/" , "l", sub );
# 436 "center00.c"
if ( fn )
{
cns = NtmGetCnsPtr(ntm);
CNS_saveFile( cns, fn, 1 );
}
}
}

return ((0));
}
# 451 "center00.c"
int _CENTER00_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 460 "center00.c"
int _CENTER00_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 471 "center00.c"
int _CENTER00_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 65 "center01.c"
char *_center01_recKey;

int _CENTER01_init()
{
char *center;

NTM_setCenterFunc("CENTER01", "Sample center (type-01:BIG-Model)");
if ( (center = NTM_centerAlloc( "CENTER01" )) != (0) )
{
NtmCenterSetName( center, "Sample center (type-01:BIG-Model)");
NtmCenterSetFuncKey( center, "CENTER01");
NtmCenterSetRecKey( center, "CENTER01" );
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1( center, "ATZ" );
}
return ((0));
}
# 91 "center01.c"
int _CENTER01_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 112 "center01.c"
int _CENTER01_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center01_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 123 "center01.c"
int _CENTER01_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{
strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center01_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 167 "center01.c"
int _CENTER01_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;

mos = (0);
cns = NtmGetCnsPtr(ntm);

if ( CnsGet_maxLinBuf(cns) < 1024 )
CnsSet_maxLinBuf(cns,1024);

_center01_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER01_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _center01_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER01_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center01_recKey );
# 288 "center01.c"
ret = NTM_waitInstr( ntm, 30, "ＩＤを入力してください :", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, "パスワードを入力してください :", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center01_recKey );
MOS_pop(mos);

return ((0));
}
# 314 "center01.c"
int _CENTER01_logout( char *ntm, char *center )
{
int ret;
long tm;
char *s;

char *sub;
char *btn;
char *argv[2], tmp[128], *fn;
char *cns;


time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center01_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "E\r");
# 336 "center01.c"
s = "(Y/N) ? ";
if ( *s )
{
NTM_waitInstr( ntm, 30, "(Y/N) ? ", (0) );
if ( ret != (-3) )
{

s = "Y\r";
if ( *s )
{
NTM_rsPuts( ntm, "Y\r");
}

}
}
# 416 "center01.c"
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center01_recKey);


sub = ".c01";
if ( *sub )
{
btn = MNU_allocBtn(2);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "SAVE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0), 2, btn,
"    ログの保存を行いますか？  ");
MNU_freeBtn(btn);
if ( ret == 1 )
{

fn = MakeFnDate( tmp, "K:/TMP/" , "l", sub );
# 438 "center01.c"
if ( fn )
{
cns = NtmGetCnsPtr(ntm);
CNS_saveFile( cns, fn, 1 );
}
}
}

return ((0));
}
# 453 "center01.c"
int _CENTER01_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 462 "center01.c"
int _CENTER01_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 473 "center01.c"
int _CENTER01_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 63 "center02.c"
char *_center02_recKey;

int _CENTER02_init()
{
char *center;

NTM_setCenterFunc("CENTER02", "Sample center (type-02:nanno)");
if ( (center = NTM_centerAlloc( "CENTER02" )) != (0) )
{
NtmCenterSetName( center, "Sample center (type-02:nanno)");
NtmCenterSetFuncKey( center, "CENTER02");
NtmCenterSetRecKey( center, "CENTER02" );
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1( center, "ATZ" );
}
return ((0));
}
# 89 "center02.c"
int _CENTER02_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 110 "center02.c"
int _CENTER02_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center02_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 121 "center02.c"
int _CENTER02_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{
strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center02_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 165 "center02.c"
int _CENTER02_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;

mos = (0);
cns = NtmGetCnsPtr(ntm);

if ( CnsGet_maxLinBuf(cns) < 1024 )
CnsSet_maxLinBuf(cns,1024);

_center02_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER02_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _center02_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER02_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center02_recKey );
# 214 "center02.c"
s = "HIT RETURN KEY>";
if ( *s )
{
ret = NTM_waitInstr( ntm, 30, s, (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
}


s = "\r";
if ( *s )
NTM_rsPuts( ntm, s );
# 286 "center02.c"
ret = NTM_waitInstr( ntm, 30, "User ID=", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, "Password=", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center02_recKey );
MOS_pop(mos);

return ((0));
}
# 312 "center02.c"
int _CENTER02_logout( char *ntm, char *center )
{
int ret;
long tm;
char *s;

char *sub;
char *btn;
char *argv[2], tmp[128], *fn;
char *cns;


time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center02_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
# 414 "center02.c"
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center02_recKey);


sub = ".c02";
if ( *sub )
{
btn = MNU_allocBtn(2);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "SAVE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0), 2, btn,
"    ログの保存を行いますか？  ");
MNU_freeBtn(btn);
if ( ret == 1 )
{

fn = MakeFnDate( tmp, "K:/TMP/" , "l", sub );
# 436 "center02.c"
if ( fn )
{
cns = NtmGetCnsPtr(ntm);
CNS_saveFile( cns, fn, 1 );
}
}
}

return ((0));
}
# 451 "center02.c"
int _CENTER02_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 460 "center02.c"
int _CENTER02_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 471 "center02.c"
int _CENTER02_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 61 "center03.c"
char *_center03_recKey;

int _CENTER03_init()
{
char *center;

NTM_setCenterFunc("CENTER03", "Sample center (type-03:)");
if ( (center = NTM_centerAlloc( "CENTER03" )) != (0) )
{
NtmCenterSetName( center, "Sample center (type-03:)");
NtmCenterSetFuncKey( center, "CENTER03");
NtmCenterSetRecKey( center, "CENTER03" );
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1( center, "ATZ" );
}
return ((0));
}
# 87 "center03.c"
int _CENTER03_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 108 "center03.c"
int _CENTER03_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center03_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 119 "center03.c"
int _CENTER03_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{
strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center03_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 163 "center03.c"
int _CENTER03_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;

mos = (0);
cns = NtmGetCnsPtr(ntm);

if ( CnsGet_maxLinBuf(cns) < 1024 )
CnsSet_maxLinBuf(cns,1024);

_center03_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER03_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _center03_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER03_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center03_recKey );
# 284 "center03.c"
ret = NTM_waitInstr( ntm, 30, "User ID: FM-", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, "Password:", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center03_recKey );
MOS_pop(mos);

return ((0));
}
# 310 "center03.c"
int _CENTER03_logout( char *ntm, char *center )
{
int ret;
long tm;
char *s;

char *sub;
char *btn;
char *argv[2], tmp[128], *fn;
char *cns;


time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center03_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "off\r");
# 412 "center03.c"
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center03_recKey);


sub = ".c03";
if ( *sub )
{
btn = MNU_allocBtn(2);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "SAVE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0), 2, btn,
"    ログの保存を行いますか？  ");
MNU_freeBtn(btn);
if ( ret == 1 )
{

fn = MakeFnDate( tmp, "K:/TMP/" , "l", sub );
# 434 "center03.c"
if ( fn )
{
cns = NtmGetCnsPtr(ntm);
CNS_saveFile( cns, fn, 1 );
}
}
}

return ((0));
}
# 449 "center03.c"
int _CENTER03_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 458 "center03.c"
int _CENTER03_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 469 "center03.c"
int _CENTER03_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 65 "center04.c"
char *_center04_recKey;

int _CENTER04_init()
{
char *center;

NTM_setCenterFunc("CENTER04", "Sample center (type-04:Turbo-BBS)");
if ( (center = NTM_centerAlloc( "CENTER04" )) != (0) )
{
NtmCenterSetName( center, "Sample center (type-04:Turbo-BBS)");
NtmCenterSetFuncKey( center, "CENTER04");
NtmCenterSetRecKey( center, "CENTER04" );
NtmCenterSetRsPara( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait( center, 100 );
NtmCenterSetTel( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1( center, "ATZ" );
}
return ((0));
}
# 91 "center04.c"
int _CENTER04_para( char *ntm, char *center )
{
char *keyWord;
char *id;

keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID( center );
if ( id[0] == 0 || NtmCenterChkPassword(center) == (0) )
return ((-1));
return ((0));
} else
return ((-1));
}
# 112 "center04.c"
int _CENTER04_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center04_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 123 "center04.c"
int _CENTER04_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;

if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{
sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{
strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );

sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center04_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 167 "center04.c"
int _CENTER04_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;

mos = (0);
cns = NtmGetCnsPtr(ntm);

if ( CnsGet_maxLinBuf(cns) < 1024 )
CnsSet_maxLinBuf(cns,1024);

_center04_recKey = NtmCenterGetRecKey(center);

name = NtmCenterGetName( center );
tel = NtmCenterGetTel( center );
id = NtmCenterGetID( center );
if ( tel[0] == 0 || id[0] == 0 || NtmCenterChkPassword(center) == (0) )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER04_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID( center );
tel = NtmCenterGetTel( center );
}

_ntm_dspmsg_dial_start( name, tel, cns );

AplRecWrite("%s:Dial start tel.%s", _center04_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER04_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}

mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center04_recKey );
# 288 "center04.c"
ret = NTM_waitInstr( ntm, 30, "User ID  = ", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");

ret = NTM_waitStr( ntm, 30, "Password = ", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_sendCenterPassword( ntm, center ); NTM_rsPuts(ntm,"\r");


time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center04_recKey );
MOS_pop(mos);

return ((0));
}
# 314 "center04.c"
int _CENTER04_logout( char *ntm, char *center )
{
int ret;
long tm;
char *s;

char *sub;
char *btn;
char *argv[2], tmp[128], *fn;
char *cns;


time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center04_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "O\r");
# 336 "center04.c"
s = "(Y/[N]) >";
if ( *s )
{
NTM_waitInstr( ntm, 30, "(Y/[N]) >", (0) );
if ( ret != (-3) )
{

s = "Y\r";
if ( *s )
{
NTM_rsPuts( ntm, "Y\r");
}

}
}
# 416 "center04.c"
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center04_recKey);


sub = ".c04";
if ( *sub )
{
btn = MNU_allocBtn(2);
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "SAVE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0), 2, btn,
"    ログの保存を行いますか？  ");
MNU_freeBtn(btn);
if ( ret == 1 )
{

fn = MakeFnDate( tmp, "K:/TMP/" , "l", sub );
# 438 "center04.c"
if ( fn )
{
cns = NtmGetCnsPtr(ntm);
CNS_saveFile( cns, fn, 1 );
}
}
}

return ((0));
}
# 453 "center04.c"
int _CENTER04_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 462 "center04.c"
int _CENTER04_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 473 "center04.c"
int _CENTER04_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 985 "ntm.c"
int NtmUsr_sysInit()
{
int i;


_NIFTY_init();
# 1006 "ntm.c"
_CENTER00_init();


_CENTER01_init();


_CENTER02_init();


_CENTER03_init();


_CENTER04_init();


NTM_loadCenterData( "center.dat" );
}

int NtmUsr_sysTerm( int saveFlag )
{
if ( saveFlag )
NTM_saveCenterData( "center.dat" );
return ((0));
}
# 1036 "ntm.c"
int NtmUsr_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 1045 "ntm.c"
int NtmUsr_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 12 "tools.c"
int CCI_sidework()
{
AplSideWorkMenu();
return ((0));
}
# 25 "tools.c"
int CCI_textViewer( int argc, char **argv)
{
if ( argc > 1 )
{ AplHelpDlg( argv[1], "TEXT" );
}
return ((0));
}
# 39 "tools.c"
int CCI_callGX16(int argc, char **argv)
{
int att;
short fr[4], trm[2];

fr[0] = 0x10;
fr[1] = 0x20;
fr[2] = 0xFF;
fr[3] = 0x7F;
trm[0] = fr[0];
trm[1] = fr[1];
if ( AplDta_setGX16para( "", fr, trm, (0) ) != 0 )
return ((-1));

att = (1)
| (2)
| (16)
| (32)
| (128);
AplPclExec( "gx16.exp", att );

return (0);
}
# 68 "tools.c"
int CCI_cddic()
{
int att;

att = (1)
| (2)
| (16)
| (32)
| (128)
| (256) ;
AplPclExec( "cddic.exp", att );

return (0);
}
# 6 "sndplay.c"
int CCI_sndPlay(int argc, char **argv)
{
char *fp;
char *fdl;
char *dlg;
char *fn, buf[128], *dat;
int ret, ch, mute_sw, x, y;
long siz;

if ( argc > 1 )
{
fn = argv[1];
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"SND PLAY");
FDL_set_wildcard( fdl, "*.snd");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
strcpy( buf, fn );
fn = buf;
} else
ret = (-1);
FDL_close(fdl);
if ( ret != (0) )
return ((-1));
}

if ( (fp = FM_fopen(fn,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, "file open error!! (%s)", fn );
return ((-1));
}
fseek(fp, 0, (2));
siz = ftell(fp);
rewind(fp);
if( (dat = malloc(siz)) == (0) )
{
FM_fclose(fp);
DLG_tmpMsgBox ( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
"Memory allocation error!! (size %u)", siz );
return ((-1));
}
fread( dat, siz, 1, fp );
FM_fclose(fp);

dlg = DLG_msgOpen( (0x10020),(0x10020),
6*40,12*6, 1,3,(0x1000|(((12)&15)<<4)|((7)&15)),
"SND PLAYER");

DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, 15);
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"SND DATA FILE : %s\r\n", fn );
DLG_msgPrintf(dlg,"    DATA SIZE : %8u\r\n", siz );
DLG_msgPrintf(dlg,"    BASE NOTE : %d\r\n", dat[28]&127 );

SND_get_elevol_mute( &mute_sw );
mute_sw |= 1;
SND_elevol_mute( mute_sw );

SND_pcm_abort();
SND_pcm_mode_set(1);
ch = 71;
SND_pan_set(ch,64);
SND_pitch_change(ch,8192);
SND_volume_change(ch,127);
SND_pcm_play(ch, dat[28] & 127, 127, dat);
while ( SND_pcm_status(ch) != 0 )
{ if ( EVT_kbhit() || EVT_mos_pget(&x,&y) )
{
DLG_msgPrintf(dlg,"\r\nAbort...\r\n" );
break;
}
}
SND_pcm_play_stop(ch);

DLG_msgClose( dlg );

free(dat);

return ((0));
}
