FX 02.45.1306
This commit is contained in:
parent
583dd5b44d
commit
6f3113751b
|
@ -5,7 +5,7 @@
|
|||
[BINDATA] : "FXADDINror.bin"
|
||||
[DISPNAME] : "CBASIC"
|
||||
[APPNAME] : "@CBASIC"
|
||||
[VERSION] : "02.45.1101"
|
||||
[VERSION] : "02.45.1306"
|
||||
[APL_ICON] : "MainIcon.bmp"
|
||||
[MODULE_NUM] : 0
|
||||
[MOD1_TITLE] : "CBASIC"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[DLSimProject]
|
||||
Name=CBASIC
|
||||
Version=02.45.1101
|
||||
Version=02.45.1306
|
||||
Model=:fx-9860G.dlm
|
||||
SourcePath=.
|
||||
MemoryPath=INIT
|
||||
|
|
|
@ -927,6 +927,13 @@ complex Cplx_Evalsub1(char *SRC) { // 1st Priority
|
|||
return Int2Cplx( CB_System( SRC ) );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return Int2Cplx( CB_Version() ); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return Dbl2Cplx( REGf[c-0xFFFFFF90] );
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -389,6 +389,13 @@ complex Cplx_ListEvalsub1(char *SRC) { // 1st Priority
|
|||
return Int2Cplx( CB_System( SRC ) );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return Int2Cplx( CB_Version() ); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return Dbl2Cplx( REGf[c-0xFFFFFF90] );
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -749,6 +749,13 @@ int EvalIntsub1(char *SRC) { // 1st Priority
|
|||
return CB_System( SRC );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return CB_Version(); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return REGf[c-0xFFFFFF90];
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -344,6 +344,13 @@ int ListEvalIntsub1(char *SRC) { // 1st Priority
|
|||
return CB_System( SRC );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return CB_Version(); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return REGf[c-0xFFFFFF90];
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -131,6 +131,9 @@ void CBint_Store( char *SRC ){ // ->
|
|||
} else if ( c == 0x5F ) { // Ticks
|
||||
ExecPtr+=2;
|
||||
goto StoreTicks;
|
||||
} else if ( ( 0xFFFFFF91 <= c ) && ( c <= 0xFFFFFF93 ) ) { // F Start~F pitch
|
||||
ExecPtr+=2;
|
||||
REGf[c-0xFFFFFF90] = CBint_CurrentValue ; ;
|
||||
} else if ( c == 0x00 ) { // Xmin
|
||||
Xmin = CBint_CurrentValue ;
|
||||
SetXdotYdot();
|
||||
|
|
|
@ -479,24 +479,24 @@ int CB_GetColor( char *SRC ){
|
|||
return -1;
|
||||
}
|
||||
|
||||
//void CB_PlotLineColor( char *SRC ){
|
||||
// CB_GetColor( SRC );
|
||||
//}
|
||||
//void CB_BackColor( char *SRC ){
|
||||
// int c=SRC[ExecPtr];
|
||||
// if ( c=='@' ) {
|
||||
// ExecPtr++;
|
||||
// CB_GetColor( SRC );
|
||||
// } else {
|
||||
// CB_GetColor( SRC );
|
||||
// }
|
||||
//}
|
||||
//void CB_TransparentColor( char *SRC ){
|
||||
// int color;
|
||||
// int c=SRC[ExecPtr];
|
||||
// if ( ( c==':' ) || ( c==0x0D ) || ( c==0x0C ) || ( c==0 ) ) {
|
||||
// } else {
|
||||
// CB_GetColor( SRC );
|
||||
// }
|
||||
//}
|
||||
void CB_PlotLineColor( char *SRC ){
|
||||
CB_GetColor( SRC );
|
||||
}
|
||||
void CB_BackColor( char *SRC ){
|
||||
int c=SRC[ExecPtr];
|
||||
if ( c=='@' ) {
|
||||
ExecPtr++;
|
||||
CB_GetColor( SRC );
|
||||
} else {
|
||||
CB_GetColor( SRC );
|
||||
}
|
||||
}
|
||||
void CB_TransparentColor( char *SRC ){
|
||||
int color;
|
||||
int c=SRC[ExecPtr];
|
||||
if ( ( c==':' ) || ( c==0x0D ) || ( c==0x0C ) || ( c==0 ) ) {
|
||||
} else {
|
||||
CB_GetColor( SRC );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2153,16 +2153,21 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
}
|
||||
|
||||
if ( key == 0x1F91B ) { // Graph Y Store
|
||||
i=CommandType;
|
||||
CB_StoreString( 1, ClipBuffer );
|
||||
CommandType=i;
|
||||
key=0;
|
||||
}
|
||||
if ( key == 0x2F91B ) { // Graph Y Recall
|
||||
i=CommandType;
|
||||
string = CB_RecallString( 1 );
|
||||
goto pastestring;
|
||||
}
|
||||
if ( key == 0x4F91B ) { // Graph Y See
|
||||
i=CommandType;
|
||||
string = CB_SeeString( 1, &selectStr, ClipBuffer );
|
||||
pastestring:
|
||||
CommandType=i;
|
||||
if ( string != NULL ) {
|
||||
EditPaste( filebase, string, &csrPtr, &Undo );
|
||||
UpdateLineNum=1;
|
||||
|
@ -2243,7 +2248,7 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
ClipStartPtr = -1 ; // ClipMode cancel
|
||||
} else {
|
||||
// if ( key == KEY_CHAR_POW ) key='^';
|
||||
if ( key == KEY_CTRL_XTT ) key='X'; //
|
||||
if ( key == KEY_CTRL_XTT ) key=XTTKey( key ); // 'X' or <r> or <Theta> or T
|
||||
|
||||
help_code=key;
|
||||
do {
|
||||
|
|
|
@ -3017,9 +3017,36 @@ void ChangeFavorites( int oldStorageMode, int newStorageMode ){ // old <> new fa
|
|||
void ChangeStorageMode( int newMode ) {
|
||||
ChangeFavorites( StorageMode, newMode ); // old -> new favorites
|
||||
StorageMode = newMode;
|
||||
FileListUpdate = 1;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------ load from main memory
|
||||
void LoadConfig1data( int n ) { // config data ->List Ans
|
||||
unsigned char fname[8] ="CBasic1";
|
||||
unsigned char buffer[ConfigMAX];
|
||||
int fsize;
|
||||
switch ( n ) {
|
||||
case 1:
|
||||
fsize=ConfigMAX;
|
||||
break;
|
||||
case 2:
|
||||
fsize=ConfigMAX2;
|
||||
fname[6]='2';
|
||||
break;
|
||||
case 3:
|
||||
fsize=ConfigMAX3;
|
||||
fname[6]='3';
|
||||
break;
|
||||
default:
|
||||
return ;
|
||||
}
|
||||
if ( LoadConfigReadFile( buffer, fname, fsize ) < 0 ) { CB_Error(CantFindFileERR); return ; }
|
||||
|
||||
NewMatListAns( fsize, 1, 0, 8 ); // List Ans
|
||||
if ( ErrorNo ) return ;
|
||||
memcpy( MatAry[CB_MatListAnsreg].Adrs, buffer , fsize );
|
||||
dspflag=4; // List Ans;
|
||||
}
|
||||
|
||||
void LoadConfig1(){
|
||||
const unsigned char fname[]="CBasic1";
|
||||
|
|
309
fx/CBZ_inp.c
309
fx/CBZ_inp.c
|
@ -3128,15 +3128,24 @@ int InputStrSubC(int x, int y, int width, int ptrX, char* buffer, int MaxStrlen,
|
|||
}
|
||||
|
||||
if ( key == 0x1F91B ) { // Graph Y Store
|
||||
CB_StoreString( 1, ClipBuffer );
|
||||
i=CommandType;
|
||||
CB_StoreString( 1, buffer );
|
||||
CommandType=i;
|
||||
SaveDisp(SAVEDISP_PAGE1);
|
||||
key=0;
|
||||
}
|
||||
if ( key == 0x2F91B ) { // Graph Y Recall
|
||||
i=CommandType;
|
||||
string = CB_RecallString( 1 );
|
||||
CommandType=i;
|
||||
SaveDisp(SAVEDISP_PAGE1);
|
||||
goto pastestring;
|
||||
}
|
||||
if ( key == 0x4F91B ) { // Graph Y See
|
||||
string = CB_SeeString( 1, &selectStr, ClipBuffer );
|
||||
i=CommandType;
|
||||
string = CB_SeeString( 1, &selectStr, buffer );
|
||||
CommandType=i;
|
||||
SaveDisp(SAVEDISP_PAGE1);
|
||||
pastestring:
|
||||
if ( string != NULL ) {
|
||||
EditPaste1( buffer, string, &ptrX, MaxStrlen );
|
||||
|
@ -3228,7 +3237,7 @@ int InputStrSubC(int x, int y, int width, int ptrX, char* buffer, int MaxStrlen,
|
|||
if ( hex_mode && ( KEY_CHAR_TAN == key ) ) key=KEY_CHAR_F;
|
||||
if ( hex_mode && ( lowercase && ( 'A' <= key ) && ( key <= 'Z' ) ) ) key+=('a'-'A');
|
||||
// if ( float_mode && ( key == KEY_CHAR_POW ) ) key='^';
|
||||
if ( ( key == KEY_CTRL_XTT ) ) key='X'; // ^
|
||||
if ( ( key == KEY_CTRL_XTT ) ) key=XTTKey( key ); // 'X' or <r> or <Theta> or T
|
||||
codeok:
|
||||
if (ClipStartPtr>=0) {
|
||||
ClipStartPtr = -1 ; // ClipMode cancel
|
||||
|
@ -3399,6 +3408,300 @@ complex InputNumC_CB2(int x, int y, int width, int MaxStrlen, char* SPC, int REV
|
|||
else Cplx_sprintGR1s(ExpBuffer, defaultNum, MaxStrlen, LEFT_ALIGN, CB_Round.MODE, CB_Round.DIGIT ,0 );
|
||||
return InputNumC_CB_sub( x, y, width, MaxStrlen, strlenOp((char*)ExpBuffer), SPC, REV, defaultNum);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------------
|
||||
void CB_Input( char *SRC ){
|
||||
unsigned int key;
|
||||
int c;
|
||||
complex DefaultValue={0,0};
|
||||
int flag=0,flagint=0;
|
||||
int reg,bptr,mptr;
|
||||
int dimA,dimB,base;
|
||||
char buffer[256];
|
||||
char* MatAryC;
|
||||
short* MatAryW;
|
||||
int* MatAryI;
|
||||
int width=255,length=ExpMax-1,option=0,rev=REV_OFF;
|
||||
char spcchr[]={0x20,0,0};
|
||||
char buffer2[64];
|
||||
int aryN,aryS;
|
||||
char *StrFnPtr;
|
||||
|
||||
KeyRecover();
|
||||
HiddenRAM_MatAryStore(); // MatAry ptr -> HiddenRAM
|
||||
CB_ChangeTextMode( SRC ) ;
|
||||
// CB_SelectTextDD(); // Select Text Screen
|
||||
if ( CursorX==22 ) CursorX=1;
|
||||
if ( CursorX==23 ) Scrl_Y();
|
||||
|
||||
c=SRC[ExecPtr];
|
||||
if ( c=='(' ) { // ?option([csrX][,csrY][,width][,spcchr][,length][,R])
|
||||
c=SRC[++ExecPtr];
|
||||
if ( ( c==')' ) || ( c==0x0E ) ) goto optionexit;
|
||||
if ( c!=',' ) {
|
||||
CursorX=CB_EvalInt( SRC ); if ( ( CursorX<1 ) || ( 21<CursorX ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
CursorY=CB_EvalInt( SRC ); if ( ( CursorY<1 ) || ( 8<CursorY ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
width=CB_EvalInt( SRC ); if ( ( width<1 ) || ( 21<width ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 256-1 ); // String -> buffer return
|
||||
} else { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
spcchr[0]=buffer[0];
|
||||
spcchr[1]=buffer[1];
|
||||
spcchr[2]=buffer[2];
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
length=CB_EvalInt( SRC ); if ( ( length<1 ) || ( ExpMax-1<length ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=')' ) {
|
||||
if ( ( c=='R' ) || ( c=='r' ) ) { // reverse
|
||||
ExecPtr++;
|
||||
rev=REV_ON;
|
||||
}
|
||||
}
|
||||
optionexit:
|
||||
option=1;
|
||||
if ( SRC[ExecPtr]==')' ) ExecPtr++;
|
||||
} else {
|
||||
locate( CursorX, CursorY); Print((unsigned char*)"?");
|
||||
Scrl_Y();
|
||||
}
|
||||
|
||||
c=SRC[ExecPtr];
|
||||
bptr=ExecPtr;
|
||||
reg=RegVar(c);
|
||||
if ( c==0x0E ) { // ->
|
||||
flag=0;
|
||||
if ( CB_IsStr( SRC, ExecPtr+1 ) ) flag=2;
|
||||
} else
|
||||
if ( reg>=0 ) {
|
||||
regj:
|
||||
flag=1;
|
||||
c=SRC[ExecPtr+1];
|
||||
if (CB_INT==1) {
|
||||
if ( c=='#' ) {
|
||||
DefaultValue = LocalDbl[reg][0] ;
|
||||
} else { flagint=1;
|
||||
if ( c=='[' ) {
|
||||
ExecPtr+=2;
|
||||
MatOprandInt2( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else
|
||||
if ( ( '0'<=c )&&( c<='9' ) ) {
|
||||
ExecPtr++;
|
||||
dimA=c-'0';
|
||||
MatOprand1num( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else DefaultValue = Int2Cplx( LocalInt[reg][0] );
|
||||
}
|
||||
} else {
|
||||
if ( c=='%' ) { flagint=1;
|
||||
DefaultValue = Int2Cplx( LocalInt[reg][0] );
|
||||
} else {
|
||||
if ( c=='[' ) {
|
||||
ExecPtr+=2;
|
||||
MatOprand2( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else
|
||||
if ( ( '0'<=c )&&( c<='9' ) ) {
|
||||
ExecPtr++;
|
||||
dimA=c-'0';
|
||||
MatOprand1num( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else DefaultValue = LocalDbl[reg][0] ;
|
||||
}
|
||||
}
|
||||
} else
|
||||
if ( c==0x7F ) {
|
||||
c = SRC[ExecPtr+1] ;
|
||||
if ( ( c == 0x40 ) || ( c == 0xFFFFFF84 ) || ( ( c == 0x51 ) || ( (0x6A<=c)&&(c<=0x6F) ) ) ) { // Mat A[a,b] or Vct A[a] or List 1[a]
|
||||
MatrixOprand( SRC, ®, &dimA, &dimB );
|
||||
Matrix:
|
||||
if ( ErrorNo ) { // error
|
||||
if ( MatAry[reg].SizeA == 0 ) ErrorNo=NoMatrixArrayERR; // No Matrix Array error
|
||||
return ;
|
||||
}
|
||||
DefaultValue = Cplx_ReadMatrix( reg, dimA, dimB);
|
||||
ExecPtr=bptr;
|
||||
} else if ( ( 0xFFFFFF91 <= c ) && ( c <= 0xFFFFFF93 ) ) { // F Start~F pitch
|
||||
ExecPtr+=2;
|
||||
DefaultValue.real = REGf[c-0xFFFFFF90] ;
|
||||
} else if ( c == 0x00 ) { // Xmin
|
||||
DefaultValue.real = Xmin ;
|
||||
} else if ( c == 0x01 ) { // Xmax
|
||||
DefaultValue.real = Xmax ;
|
||||
} else if ( c == 0x02 ) { // Xscl
|
||||
DefaultValue.real = Xscl ;
|
||||
} else if ( c == 0x04 ) { // Ymin
|
||||
DefaultValue.real = Ymin ;
|
||||
} else if ( c == 0x05 ) { // Ymax
|
||||
DefaultValue.real = Ymax ;
|
||||
} else if ( c == 0x06) { // Yscl
|
||||
DefaultValue.real = Yscl ;
|
||||
} else if ( c == 0x08) { // Thetamin
|
||||
DefaultValue.real = TThetamin ;
|
||||
} else if ( c == 0x09) { // Thetamax
|
||||
DefaultValue.real = TThetamax ;
|
||||
} else if ( c == 0x0A) { // Thetaptch
|
||||
DefaultValue.real = TThetaptch ;
|
||||
} else if ( c == 0x0B ) { // Xfct
|
||||
DefaultValue.real = Xfct ;
|
||||
} else if ( c == 0x0C ) { // Yfct
|
||||
DefaultValue.real = Yfct ;
|
||||
} else if ( c == 0xFFFFFFF0 ) { // GraphY
|
||||
reg =defaultGraphAry;
|
||||
aryN=defaultGraphAryN;
|
||||
aryS=defaultGraphArySize;
|
||||
c=6; // +offset
|
||||
goto strj;
|
||||
} else {
|
||||
goto exitj;
|
||||
}
|
||||
flag=1;
|
||||
} else
|
||||
if ( c==0xFFFFFFF9 ) {
|
||||
c = SRC[ExecPtr+1] ;
|
||||
if ( c == 0x3F ) { // Str 1-20
|
||||
reg =defaultStrAry;
|
||||
aryN=defaultStrAryN;
|
||||
aryS=defaultStrArySize;
|
||||
strj0:
|
||||
c=0;
|
||||
strj:
|
||||
ExecPtr+=2;
|
||||
StrFnPtr = GetStrYFnPtr( SRC, reg, aryN+1-MatBase, aryS ) +c;
|
||||
if ( ErrorNo ) return ; // error
|
||||
flag=3;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x1B ) { // fn
|
||||
reg=defaultFnAry;
|
||||
aryN=defaultFnAryN;
|
||||
aryS=defaultFnArySize;
|
||||
goto strj0;
|
||||
} else
|
||||
if ( c == 0x41 ) { // DATE
|
||||
ExecPtr+=2;
|
||||
flag=4;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x42 ) { // TIME
|
||||
ExecPtr+=2;
|
||||
flag=5;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x21 ) { // Xdot
|
||||
DefaultValue.real = Xdot ;
|
||||
flag=1;
|
||||
} else goto exitj;
|
||||
} else
|
||||
if ( c=='$' ) {
|
||||
ExecPtr++;
|
||||
MatrixOprand( SRC, ®, &dimA, &dimB );
|
||||
if ( ErrorNo ) return ; // error
|
||||
if ( MatAry[reg].SizeA == 0 ) { CB_Error(NoMatrixArrayERR); return; } // No Matrix Array error
|
||||
if ( MatAry[reg].ElementSize != 8 ) { CB_Error(ArgumentERR); return; } // element size error
|
||||
flag=3;
|
||||
ExecPtr=bptr;
|
||||
} else {
|
||||
exitj:
|
||||
reg=RegVarAliasEx( SRC ); if ( reg>=0 ) goto regj; // variable alias
|
||||
CB_Error(SyntaxERR); return; } // Syntax error
|
||||
|
||||
switch ( flag ) {
|
||||
case 0: // ? -> A value
|
||||
if ( option ) {
|
||||
CB_CurrentValue = InputNumC_CB2( CursorX, CursorY, width, length, spcchr, rev, Int2Cplx(0), 0 ); // zero not disp
|
||||
} else {
|
||||
CB_CurrentValue = InputNumC_CB( CursorX, CursorY, width, length, spcchr, rev, Int2Cplx(0) );
|
||||
}
|
||||
ExecPtr++;
|
||||
if ( CB_INT==1 ) flagint=1;
|
||||
vinp:
|
||||
ErrorNo=0; // error cancel
|
||||
if ( BreakPtr > 0 ) { ExecPtr=BreakPtr; return ; }
|
||||
CBint_CurrentValue = CB_CurrentValue.real ;
|
||||
if ( flagint ) {
|
||||
CBint_Store( SRC );
|
||||
break;
|
||||
}
|
||||
CB_Store( SRC );
|
||||
break;
|
||||
case 1: // ?A value
|
||||
if ( option ) {
|
||||
CB_CurrentValue = InputNumC_CB2( CursorX, CursorY, width, length, spcchr, rev, DefaultValue, 1 ); // zero disp
|
||||
} else {
|
||||
buffer2[0]='\0';
|
||||
Cplx_sprintGR2( buffer, buffer2, DefaultValue, 22-CursorX, RIGHT_ALIGN, CB_Round.MODE, CB_Round.DIGIT );
|
||||
locate( CursorX, CursorY); Print((unsigned char*)buffer);
|
||||
if ( buffer2[0] != '\0' ){
|
||||
Scrl_Y();
|
||||
locate( CursorX, CursorY); Print((unsigned char*)buffer2);
|
||||
}
|
||||
Scrl_Y();
|
||||
CB_CurrentValue = InputNumC_CB1( CursorX, CursorY, width, length, spcchr, rev, DefaultValue );
|
||||
}
|
||||
goto vinp;
|
||||
break;
|
||||
case 2: // ? -> str
|
||||
CB_CurrentStr=buffer;
|
||||
CB_CurrentStr[0]='\0';
|
||||
Inpj1: if ( option == 0 ) CursorX=1;
|
||||
key=InputStr( CursorX, CursorY, width, CB_CurrentStr, length, spcchr, rev);
|
||||
ErrorNo=0; // error cancel
|
||||
if ( key==KEY_CTRL_AC ) { BreakPtr=ExecPtr; return ; }
|
||||
if ( SRC[ExecPtr]==0x0E ) ExecPtr++; // -> skip
|
||||
CB_StorStr( SRC );
|
||||
break;
|
||||
case 3: // ?$Mat ?Str1-20
|
||||
CB_CurrentStr=buffer;
|
||||
// OpcodeStringToAsciiString(buffer, StrFnPtr, 255);
|
||||
strncpy( buffer, StrFnPtr, 255);
|
||||
if ( width > MatAry[reg].SizeB-1 ) width=MatAry[reg].SizeB-1;
|
||||
key=InputStr( CursorX, CursorY, width, CB_CurrentStr, length, spcchr, rev);
|
||||
ErrorNo=0; // error cancel
|
||||
if ( key==KEY_CTRL_AC ) { BreakPtr=ExecPtr; return ; }
|
||||
CB_StorStr( SRC );
|
||||
break;
|
||||
case 4: // ?DATE
|
||||
CB_DateToStr();
|
||||
CB_CurrentStr[10]='\0'; // week cancel
|
||||
Inpj2:
|
||||
// CB_Print(CursorX, CursorY, (unsigned char*)CB_CurrentStr);
|
||||
// Scrl_Y();
|
||||
goto Inpj1;
|
||||
break;
|
||||
case 5: // ?TIME
|
||||
CB_TimeToStr();
|
||||
goto Inpj2;
|
||||
break;
|
||||
}
|
||||
if ( option == 0 ) Scrl_Y();
|
||||
Bdisp_PutDisp_DD_DrawBusy();
|
||||
return ;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------------- align dummy
|
||||
int InpObjectAlign4g( unsigned int n ){ return n; } // align +4byte
|
||||
int InpObjectAlign4h( unsigned int n ){ return n; } // align +4byte
|
||||
|
|
120
fx/CBZ_inpcmd.c
120
fx/CBZ_inpcmd.c
|
@ -246,7 +246,7 @@ void DispGenuineCmdMenu(){
|
|||
Fkey_dspRB( FKeyNo1, "Split");
|
||||
Fkey_dspRB( FKeyNo2, "Asc(");
|
||||
// FkeyClear( FKeyNo2 );
|
||||
FkeyClear( FKeyNo3 );
|
||||
Fkey_dspRB( FKeyNo3, "Repl");
|
||||
FkeyClear( FKeyNo4 );
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
|
@ -610,8 +610,9 @@ void DispGenuineCmdMenu(){
|
|||
Fkey_Icon( FKeyNo6, 6 ); // Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 1:
|
||||
Fkey_Icon( FKeyNo1, 403 ); // Fkey_DISPR( FKeyNo5, " # ");
|
||||
Fkey_Icon( FKeyNo2, 176 ); // Fkey_DISPR( FKeyNo6, " % ");
|
||||
Fkey_Icon( FKeyNo1, 416 ); // Fkey_dispR( FKeyNo1, "TABLE");
|
||||
Fkey_Icon( FKeyNo2, 403 ); // Fkey_DISPR( FKeyNo5, " # ");
|
||||
// Fkey_Icon( FKeyNo2, 176 ); // Fkey_DISPR( FKeyNo6, " % ");
|
||||
Fkey_Icon( FKeyNo3, 400 ); // Fkey_DISPR( FKeyNo2, " ~ ");
|
||||
Fkey_Icon( FKeyNo4, 952 ); // Fkey_DISPR( FKeyNo4, " $ ");
|
||||
Fkey_Icon( FKeyNo5, 268 ); // Fkey_dspRB( FKeyNo5, "Str ");
|
||||
|
@ -691,6 +692,19 @@ void DispGenuineCmdMenu(){
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_VARS_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 627 ); // Fkey_dspRB( FKeyNo1, "Start");
|
||||
Fkey_Icon( FKeyNo2, 628 ); // Fkey_dspRB( FKeyNo2, "End");
|
||||
Fkey_Icon( FKeyNo3, 629 ); // Fkey_dspRB( FKeyNo3, "Pitch");
|
||||
// Fkey_Icon( FKeyNo4, 630 ); // Fkey_dspRB( FKeyNo3, "Result");
|
||||
FkeyClear( FKeyNo4 );
|
||||
FkeyClear( FKeyNo5 );
|
||||
FkeyClear( FKeyNo6 );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_VARS_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
|
@ -942,9 +956,19 @@ void DispGenuineCmdMenu(){
|
|||
Fkey_Icon( FKeyNo1, 181 ); // Fkey_dispR( FKeyNo1, "STAT");
|
||||
Fkey_Icon( FKeyNo2, 179 ); // Fkey_dispR( FKeyNo2, "MAT ");
|
||||
Fkey_Icon( FKeyNo3, 178 ); // Fkey_dispR( FKeyNo3, "LIST");
|
||||
Fkey_dispN( FKeyNo4, "extc");
|
||||
Fkey_Icon( FKeyNo5, 403 ); // Fkey_DISPN( FKeyNo6, " # ");
|
||||
Fkey_Icon( FKeyNo6, 176 ); // Fkey_DISPN( FKeyNo5, " % ");
|
||||
Fkey_Icon( FKeyNo4, 1 ); // Fkey_dispR( FKeyNo4, "GRAPH");
|
||||
// Fkey_Icon( FKeyNo5, 415 ); // Fkey_dispR( FKeyNo4, "DYNA");
|
||||
Fkey_dispN( FKeyNo5, "extc");
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 1:
|
||||
Fkey_Icon( FKeyNo1, 416 ); // Fkey_dispR( FKeyNo1, "TABLE");
|
||||
FkeyClear( FKeyNo2 );
|
||||
FkeyClear( FKeyNo3 );
|
||||
// Fkey_Icon( FKeyNo2, 417 ); // Fkey_dispR( FKeyNo2, "RECURSION");
|
||||
Fkey_Icon( FKeyNo4, 403 ); // Fkey_DISPN( FKeyNo6, " # ");
|
||||
Fkey_Icon( FKeyNo5, 176 ); // Fkey_DISPN( FKeyNo5, " % ");
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -1020,6 +1044,90 @@ void DispGenuineCmdMenu(){
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_GRPH:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 15 ); // Fkey_dispR( FKeyNo1, "SELECT");
|
||||
FkeyClear( FKeyNo2 );
|
||||
Fkey_Icon( FKeyNo3, 57 ); // Fkey_dispR( FKeyNo3, "TYPE");
|
||||
Fkey_Icon( FKeyNo4, 305 ); // Fkey_dispR( FKeyNo4, "STYLE");
|
||||
FkeyClear( FKeyNo5 );
|
||||
FkeyClear( FKeyNo6 );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_GRPH_SEL:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 480 ); // Fkey_dspRB( FKeyNo1, "On ");
|
||||
Fkey_Icon( FKeyNo2, 422 ); // Fkey_dspRB( FKeyNo2, "Off");
|
||||
FkeyClear( FKeyNo3 );
|
||||
FkeyClear( FKeyNo4 );
|
||||
FkeyClear( FKeyNo5 );
|
||||
FkeyClear( FKeyNo6 );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 472 ); // Fkey_dspRB( FKeyNo1, "Y=");
|
||||
Fkey_Icon( FKeyNo2, 473 ); // Fkey_dspRB( FKeyNo2, "r=");
|
||||
Fkey_Icon( FKeyNo3, 474 ); // Fkey_dspRB( FKeyNo3, "Param");
|
||||
Fkey_Icon( FKeyNo4, 468 ); // Fkey_dspRB( FKeyNo4, "X=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 1:
|
||||
Fkey_Icon( FKeyNo1, 476 ); // Fkey_dspRB( FKeyNo1, "Y>");
|
||||
Fkey_Icon( FKeyNo2, 477 ); // Fkey_dspRB( FKeyNo2, "Y<");
|
||||
Fkey_Icon( FKeyNo3, 478 ); // Fkey_dspRB( FKeyNo3, "Y>=");
|
||||
Fkey_Icon( FKeyNo4, 479 ); // Fkey_dspRB( FKeyNo4, "Y<=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 2:
|
||||
Fkey_Icon( FKeyNo1, 469 ); // Fkey_dspRB( FKeyNo1, "X>");
|
||||
Fkey_Icon( FKeyNo2, 470 ); // Fkey_dspRB( FKeyNo2, "X<");
|
||||
Fkey_Icon( FKeyNo3, 481 ); // Fkey_dspRB( FKeyNo3, "X>=");
|
||||
Fkey_Icon( FKeyNo4, 482 ); // Fkey_dspRB( FKeyNo4, "X<=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 480 ); // Fkey_dspRB( FKeyNo1, "On ");
|
||||
Fkey_Icon( FKeyNo2, 422 ); // Fkey_dspRB( FKeyNo2, "Off");
|
||||
Fkey_Icon( FKeyNo3, 57 ); // Fkey_dispR( FKeyNo3, "TYPE");
|
||||
Fkey_Icon( FKeyNo4, 305 ); // Fkey_dispR( FKeyNo4, "STYLE");
|
||||
FkeyClear( FKeyNo5 );
|
||||
FkeyClear( FKeyNo6 );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_TABL_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 472 ); // Fkey_dspRB( FKeyNo1, "Y=");
|
||||
Fkey_Icon( FKeyNo2, 473 ); // Fkey_dspRB( FKeyNo2, "r=");
|
||||
Fkey_Icon( FKeyNo3, 474 ); // Fkey_dspRB( FKeyNo3, "Param");
|
||||
FkeyClear( FKeyNo4 );
|
||||
FkeyClear( FKeyNo5 );
|
||||
FkeyClear( FKeyNo6 );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_GRPH_STYL:
|
||||
case CMD_MENU_TABL_STYL:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
FkeyS_L_();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0:
|
||||
|
|
|
@ -146,7 +146,8 @@ void GetGenuineCmdF1( unsigned int *code ){
|
|||
case CMD_VARS: // ------------------------------------------------------------VARS_F1
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_VARS_VWIN;CommandPage=0;break;
|
||||
case 1: (*code)='#';return; // '#'
|
||||
case 1: CommandType=CMD_VARS_TABL;CommandPage=0;break;
|
||||
// case 1: (*code)='#';return; // '#'
|
||||
} break;
|
||||
case CMD_VARS_VWIN:
|
||||
switch ( CommandPage ) {
|
||||
|
@ -172,6 +173,10 @@ void GetGenuineCmdF1( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7FF0;return; // GRAPHY
|
||||
} break;
|
||||
case CMD_VARS_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F91;return; // F Start
|
||||
} break;
|
||||
case CMD_VARS_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F5F;return; // Ticks
|
||||
|
@ -236,6 +241,7 @@ void GetGenuineCmdF1( unsigned int *code ){
|
|||
case CMD_MENU: // ------------------------------------------------------------MENU_F1
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_STAT;CommandPage=0;break;
|
||||
case 1: CommandType=CMD_MENU_TABL;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_STAT:
|
||||
switch ( CommandPage ) {
|
||||
|
@ -261,6 +267,33 @@ void GetGenuineCmdF1( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7B0;return; // SortA(
|
||||
} break;
|
||||
case CMD_MENU_GRPH:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_GRPH_SEL;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_GRPH_SEL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7C8;return; // G SleOn
|
||||
} break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF763;return; // Y=Type
|
||||
case 1: (*code)=0xF76A;return; // Y>Type
|
||||
case 2: (*code)=0xF768;return; // X>Type
|
||||
} break;
|
||||
case CMD_MENU_GRPH_STYL:
|
||||
case CMD_MENU_TABL_STYL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF72B;return; // NormalG
|
||||
} break;
|
||||
case CMD_MENU_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7C9;return; // T SleOn
|
||||
} break;
|
||||
case CMD_MENU_TABL_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF763;return; // Y=Type
|
||||
} break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)='?';return; // ?
|
||||
|
|
|
@ -147,7 +147,7 @@ void GetGenuineCmdF2( unsigned int *code ){
|
|||
case CMD_VARS: // ------------------------------------------------------------VARS_F2
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_VARS_FACT;CommandPage=0;break;
|
||||
case 1: (*code)='%';return; // '%'
|
||||
case 1: (*code)='#';return; // '#'
|
||||
} break;
|
||||
case CMD_VARS_VWIN:
|
||||
switch ( CommandPage ) {
|
||||
|
@ -173,6 +173,10 @@ void GetGenuineCmdF2( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7FF1;return; // GRAPHr
|
||||
} break;
|
||||
case CMD_VARS_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F92;return; // F End
|
||||
} break;
|
||||
case CMD_VARS_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF94F;return; // Wait
|
||||
|
@ -262,6 +266,29 @@ void GetGenuineCmdF2( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7B1;return; // SortB(
|
||||
} break;
|
||||
case CMD_MENU_GRPH_SEL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7D8;return; // G SleOff
|
||||
} break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF764;return; // r=Type
|
||||
case 1: (*code)=0xF76B;return; // Y<Type
|
||||
case 2: (*code)=0xF769;return; // X<Type
|
||||
} break;
|
||||
case CMD_MENU_GRPH_STYL:
|
||||
case CMD_MENU_TABL_STYL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF72C;return; // ThickG
|
||||
} break;
|
||||
case CMD_MENU_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF7D9;return; // T SleOff
|
||||
} break;
|
||||
case CMD_MENU_TABL_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF764;return; // r=Type
|
||||
} break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x000C;return; // disps
|
||||
|
|
|
@ -50,6 +50,7 @@ void GetGenuineCmdF3( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF943;return; // Sprintf(
|
||||
case 1: (*code)=0xF948;return; // StrBase(
|
||||
case 2: (*code)=0xF949;return; // StrRepl(
|
||||
} break;
|
||||
case CMD_PRGM_EXEC:
|
||||
switch ( CommandPage ) {
|
||||
|
@ -154,6 +155,10 @@ void GetGenuineCmdF3( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7FF2;return; // GRAPHXt
|
||||
} break;
|
||||
case CMD_VARS_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F93;return; // F pitch
|
||||
} break;
|
||||
case CMD_VARS_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF941;return; // DATE
|
||||
|
@ -231,6 +236,29 @@ void GetGenuineCmdF3( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F43;return; // *Row+
|
||||
} break;
|
||||
case CMD_MENU_GRPH:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_GRPH_TYPE;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF765;return; // ParamType
|
||||
case 1: (*code)=0xF76C;return; // Y>=Type
|
||||
case 2: (*code)=0xF76E;return; // X>=Type
|
||||
} break;
|
||||
case CMD_MENU_GRPH_STYL:
|
||||
case CMD_MENU_TABL_STYL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF72D;return; // BrokenThickG
|
||||
} break;
|
||||
case CMD_MENU_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_TABL_TYPE;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_TABL_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF765;return; // ParamType
|
||||
} break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=':';return; // :
|
||||
|
|
|
@ -138,6 +138,10 @@ void GetGenuineCmdF4( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7FF3;return; // GRAPHYt
|
||||
} break;
|
||||
case CMD_VARS_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F90;return; // F Result
|
||||
} break;
|
||||
case CMD_VARS_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF942;return; // TIME
|
||||
|
@ -189,7 +193,7 @@ void GetGenuineCmdF4( unsigned int *code ){
|
|||
|
||||
case CMD_MENU: // ------------------------------------------------------------MENU_F4
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_EXT; CommandPage=0;break;
|
||||
case 0: CommandType=CMD_MENU_GRPH; CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_STAT:
|
||||
switch ( CommandPage ) {
|
||||
|
@ -205,6 +209,25 @@ void GetGenuineCmdF4( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F44;return; // Row+
|
||||
} break;
|
||||
case CMD_MENU_GRPH:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_GRPH_STYL;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF767;return; // X=Type
|
||||
case 1: (*code)=0xF76D;return; // Y<=Type
|
||||
case 2: (*code)=0xF76F;return; // X<=Type
|
||||
} break;
|
||||
case CMD_MENU_GRPH_STYL:
|
||||
case CMD_MENU_TABL_STYL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF73F;return; // DotG
|
||||
} break;
|
||||
case CMD_MENU_TABL:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandType=CMD_MENU_TABL_STYL;CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x0013;return; // =>
|
||||
|
|
|
@ -155,7 +155,7 @@ void GetGenuineCmdF5( unsigned int *code ){
|
|||
|
||||
case CMD_MENU: // ------------------------------------------------------------MENU_F5
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)='#';return; // #
|
||||
case 0: CommandType=CMD_MENU_EXT; CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_STAT_GRPH:
|
||||
switch ( CommandPage ) {
|
||||
|
|
|
@ -164,7 +164,14 @@ void GetGenuineCmdF6( unsigned int *code ){
|
|||
|
||||
case CMD_MENU: // ------------------------------------------------------------MENU_F6
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)='%';return; // %
|
||||
case 0: CommandPage=1;break;
|
||||
case 1: CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_GRPH_TYPE:
|
||||
switch ( CommandPage ) {
|
||||
case 0: CommandPage=1;break;
|
||||
case 1: CommandPage=2;break;
|
||||
case 2: CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_MENU_EXT:
|
||||
switch ( CommandPage ) {
|
||||
|
|
340
fx/CBZ_setup.c
340
fx/CBZ_setup.c
|
@ -52,7 +52,7 @@ void VerDispSub( int flag ) {
|
|||
locate( 3, 5 ); Print( (unsigned char*)" by sentaro21" );
|
||||
locate( 3, 6 ); Print( (unsigned char*)" (c)2020" );
|
||||
|
||||
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 11.", MINI_OVER );
|
||||
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 13 ", MINI_OVER );
|
||||
PrintMini( 2*6+2, 3*8+1, (unsigned char*)"(Casio Basic compatible+)", MINI_OVER );
|
||||
|
||||
// if ( ( UseHiddenRAM ) && ( IsHiddenRAM ) ) {
|
||||
|
@ -81,10 +81,9 @@ int GetMemFree() ;
|
|||
int CB_Version() { // Version
|
||||
return VERSION;
|
||||
}
|
||||
int CB_System( char *SRC ) { // System( n )
|
||||
int r;
|
||||
int c = SRC[ExecPtr];
|
||||
switch ( CB_EvalInt( SRC ) ) {
|
||||
int System( int n ) {
|
||||
int r=0;
|
||||
switch ( n ) {
|
||||
case -9:
|
||||
r=TryFlag; if ( r>1 ) r--;
|
||||
break;
|
||||
|
@ -156,6 +155,22 @@ int CB_System( char *SRC ) { // System( n )
|
|||
default:
|
||||
r = 0;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
int CB_System( char *SRC ) { // System( n )
|
||||
int r;
|
||||
int c = SRC[ExecPtr];
|
||||
int n = CB_EvalInt( SRC );
|
||||
if ( n==10000 ) { // load config data to ListAns Ststem(10000,1) Ststem(10000,2) Ststem(10000,3)
|
||||
if ( SRC[ExecPtr] != ',' ) CB_Error(SyntaxERR) ; // Syntax error
|
||||
ExecPtr++;
|
||||
c = CB_EvalInt( SRC );
|
||||
LoadConfig1data( c );
|
||||
goto exit;
|
||||
}
|
||||
r = System( n );
|
||||
exit:
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
return r;
|
||||
}
|
||||
|
@ -251,6 +266,27 @@ void SetVeiwWindowSTD(){ // STD Initialize
|
|||
}
|
||||
|
||||
|
||||
unsigned int XTTKey( unsigned int key) {
|
||||
switch ( FuncType ) {
|
||||
case 1:
|
||||
key=0xCE; // Theta
|
||||
break;
|
||||
case 2:
|
||||
key='T';
|
||||
break;
|
||||
case 3:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
key='Y';
|
||||
break;
|
||||
default:
|
||||
key='X';
|
||||
}
|
||||
return key;
|
||||
}
|
||||
|
||||
unsigned int MathKey( unsigned int key) {
|
||||
switch ( key ) {
|
||||
case KEY_CHAR_IMGNRY:
|
||||
|
@ -298,7 +334,7 @@ unsigned int MathKey( unsigned int key) {
|
|||
case KEY_CHAR_RBRACE: //
|
||||
case KEY_CHAR_RECIP: //
|
||||
case KEY_CHAR_DQUATE: //
|
||||
if ( key == KEY_CTRL_XTT ) key='X';
|
||||
if ( key == KEY_CTRL_XTT ) key=XTTKey( key ); // 'X' or <r> or <Theta> or T
|
||||
// if ( key == KEY_CHAR_PLUS ) key='+';
|
||||
// if ( key == KEY_CHAR_MINUS ) key='-';
|
||||
// if ( key == KEY_CHAR_PMINUS ) key=0x87; // (-)
|
||||
|
@ -1193,52 +1229,53 @@ int SelectNum4( int n ) { //
|
|||
|
||||
#define SETUP_Angle 0
|
||||
#define SETUP_ComplexMode 1
|
||||
#define SETUP_DrawType 2
|
||||
#define SETUP_Coord 3
|
||||
#define SETUP_Grid 4
|
||||
#define SETUP_Axes 5
|
||||
#define SETUP_Label 6
|
||||
#define SETUP_Derivative 7
|
||||
#define SETUP_Background 8
|
||||
#define SETUP_Sketch 9
|
||||
#define SETUP_Display 10
|
||||
#define SETUP_Help 11
|
||||
#define SETUP_RecoverSetup 12
|
||||
#define SETUP_CMDINPUT 13
|
||||
#define SETUP_MaxMemMode 14
|
||||
#define SETUP_EnableExtFONT 15
|
||||
#define SETUP_EditExtFont 16
|
||||
#define SETUP_EditFontSize 17
|
||||
#define SETUP_EditTopLine 18
|
||||
#define SETUP_EditIndent 19
|
||||
#define SETUP_EditLineNum 20
|
||||
#define SETUP_EditListChar 21
|
||||
#define SETUP_UseHidnRam 22
|
||||
#define SETUP_HidnRamInit 23
|
||||
#define SETUP_ExtendPict 24
|
||||
#define SETUP_ExtendList 25
|
||||
#define SETUP_DisableDebugMode 26
|
||||
#define SETUP_ExitDebugModeCheck 27
|
||||
#define SETUP_BreakStop 28
|
||||
#define SETUP_ExecTimeDsp 29
|
||||
#define SETUP_IfEndCheck 30
|
||||
#define SETUP_ACBreak 31
|
||||
#define SETUP_ForceReturnMode 32
|
||||
#define SETUP_Key1sttime 33
|
||||
#define SETUP_KeyReptime 34
|
||||
#define SETUP_SkipUpDown 35
|
||||
#define SETUP_MatDspmode 36
|
||||
#define SETUP_Matrixbase 37
|
||||
#define SETUP_DATE 38
|
||||
#define SETUP_TIME 39
|
||||
#define SETUP_RootFolder 40
|
||||
#define SETUP_AutoSaveMode 41
|
||||
#define SETUP_Forceg1msave 42
|
||||
#define SETUP_Pictmode 43
|
||||
#define SETUP_Storagemode 44
|
||||
#define SETUP_RefrshCtlDD 45
|
||||
#define SETUP_DefaultWaitcount 46
|
||||
#define SETUP_Executemode 47
|
||||
#define SETUP_FuncType 2
|
||||
#define SETUP_DrawType 3
|
||||
#define SETUP_Coord 4
|
||||
#define SETUP_Grid 5
|
||||
#define SETUP_Axes 6
|
||||
#define SETUP_Label 7
|
||||
#define SETUP_Derivative 8
|
||||
#define SETUP_Background 9
|
||||
#define SETUP_Sketch 10
|
||||
#define SETUP_Display 11
|
||||
#define SETUP_Help 12
|
||||
#define SETUP_RecoverSetup 13
|
||||
#define SETUP_CMDINPUT 14
|
||||
#define SETUP_MaxMemMode 15
|
||||
#define SETUP_EnableExtFONT 16
|
||||
#define SETUP_EditExtFont 17
|
||||
#define SETUP_EditFontSize 18
|
||||
#define SETUP_EditTopLine 19
|
||||
#define SETUP_EditIndent 20
|
||||
#define SETUP_EditLineNum 21
|
||||
#define SETUP_EditListChar 22
|
||||
#define SETUP_UseHidnRam 23
|
||||
#define SETUP_HidnRamInit 24
|
||||
#define SETUP_ExtendPict 25
|
||||
#define SETUP_ExtendList 26
|
||||
#define SETUP_DisableDebugMode 27
|
||||
#define SETUP_ExitDebugModeCheck 28
|
||||
#define SETUP_BreakStop 29
|
||||
#define SETUP_ExecTimeDsp 30
|
||||
#define SETUP_IfEndCheck 31
|
||||
#define SETUP_ACBreak 32
|
||||
#define SETUP_ForceReturnMode 33
|
||||
#define SETUP_Key1sttime 34
|
||||
#define SETUP_KeyReptime 35
|
||||
#define SETUP_SkipUpDown 36
|
||||
#define SETUP_MatDspmode 37
|
||||
#define SETUP_Matrixbase 38
|
||||
#define SETUP_DATE 39
|
||||
#define SETUP_TIME 40
|
||||
#define SETUP_RootFolder 41
|
||||
#define SETUP_AutoSaveMode 42
|
||||
#define SETUP_Forceg1msave 43
|
||||
#define SETUP_Pictmode 44
|
||||
#define SETUP_Storagemode 45
|
||||
#define SETUP_RefrshCtlDD 46
|
||||
#define SETUP_DefaultWaitcount 47
|
||||
#define SETUP_Executemode 48
|
||||
|
||||
const char *CBmode[] ={"DBL#","INT%","CPLX"};
|
||||
|
||||
|
@ -1262,6 +1299,7 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
const char *Returnmode[] ={"None","F1","EXE","F1&EXE"};
|
||||
const char *ExecTimemode[]={"off","on","off%","on reset"," %","on%"," % reset","on%reset"};
|
||||
const char *EditIndent[] ={"off","1","2","3","4","5","6","7","off sav-","1 save-","2 save-","3 save-","4 save-","D","E","F"};
|
||||
const char *FuncTypeStr[] ={"Y=","r=","Param","X=","Y>","Y<","Y\x12","Y\x10","X>","X<","X\x12","X\x10"};
|
||||
char buffer[22];
|
||||
char folderbuf[16];
|
||||
unsigned int key;
|
||||
|
@ -1272,6 +1310,7 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
char TimeStr[16];
|
||||
int year,month,day,hour,min,sec;
|
||||
int listmax=SETUP_Executemode;
|
||||
int subselect=0;
|
||||
|
||||
strcpy( folderbuf, folder ); // current folder
|
||||
|
||||
|
@ -1302,41 +1341,45 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
locate(14, cnt-scrl); Print((unsigned char*)cplxmode[ComplexMode]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Draw Type :"); // 2
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Func Type :"); // 2
|
||||
locate(14, cnt-scrl); Print((unsigned char*)FuncTypeStr[(int)FuncType]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Draw Type :"); // 3
|
||||
locate(14, cnt-scrl); Print((unsigned char*)draw[(int)DrawType]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Coord :"); // 3
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Coord :"); // 4
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[Coord]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Grid :"); // 4
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Grid :"); // 5
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[Grid]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Axes :"); // 5
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Axes :"); // 6
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[Axes]);
|
||||
} cnt++;
|
||||
if ( scrl <=(cnt-1) ) {
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Label :"); // 6
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Label :"); // 7
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[Label]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Derivative :"); // 7
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Derivative :"); // 8
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[Derivative]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Background :"); // 8
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Background :"); // 9
|
||||
if ( BG_Pict_No == 0 ) sprintf((char*)buffer,"None");
|
||||
else sprintf((char*)buffer,"Pict%d",BG_Pict_No);
|
||||
locate(14,cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Sketch Line :"); // 9
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Sketch Line :"); // 10
|
||||
locate(14, cnt-scrl); Print((unsigned char*)style[S_L_Style]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Display :"); // 10
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Display :"); // 11
|
||||
locate(14, cnt-scrl); Print((unsigned char*)display[CB_Round.MODE]);
|
||||
buffer[0]='\0';
|
||||
sprintf((char*)buffer,"%d",CB_Round.DIGIT);
|
||||
|
@ -1345,130 +1388,130 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
Print((unsigned char*)ENGmode[ENG]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Syntax Help :"); // 11
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Syntax Help :"); // 12
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[CB_HelpOn]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"SetupRecover:"); // 12
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"SetupRecover:"); // 13
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[CB_RecoverSetup]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Command Inpt:"); // 13
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Command Inpt:"); // 14
|
||||
locate(14, cnt-scrl); Print((unsigned char*)CMDinput[CommandInputMethod + 2*CB_fx5800P]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Max Mem Mode:"); // 14
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Max Mem Mode:"); // 15
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[MaxMemMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EnableExFont:"); // 15
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EnableExFont:"); // 16
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[EnableExtFont]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
CB_Print_ext( 1,cnt-scrl,(unsigned char*)"Edit ExtFont:", EditExtFont ); // 16
|
||||
CB_Print_ext( 1,cnt-scrl,(unsigned char*)"Edit ExtFont:", EditExtFont ); // 17
|
||||
CB_Print_ext(14,cnt-scrl,(unsigned char*)onoff[EditExtFont], EditExtFont );
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EditFontSize:"); // 17
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EditFontSize:"); // 18
|
||||
locate(14, cnt-scrl); Print((unsigned char*)CharSize[EditFontSize & 0x0F ]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Hide StatBar:"); // 18
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Hide StatBar:"); // 19
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[EditTopLine]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Edit +Indent:"); // 19
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Edit +Indent:"); // 20
|
||||
locate(14, cnt-scrl); Print((unsigned char*)EditIndent[CB_EditIndent]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Edit LineNum:"); // 20
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Edit LineNum:"); // 21
|
||||
locate(14, cnt-scrl); Print((unsigned char*)onoff[(EditFontSize & 0xF0)>>4 ]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EditListChar:"); // 21
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"EditListChar:"); // 22
|
||||
CB_Print(14, cnt-scrl, (unsigned char*)ListChar[EditListChar]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Use Hidn RAM:"); // 22
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Use Hidn RAM:"); // 23
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[UseHiddenRAM&0x0F]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"HidnRAM Init:"); // 23
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"HidnRAM Init:"); // 24
|
||||
locate(14,cnt-scrl);
|
||||
if ( UseHiddenRAM&0x0F ) Print((unsigned char*)onoff[!(UseHiddenRAM&0xF0)]);
|
||||
else Print((unsigned char*)"---");
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Max Pict No:"); // 24
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Max Pict No:"); // 25
|
||||
sprintf((char*)buffer,"%d",20+ExtendPict);
|
||||
locate(14, cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Max List 52\xA9:"); // 25
|
||||
locate( 1, cnt-scrl); Print((unsigned char*)"Max List 52\xA9:"); // 26
|
||||
sprintf((char*)buffer,"%d (%d)", ExtendList+1, 52+ExtendList*52);
|
||||
locate(14, cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"AT DebugMode:"); // 26
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"AT DebugMode:"); // 27
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[!DisableDebugMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"ExitDM PopUp:"); // 27
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"ExitDM PopUp:"); // 28
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[ExitDebugModeCheck&1]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Break Stop :"); // 28
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Break Stop :"); // 29
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[BreakCheckDefault]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Exec TimeDsp:"); // 29
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Exec TimeDsp:"); // 30
|
||||
locate(14,cnt-scrl); Print((unsigned char*)ExecTimemode[TimeDsp]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"IfEnd Check :"); // 30
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"IfEnd Check :"); // 31
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[CheckIfEnd]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"ACBreak :"); // 31
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"ACBreak :"); // 32
|
||||
locate(14,cnt-scrl); Print((unsigned char*)onoff[ACBreak]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Force Return:"); // 32
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Force Return:"); // 33
|
||||
locate(14,cnt-scrl); Print((unsigned char*)Returnmode[ForceReturnMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Key 1st time:"); // 33
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Key 1st time:"); // 34
|
||||
sprintf((char*)buffer,"%dms",KeyRepeatFirstCount*25);
|
||||
locate(14,cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Key Rep time:"); // 34
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Key Rep time:"); // 35
|
||||
sprintf((char*)buffer,"%dms",KeyRepeatNextCount*25);
|
||||
locate(14,cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"SkipUp/Down :"); // 35
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"SkipUp/Down :"); // 36
|
||||
sprintf((char*)buffer,"%d",PageUpDownNum);
|
||||
locate(14,cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Mat Dsp mode:"); // 36
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Mat Dsp mode:"); // 37
|
||||
locate(14,cnt-scrl); Print((unsigned char*)Matmode[MatXYmode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Matrix base :"); // 37
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Matrix base :"); // 38
|
||||
locate(14,cnt-scrl); Print((unsigned char*)Matbase[MatBaseDefault]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){ // DATE // 38
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){ // DATE // 39
|
||||
DateCursorY = cnt-scrl+0x900;
|
||||
DateTimePrintSub();
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){ // TIME // 39
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){ // TIME // 40
|
||||
TimeCursorY = cnt-scrl+0x900;
|
||||
DateTimePrintSub();
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Root Folder:"); // 40
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Root Folder:"); // 41
|
||||
locate(13,cnt-scrl);
|
||||
if ( root2[0] == '\0' ) {
|
||||
Print((unsigned char*)"/");
|
||||
|
@ -1477,36 +1520,36 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
}
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Auto file save:"); // 41
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Auto file save:"); // 42
|
||||
locate(16,cnt-scrl); Print((unsigned char*)onoff[AutoSaveMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Force g1m save:"); // 42
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Force g1m save:"); // 43
|
||||
locate(16,cnt-scrl); Print((unsigned char*)onoff[ForceG1Msave]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Pict mode :"); // 43
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Pict mode :"); // 44
|
||||
locate(14,cnt-scrl); if ( StorageMode & 1 ) Print((unsigned char*)PictmodeSD[PictMode]); else Print((unsigned char*)Pictmode[PictMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Storage mode:"); // 44
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Storage mode:"); // 45
|
||||
locate(14,cnt-scrl); Print((unsigned char*)Storagemode[StorageMode]);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"RefrshCtl DD:"); // 45
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"RefrshCtl DD:"); // 46
|
||||
locate(14,cnt-scrl); Print((unsigned char*)DDmode[RefreshCtrl]);
|
||||
buffer[0]='\0';
|
||||
sprintf((char*)buffer,"%2d/128",Refreshtime+1);
|
||||
if ( RefreshCtrl ) PrintMini(17*6+2,(cnt-scrl)*8-6,(unsigned char*)buffer,MINI_OVER);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Wait count :"); // 46
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Wait count :"); // 47
|
||||
if ( DefaultWaitcount == 0 ) sprintf((char*)buffer,"No Wait");
|
||||
else sprintf((char*)buffer,"%d",DefaultWaitcount);
|
||||
locate(14,cnt-scrl); Print((unsigned char*)buffer);
|
||||
} cnt++;
|
||||
if ( (0<(cnt-scrl))&&((cnt-scrl)<=7) ){
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Execute mode:"); // 47
|
||||
locate( 1,cnt-scrl); Print((unsigned char*)"Execute mode:"); // 48
|
||||
locate(14,cnt-scrl); Print((unsigned char*)CBmode[CB_INTDefault]);
|
||||
}
|
||||
y = select-scrl;
|
||||
|
@ -1662,6 +1705,34 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
Fkey_dispN( FKeyNo4, " 4");
|
||||
Fkey_dispN( FKeyNo5, "sv-");
|
||||
break;
|
||||
case SETUP_FuncType: //
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
Fkey_Icon( FKeyNo1, 61 ); // Fkey_dispN( FKeyNo1, "Y=");
|
||||
Fkey_Icon( FKeyNo2, 62 ); // Fkey_dispN( FKeyNo2, "r=");
|
||||
Fkey_Icon( FKeyNo3, 63 ); // Fkey_dispN( FKeyNo3, "Param");
|
||||
Fkey_Icon( FKeyNo4, 723 ); // Fkey_dispN( FKeyNo4, "X=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 1:
|
||||
Fkey_Icon( FKeyNo1, 65 ); // Fkey_dispN( FKeyNo1, "Y>");
|
||||
Fkey_Icon( FKeyNo2, 66 ); // Fkey_dispN( FKeyNo2, "Y<");
|
||||
Fkey_Icon( FKeyNo3, 67 ); // Fkey_dispN( FKeyNo3, "Y>=");
|
||||
Fkey_Icon( FKeyNo4, 68 ); // Fkey_dispN( FKeyNo4, "Y<=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 2:
|
||||
Fkey_Icon( FKeyNo1, 724 ); // Fkey_dispN( FKeyNo1, "X>");
|
||||
Fkey_Icon( FKeyNo2, 725 ); // Fkey_dispN( FKeyNo2, "X<");
|
||||
Fkey_Icon( FKeyNo3, 726 ); // Fkey_dispN( FKeyNo3, "X>=");
|
||||
Fkey_Icon( FKeyNo4, 727 ); // Fkey_dispN( FKeyNo4, "X<=");
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1731,6 +1802,19 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
case SETUP_ComplexMode: // complex mode
|
||||
ComplexMode = 0; // Real
|
||||
break;
|
||||
case SETUP_FuncType: // function Type
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
FuncType = 0;
|
||||
break;
|
||||
case 1:
|
||||
FuncType = 4;
|
||||
break;
|
||||
case 2:
|
||||
FuncType = 8;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SETUP_DrawType: // Draw Type connect
|
||||
DrawType = 0 ;
|
||||
break;
|
||||
|
@ -1925,6 +2009,19 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
case SETUP_ComplexMode: // complex mode
|
||||
ComplexMode = 1; // a+bi
|
||||
break;
|
||||
case SETUP_FuncType: // function Type
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
FuncType = 1;
|
||||
break;
|
||||
case 1:
|
||||
FuncType = 5;
|
||||
break;
|
||||
case 2:
|
||||
FuncType = 9;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SETUP_DrawType: // Draw Type Plot
|
||||
DrawType = 1 ;
|
||||
break;
|
||||
|
@ -2117,6 +2214,19 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
case KEY_CTRL_F3:
|
||||
// Bdisp_AreaReverseVRAM(0, y*8, 127, y*8+7); // reverse select line
|
||||
switch (select) {
|
||||
case SETUP_FuncType: // function Type
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
FuncType = 2;
|
||||
break;
|
||||
case 1:
|
||||
FuncType = 6;
|
||||
break;
|
||||
case 2:
|
||||
FuncType =10;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SETUP_Angle: // Angle
|
||||
Angle = 2 ; // Grad
|
||||
break;
|
||||
|
@ -2192,6 +2302,19 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
case KEY_CTRL_F4:
|
||||
// Bdisp_AreaReverseVRAM(0, y*8, 127, y*8+7); // reverse select line
|
||||
switch (select) {
|
||||
case SETUP_FuncType: // function Type
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
FuncType = 3;
|
||||
break;
|
||||
case 1:
|
||||
FuncType = 7;
|
||||
break;
|
||||
case 2:
|
||||
FuncType =11;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SETUP_Sketch: // Sketch Line Dot
|
||||
S_L_Style = 3 ;
|
||||
break;
|
||||
|
@ -2272,7 +2395,24 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
}
|
||||
break;
|
||||
case KEY_CTRL_F6:
|
||||
VerDisp( limit );
|
||||
switch (select) {
|
||||
case SETUP_FuncType: // function Type
|
||||
switch ( subselect ) {
|
||||
case 0:
|
||||
subselect = 1;
|
||||
break;
|
||||
case 1:
|
||||
subselect = 2;
|
||||
break;
|
||||
case 2:
|
||||
subselect = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
VerDisp( limit );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -1446,6 +1446,13 @@ double Evalsub1(char *SRC) { // 1st Priority
|
|||
return CB_System( SRC );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return CB_Version(); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return REGf[c-0xFFFFFF90];
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -447,6 +447,13 @@ double ListEvalsub1(char *SRC) { // 1st Priority
|
|||
return CB_System( SRC );
|
||||
case 0xFFFFFFDF : // Version
|
||||
return CB_Version(); //
|
||||
|
||||
// case 0xFFFFFF90 : // F Result
|
||||
case 0xFFFFFF91 : // F Start
|
||||
case 0xFFFFFF92 : // F End
|
||||
case 0xFFFFFF93 : // F pitch
|
||||
return REGf[c-0xFFFFFF90];
|
||||
|
||||
default:
|
||||
ExecPtr--; // error
|
||||
break;
|
||||
|
|
|
@ -1024,6 +1024,8 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
int strdisp=0;
|
||||
int dotedit=0;
|
||||
int list=0;
|
||||
int toolflag=0;
|
||||
|
||||
if ( reg >= 0x1000 ) {
|
||||
if ( reg >=0x2000 ) {
|
||||
list=2;
|
||||
|
@ -1537,6 +1539,9 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
goto ToDotEdit;
|
||||
case KEY_CTRL_F3: // str edit
|
||||
goto ToStrDisp;
|
||||
case KEY_CTRL_F4: // tool
|
||||
toolflag=1;
|
||||
break;
|
||||
case KEY_CTRL_F5: // bin
|
||||
goto ToBin;
|
||||
case KEY_CTRL_F6: // hex
|
||||
|
|
158
fx/CB_Str.c
158
fx/CB_Str.c
|
@ -13,12 +13,12 @@ short defaultStrAryN=127;
|
|||
int defaultStrArySize=255+1; // =CB_StrBufferMax
|
||||
|
||||
char defaultFnAry=57; // z
|
||||
char defaultFnAryN=127;
|
||||
short defaultFnArySize=255+1;
|
||||
short defaultFnAryN=127;
|
||||
int defaultFnArySize=255+1;
|
||||
|
||||
char defaultGraphAry=27; // Theta
|
||||
char defaultGraphAryN=127;
|
||||
short defaultGraphArySize=255+1;
|
||||
short defaultGraphAryN=127;
|
||||
int defaultGraphArySize=255+1;
|
||||
|
||||
//char dummychar1;
|
||||
//char dummychar2;
|
||||
|
@ -559,10 +559,21 @@ char* NewStrBuffer(){
|
|||
}
|
||||
void GetNewAry8( int reg, int aryN, int aryMax ) {
|
||||
char *buffer;
|
||||
int size;
|
||||
if ( MatAry[reg].SizeA == 0 ) {
|
||||
DimMatrixSub( reg, 8, aryN, aryMax, 1 ); // byte matrix base:1
|
||||
} else {
|
||||
if ( MatAry[reg].SizeA < aryN ) MatElementPlus( reg, aryN, aryMax ); // matrix +
|
||||
if ( MatAry[reg].SizeA < aryN ) {
|
||||
if ( (int)MatAry[reg].Adrs > (int)CB_CurrentStr ) {
|
||||
buffer=NewStrBuffer();
|
||||
if ( buffer!=NULL ) {
|
||||
size =MatAry[reg].SizeB; if ( size>CB_StrBufferMax ) size = CB_StrBufferMax;
|
||||
memcpy( buffer, CB_CurrentStr, size );
|
||||
CB_CurrentStr = buffer;
|
||||
}
|
||||
}
|
||||
MatElementPlus( reg, aryN, aryMax ); // matrix +
|
||||
}
|
||||
}
|
||||
}
|
||||
char* GetStrYFnPtrSub( int reg, int dimA, int dimB ) {
|
||||
|
@ -646,6 +657,37 @@ int IsStrList( char *SRC, int flag ) { // List n[0]?
|
|||
return reg+1;
|
||||
}
|
||||
|
||||
int CB_IsStr_noYFn( char *SRC, int execptr ) {
|
||||
int c=SRC[execptr],extmp,f;
|
||||
if ( c == 0x22 ) { // String
|
||||
return 1;
|
||||
} else
|
||||
if ( c=='$' ) { // Mat String
|
||||
return 2;
|
||||
} else
|
||||
if ( c == 0xFFFFFFF9 ) { // Str
|
||||
c=SRC[execptr+1];
|
||||
if ( c == 0x30 ) return c; // StrJoin(
|
||||
else
|
||||
if ( ( c == 0x38 ) || ( c == 0x3E ) ) return 0; // Exp( or ClrVct
|
||||
else
|
||||
if ( ( 0x34 <= c ) && ( c <= 0x49 ) ) return c;
|
||||
else
|
||||
if ( c == 0x4D ) return c; // StrSplit
|
||||
} else
|
||||
if ( c == 0x7F ) {
|
||||
c=SRC[execptr+1];
|
||||
if ( ( c == 0x51 ) || ( (0x6A<=c)&&(c<=0x6F) ) ) { // List [0]?
|
||||
extmp = ExecPtr;
|
||||
ExecPtr+=2;
|
||||
f = IsStrList( SRC, 0 );
|
||||
ExecPtr = extmp;
|
||||
if ( f>0 ) return 0x7F51;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CB_IsStr( char *SRC, int execptr ) {
|
||||
int c=SRC[execptr],extmp,f;
|
||||
if ( c == 0x22 ) { // String
|
||||
|
@ -664,18 +706,11 @@ int CB_IsStr( char *SRC, int execptr ) {
|
|||
else
|
||||
if ( c == 0x4D ) return c; // StrSplit
|
||||
else
|
||||
if ( c == 0x1B ) {
|
||||
fnjmp:
|
||||
extmp=ExecPtr;
|
||||
ExecPtr=execptr+2;
|
||||
f=CB_CheckYfn( SRC );
|
||||
ExecPtr=extmp;
|
||||
if ( f ) return c; // fn
|
||||
}
|
||||
if ( c == 0x1B ) return c; // fn
|
||||
} else
|
||||
if ( c == 0x7F ) {
|
||||
c=SRC[execptr+1];
|
||||
if ( c == 0xFFFFFFF0 ) goto fnjmp; // GraphY
|
||||
if ( c == 0xFFFFFFF0 ) return c; // GraphY
|
||||
else
|
||||
if ( ( c == 0x51 ) || ( (0x6A<=c)&&(c<=0x6F) ) ) { // List [0]?
|
||||
extmp = ExecPtr;
|
||||
|
@ -688,22 +723,15 @@ int CB_IsStr( char *SRC, int execptr ) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int CB_CheckYfn( char *SRC ) { // 1:string 0:function
|
||||
int extmp=ExecPtr,r;
|
||||
EvalIntsub1( SRC );
|
||||
r= ( SRC[ExecPtr] != '(' );
|
||||
ExecPtr=extmp;
|
||||
return r;
|
||||
}
|
||||
|
||||
char* CB_GetOpStr1( char *SRC ,int *maxlen ) { // String -> buffer return
|
||||
int c,d,n;
|
||||
char* CB_GetOpStrSub( char *SRC ,int *maxlen, int c ) { // String -> buffer return
|
||||
int d,n;
|
||||
int execptr,len,i=0;
|
||||
int reg,dimA,dimB;
|
||||
int aryN,aryMax;
|
||||
char *buffer;
|
||||
|
||||
switch ( CB_IsStr( SRC, ExecPtr ) ) {
|
||||
switch ( c ) {
|
||||
case 1: // """"
|
||||
ExecPtr++;
|
||||
buffer=NewStrBuffer(); if ( buffer==NULL ) return 0;
|
||||
|
@ -732,7 +760,7 @@ char* CB_GetOpStr1( char *SRC ,int *maxlen ) { // String -> buffer return
|
|||
case 0xFFFFFFF0: // GraphY
|
||||
reg=defaultGraphAry;
|
||||
ExecPtr+=2;
|
||||
buffer = GetStrYFnPtr( SRC, reg, defaultGraphAryN, defaultGraphArySize );
|
||||
buffer = GetStrYFnPtr( SRC, reg, defaultGraphAryN, defaultGraphArySize ) +6;
|
||||
(*maxlen)=MatAry[reg].SizeB;
|
||||
break;
|
||||
case 0x30: // StrJoin(
|
||||
|
@ -836,12 +864,14 @@ char* CB_GetOpStr1( char *SRC ,int *maxlen ) { // String -> buffer return
|
|||
return buffer;
|
||||
}
|
||||
|
||||
char* CB_GetOpStr( char *SRC, int *maxoplen ) { // Get opcode String
|
||||
char* CB_GetOpStrSub1( char *SRC, int *maxoplen, int YFn ) { // Get opcode String
|
||||
int c;
|
||||
char *buffer;
|
||||
char *CB_StrAddBuffer;
|
||||
|
||||
CB_CurrentStr=CB_GetOpStr1( SRC, &(*maxoplen) ) ; // String -> CB_CurrentStr
|
||||
|
||||
if ( YFn ) c=CB_IsStr( SRC, ExecPtr );
|
||||
else c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
CB_CurrentStr=CB_GetOpStrSub( SRC, &(*maxoplen), c ); // String -> CB_CurrentStr
|
||||
if ( ErrorNo ) return 0; // error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c != 0xFFFFFF89 ) { // non +
|
||||
|
@ -852,7 +882,7 @@ char* CB_GetOpStr( char *SRC, int *maxoplen ) { // Get opcode String
|
|||
OpcodeCopy( CB_StrAddBuffer, CB_CurrentStr, CB_StrBufferMax-1 ); //
|
||||
while (1) {
|
||||
ExecPtr++;
|
||||
CB_CurrentStr=CB_GetOpStr1( SRC, &(*maxoplen) ) ; // String -> CB_CurrentStr
|
||||
CB_CurrentStr=CB_GetOpStrSub( SRC, &(*maxoplen), CB_IsStr( SRC, ExecPtr ) ); // String -> CB_CurrentStr
|
||||
if ( ErrorNo ) return 0; // error
|
||||
|
||||
StrJoin( CB_StrAddBuffer, CB_CurrentStr, CB_StrBufferMax-1 ) ;
|
||||
|
@ -862,7 +892,12 @@ char* CB_GetOpStr( char *SRC, int *maxoplen ) { // Get opcode String
|
|||
// if ( c == ')' ) ExecPtr++;
|
||||
return CB_StrAddBuffer;
|
||||
}
|
||||
|
||||
char* CB_GetOpStr( char *SRC, int *maxoplen ) { // Get opcode String
|
||||
return CB_GetOpStrSub1( SRC, &(*maxoplen), 1 );
|
||||
}
|
||||
char* CB_GetOpStr_noYFn( char *SRC, int *maxoplen ) { // Get opcode String
|
||||
return CB_GetOpStrSub1( SRC, &(*maxoplen), 0 );
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------
|
||||
void StorStrMat( char *SRC ) { // "String" -> $Mat A
|
||||
int reg,dimA,dimB;
|
||||
|
@ -888,7 +923,7 @@ void StorStrGraphY( char *SRC ) { // "String" -> GraphY 1-5
|
|||
int reg,dimA,dimB;
|
||||
char *MatAryC;
|
||||
reg=defaultGraphAry;
|
||||
MatAryC = GetStrYFnPtr( SRC, reg, defaultGraphAryN, defaultGraphArySize );
|
||||
MatAryC = GetStrYFnPtr( SRC, reg, defaultGraphAryN, defaultGraphArySize ) +6;
|
||||
if ( ErrorNo ) return ; // error
|
||||
OpcodeCopy( MatAryC, CB_CurrentStr, MatAry[reg].SizeB-1 );
|
||||
}
|
||||
|
@ -963,9 +998,36 @@ void StorTIME( char *buffer ) { // "23:59:59" -> TIME
|
|||
CB_TicksStart=RTC_GetTicks(); // init
|
||||
}
|
||||
|
||||
void CB_StorStr( char *SRC ) {
|
||||
int c;
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
int CB_IsStrStor( char *SRC, int execptr ) {
|
||||
int c=SRC[execptr],extmp,f;
|
||||
if ( c=='$' ) { // Mat String
|
||||
return 2;
|
||||
} else
|
||||
if ( c == 0xFFFFFFF9 ) {
|
||||
c=SRC[execptr+1];
|
||||
if ( c == 0x3F ) return c; // Str
|
||||
else
|
||||
if ( c == 0x41 ) return c; // DATE
|
||||
else
|
||||
if ( c == 0x42 ) return c; // TIME
|
||||
else
|
||||
if ( c == 0x1B ) return c; // fn
|
||||
} else
|
||||
if ( c == 0x7F ) {
|
||||
c=SRC[execptr+1];
|
||||
if ( c == 0xFFFFFFF0 ) return c; // GraphY
|
||||
else
|
||||
if ( ( c == 0x51 ) || ( (0x6A<=c)&&(c<=0x6F) ) ) { // List [0]?
|
||||
extmp = ExecPtr;
|
||||
ExecPtr+=2;
|
||||
f = IsStrList( SRC, 0 );
|
||||
ExecPtr = extmp;
|
||||
if ( f>0 ) return 0x7F51;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
void CB_StorStrSub( char *SRC, int c ) {
|
||||
switch ( c ) {
|
||||
case 2: // $Mat
|
||||
ExecPtr++;
|
||||
|
@ -1002,6 +1064,32 @@ void CB_StorStr( char *SRC ) {
|
|||
CB_Error(SyntaxERR); // Syntax error
|
||||
}
|
||||
}
|
||||
void CB_StorStr( char *SRC ) {
|
||||
CB_StorStrSub( SRC, CB_IsStrStor( SRC, ExecPtr ) );
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
int CB_CheckYfn( char *SRC ) { // Fn1->Str 1 ?
|
||||
int extmp=ExecPtr;
|
||||
int c=SRC[ExecPtr-1];
|
||||
int maxlen;
|
||||
char *buffer;
|
||||
EvalIntsub1( SRC );
|
||||
if ( SRC[ExecPtr] == 0x0E ) { // ->
|
||||
ExecPtr=extmp;
|
||||
ExecPtr-=2;
|
||||
CB_CurrentStr = CB_GetOpStrSub( SRC, &(maxlen), CB_IsStrStor( SRC, ExecPtr ) );
|
||||
ExecPtr++;
|
||||
c = CB_IsStrStor( SRC, ExecPtr );
|
||||
if ( c ) {
|
||||
CB_StorStrSub( SRC, c );
|
||||
dspflag=0;
|
||||
return 1; // string
|
||||
}
|
||||
}
|
||||
ExecPtr=extmp;
|
||||
return 0; // expression
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
void ClrLine5800P( int CsrX ){
|
||||
|
@ -1307,7 +1395,7 @@ char* CB_GraphYStrSub( char *SRC, int reg ) { // defaultGraphAry or defaultFnA
|
|||
int base=MatAry[reg].Base;
|
||||
dimA=EvalIntsub1( SRC );
|
||||
if ( ( dimA < base ) || ( dimA > MatAry[reg].SizeA-1+base ) ) { CB_Error(MemoryERR); } // Memory error
|
||||
return MatrixPtr( reg, dimA, base );
|
||||
return MatrixPtr( reg, dimA, base )+ ( reg==defaultGraphAry )*6;
|
||||
}
|
||||
void GraphFnEQ( char *SRC ){
|
||||
int c=SRC[ExecPtr];
|
||||
|
|
11
fx/CB_Str.h
11
fx/CB_Str.h
|
@ -13,12 +13,12 @@ extern short defaultStrAryN;
|
|||
extern int defaultStrArySize; // =CB_StrBufferMax
|
||||
|
||||
extern char defaultFnAry;
|
||||
extern char defaultFnAryN;
|
||||
extern short defaultFnArySize;
|
||||
extern short defaultFnAryN;
|
||||
extern int defaultFnArySize;
|
||||
|
||||
extern char defaultGraphAry;
|
||||
extern char defaultGraphAryN;
|
||||
extern short defaultGraphArySize;
|
||||
extern short defaultGraphAryN;
|
||||
extern int defaultGraphArySize;
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int StrSrc( char *SrcBase, char *searchstr, int *csrptr, int size);
|
||||
|
@ -49,8 +49,9 @@ int CB_GetQuotOpcode(char *SRC, char *buffer, int Maxlen) ;
|
|||
char* GetStrYFnPtr( char *SRC, int reg, int aryN, int aryMax ) ;
|
||||
char* GetStrYFnPtrSub( int reg, int dimA, int dimB ) ;
|
||||
int CB_IsStr( char *SRC, int execptr ) ;
|
||||
char* CB_GetOpStr1( char *SRC ,int *maxlen ) ; // String -> buffer return
|
||||
int CB_IsStr_noYFn( char *SRC, int execptr ) ;
|
||||
char* CB_GetOpStr( char *SRC, int *maxoplen ) ; // Get opcode String
|
||||
char* CB_GetOpStr_noYFn( char *SRC, int *maxoplen ) ; // Get opcode String
|
||||
double CB_EvalStrDBL( char *buffer, int calcflag ); //
|
||||
double CB_EvalStr( char *SRC, int calcflag) ; // Eval str -> complex
|
||||
complex CB_Cplx_EvalStrDBL( char *buffer, int calcflag ); //
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
|
||||
const char TypeTitle[][10]={"Strings ","Function ","Graphics "};
|
||||
const char TypeStr[][2]={"S","f","Y"};
|
||||
|
||||
|
||||
|
||||
int SelectMemoryNum( int type, int max, int store, unsigned int *key ) { //
|
||||
char buffer[32];
|
||||
int n=0,n0=1;
|
||||
char *scrbuf[896];
|
||||
memcpy( scrbuf, PictAry[0], 896); // store VRAM
|
||||
|
||||
PopUpWin(4);
|
||||
FkeyClearAll();
|
||||
locate( 3,2); if ( store ) Print((unsigned char *)"Store In"); else Print((unsigned char *)"Recall From");
|
||||
|
@ -19,6 +23,7 @@ int SelectMemoryNum( int type, int max, int store, unsigned int *key ) { //
|
|||
if ( (1<=n)&&(n<=max) ) break;
|
||||
n=n0;
|
||||
}
|
||||
memcpy( PictAry[0], scrbuf, 896); // restore VRAM
|
||||
return n ; // ok
|
||||
}
|
||||
|
||||
|
@ -38,6 +43,29 @@ void LoadStringType( int type, int *reg, int *opNum ){
|
|||
break;
|
||||
}
|
||||
}
|
||||
char* GetStringPtr(int type, int n ){ // ----------- Store String type: 0:string 1:fn 2:GraphY
|
||||
unsigned int key;
|
||||
int reg,dimA,dimB;
|
||||
int opNum;
|
||||
char *str;
|
||||
|
||||
LoadStringType( type, ®, &opNum );
|
||||
if ( n>opNum ) return NULL;
|
||||
ErrorNo=0;
|
||||
switch ( type ) {
|
||||
case 0: // string
|
||||
str = GetStrYFnPtrSub( reg, n, defaultStrArySize );
|
||||
break;
|
||||
case 1: // fn
|
||||
str = GetStrYFnPtrSub( reg, n, defaultFnArySize );
|
||||
break;
|
||||
case 2: // GraphY
|
||||
str = GetStrYFnPtrSub( reg, n, defaultGraphArySize );
|
||||
break;
|
||||
}
|
||||
if ( ErrorNo ) return NULL; // error
|
||||
return str;
|
||||
}
|
||||
|
||||
char* CB_RecallString(int type ){ // ----------- Recall String type: 0:string 1:fn 2:GraphY
|
||||
unsigned int key;
|
||||
|
@ -53,39 +81,39 @@ char* CB_RecallString(int type ){ // ----------- Recall String type: 0:string
|
|||
if ( key == KEY_CTRL_EXIT ) return 0;
|
||||
if ( dimA >= n ) {
|
||||
string = MatrixPtr(reg, n, 1);
|
||||
}
|
||||
} else string = NULL;
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
|
||||
int CB_StoreStringSub(int type, int n, char *clipbuffer ){ // ----------- Store String type: 0:string 1:fn 2:GraphY
|
||||
int reg,dimA,dimB;
|
||||
int opNum;
|
||||
char *str;
|
||||
|
||||
if ( clipbuffer == NULL ) return 0;
|
||||
ErrorNo=0;
|
||||
LoadStringType( type, ®, &opNum );
|
||||
str = GetStringPtr( type, n );
|
||||
if ( ErrorNo ) return 0; // error
|
||||
OpcodeCopy( str, clipbuffer , MatAry[reg].SizeB-1 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CB_StoreString(int type, char *clipbuffer ){ // ----------- Store String type: 0:string 1:fn 2:GraphY
|
||||
unsigned int key;
|
||||
int reg,dimA,dimB;
|
||||
int opNum,n;
|
||||
char *str;
|
||||
|
||||
if ( clipbuffer == NULL ) return 0;
|
||||
LoadStringType( type, ®, &opNum );
|
||||
n = SelectMemoryNum( type, opNum, 1, &key );
|
||||
if ( key == KEY_CTRL_EXIT ) return 0;
|
||||
ErrorNo=0;
|
||||
switch ( type ) {
|
||||
case 0: // string
|
||||
str = GetStrYFnPtrSub( reg, n, defaultStrArySize );
|
||||
break;
|
||||
case 1: // fn
|
||||
str = GetStrYFnPtrSub( reg, n, defaultFnArySize );
|
||||
break;
|
||||
case 2: // GraphY
|
||||
str = GetStrYFnPtrSub( reg, n, defaultGraphArySize );
|
||||
break;
|
||||
}
|
||||
if ( ErrorNo ) return -1; // error
|
||||
OpcodeCopy( str, clipbuffer , MatAry[reg].SizeB-1 );
|
||||
return 0;
|
||||
return CB_StoreStringSub( type, n, clipbuffer ) ;
|
||||
}
|
||||
|
||||
|
||||
char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See String type: 0:string 1:fn 2:GraphY
|
||||
char buffer[64];
|
||||
unsigned int key;
|
||||
|
@ -97,6 +125,9 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
int base;
|
||||
char *string=0,*str=0;
|
||||
|
||||
char *scrbuf[896];
|
||||
memcpy( scrbuf, PictAry[0], 896); // store VRAM
|
||||
|
||||
Cursor_SetFlashMode(0); // cursor flashing off
|
||||
|
||||
if ( (*select)<1 ) (*select)=1;
|
||||
|
@ -117,9 +148,15 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
|
||||
for ( i=0; i<6; i++ ) {
|
||||
k=seltop+i;
|
||||
locate( 1, 2+i); Print((unsigned char*)TypeStr[type]);
|
||||
sprintf( buffer,"%d:", k );
|
||||
locate( 2, 2+i); Print((unsigned char*)buffer);
|
||||
j=2; if ( k>=10 ) j=1;
|
||||
locate( j, 2+i); Print((unsigned char*)TypeStr[type]);
|
||||
sprintf( buffer,"%d", k );
|
||||
if ( k<100 ) {
|
||||
locate( j+1, 2+i); Print((unsigned char*)buffer);
|
||||
} else {
|
||||
PrintMini( 6+1, (1+i)*8+2,(unsigned char*)buffer,MINI_OVER);
|
||||
}
|
||||
locate( 4, 2+i); Print((unsigned char*)":");
|
||||
locate( 5, 2+i);
|
||||
dimA = MatAry[reg].SizeA ;
|
||||
if ( dimA == 0 ) {
|
||||
|
@ -145,7 +182,7 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
|
||||
k=(*select);
|
||||
|
||||
ElementSize=MatAry[reg].ElementSize;
|
||||
// ElementSize=MatAry[reg].ElementSize;
|
||||
|
||||
GetKey( &key );
|
||||
if ( KEY_CTRL_XTT == key ) (*select)=23; // X
|
||||
|
@ -185,8 +222,8 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
break;
|
||||
|
||||
case KEY_CTRL_F1: // store
|
||||
cont=0;
|
||||
return NULL;
|
||||
CB_StoreStringSub( type, (*select), clipbuffer );
|
||||
break;
|
||||
case KEY_CTRL_F2: // recall
|
||||
str = MatrixPtr( reg, (*select), 1 ) ;
|
||||
cont=0;
|
||||
|
@ -203,6 +240,7 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
break;
|
||||
}
|
||||
}
|
||||
memcpy( PictAry[0], scrbuf, 896); // restore VRAM
|
||||
return str;
|
||||
}
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ char * CB_SaveLoadOprand( char *SRC , int *reg, int *matsize ) ;
|
|||
void CB_SaveSub( char *sname, char* FilePtr, int size, int check, char* extname ) ;
|
||||
char * CB_LoadSub( char *sname, int ptr, int *size, char* extname ) ;
|
||||
void CB_Save( char *SRC ) ; // Save "TEST",Mat A[1,3]
|
||||
void CB_Load( char *SRC ) ; // Load ("TEST" [, Ptr])->Mat A[1,3]
|
||||
void CB_Load( char *SRC ) ; // Load ("TEST" [, Ptr])->Mat A[1,3]
|
||||
void CB_Delete( char *SRC ) ; // Delete "ABC.bin"[,Q]
|
||||
|
||||
void Setfoldername16( char *folder16, char *sname ) ;
|
||||
|
@ -143,12 +143,13 @@ void G1M_Basic_header( char *filebase ) ;
|
|||
int CB_PreProcessIndent( char *filebase, int progno ) ; //
|
||||
void CB_PostProcessIndentRemove( char *filebase ) ; //
|
||||
|
||||
void LoadConfig1data( int n ) ; // config data ->List Ans
|
||||
//-----------------------------------------------------------------------------
|
||||
int DecodeBmp2Vram( char *filebase, int px, int py ); // bmp -> vram
|
||||
char * LoadBmp( char *filebase );
|
||||
int SaveBmp( char *filebase, char *sname, int width, int height );
|
||||
void CB_BmpSave( char *SRC ) ; // BmpSave "TEST"[,x][,y][,x2][,y2][,Q]
|
||||
void CB_BmpLoad( char *SRC ) ; // BmpLoad("TEST" [, Ptr])->Mat A[1,3]
|
||||
void CB_BmpLoad( char *SRC ) ; // BmpLoad("TEST" [, Ptr])->Mat A[1,3]
|
||||
|
||||
//------------------------------------------------------------------------- MCS
|
||||
int MCS_ReadFileList() ; // MSC file list -> files
|
||||
|
|
|
@ -58,10 +58,10 @@
|
|||
#define CMD_MENU_GRPH_GMEM 0x10303
|
||||
#define CMD_MENU_DYNA 0x104
|
||||
#define CMD_MENU_DYNA_TYPE 0x10400
|
||||
#define CMD_MENU_TABL 0x110
|
||||
#define CMD_MENU_TABL 0x105
|
||||
#define CMD_MENU_TABL_TYPE 0x10500
|
||||
#define CMD_MENU_TABL_STYL 0x10501
|
||||
#define CMD_MENU_RECR 0x111
|
||||
#define CMD_MENU_RECR 0x106
|
||||
#define CMD_MENU_RECR_SELS 0x10600
|
||||
#define CMD_MENU_RECR_TYPE 0x10601
|
||||
#define CMD_MENU_RECR_RANG 0x10602
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
char CB_INTDefault=0; // default mode 0:normal 1: integer mode
|
||||
|
||||
char FuncType = 0;
|
||||
char DrawType = 0; // 0:connect 1:Plot
|
||||
char Coord = 1; // 0:off 1:on
|
||||
char Grid = 0; // 0:off 1:on
|
||||
|
@ -126,6 +127,7 @@ CchIf CacheRem;
|
|||
|
||||
void ClrCahche();
|
||||
|
||||
double REGf[4]; // F_Start F_End F_pitch
|
||||
double VWIN[6][11]; //
|
||||
char VWinflag[6]; // VWin flag
|
||||
|
||||
|
@ -483,6 +485,30 @@ int CB_interpreter_sub( char *SRC ) {
|
|||
case 0x39: // TryEnd
|
||||
CB_TryEnd();
|
||||
break;
|
||||
|
||||
case 0x2B: // NormalG
|
||||
case 0x2C: // ThickG
|
||||
case 0x2D: // BrokenThickG
|
||||
case 0x3F: // DotG
|
||||
case 0xFFFFFFC8: // G SelOn
|
||||
case 0xFFFFFFC9: // T SelOn
|
||||
case 0xFFFFFFD8: // G SelOff
|
||||
case 0xFFFFFFD9: // T SelOff
|
||||
case 0x63: // Y=Type
|
||||
case 0x64: // r=Type
|
||||
case 0x65: // ParamType
|
||||
// case 0x66: //
|
||||
case 0x67: // X=Type
|
||||
case 0x68: // X>Type
|
||||
case 0x69: // X<Type
|
||||
case 0x6A: // Y>Type
|
||||
case 0x6B: // Y<Type
|
||||
case 0x6C: // Y>=Type
|
||||
case 0x6D: // Y<=Type
|
||||
case 0x6E: // X>=Type
|
||||
case 0x6F: // X<=Type
|
||||
CB_GraphFunc(SRC,c);
|
||||
break;
|
||||
|
||||
case 0x17: // ACBreak
|
||||
if ( ( SRC[ExecPtr]==0xFFFFFFF7 ) && ( SRC[ExecPtr+1]==0x0E ) ) { // ACBreak Stop;
|
||||
|
@ -544,6 +570,15 @@ int CB_interpreter_sub( char *SRC ) {
|
|||
case 0x35 : // Blue
|
||||
case 0x36 : // Green
|
||||
break;
|
||||
case 0x5E : // RGB(
|
||||
CB_RGB( SRC, 0 );
|
||||
break;
|
||||
case 0x71 : // HSV(
|
||||
CB_RGB( SRC, 1 );
|
||||
break;
|
||||
case 0x73 : // HSL(
|
||||
CB_RGB( SRC, 2 );
|
||||
break;
|
||||
default:
|
||||
goto Evalexit2;
|
||||
}
|
||||
|
@ -560,6 +595,7 @@ int CB_interpreter_sub( char *SRC ) {
|
|||
case 0x1B: // fn
|
||||
fnjmp:
|
||||
if ( CB_CheckYfn( SRC ) == 0 ) goto Evalexit2;
|
||||
break;
|
||||
case 0x30: // StrJoin(
|
||||
// case 0x34: // StrLeft(
|
||||
// case 0x35: // StrRight(
|
||||
|
@ -584,6 +620,26 @@ int CB_interpreter_sub( char *SRC ) {
|
|||
// dspflag=0;
|
||||
break;
|
||||
|
||||
case 0xFFFFFF9B : // Black
|
||||
case 0xFFFFFF9C : // White
|
||||
case 0xFFFFFF9D : // Magenta
|
||||
case 0xFFFFFF9E : // Cyan
|
||||
case 0xFFFFFF9F : // Yellow
|
||||
case 0xFFFFFF9A: // AxesScale
|
||||
case 0x7D : // ColorClr
|
||||
case 0xFFFFFFF4: // S-L-Thin
|
||||
case 0xFFFFFFF3: // SketchThin
|
||||
break;
|
||||
case 0xFFFFFF99 : // Plot/Line-Color
|
||||
CB_PlotLineColor( SRC );
|
||||
break;
|
||||
case 0xFFFFFFBE : // Back-Color
|
||||
CB_BackColor( SRC );
|
||||
break;
|
||||
case 0xFFFFFFBF : // Transp-Color
|
||||
CB_TransparentColor( SRC );
|
||||
break;
|
||||
|
||||
case 0x08: // Real
|
||||
ComplexMode = 0;
|
||||
dspflag=0;
|
||||
|
@ -639,6 +695,10 @@ int CB_interpreter_sub( char *SRC ) {
|
|||
dspflag=0;
|
||||
UseGraphic=9;
|
||||
break;
|
||||
case 0xFFFFFF98: // SetG-Color
|
||||
case 0xFFFFFFF5: // ThinG
|
||||
CB_GraphFunc(SRC,c);
|
||||
break;
|
||||
default:
|
||||
Evalexit2:
|
||||
ExecPtr-=2;
|
||||
|
@ -2382,6 +2442,9 @@ void CB_Store( char *SRC ){ // ->
|
|||
} else if ( c == 0x5F ) { // Ticks
|
||||
ExecPtr+=2;
|
||||
goto StoreTicks;
|
||||
} else if ( ( 0xFFFFFF91 <= c ) && ( c <= 0xFFFFFF93 ) ) { // F Start~F pitch
|
||||
ExecPtr+=2;
|
||||
REGf[c-0xFFFFFF90] = CB_CurrentValue.real ;
|
||||
} else if ( c == 0x00 ) { // Xmin
|
||||
Xmin = CB_CurrentValue.real ;
|
||||
SetXdotYdot();
|
||||
|
@ -2818,6 +2881,7 @@ int CB_interpreter( char *SRC ) {
|
|||
char bk_RoundMODE = CB_Round.MODE;
|
||||
char bk_RoundDIGIT = CB_Round.DIGIT;
|
||||
char bk_ENG = ENG; // ENG flag
|
||||
char bk_FuncType = FuncType;
|
||||
char bk_DrawType = DrawType; // 0:connect 1:Plot
|
||||
char bk_Coord = Coord; // 0:off 1:on
|
||||
char bk_Grid = Grid; // 0:off 1:on
|
||||
|
@ -2884,6 +2948,7 @@ int CB_interpreter( char *SRC ) {
|
|||
CB_Round.MODE =bk_RoundMODE;
|
||||
CB_Round.DIGIT=bk_RoundDIGIT;
|
||||
ENG = bk_ENG; // ENG flag
|
||||
FuncType = bk_FuncType;
|
||||
DrawType = bk_DrawType; // 0:connect 1:Plot
|
||||
Coord = bk_Coord; // 0:off 1:on
|
||||
Grid = bk_Grid; // 0:off 1:on
|
||||
|
@ -2899,292 +2964,6 @@ int CB_interpreter( char *SRC ) {
|
|||
return stat;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------------
|
||||
void CB_Input( char *SRC ){
|
||||
unsigned int key;
|
||||
int c;
|
||||
complex DefaultValue={0,0};
|
||||
int flag=0,flagint=0;
|
||||
int reg,bptr,mptr;
|
||||
int dimA,dimB,base;
|
||||
char buffer[256];
|
||||
char* MatAryC;
|
||||
short* MatAryW;
|
||||
int* MatAryI;
|
||||
int width=255,length=ExpMax-1,option=0,rev=REV_OFF;
|
||||
char spcchr[]={0x20,0,0};
|
||||
char buffer2[64];
|
||||
int aryN,aryS;
|
||||
char *StrFnPtr;
|
||||
|
||||
KeyRecover();
|
||||
HiddenRAM_MatAryStore(); // MatAry ptr -> HiddenRAM
|
||||
CB_ChangeTextMode( SRC ) ;
|
||||
// CB_SelectTextDD(); // Select Text Screen
|
||||
if ( CursorX==22 ) CursorX=1;
|
||||
if ( CursorX==23 ) Scrl_Y();
|
||||
|
||||
c=SRC[ExecPtr];
|
||||
if ( c=='(' ) { // ?option([csrX][,csrY][,width][,spcchr][,length][,R])
|
||||
c=SRC[++ExecPtr];
|
||||
if ( ( c==')' ) || ( c==0x0E ) ) goto optionexit;
|
||||
if ( c!=',' ) {
|
||||
CursorX=CB_EvalInt( SRC ); if ( ( CursorX<1 ) || ( 21<CursorX ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
CursorY=CB_EvalInt( SRC ); if ( ( CursorY<1 ) || ( 8<CursorY ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
width=CB_EvalInt( SRC ); if ( ( width<1 ) || ( 21<width ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 256-1 ); // String -> buffer return
|
||||
} else { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
spcchr[0]=buffer[0];
|
||||
spcchr[1]=buffer[1];
|
||||
spcchr[2]=buffer[2];
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=',' ) {
|
||||
length=CB_EvalInt( SRC ); if ( ( length<1 ) || ( ExpMax-1<length ) ) { CB_Error(ArgumentERR); return ; } // Argument error
|
||||
c=SRC[ExecPtr];
|
||||
if ( c!=',' ) goto optionexit;
|
||||
}
|
||||
c=SRC[++ExecPtr];
|
||||
if ( c!=')' ) {
|
||||
if ( ( c=='R' ) || ( c=='r' ) ) { // reverse
|
||||
ExecPtr++;
|
||||
rev=REV_ON;
|
||||
}
|
||||
}
|
||||
optionexit:
|
||||
option=1;
|
||||
if ( SRC[ExecPtr]==')' ) ExecPtr++;
|
||||
} else {
|
||||
locate( CursorX, CursorY); Print((unsigned char*)"?");
|
||||
Scrl_Y();
|
||||
}
|
||||
|
||||
c=SRC[ExecPtr];
|
||||
bptr=ExecPtr;
|
||||
reg=RegVar(c);
|
||||
if ( c==0x0E ) { // ->
|
||||
flag=0;
|
||||
if ( CB_IsStr( SRC, ExecPtr+1 ) ) flag=2;
|
||||
} else
|
||||
if ( reg>=0 ) {
|
||||
regj:
|
||||
flag=1;
|
||||
c=SRC[ExecPtr+1];
|
||||
if (CB_INT==1) {
|
||||
if ( c=='#' ) {
|
||||
DefaultValue = LocalDbl[reg][0] ;
|
||||
} else { flagint=1;
|
||||
if ( c=='[' ) {
|
||||
ExecPtr+=2;
|
||||
MatOprandInt2( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else
|
||||
if ( ( '0'<=c )&&( c<='9' ) ) {
|
||||
ExecPtr++;
|
||||
dimA=c-'0';
|
||||
MatOprand1num( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else DefaultValue = Int2Cplx( LocalInt[reg][0] );
|
||||
}
|
||||
} else {
|
||||
if ( c=='%' ) { flagint=1;
|
||||
DefaultValue = Int2Cplx( LocalInt[reg][0] );
|
||||
} else {
|
||||
if ( c=='[' ) {
|
||||
ExecPtr+=2;
|
||||
MatOprand2( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else
|
||||
if ( ( '0'<=c )&&( c<='9' ) ) {
|
||||
ExecPtr++;
|
||||
dimA=c-'0';
|
||||
MatOprand1num( SRC, reg, &dimA, &dimB );
|
||||
goto Matrix;
|
||||
} else DefaultValue = LocalDbl[reg][0] ;
|
||||
}
|
||||
}
|
||||
} else
|
||||
if ( c==0x7F ) {
|
||||
c = SRC[ExecPtr+1] ;
|
||||
if ( ( c == 0x40 ) || ( c == 0xFFFFFF84 ) || ( ( c == 0x51 ) || ( (0x6A<=c)&&(c<=0x6F) ) ) ) { // Mat A[a,b] or Vct A[a] or List 1[a]
|
||||
MatrixOprand( SRC, ®, &dimA, &dimB );
|
||||
Matrix:
|
||||
if ( ErrorNo ) { // error
|
||||
if ( MatAry[reg].SizeA == 0 ) ErrorNo=NoMatrixArrayERR; // No Matrix Array error
|
||||
return ;
|
||||
}
|
||||
DefaultValue = Cplx_ReadMatrix( reg, dimA, dimB);
|
||||
ExecPtr=bptr;
|
||||
} else if ( c == 0x00 ) { // Xmin
|
||||
DefaultValue.real = Xmin ;
|
||||
} else if ( c == 0x01 ) { // Xmax
|
||||
DefaultValue.real = Xmax ;
|
||||
} else if ( c == 0x02 ) { // Xscl
|
||||
DefaultValue.real = Xscl ;
|
||||
} else if ( c == 0x04 ) { // Ymin
|
||||
DefaultValue.real = Ymin ;
|
||||
} else if ( c == 0x05 ) { // Ymax
|
||||
DefaultValue.real = Ymax ;
|
||||
} else if ( c == 0x06) { // Yscl
|
||||
DefaultValue.real = Yscl ;
|
||||
} else if ( c == 0x08) { // Thetamin
|
||||
DefaultValue.real = TThetamin ;
|
||||
} else if ( c == 0x09) { // Thetamax
|
||||
DefaultValue.real = TThetamax ;
|
||||
} else if ( c == 0x0A) { // Thetaptch
|
||||
DefaultValue.real = TThetaptch ;
|
||||
} else if ( c == 0x0B ) { // Xfct
|
||||
DefaultValue.real = Xfct ;
|
||||
} else if ( c == 0x0C ) { // Yfct
|
||||
DefaultValue.real = Yfct ;
|
||||
} else if ( c == 0xFFFFFFF0 ) { // GraphY
|
||||
reg =defaultGraphAry;
|
||||
aryN=defaultGraphAryN;
|
||||
aryS=defaultGraphArySize;
|
||||
goto strj;
|
||||
} else {
|
||||
goto exitj;
|
||||
}
|
||||
flag=1;
|
||||
} else
|
||||
if ( c==0xFFFFFFF9 ) {
|
||||
c = SRC[ExecPtr+1] ;
|
||||
if ( c == 0x3F ) { // Str 1-20
|
||||
reg =defaultStrAry;
|
||||
aryN=defaultStrAryN;
|
||||
aryS=defaultStrArySize;
|
||||
strj:
|
||||
ExecPtr+=2;
|
||||
StrFnPtr = GetStrYFnPtr( SRC, reg, aryN+1-MatBase, aryS );
|
||||
if ( ErrorNo ) return ; // error
|
||||
flag=3;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x1B ) { // fn
|
||||
reg=defaultFnAry;
|
||||
aryN=defaultFnAryN;
|
||||
aryS=defaultFnArySize;
|
||||
goto strj;
|
||||
} else
|
||||
if ( c == 0x41 ) { // DATE
|
||||
ExecPtr+=2;
|
||||
flag=4;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x42 ) { // TIME
|
||||
ExecPtr+=2;
|
||||
flag=5;
|
||||
ExecPtr=bptr;
|
||||
} else
|
||||
if ( c == 0x21 ) { // Xdot
|
||||
DefaultValue.real = Xdot ;
|
||||
flag=1;
|
||||
} else goto exitj;
|
||||
} else
|
||||
if ( c=='$' ) {
|
||||
ExecPtr++;
|
||||
MatrixOprand( SRC, ®, &dimA, &dimB );
|
||||
if ( ErrorNo ) return ; // error
|
||||
if ( MatAry[reg].SizeA == 0 ) { CB_Error(NoMatrixArrayERR); return; } // No Matrix Array error
|
||||
if ( MatAry[reg].ElementSize != 8 ) { CB_Error(ArgumentERR); return; } // element size error
|
||||
flag=3;
|
||||
ExecPtr=bptr;
|
||||
} else {
|
||||
exitj:
|
||||
reg=RegVarAliasEx( SRC ); if ( reg>=0 ) goto regj; // variable alias
|
||||
CB_Error(SyntaxERR); return; } // Syntax error
|
||||
|
||||
switch ( flag ) {
|
||||
case 0: // ? -> A value
|
||||
if ( option ) {
|
||||
CB_CurrentValue = InputNumC_CB2( CursorX, CursorY, width, length, spcchr, rev, Int2Cplx(0), 0 ); // zero not disp
|
||||
} else {
|
||||
CB_CurrentValue = InputNumC_CB( CursorX, CursorY, width, length, spcchr, rev, Int2Cplx(0) );
|
||||
}
|
||||
ExecPtr++;
|
||||
if ( CB_INT==1 ) flagint=1;
|
||||
vinp:
|
||||
ErrorNo=0; // error cancel
|
||||
if ( BreakPtr > 0 ) { ExecPtr=BreakPtr; return ; }
|
||||
CBint_CurrentValue = CB_CurrentValue.real ;
|
||||
if ( flagint ) {
|
||||
CBint_Store( SRC );
|
||||
break;
|
||||
}
|
||||
CB_Store( SRC );
|
||||
break;
|
||||
case 1: // ?A value
|
||||
if ( option ) {
|
||||
CB_CurrentValue = InputNumC_CB2( CursorX, CursorY, width, length, spcchr, rev, DefaultValue, 1 ); // zero disp
|
||||
} else {
|
||||
buffer2[0]='\0';
|
||||
Cplx_sprintGR2( buffer, buffer2, DefaultValue, 22-CursorX, RIGHT_ALIGN, CB_Round.MODE, CB_Round.DIGIT );
|
||||
locate( CursorX, CursorY); Print((unsigned char*)buffer);
|
||||
if ( buffer2[0] != '\0' ){
|
||||
Scrl_Y();
|
||||
locate( CursorX, CursorY); Print((unsigned char*)buffer2);
|
||||
}
|
||||
Scrl_Y();
|
||||
CB_CurrentValue = InputNumC_CB1( CursorX, CursorY, width, length, spcchr, rev, DefaultValue );
|
||||
}
|
||||
goto vinp;
|
||||
break;
|
||||
case 2: // ? -> str
|
||||
CB_CurrentStr=buffer;
|
||||
CB_CurrentStr[0]='\0';
|
||||
Inpj1: if ( option == 0 ) CursorX=1;
|
||||
key=InputStr( CursorX, CursorY, width, CB_CurrentStr, length, spcchr, rev);
|
||||
ErrorNo=0; // error cancel
|
||||
if ( key==KEY_CTRL_AC ) { BreakPtr=ExecPtr; return ; }
|
||||
if ( SRC[ExecPtr]==0x0E ) ExecPtr++; // -> skip
|
||||
CB_StorStr( SRC );
|
||||
break;
|
||||
case 3: // ?$Mat ?Str1-20
|
||||
CB_CurrentStr=buffer;
|
||||
OpcodeStringToAsciiString(buffer, StrFnPtr, 255);
|
||||
if ( width > MatAry[reg].SizeB-1 ) width=MatAry[reg].SizeB-1;
|
||||
key=InputStr( CursorX, CursorY, width, CB_CurrentStr, length, spcchr, rev);
|
||||
ErrorNo=0; // error cancel
|
||||
if ( key==KEY_CTRL_AC ) { BreakPtr=ExecPtr; return ; }
|
||||
CB_StorStr( SRC );
|
||||
break;
|
||||
case 4: // ?DATE
|
||||
CB_DateToStr();
|
||||
CB_CurrentStr[10]='\0'; // week cancel
|
||||
Inpj2:
|
||||
// CB_Print(CursorX, CursorY, (unsigned char*)CB_CurrentStr);
|
||||
// Scrl_Y();
|
||||
goto Inpj1;
|
||||
break;
|
||||
case 5: // ?TIME
|
||||
CB_TimeToStr();
|
||||
goto Inpj2;
|
||||
break;
|
||||
}
|
||||
if ( option == 0 ) Scrl_Y();
|
||||
Bdisp_PutDisp_DD_DrawBusy();
|
||||
return ;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------
|
||||
int iObjectAlign4a( unsigned int n ){ return n; } // align +4byte
|
||||
int iObjectAlign4b( unsigned int n ){ return n; } // align +4byte
|
||||
|
|
|
@ -11,6 +11,7 @@ extern char Grid ; // 0:off 1:on
|
|||
extern char Axes ; // 0:off 1:on
|
||||
extern char Label ; // 0:off 1:on
|
||||
extern char Derivative ; // 0:off 1:on
|
||||
extern char FuncType;
|
||||
|
||||
#define S_L_Normal 0
|
||||
#define S_L_Thick 1
|
||||
|
@ -52,6 +53,7 @@ extern char CommandInputMethod; // 0:C.Basic 1:Genuine
|
|||
extern complex REG[VARMAXSIZE];
|
||||
extern double REGv[11];
|
||||
extern double VWIN[6][11];
|
||||
extern double REGf[4]; // F_Start F_End F_pitch
|
||||
extern char VWinflag[6]; // VWin flag
|
||||
|
||||
#define regA REG[ 0]
|
||||
|
@ -101,6 +103,11 @@ extern char VWinflag[6]; // VWin flag
|
|||
#define Xdot REGv[ 9]
|
||||
#define Ydot REGv[10]
|
||||
|
||||
#define F_Result REGf[ 0]
|
||||
#define F_Start REGf[ 1]
|
||||
#define F_End REGf[ 2]
|
||||
#define F_pitch REGf[ 3]
|
||||
|
||||
|
||||
extern double Xfct;
|
||||
extern double Yfct;
|
||||
|
@ -366,6 +373,14 @@ int CB_PopUpWin( char *SRC ); //
|
|||
void CB_Menu( char *SRC, int *StackGotoAdrs, CurrentStk *CurrentStruct) ; // Menu "title name","Branch name1",1,"Branch name2",2,"Branch name3",3,...
|
||||
void CB_Wait( char *SRC ) ;
|
||||
|
||||
void CB_PlotLineColor( char *SRC );
|
||||
void CB_BackColor( char *SRC );
|
||||
void CB_TransparentColor( char *SRC );
|
||||
int CB_GetColor( char *SRC );
|
||||
unsigned short CB_RGB( char *SRC, int mode ) ; // n or (r,g,b) return : color code // mode 0:RGB 1:HSV 2:HSL
|
||||
|
||||
void CB_GraphFunc( char *SRC, int c ) ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
#define MAXNAMELEN 8
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ void CB_Locate( char *SRC ){
|
|||
if ( c != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 256-1 ); // String -> buffer return
|
||||
} else { // expression
|
||||
|
@ -499,7 +499,7 @@ void CB_Text( char *SRC ) { // Text
|
|||
c=SRC[ExecPtr];
|
||||
if ( c != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
c=SRC[++ExecPtr];
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 256-1 ); // String -> buffer return
|
||||
} else { // expression
|
||||
|
@ -542,7 +542,7 @@ void CB_LocateYX( char *SRC ){
|
|||
c=SRC[ExecPtr];
|
||||
if ( c != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 256-1 ); // String -> buffer return
|
||||
} else { // expression
|
||||
|
@ -1755,7 +1755,7 @@ int CB_Disp( char *SRC ){ // Disp "A=",A
|
|||
if ( CursorX >1 ) Scrl_Y();
|
||||
|
||||
CB_StrBufferCNT=0; // String buffer clear
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 128-1 ); // String -> buffer return
|
||||
} else { // expression
|
||||
|
@ -1952,7 +1952,7 @@ void CB_FkeyMenu( char *SRC) { // FkeyMenu(6,"ABC",R)
|
|||
if ( c != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
||||
c=CB_IsStr( SRC, ExecPtr );
|
||||
c=CB_IsStr_noYFn( SRC, ExecPtr );
|
||||
if ( c ) { // string
|
||||
CB_GetLocateStr( SRC, buffer, 64-1 ); // String -> buffer return
|
||||
} else { // expression
|
||||
|
@ -2492,6 +2492,77 @@ void CB_RclVWin( char *SRC ) {
|
|||
CB_ChangeViewWindow() ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------------
|
||||
void CB_GraphFunc( char *SRC, int c ) {
|
||||
int n,d;
|
||||
char *buffer;
|
||||
if ( ( 0x63<=c ) && ( c<=0x6F) ) {
|
||||
switch ( c ) {
|
||||
case 0x63: d= 0; break; // Y=Type
|
||||
case 0x64: d= 1; break; // r=Type
|
||||
case 0x65: d= 2; break; // ParamType
|
||||
// case 0x66: //
|
||||
case 0x67: d= 3; break; // X=Type
|
||||
case 0x68: d= 8; break; // X>Type
|
||||
case 0x69: d= 9; break; // X<Type
|
||||
case 0x6A: d= 4; break; // Y>Type
|
||||
case 0x6B: d= 5; break; // Y<Type
|
||||
case 0x6C: d= 6; break; // Y>=Type
|
||||
case 0x6D: d= 7; break; // Y<=Type
|
||||
case 0x6E: d=10; break; // X>=Type
|
||||
case 0x6F: d=11; break; // X<=Type
|
||||
}
|
||||
FuncType = d;
|
||||
return;
|
||||
}
|
||||
if ( c == 0xFFFFFF98 ) { // SetG-Color
|
||||
c = CB_GetColor( SRC );
|
||||
if ( SRC[ExecPtr]!=',' ) { CB_Error(SyntaxERR); goto exit; } // Syntax error
|
||||
ExecPtr++;
|
||||
buffer = GetStrYFnPtr( SRC, defaultGraphAry, defaultGraphAryN, defaultGraphArySize ) ;
|
||||
if ( buffer[7-1] ) {
|
||||
buffer[5-1] = c/256;
|
||||
buffer[6-1] = c%256;
|
||||
}
|
||||
goto exit;
|
||||
}
|
||||
|
||||
buffer = GetStrYFnPtr( SRC, defaultGraphAry, defaultGraphAryN, defaultGraphArySize ) ;
|
||||
if ( buffer[7-1] == 0 ) goto exit;
|
||||
switch ( c ) {
|
||||
case 0x2B: // NormalG
|
||||
buffer[4-1] = 0x02;
|
||||
break;
|
||||
case 0x2C: // ThickG
|
||||
buffer[4-1] = 0x03;
|
||||
break;
|
||||
case 0x2D: // BrokenThickG
|
||||
buffer[4-1] = 0x05;
|
||||
break;
|
||||
case 0x3F: // DotG
|
||||
buffer[4-1] = 0x08;
|
||||
break;
|
||||
case 0xFFFFFFF5: // ThinG
|
||||
buffer[4-1] = 0x12;
|
||||
break;
|
||||
case 0xFFFFFFC8: // G SelOn
|
||||
buffer[3-1] |= 0x80;
|
||||
break;
|
||||
case 0xFFFFFFC9: // T SelOn
|
||||
buffer[3-1] |= 0x20;
|
||||
break;
|
||||
case 0xFFFFFFD8: // G SelOff
|
||||
buffer[3-1] &= 0x7F;
|
||||
break;
|
||||
case 0xFFFFFFD9: // T SelOff
|
||||
buffer[3-1] &= 0xDF;
|
||||
break;
|
||||
}
|
||||
exit:
|
||||
dspflag=0;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
int GObjectAlign4d( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4e( unsigned int n ){ return n; } // align +4byte
|
||||
|
|
|
@ -35,6 +35,7 @@ extern int StackPtr;
|
|||
//------------------------------------------------------------------------------
|
||||
void VerDispSub( int flag ) ;
|
||||
void VerDisp( int flag ) ;
|
||||
unsigned int XTTKey( unsigned int key) ;
|
||||
unsigned int MathKey( unsigned int key) ;
|
||||
|
||||
int CB_Version() ; // Version
|
||||
|
|
Loading…
Reference in New Issue