FX 02.46.0100
This commit is contained in:
parent
f331c81716
commit
3e0b083353
|
@ -5,7 +5,7 @@
|
|||
[BINDATA] : "FXADDINror.bin"
|
||||
[DISPNAME] : "CBASIC"
|
||||
[APPNAME] : "@CBASIC"
|
||||
[VERSION] : "02.45.2000"
|
||||
[VERSION] : "02.46.1000"
|
||||
[APL_ICON] : "MainIcon.bmp"
|
||||
[MODULE_NUM] : 0
|
||||
[MOD1_TITLE] : "CBASIC"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[DLSimProject]
|
||||
Name=CBASIC
|
||||
Version=02.45.2000
|
||||
Version=02.46.1000
|
||||
Model=:fx-9860G.dlm
|
||||
SourcePath=.
|
||||
MemoryPath=INIT
|
||||
|
|
|
@ -898,6 +898,11 @@ complex Cplx_Evalsub1(char *SRC) { // 1st Priority
|
|||
return Int2Cplx( 3 );
|
||||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC);
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 );
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 );
|
||||
|
||||
case 0x46 : // Dim
|
||||
result.real = CB_Dim( SRC );
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
void Cplx_WriteListAns2( complex x, complex y ) {
|
||||
int base=MatBase;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 128 ); // List Ans[2]
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 1,1, x ) ; //
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 2,1, y ) ; //
|
||||
NewMatListAns( 2, 1, base, 128 ); // List Ans[2]
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, base, base, x ) ; //
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, base+1, base, y ) ; //
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -361,6 +362,11 @@ complex Cplx_ListEvalsub1(char *SRC) { // 1st Priority
|
|||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC);
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 );
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 );
|
||||
|
||||
case 0x46 : // Dim
|
||||
result.real = CB_Dim( SRC );
|
||||
result.imag = 0;
|
||||
|
@ -534,10 +540,7 @@ complex Cplx_ListEvalsub1(char *SRC) { // 1st Priority
|
|||
ExecPtr++;
|
||||
tmp2=Cplx_NoListEvalsubTop( SRC );
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 128 ); // List Ans[2]
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 1,1, Cplx_fpolr(tmp,tmp2) ) ; // r
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 2,1, Cplx_fpolt(tmp,tmp2) ) ; // Theta
|
||||
Cplx_WriteListAns2( Cplx_fpolr(tmp,tmp2) , Cplx_fpolt(tmp,tmp2) ) ;
|
||||
return Int2Cplx( 0 );
|
||||
case 0xFFFFFFA0 : // Rec( r, Theta ) -> X,Y
|
||||
tmp=Cplx_NoListEvalsubTop( SRC );
|
||||
|
@ -545,10 +548,7 @@ complex Cplx_ListEvalsub1(char *SRC) { // 1st Priority
|
|||
ExecPtr++;
|
||||
tmp2=Cplx_NoListEvalsubTop( SRC );
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 128 ); // List Ans[2]
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 1,1, Cplx_frecx(tmp,tmp2) ) ; // x
|
||||
Cplx_WriteMatrix( CB_MatListAnsreg, 2,1, Cplx_frecy(tmp,tmp2) ) ; // y
|
||||
Cplx_WriteListAns2( Cplx_frecx(tmp,tmp2) , Cplx_frecy(tmp,tmp2) ) ;
|
||||
return Int2Cplx( 0 );
|
||||
|
||||
case 0xFFFFFFF9: // F9..
|
||||
|
|
|
@ -737,7 +737,12 @@ int EvalIntsub1(char *SRC) { // 1st Priority
|
|||
return 3;
|
||||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC).real;
|
||||
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 ).real;
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 ).real;
|
||||
|
||||
case 0x46 : // Dim
|
||||
result=CB_Dim( SRC );
|
||||
if ( result >= 0 ) return result;
|
||||
|
|
|
@ -333,6 +333,11 @@ int ListEvalIntsub1(char *SRC) { // 1st Priority
|
|||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC).real;
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 ).real;
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 ).real;
|
||||
|
||||
case 0x46 : // Dim
|
||||
result=CB_Dim( SRC );
|
||||
if ( result >= 0 ) return result;
|
||||
|
|
|
@ -334,41 +334,6 @@ void CB_Except( char*SRC ) {
|
|||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------------
|
||||
int CB_GetRGB( char *SRC, int mode ){ // GetRGB/HSV/HSL() -> ListAns
|
||||
int c,d,r,g,b,m;
|
||||
int h,s,v;
|
||||
int base=MatBase;
|
||||
int errorCheck=1;
|
||||
int pipe=mode & 0xF0;
|
||||
mode &= 0x0F;
|
||||
d = CB_EvalInt( SRC );
|
||||
if ( SRC[ExecPtr] == ',' ) {
|
||||
c=SRC[++ExecPtr];
|
||||
if ( ( c == 'N' ) || ( c == 'N' ) ) { ExecPtr++; errorCheck=0; }
|
||||
}
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
|
||||
b = ((d&0x001F) << 3);
|
||||
g = ((d&0x07E0) >> 3);
|
||||
r = ((d&0xF800) >> 8);
|
||||
|
||||
h=r; s=g; v=b;
|
||||
// if ( mode ) {
|
||||
// if ( ( errorCheck ) && ( pipe==0 ) ) {
|
||||
// if ( (d==0x003F) || (d==0x041F) || (d==0xF820) || (d==0xFC00) ) { if ( CannotSupportERROR( d ) ) return 0; } // Can not support error
|
||||
// }
|
||||
// if ( mode==1 ) rgb2hsv(r,g,b,&h,&s,&v); // rgb->HSV
|
||||
// if ( mode==2 ) rgb2hsl(r,g,b,&h,&s,&v); // rgb->HSL
|
||||
// }
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 3, 1, base, 32 ); // List Ans[3]
|
||||
m=base;
|
||||
WriteMatrix( CB_MatListAnsreg, m++, base, h ) ; //
|
||||
WriteMatrix( CB_MatListAnsreg, m++, base, s ) ; //
|
||||
WriteMatrix( CB_MatListAnsreg, m , base, v ) ; //
|
||||
return d;
|
||||
}
|
||||
|
||||
int CB_RGBlistsub( char *SRC, int*r, int*g, int*b ){
|
||||
int reg;
|
||||
int m,n;
|
||||
|
|
|
@ -1050,6 +1050,8 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
PrevLinePhyN( ymax, SrcBase, &offset, &offset_y ); // csrY adjust
|
||||
UpdateLineNum=1;
|
||||
|
||||
if ( run == 1 ) { key=KEY_CTRL_F6; goto directrun; } // direct run
|
||||
|
||||
if ( DebugMode ) DebugMenuSw=1;
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
|
@ -1059,8 +1061,6 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
else Cursor_SetFlashOn(0x6); // overwrite mode cursor
|
||||
|
||||
KeyRecover();
|
||||
if ( run == 1 ) { key=KEY_CTRL_F6; goto directrun; } // direct run
|
||||
|
||||
while ( cont ) {
|
||||
if ( DebugMode==0 ) DebugMenuSw=0;
|
||||
mini=(EditFontSize & 0x0F);
|
||||
|
@ -1624,7 +1624,6 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
ClipStartPtr = -1 ; // ClipMode cancel
|
||||
break;
|
||||
case KEY_CTRL_F6:
|
||||
directrun:
|
||||
execptr=csrPtr;
|
||||
if ( SearchMode ) goto searchStart; // Retry search
|
||||
if ( ClipStartPtr >= 0 ) { // Clip -> del '
|
||||
|
@ -1658,6 +1657,7 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
csrPtr=OpcodeLinePtr( offset_y, SrcBase, offset);
|
||||
if ( SrcBase[offset] == 0 ) PrevLinePhyN( ymax, SrcBase, &offset, &offset_y );
|
||||
} else {
|
||||
directrun:
|
||||
if ( ( 1 <= DebugMode ) && ( DebugMode <=3 ) ) { // ====== Debug Mode ======
|
||||
if ( DebugScreen == 1 ) { DebugMenuSw = 1; DebugScreen = 2; }
|
||||
else
|
||||
|
@ -2311,7 +2311,7 @@ int CB_BreakStop() {
|
|||
|
||||
if ( BreakPtr == -7 ) return BreakPtr; // return to main program
|
||||
if ( ErrorNo == StackERR ) { BreakPtr=-999; TryFlag=0; return BreakPtr; } // stack error
|
||||
if ( ( BreakPtr == 0 ) && ( TryFlag ) ) return 0;
|
||||
if ( TryFlag ) return 0;
|
||||
|
||||
HiddenRAM_MatAryStore(); // MatAry ptr -> HiddenRAM
|
||||
Bdisp_PutDisp_DD();
|
||||
|
|
|
@ -88,9 +88,6 @@ void CB_ErrMsg(int ErrNo) {
|
|||
case ReceiveERR:
|
||||
ERROR(" Receive ERROR");
|
||||
break;
|
||||
case InvalidType:
|
||||
ERROR(" Invalid Type");
|
||||
break;
|
||||
|
||||
case NextWithoutForERR:
|
||||
ERROR("Next without For");
|
||||
|
|
|
@ -3057,9 +3057,17 @@ void LoadConfig1(){
|
|||
double *bufdbl;
|
||||
int size,i;
|
||||
int handle,state;
|
||||
char folder[32]="CBasic"; // default C.Basic working folder
|
||||
|
||||
if ( LoadConfigReadFile( buffer, fname, ConfigMAX ) < 0 ) return;
|
||||
|
||||
if ( LoadConfigReadFile( buffer, fname, ConfigMAX ) < 0 ) {
|
||||
if ( Is35E2 ) {
|
||||
CreateDirectorySub( folder, 1 ); // creat default C.Basic folder for III model
|
||||
root2[0]='\\';
|
||||
strcpy( root2+1, folder ); // current folder
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
bufshort=(short*)buffer;
|
||||
bufint=(int*)buffer;
|
||||
bufdbl=(double*)buffer;
|
||||
|
|
226
fx/CBZ_inp.c
226
fx/CBZ_inp.c
|
@ -240,32 +240,33 @@ void sprintGRSiE( char* buffer, double num, int width, int align_mode, int round
|
|||
if ( ENG==1 ) { // ENG mode
|
||||
fabsnum=fabs(num);
|
||||
num = Round( num, round_mode, round_digit );
|
||||
if ( ( num != 0 ) && ( 1e-15 <= fabsnum ) && ( fabsnum < 1e21 ) ) {
|
||||
if ( fabsnum >= 1e18 ) { num/=1e18; c=0x0B; } // Exa
|
||||
if ( ( 0== fabsnum ) || ( ( 1e-15 <= fabsnum ) && ( fabsnum < 1e21 ) ) ) {
|
||||
if ( fabsnum >= 1e18 ) { num/=1e18; c=0x1B; } // Exa
|
||||
else if ( fabsnum >= 1e15 ) { num/=1e15; c=0x0A; } // Peta
|
||||
else if ( fabsnum >= 1e12 ) { num/=1e12; c=0x09; } // Tera
|
||||
else if ( fabsnum >= 1e09 ) { num/=1e09; c=0x08; } // Giga
|
||||
else if ( fabsnum >= 1e06 ) { num/=1e06; c=0x07; } // Mega
|
||||
else if ( fabsnum >= 1e03 ) { num/=1e03; c=0x6B; } // Kiro
|
||||
else if ( fabsnum >= 1e03 ) { num/=1e03; c=0x06; } // Kiro
|
||||
else if ( fabsnum >= 1 ) { if ( cplx==0 ) c=' '; }
|
||||
else if ( fabsnum >= 1e-3 ) { num/=1e-3; c=0x6d; } // milli
|
||||
else if ( fabsnum >= 1e-6 ) { num/=1e-6; c=0xE6; d=0x4B; } // micro
|
||||
else if ( fabsnum == 0 ) { c=' '; } // 0
|
||||
else if ( fabsnum >= 1e-3 ) { num/=1e-3; c=0x05; } // milli
|
||||
else if ( fabsnum >= 1e-6 ) { num/=1e-6; c=0x04; } // micro
|
||||
else if ( fabsnum >= 1e-9 ) { num/=1e-9; c=0x03; } // nano
|
||||
else if ( fabsnum >= 1e-12) { num/=1e-12; c=0x70; } // pico
|
||||
else if ( fabsnum >= 1e-15) { num/=1e-15; c=0x66; } // femto
|
||||
else if ( fabsnum >= 1e-12) { num/=1e-12; c=0x02; } // pico
|
||||
else if ( fabsnum >= 1e-15) { num/=1e-15; c=0x01; } // femto
|
||||
width-- ;
|
||||
round_mode=Norm; round_digit=0;
|
||||
round_mode=Norm; //round_digit=0;
|
||||
sprintGRSi( buffer, num, width, align_mode, round_mode, round_digit, cplx );
|
||||
width=strlen((char*)buffer);
|
||||
if ( ( cplx ) && ( buffer[width-1] == 0x50 ) && c ) {
|
||||
width-=2;
|
||||
buffer[width++]=c;
|
||||
if ( d ) buffer[width++]=d;
|
||||
// if ( d ) buffer[width++]=d;
|
||||
buffer[width++]=0x7f; // (i)
|
||||
buffer[width++]=0x50; // (i)
|
||||
} else {
|
||||
buffer[width++]=c;
|
||||
buffer[width++]=d;
|
||||
// buffer[width++]=d;
|
||||
}
|
||||
buffer[width]='\0';
|
||||
return ;
|
||||
|
@ -1127,6 +1128,7 @@ const short oplistOPTN[]={
|
|||
0x7F3C, // GCD(
|
||||
0x7F3D, // LCM(
|
||||
0x7F85, // logab(
|
||||
0x7F29, // Sigma(
|
||||
|
||||
0xFFFF, // -
|
||||
0x7FB0, // And
|
||||
|
@ -1161,33 +1163,45 @@ const short oplistOPTN[]={
|
|||
|
||||
0xFFFF, // -
|
||||
0x7F46, // Dim
|
||||
0x7F41, // Trn
|
||||
0x7F47, // Fill(
|
||||
0x7F45, // Swap
|
||||
0x7F42, // *Row
|
||||
0x7F43, // *Row+
|
||||
0x7F44, // Row+
|
||||
0x7F48, // Identity
|
||||
0x7F58, // ElemSize(
|
||||
0x7F59, // RowSize(
|
||||
0x7F5A, // ColSize(
|
||||
0x7F5B, // MatBase(
|
||||
0x7FE9, // CellSum(
|
||||
|
||||
0xFFFF, // -
|
||||
0x7F2C, // Seq(
|
||||
0x7F49, // Augment(
|
||||
0x7F4A, // List->Mat(
|
||||
0x7F4B, // Mat->List(
|
||||
0x7F20, // Max(
|
||||
0x7F47, // Fill(
|
||||
0x7F2C, // Seq(
|
||||
0x7F2D, // Min(
|
||||
0x7F20, // Max(
|
||||
0x7F2E, // Mean(
|
||||
0x7F49, // Augment(
|
||||
0x7F4C, // Sum
|
||||
0x7F4D, // Prod
|
||||
0xF7B0, // SortA(
|
||||
0xF7B1, // SortB(
|
||||
0x7F5C, // ListCmp(
|
||||
0x7F29, // Sigma(
|
||||
|
||||
0xFFFF, // -
|
||||
0x7F46, // Dim
|
||||
0x7F4B, // Mat->List(
|
||||
0x7F21, // Det
|
||||
0x7F41, // Trn
|
||||
0x7F49, // Augment(
|
||||
0x7F48, // Identity
|
||||
0x7F47, // Fill(
|
||||
0x7F55, // Ref
|
||||
0x7F56, // Rref
|
||||
0xF94A, // CrossP( ver.2.04~
|
||||
0xF94B, // DotP("
|
||||
0xF96D, // Angle( ver.2.04~
|
||||
0xF95E, // UnitV( ver.2.04~
|
||||
0xF95B, // Norm(" ver.2.04~
|
||||
|
||||
0xFFFF, // -
|
||||
0x7F45, // Swap
|
||||
0x7F42, // *Row
|
||||
0x7F43, // *Row+
|
||||
0x7F44, // Row+
|
||||
0x7F5B, // MatBase(
|
||||
0x7F58, // ElemSize(
|
||||
0x7F59, // RowSize(
|
||||
0x7F5A, // ColSize(
|
||||
0x7FE9, // CellSum(
|
||||
|
||||
0xFFFF, // -
|
||||
0xA1, // sinh
|
||||
|
@ -1202,9 +1216,9 @@ const short oplistOPTN[]={
|
|||
0x7F23, // Conjg
|
||||
0x7F24, // ReP
|
||||
0x7F25, // ImP
|
||||
0x7F54, // Angle
|
||||
// 0x7F55, // Ref
|
||||
// 0x7F56, // Rref
|
||||
// 0x7F54, // Angle
|
||||
0xF906, // >a+bi
|
||||
0xF907, // >re^Theta
|
||||
// 0x7F57, // Conv
|
||||
|
||||
0xFFFF, // -
|
||||
|
@ -1237,10 +1251,11 @@ const short oplistOPTN[]={
|
|||
0xF942, // TIME
|
||||
0x7F5F, // Ticks
|
||||
0xF94F, // Wait
|
||||
0xF7DE, // BatteryStatus
|
||||
0xF7DD, // Beep
|
||||
0x7FDF, // Version
|
||||
0x7FCF, // System(
|
||||
0xF95F, // IsError(
|
||||
// 0xF95F, // IsError(
|
||||
|
||||
0xFFFF, // -
|
||||
0x23, // #
|
||||
|
@ -1308,12 +1323,16 @@ const short oplistPRGM[]={
|
|||
0xF7F1, // Local
|
||||
0xFA, // Gosub
|
||||
0xF717, // ACBreak
|
||||
0xF737, // Try
|
||||
0xF738, // Except
|
||||
0xF739, // TryEnd
|
||||
|
||||
0xFFFF, // -
|
||||
0xF718, // ClrText
|
||||
0xF719, // ClrGraph
|
||||
0xF71A, // ClrList
|
||||
0xF91E, // ClrMat
|
||||
0xF93E, // ClrVct
|
||||
0xF710, // Locate
|
||||
0x7F8F, // Getkey
|
||||
0xF7E4, // Disp
|
||||
|
@ -1576,7 +1595,8 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF719, // ClrGraph
|
||||
0xF91E, // ClrMat
|
||||
0xF71A, // ClrList
|
||||
0x23, // #
|
||||
0xF93E, // ClrVct
|
||||
// 0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 3
|
||||
|
@ -1610,33 +1630,63 @@ const short oplistCMD[]={ // 5800P like
|
|||
|
||||
// 5
|
||||
0x7F46, // Dim
|
||||
0x7F49, // Augment(
|
||||
0x7F4B, // Mat->List(
|
||||
0x7F4A, // List->Mat(
|
||||
0x7F41, // Trn
|
||||
0x7F47, // Fill(
|
||||
0x7F45, // Swap
|
||||
0x7F42, // *Row
|
||||
0x7F43, // *Row+
|
||||
0x7F44, // Row+
|
||||
0x7F48, // Identity
|
||||
0x25, // %
|
||||
|
||||
// 6
|
||||
0x7F49, // Augment(
|
||||
0x7F2C, // Seq(
|
||||
0x7F20, // Max(
|
||||
0x7F2D, // Min(
|
||||
0x7F20, // Max(
|
||||
0x7F2E, // Mean(
|
||||
0x7F88, // RanList#(
|
||||
0xF7B0, // SortA(
|
||||
0xF7B1, // SortB(
|
||||
0x7F49, // Augment(
|
||||
0x7F4C, // Sum
|
||||
0x7F4D, // Prod
|
||||
0x7F5C, // ListCmp(
|
||||
0x25, // %
|
||||
|
||||
// 6
|
||||
0x7F46, // Dim
|
||||
0x7F4B, // Mat->List(
|
||||
0x7F21, // Det
|
||||
0x7F41, // Trn
|
||||
0x7F48, // Identity
|
||||
0x7F47, // Fill(
|
||||
0xFFFF,
|
||||
0x7F49, // Augment(
|
||||
0x7F55, // Ref
|
||||
0x7F56, // Rref
|
||||
// 0x5C, //
|
||||
// 0x24, // $
|
||||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 7
|
||||
0x7F84, // Vct
|
||||
0xF94A, // CrossP( ver.2.04~
|
||||
0xF94B, // DotP("
|
||||
0xF96D, // Angle( ver.2.04~
|
||||
0xF95E, // UnitV( ver.2.04~
|
||||
0xF95B, // Norm(" ver.2.04~
|
||||
0xF7B0, // SortA(
|
||||
0xF7B1, // SortB(
|
||||
0x7F45, // Swap
|
||||
0x7F42, // *Row
|
||||
0x7F43, // *Row+
|
||||
0x7F44, // Row+
|
||||
|
||||
// 8
|
||||
0x7F5B, // MatBase(
|
||||
0x7F58, // ElemSize(
|
||||
0x7F59, // RowSize(
|
||||
0x7F5A, // ColSize(
|
||||
0x7FE9, // CellSum(
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
0x5C, //
|
||||
0x24, // $
|
||||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 9
|
||||
0xF711, // Send(
|
||||
0xF712, // Receive(
|
||||
0xF713, // OpenComport38k
|
||||
|
@ -1645,12 +1695,12 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF716, // Receive38k
|
||||
0xF7DD, // Beep
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
0x5C, //
|
||||
0x24, // $
|
||||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 8 GR
|
||||
// 10 GR
|
||||
0xD1, // Cls
|
||||
0xF719, // ClrGraph
|
||||
0xEB, // ViewWindow
|
||||
|
@ -1663,7 +1713,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF7A7, // F-Line
|
||||
0xF7A3, // Vertical
|
||||
0xF7A4, // Horizontal
|
||||
// 9
|
||||
// 11
|
||||
0xF7AB, // PxlOn
|
||||
0xF7AC, // PxlOff
|
||||
0xF7AD, // PxlChg
|
||||
|
@ -1679,7 +1729,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
// 0x23, // #
|
||||
// 0x25, // %
|
||||
|
||||
// 10
|
||||
// 12
|
||||
0xF5, // Graph(X,Y)=(
|
||||
0xF723, // DrawStat
|
||||
0xF7CC, // DrawOn
|
||||
|
@ -1693,7 +1743,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF750, // Scatter
|
||||
0xF751, // xyLine
|
||||
|
||||
// 11
|
||||
// 13
|
||||
0xF78C, // SketchNormal
|
||||
0xF78D, // SketchThick
|
||||
0xF78E, // SketchBroken
|
||||
|
@ -1707,7 +1757,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF793, // StoPict
|
||||
0xF794, // RclPict
|
||||
|
||||
// 12
|
||||
// 14
|
||||
0xF770, // G-Connect
|
||||
0xF771, // G-Plot
|
||||
0xF7C3, // CoordOn
|
||||
|
@ -1721,7 +1771,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF797, // StoV-Win
|
||||
0xF798, // RclV-Win
|
||||
|
||||
// 13
|
||||
// 15
|
||||
0x7F00, // Xmin
|
||||
0x7F04, // Ymin
|
||||
0x7F01, // Xmax
|
||||
|
@ -1735,7 +1785,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x7F09, // TThetamax
|
||||
0x7F0A, // TThetaptch
|
||||
|
||||
// 14 FN
|
||||
// 16 FN
|
||||
0x97, // Abs
|
||||
0xA6, // Int
|
||||
0xB6, // frac
|
||||
|
@ -1749,7 +1799,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x7F3C, // GCD(
|
||||
0x7F3D, // LCM(
|
||||
|
||||
// 15
|
||||
// 17
|
||||
0xA1, // sinh
|
||||
0xA2, // cosh
|
||||
0xA3, // tanh
|
||||
|
@ -1763,7 +1813,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x26, // &
|
||||
0x7C, // |
|
||||
|
||||
// 16
|
||||
// 18
|
||||
0xC1, // Ran#
|
||||
0x7F87, // RanInt#(
|
||||
0x7F8A, // RanNorm#(
|
||||
|
@ -1779,13 +1829,13 @@ const short oplistCMD[]={ // 5800P like
|
|||
// 0x23, // #
|
||||
// 0x25, // %
|
||||
|
||||
// 17
|
||||
// 19
|
||||
0x9C, // deg
|
||||
0xAC, // rad
|
||||
0xBC, // grad
|
||||
0xF91B, // fn
|
||||
0xF905, // >DMS
|
||||
0x8C, // dms
|
||||
0xF91B, // fn
|
||||
0xDA, // Deg
|
||||
0xDB, // Rad
|
||||
0xDC, // Grad
|
||||
|
@ -1793,7 +1843,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x80, // Pol(
|
||||
0xA0, // Rec(
|
||||
|
||||
// 18
|
||||
// 20
|
||||
0x01, // femto
|
||||
0x02, // pico
|
||||
0x03, // nano
|
||||
|
@ -1807,25 +1857,25 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x0B, // Exa
|
||||
0x25, // %
|
||||
|
||||
// 19
|
||||
// 21
|
||||
0x7F22, // Arg
|
||||
0x7F23, // Conjg
|
||||
0x7F24, // ReP
|
||||
0x7F25, // ImP
|
||||
// 0x7F54, // Angle
|
||||
// 0x7F55, // Ref
|
||||
// 0x7F56, // Rref
|
||||
// 0x7F57, // Conv
|
||||
0xFFFF, //
|
||||
0xFFFF, //
|
||||
0xFFFF, //
|
||||
0xFFFF, //
|
||||
0xFFFF, //
|
||||
0xFFFF, //
|
||||
0x23, // #
|
||||
0x25, // %
|
||||
0xF906, // >a+bi
|
||||
0xF907, // >re^Theta
|
||||
0xD9, // Norm
|
||||
0xE3, // Fix
|
||||
0xE4, // Sci
|
||||
0xDD, // Eng
|
||||
0xF90B, // EngOn
|
||||
0xF90C, // EngOff
|
||||
// 0x23, // #
|
||||
// 0x25, // %
|
||||
|
||||
// 20 STR
|
||||
// 22 STR
|
||||
0xF93F, // Str
|
||||
0xF930, // StrJoin(
|
||||
0xF931, // StrLen
|
||||
|
@ -1839,7 +1889,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 21
|
||||
// 23
|
||||
0xF937, // Exp>Str(
|
||||
0xF938, // Exp(
|
||||
0xF939, // StrUpr(
|
||||
|
@ -1853,7 +1903,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 22
|
||||
// 24
|
||||
0xF940, // Str(
|
||||
0xF943, // Sprintf(
|
||||
0xF946, // Hex(
|
||||
|
@ -1867,7 +1917,7 @@ const short oplistCMD[]={ // 5800P like
|
|||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
// 23 EX
|
||||
// 25 EX
|
||||
0xF90F, // Alias
|
||||
0x7F5F, // Ticks
|
||||
0xF941, // DATE
|
||||
|
@ -1963,13 +2013,13 @@ const short oplistCMD[]={ // 5800P like
|
|||
0xF961, // GetFontMini(
|
||||
0xF962, // SetFont
|
||||
0xF963, // SetFOntMini
|
||||
0xF737, // Try
|
||||
0xF738, // Except
|
||||
0xF739, // TryEnd
|
||||
0xFFFF, //
|
||||
0xF7DE, // BatteryStatus
|
||||
0xF7DD, // Beep
|
||||
0x7FDF, // Version
|
||||
0x7FCF, // System(
|
||||
0x5C, //
|
||||
0x24, // $
|
||||
0x23, // #
|
||||
0x25, // %
|
||||
|
||||
|
||||
|
@ -1979,10 +2029,10 @@ const short oplistCMD[]={ // 5800P like
|
|||
0};
|
||||
|
||||
#define CMD_STD 0
|
||||
#define CMD_GR 8
|
||||
#define CMD_FN 14
|
||||
#define CMD_STR 20
|
||||
#define CMD_EX 23
|
||||
#define CMD_GR 10
|
||||
#define CMD_FN 16
|
||||
#define CMD_STR 22
|
||||
#define CMD_EX 25
|
||||
|
||||
int SelectOpcode5800P( int flag ) {
|
||||
short *select=&selectCMD;
|
||||
|
@ -2390,6 +2440,8 @@ const topcodes OpCodeStrList[] = {
|
|||
{ 0x7F3A, "MOD(" }, // SDK emu not support
|
||||
{ 0x7F3C, "GCD(" }, // SDK emu not support
|
||||
{ 0x7F3D, "LCM(" }, // SDK emu not support
|
||||
{ 0x7F55, "Ref " }, // SDK emu not support
|
||||
{ 0x7F56, "Rref " }, // SDK emu not support
|
||||
{ 0x7F87, "RanInt#(" }, // SDK emu not support
|
||||
{ 0x7F88, "RanList#(" }, // SDK emu not support
|
||||
{ 0x7F89, "RanBin#(" }, // SDK emu not support
|
||||
|
|
|
@ -347,8 +347,8 @@ void DispGenuineCmdMenu(){
|
|||
Fkey_Icon( FKeyNo1, 205 ); // Fkey_dspRB( FKeyNo1, "Iden");
|
||||
Fkey_Icon( FKeyNo2, 164 ); // Fkey_dspRB( FKeyNo2, "Dim ");
|
||||
Fkey_Icon( FKeyNo3, 206 ); // Fkey_dspRB( FKeyNo3, "Fill");
|
||||
FkeyClear( FKeyNo4 );
|
||||
Fkey_Icon( FKeyNo5, 790 ); // Fkey_dispR( FKeyNo5, "SIZE");
|
||||
Fkey_Icon( FKeyNo4,1042 ); // Fkey_dspRB( FKeyNo4, "Ref ");
|
||||
Fkey_Icon( FKeyNo5,1043 ); // Fkey_dspRB( FKeyNo4, "Rref");
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
case 2:
|
||||
|
@ -364,7 +364,7 @@ void DispGenuineCmdMenu(){
|
|||
FkeyClear( FKeyNo2 );
|
||||
FkeyClear( FKeyNo3 );
|
||||
FkeyClear( FKeyNo4 );
|
||||
FkeyClear( FKeyNo5 );
|
||||
Fkey_Icon( FKeyNo5, 790 ); // Fkey_dispR( FKeyNo5, "SIZE");
|
||||
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -367,10 +367,6 @@ void GetGenuineCmdF1( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF91C;return; // File
|
||||
} break;
|
||||
case CMD_SETUP_TVAR:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF788;return; // VarRange
|
||||
} break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -357,10 +357,6 @@ void GetGenuineCmdF2( unsigned int *code ){
|
|||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF909;return; // a+bi
|
||||
} break;
|
||||
case CMD_SETUP_TVAR:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0xF91D;return; // VarList
|
||||
} break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -74,6 +74,7 @@ void GetGenuineCmdF4( unsigned int *code ){
|
|||
case CMD_OPTN_MAT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F41;return; // Trn
|
||||
case 1: (*code)=0x7F55;return; // ref
|
||||
case 2: (*code)=0xF96D;return; // Angle(
|
||||
} break;
|
||||
case CMD_OPTN_MAT_SIZE:
|
||||
|
|
|
@ -68,8 +68,9 @@ void GetGenuineCmdF5( unsigned int *code ){
|
|||
case CMD_OPTN_MAT:
|
||||
switch ( CommandPage ) {
|
||||
case 0: (*code)=0x7F49;return; // Augment(
|
||||
case 1: CommandType=CMD_OPTN_MAT_SIZE; CommandPage=0;break;
|
||||
case 1: (*code)=0x7F56;return; // Rref
|
||||
case 2: (*code)=0xF95E;return; // UnitV(
|
||||
case 3: CommandType=CMD_OPTN_MAT_SIZE; CommandPage=0;break;
|
||||
} break;
|
||||
case CMD_OPTN_CALC:
|
||||
break;
|
||||
|
|
|
@ -29,8 +29,8 @@ int selectMatrix=0;
|
|||
|
||||
int StackPtr;
|
||||
|
||||
const char VerMSG[]="C.Basic v2.45\xE6\x41";
|
||||
#define VERSION 245
|
||||
const char VerMSG[]="C.Basic v2.46\xE6\x41";
|
||||
#define VERSION 246
|
||||
|
||||
//---------------------------------------------------------------------------------------------
|
||||
void GetMemFreeStr10( char *buffer );
|
||||
|
@ -50,9 +50,9 @@ void VerDispSub( int flag ) {
|
|||
// locate( 3, 3 ); Print( (unsigned char*)"(Casio Basic" );
|
||||
// locate( 3, 4 ); Print( (unsigned char*)" compatible+)" );
|
||||
locate( 3, 5 ); Print( (unsigned char*)" by sentaro21" );
|
||||
locate( 3, 6 ); Print( (unsigned char*)" (c)2020" );
|
||||
locate( 3, 6 ); Print( (unsigned char*)" (c)2023" );
|
||||
|
||||
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 20", MINI_OVER );
|
||||
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 01 ", MINI_OVER );
|
||||
PrintMini( 2*6+2, 3*8+1, (unsigned char*)"(Casio Basic compatible+)", MINI_OVER );
|
||||
|
||||
// if ( ( UseHiddenRAM ) && ( IsHiddenRAM ) ) {
|
||||
|
|
|
@ -1422,6 +1422,11 @@ double Evalsub1(char *SRC) { // 1st Priority
|
|||
return 3;
|
||||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC).real;
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 ).real;
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 ).real;
|
||||
|
||||
case 0x46 : // Dim
|
||||
result=CB_Dim( SRC );
|
||||
|
|
|
@ -169,12 +169,3 @@ int CB_SigmaInt( char *SRC ) ; // Sigma(X^2,X,1.10)
|
|||
double CB_Integral( char *SRC ); // Integral( FX, start, end, sci )
|
||||
double CB_Differ( char *SRC ); // Differ( FX, start, end, sci )
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
extern short VarListRange;
|
||||
|
||||
|
||||
void CB_VarList( char *SRC ) ;
|
||||
void CB_VarRange( char *SRC ) ;
|
||||
void CB_F_Result( char *SRC ) ;
|
||||
void CB_DispF_Tbl( char *SRC ) ;
|
||||
|
|
|
@ -196,4 +196,3 @@ double CB_Differ( char *SRC ){ // Differ( FX, tol )
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -76,10 +76,11 @@ int CheckAnsMatList( int reg ) { // ListAns <-> List 1
|
|||
}
|
||||
|
||||
void WriteListAns2( double x, double y ) {
|
||||
int base=MatBase;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 64 ); // List Ans[2]
|
||||
WriteMatrix( CB_MatListAnsreg, 1,1, x ) ; //
|
||||
WriteMatrix( CB_MatListAnsreg, 2,1, y ) ; //
|
||||
NewMatListAns( 2, 1, base, 64 ); // List Ans[2]
|
||||
WriteMatrix( CB_MatListAnsreg, base, base, x ) ; //
|
||||
WriteMatrix( CB_MatListAnsreg, base+1, base, y ) ; //
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -424,6 +425,11 @@ double ListEvalsub1(char *SRC) { // 1st Priority
|
|||
case 0x21: // Det
|
||||
return Cplx_CB_MatDet(SRC).real;
|
||||
|
||||
case 0x55 : // Ref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 0 ).real;
|
||||
case 0x56 : // Rref Mat A
|
||||
return Cplx_CB_MatRefRref( SRC, 1 ).real;
|
||||
|
||||
case 0x46 : // Dim
|
||||
result=CB_Dim( SRC );
|
||||
if ( result >= 0 ) return result;
|
||||
|
@ -595,10 +601,7 @@ double ListEvalsub1(char *SRC) { // 1st Priority
|
|||
ExecPtr++;
|
||||
tmp2=NoListEvalsubTop( SRC );
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 64 ); // List Ans[2]
|
||||
WriteMatrix( CB_MatListAnsreg, 1,1, fpolr(tmp,tmp2) ) ; // r
|
||||
WriteMatrix( CB_MatListAnsreg, 2,1, fpolt(tmp,tmp2) ) ; // Theta
|
||||
WriteListAns2( fpolr(tmp,tmp2) , fpolt(tmp,tmp2) ) ;
|
||||
return 0;
|
||||
case 0xFFFFFFA0 : // Rec( r, Theta ) -> X,Y
|
||||
tmp=NoListEvalsubTop( SRC );
|
||||
|
@ -606,10 +609,7 @@ double ListEvalsub1(char *SRC) { // 1st Priority
|
|||
ExecPtr++;
|
||||
tmp2=NoListEvalsubTop( SRC );
|
||||
if ( SRC[ExecPtr] == ')' ) ExecPtr++;
|
||||
dspflag=4; // List ans
|
||||
NewMatListAns( 2, 1, 1, 64 ); // List Ans[2]
|
||||
WriteMatrix( CB_MatListAnsreg, 1,1, frecx(tmp,tmp2) ) ; // x
|
||||
WriteMatrix( CB_MatListAnsreg, 2,1, frecy(tmp,tmp2) ) ; // y
|
||||
WriteListAns2( frecx(tmp,tmp2) , frecy(tmp,tmp2) ) ;
|
||||
return 0;
|
||||
|
||||
case 0xFFFFFFF9: // F9..
|
||||
|
|
180
fx/CB_Matrix.c
180
fx/CB_Matrix.c
|
@ -2113,7 +2113,7 @@ int MatGetOpcode(char *SRC, char *buffer, int Maxlen ) {
|
|||
buffer[ptr++] = SRC[ExecPtr++]&0xFF ;
|
||||
} else buffer[ptr++] = c & 0xFF;
|
||||
|
||||
if ( ptr >= Maxlen-1 ) { CB_Error(StringTooLongERR); break; } // String too Long error
|
||||
if ( ptr > Maxlen-2 ) { CB_Error(StringTooLongERR); break; } // String too Long error
|
||||
}
|
||||
buffer[ptr]='\0' ;
|
||||
return ptr;
|
||||
|
@ -2587,6 +2587,7 @@ void CB_MatSwap( char *SRC ) { // Swap Mat A,2,3
|
|||
if ( a == b ) return;
|
||||
|
||||
switch ( ElementSize ) {
|
||||
case 128:
|
||||
case 64:
|
||||
for ( n=base; n<dimB; n++ ) {
|
||||
dtmp = Cplx_ReadMatrix( reg, a, n );
|
||||
|
@ -4341,6 +4342,183 @@ void Cplx_CB_MatInv( char *SRC ) { // Inverse Mat A
|
|||
}
|
||||
*/
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void Mat_Sort_leading_entry( int reg ) {
|
||||
complex p,d,tmp1,tmp2;
|
||||
int i,j,k,m,x,y,N,M;
|
||||
int sizeA,sizeB;
|
||||
int ElementSize;
|
||||
int base,b;
|
||||
short w[1000];
|
||||
|
||||
sizeA = MatAry[reg ].SizeA;
|
||||
sizeB = MatAry[reg ].SizeB;
|
||||
base = MatAry[reg ].Base;
|
||||
ElementSize = MatAry[reg ].ElementSize;
|
||||
|
||||
N = sizeA +base ;
|
||||
M = sizeB +base ;
|
||||
|
||||
if ( ( sizeA < 2 ) || ( sizeB < 2 ) ) return;
|
||||
|
||||
for ( m = base; m < M; m++) {
|
||||
for( i = base; i < N; i++) {
|
||||
p = Cplx_ReadMatrix( reg, i,m );
|
||||
if ( ( p.real == 0 ) && ( p.imag == 0 ) ) {
|
||||
|
||||
for( k = i+1; k < N; k++){
|
||||
d = Cplx_ReadMatrix( reg, k,m );
|
||||
if ( ( d.real != 0 ) || ( d.imag != 0 ) ) {
|
||||
for ( x=base; x<M; x++) { // swap
|
||||
tmp1 = Cplx_ReadMatrix( reg, i,x);
|
||||
tmp2 = Cplx_ReadMatrix( reg, k,x);
|
||||
Cplx_WriteMatrix( reg, k,x, tmp1);
|
||||
Cplx_WriteMatrix( reg, i,x, tmp2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Mat_Refto1( int reg ) { //
|
||||
complex p,d;
|
||||
int i,j,k,m,x,y,N,M;
|
||||
int sizeA,sizeB;
|
||||
int ElementSize;
|
||||
int base;
|
||||
|
||||
sizeA = MatAry[reg ].SizeA;
|
||||
sizeB = MatAry[reg ].SizeB;
|
||||
base = MatAry[reg ].Base;
|
||||
ElementSize = MatAry[reg ].ElementSize;
|
||||
|
||||
N = sizeA +base ;
|
||||
M = sizeB +base ;
|
||||
|
||||
for( i = base; i < N; i++) {
|
||||
for(j = base; j < M; j++){
|
||||
p = Cplx_ReadMatrix( reg,i,j);
|
||||
if ( ( ( p.real != 0 ) || ( p.imag != 0 ) ) ) {
|
||||
for(x = j; x < M; x++){
|
||||
Cplx_WriteMatrix( reg,i,x, Cplx_fDIV( Cplx_ReadMatrix( reg,i,x) , p) );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Mat_Ref( int reg ) { // Ref Mat A Row echelon form
|
||||
complex p,d;
|
||||
int i,j,k,m,n,x,y,N,M;
|
||||
int sizeA,sizeB;
|
||||
int ElementSize;
|
||||
int base;
|
||||
|
||||
|
||||
sizeA = MatAry[reg ].SizeA;
|
||||
sizeB = MatAry[reg ].SizeB;
|
||||
base = MatAry[reg ].Base;
|
||||
ElementSize = MatAry[reg ].ElementSize;
|
||||
|
||||
N = sizeA +base ;
|
||||
M = sizeB +base ;
|
||||
|
||||
|
||||
n=base;
|
||||
for( n = base; n < N-1; n++){
|
||||
Mat_Refto1( reg );
|
||||
for( i = n+1; i < N; i++) {
|
||||
p = Cplx_ReadMatrix( reg,i,n);
|
||||
if ( ( p.real != 0 ) || ( p.imag != 0 ) ) {
|
||||
for(x = n; x < M; x++){
|
||||
Cplx_WriteMatrix( reg,i,x, Cplx_fSUB( Cplx_ReadMatrix( reg,i,x) , Cplx_ReadMatrix( reg,n,x) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
Mat_Sort_leading_entry( reg );
|
||||
}
|
||||
Mat_Refto1( reg );
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Mat_Rref( int reg ) { // Ref Mat A Reduced row echelon form (Gauss-Jordan elimination)
|
||||
complex p,d;
|
||||
int i,j,k,m,x,y,N,M;
|
||||
int sizeA,sizeB;
|
||||
int ElementSize;
|
||||
int base;
|
||||
|
||||
|
||||
sizeA = MatAry[reg ].SizeA;
|
||||
sizeB = MatAry[reg ].SizeB;
|
||||
base = MatAry[reg ].Base;
|
||||
ElementSize = MatAry[reg ].ElementSize;
|
||||
|
||||
N = sizeA +base ;
|
||||
M = sizeB +base ;
|
||||
|
||||
for( i = base; i < N; i++) {
|
||||
p = Cplx_ReadMatrix( reg,i,i);
|
||||
|
||||
if ( ( p.real != 0 ) || ( p.imag != 0 ) ){
|
||||
for(j = base; j < M; j++){
|
||||
Cplx_WriteMatrix( reg,i,j, Cplx_fDIV( Cplx_ReadMatrix( reg,i,j) , p) );
|
||||
}
|
||||
|
||||
for(j = base; j < N; j++) {
|
||||
if (i != j) {
|
||||
d = Cplx_ReadMatrix( reg,j,i);
|
||||
|
||||
if ( ( d.real != 0 ) || ( d.imag != 0 ) ) {
|
||||
for (k = i; k < M; k++) Cplx_WriteMatrix( reg,j,k, Cplx_fSUB( Cplx_ReadMatrix( reg,j,k) , Cplx_fMUL( d , Cplx_ReadMatrix( reg,i,k) ) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
complex Cplx_CB_MatRefRref( char *SRC, int select ) { // Rref Mat A
|
||||
int reg,reg2;
|
||||
int sizeA,sizeB;
|
||||
int ElementSize;
|
||||
int base;
|
||||
int dspflagtmp=dspflag;
|
||||
complex result={0,0};
|
||||
|
||||
// { CB_Error(NotSupportERR); return ; } // Not support error
|
||||
|
||||
Cplx_ListEvalsub1(SRC);
|
||||
if ( dspflag != 3 ) { CB_Error(ArgumentERR); return Int2Cplx(0); } // Argument error
|
||||
reg = CB_MatListAnsreg;
|
||||
|
||||
Mat_Sort_leading_entry( reg );
|
||||
switch( select ) {
|
||||
case 0: // Ref
|
||||
Mat_Ref( reg );
|
||||
break;
|
||||
case 1: // Pref
|
||||
Mat_Ref( reg );
|
||||
Mat_Rref( reg );
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Vector
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
@ -156,3 +156,4 @@ void Cplx_CB_MatInv( char *SRC ) ; // Inverse Mat A
|
|||
void CB_ListNo2Ptr( int n );
|
||||
void CB_ListFile( char *SRC );
|
||||
|
||||
complex Cplx_CB_MatRefRref( char *SRC, int select ); // Ref/Rref Mat A
|
||||
|
|
|
@ -524,7 +524,7 @@ int CB_GetQuotOpcode(char *SRC, char *buffer, int Maxlen) {
|
|||
break;
|
||||
}
|
||||
next:
|
||||
if ( ptr >= Maxlen ) { CB_Error(StringTooLongERR); break; } // String too Long error
|
||||
if ( ptr > Maxlen ) { CB_Error(StringTooLongERR); break; } // String too Long error
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
|
16
fx/CB_Str.h
16
fx/CB_Str.h
|
@ -46,7 +46,6 @@ void GetNewAry8( int reg, int aryN, int aryMax ) ;
|
|||
int CheckQuotCR( char *SRC, int ptr ) ;
|
||||
int CB_GetQuotOpcode(char *SRC, char *buffer, int Maxlen) ;
|
||||
|
||||
int GetStrYFnNo( char *SRC, int reg, int aryN, int aryMax ) ; // -> StringNo
|
||||
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 ) ;
|
||||
|
@ -107,24 +106,9 @@ int CB_Bin( char *SRC ); // Bin(
|
|||
int CB_StrBase( char *SRC ); // StrBase( Str1,base1,base2 )->str2
|
||||
int CB_StrRepl( char *SRC ); // StrRepl( Str1,Str2,Str3,n )->str4
|
||||
|
||||
int StrSplit( char *buffer, char *srcstr, int ptr, int maxlen ); // ptr:1- ->MatAns
|
||||
int CB_StrSplit( char *SRC ) ; // StrStip( "123,4567,89","[n,]) -> MatAns[["1232]["4567"]["89"]]
|
||||
|
||||
|
||||
char* CB_RecallString(int type ); // ----------- Recall String type: 0:string 1:fn 2:GraphY
|
||||
int CB_StoreString(int type, char *clipbuffer ); // ----------- Store String type: 0:string 1:fn 2:GraphY
|
||||
char* CB_SeeString(int type, int *select, char *clipbuffer ); // ----------- See String type: 0:string 1:fn 2:GraphY
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void StoreGraphY( char *fstring, int FuncNo );
|
||||
void StoreGraphr( char *fstring, int FuncNo );
|
||||
void StoreGraphXt( char *fstring, int FuncNo );
|
||||
void StoreGraphYt( char *fstring, int FuncNo );
|
||||
void StoreGraphX( char *fstring, int FuncNo );
|
||||
|
||||
char* ReadGraphY( int FuncNo );
|
||||
char* ReadGraphr( int FuncNo );
|
||||
char* ReadGraphXt( int FuncNo );
|
||||
char* ReadGraphYt( int FuncNo );
|
||||
char* ReadGraphX( int FuncNo );
|
||||
|
||||
|
|
|
@ -188,9 +188,9 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
Fkey_Icon( FKeyNo1, 69 ); // Fkey_dispR( FKeyNo1, "STORE");
|
||||
Fkey_Icon( FKeyNo2, 70 ); // Fkey_dispR( FKeyNo2, "RECALL");
|
||||
if ( type==1 ) Fkey_Icon( FKeyNo3, 240 ); // Fkey_dispR( FKeyNo3, " fn ");
|
||||
// Fkey_Icon( FKeyNo4, 241 ); // Fkey_dispN( FKeyNo4, " SEE");
|
||||
// if ( ReEnterSEE == 0 ) Fkey_Icon( FKeyNo5, 389 ); // Fkey_dispR( FKeyNo5,"EDIT");
|
||||
if ( ReEnterSEE == 0 ) Fkey_Icon( FKeyNo4, 42 ); // Fkey_dispN( FKeyNo4, "Edit");
|
||||
Fkey_Icon( FKeyNo4, 241 ); // Fkey_dispN( FKeyNo4, " SEE");
|
||||
if ( ReEnterSEE == 0 ) Fkey_Icon( FKeyNo5, 389 ); // Fkey_dispR( FKeyNo5,"EDIT");
|
||||
// if ( ReEnterSEE == 0 ) Fkey_Icon( FKeyNo5, 42 ); // Fkey_dispN( FKeyNo5, "Edit");
|
||||
|
||||
// Bdisp_PutDisp_DD();
|
||||
|
||||
|
@ -238,7 +238,7 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
|
|||
cont=0;
|
||||
break;
|
||||
|
||||
case KEY_CTRL_F4:
|
||||
case KEY_CTRL_F5:
|
||||
case KEY_CTRL_LEFT:
|
||||
case KEY_CTRL_RIGHT:
|
||||
if ( ReEnterSEE == 0 ) {
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
#define CMD_SETUP_SWIN 0x522
|
||||
#define CMD_SETUP_LIST 0x523
|
||||
#define CMD_SETUP_LOCS 0x524
|
||||
#define CMD_SETUP_TVAR 0x524 // <- 0x530
|
||||
#define CMD_SETUP_TVAR 0x530
|
||||
#define CMD_SETUP_SDSP 0x531
|
||||
#define CMD_SETUP_RESID 0x532
|
||||
#define CMD_SETUP_CPLX 0x521 // <- 0x533
|
||||
|
|
|
@ -1829,10 +1829,10 @@ void CB_Next( char *SRC ,CurrentStk *CurrentStruct ){
|
|||
iptr=CurrentStruct->Var[CurrentStruct->ForPtr];
|
||||
(*iptr) += stepint;
|
||||
if ( stepint > 0 ) { // step +
|
||||
if ( *iptr > CurrentStruct->IntEnd[CurrentStruct->ForPtr] ) { (*iptr) -= step; goto exit;} // exit
|
||||
if ( (*iptr) > CurrentStruct->IntEnd[CurrentStruct->ForPtr] ) { (*iptr) -= stepint; goto exit;} // exit
|
||||
}
|
||||
else { // step -
|
||||
if ( *iptr < CurrentStruct->IntEnd[CurrentStruct->ForPtr] ) { (*iptr) -= step; goto exit;} // exit
|
||||
if ( (*iptr) < CurrentStruct->IntEnd[CurrentStruct->ForPtr] ) { (*iptr) -= stepint; goto exit;} // exit
|
||||
}
|
||||
} else { // ------------ Double mode
|
||||
step = CurrentStruct->Step[CurrentStruct->ForPtr];
|
||||
|
|
|
@ -378,7 +378,6 @@ 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
|
||||
int CB_GetRGB( char *SRC, int mode ); // GetRGB/HSV/HsL() -> ListAns
|
||||
|
||||
void CB_GraphFunc( char *SRC, int c ) ;
|
||||
|
||||
|
|
|
@ -392,32 +392,26 @@ void CB_GetOperandNDbl( char *SRC, int n, double*ary ){
|
|||
}
|
||||
}
|
||||
|
||||
int ToUpperC( int c ){
|
||||
if ( ( 'a' <= c ) && ( c <= 'z' ) ) c +=('A'-'a');
|
||||
return c;
|
||||
}
|
||||
|
||||
void CB_Screen( char *SRC ){ // Screen.G Screen.T Screen.R Screen # Screen % Screen.VG Screen.VT
|
||||
void CB_Screen( char *SRC ){ // Screen.G Screen.T
|
||||
double ScrOp[4];
|
||||
double x,y;
|
||||
int px,py;
|
||||
int c;
|
||||
dspflag=0; //
|
||||
c=SRC[ExecPtr++];
|
||||
if ( c == '.' ) { c=SRC[ExecPtr++]; c=ToUpperC(c);
|
||||
if ( ( c=='G' ) ) goto scrG; // Select Graphic Screen
|
||||
if ( ( c=='T' ) ) goto scrT; // Select Text Screen
|
||||
if ( ( c=='R' ) ) goto scrR; // ScreenR to reverse screen
|
||||
if ( ( c=='V' ) ) goto scrV; // Screen.V to change current Vram
|
||||
if ( c == '.' ) { c=SRC[ExecPtr++];
|
||||
if ( ( c=='G' ) || ( c=='g' ) ) goto scrG; // Select Graphic Screen
|
||||
if ( ( c=='T' ) || ( c=='t' ) ) goto scrT; // Select Text Screen
|
||||
if ( ( c=='R' ) || ( c=='r' ) ) goto scrR; // ScreenR to reverse screen
|
||||
if ( c == '#' ) goto scrCod;
|
||||
if ( c == '%' ) goto scrCod2;
|
||||
{ ExecPtr--; CB_Error(SyntaxERR); return; } // Syntax error
|
||||
} else
|
||||
if ( ( c=='G' ) ) goto scrG; // Select Graphic Screen
|
||||
if ( ( c=='G' ) || ( c=='g' ) ) goto scrG; // Select Graphic Screen
|
||||
else
|
||||
if ( ( c=='T' ) ) goto scrT; // Select Text Screen
|
||||
if ( ( c=='T' ) || ( c=='t' ) ) goto scrT; // Select Text Screen
|
||||
else
|
||||
if ( ( c=='R' ) ) { // ScreenR to reverse screen
|
||||
if ( ( c=='R' ) || ( c=='r' ) ) { // ScreenR to reverse screen
|
||||
scrR:
|
||||
// Bdisp_AreaReverseVRAM(0,0,127,63);
|
||||
ML_rectangle( 0, 0, 127, 63, 0, 0, 2);
|
||||
|
@ -465,14 +459,6 @@ void CB_Screen( char *SRC ){ // Screen.G Screen.T Screen.R Screen # Scre
|
|||
else goto scrT; // Select Text Screen
|
||||
} else { ExecPtr--;
|
||||
switch ( CB_EvalInt( SRC ) ) {
|
||||
case -1:
|
||||
scrV:
|
||||
c=SRC[ExecPtr++]; c=ToUpperC(c);
|
||||
if ( c=='T' ) { ExecPtr++; PictAry[0]=(unsigned char*)TVRAM; } // Screen.VT to override screen & recover Text Vram
|
||||
else
|
||||
if ( c=='G' ) { ExecPtr++; PictAry[0]=(unsigned char*)GVRAM; } // Screen.VG to GraphicsText Vram
|
||||
else PictAry[0]=(unsigned char*)GetVRAMAddress();
|
||||
break;
|
||||
case 0:
|
||||
scrT:
|
||||
CB_SelectTextVRAM(); // Select Text Screen
|
||||
|
@ -1161,7 +1147,7 @@ void CB_ReadGraph( char *SRC ){ // ReadGraph(px1,py1, px2,py2)->Mat C
|
|||
DISPBOX box;
|
||||
|
||||
// if ( RangeErrorCK( SRC ) ) return;
|
||||
// CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
CB_DotOprand( SRC, &px1, &py1);
|
||||
if ( SRC[ExecPtr] != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
@ -1190,7 +1176,7 @@ void CB_ReadGraph( char *SRC ){ // ReadGraph(px1,py1, px2,py2)->Mat C
|
|||
Bdisp_ReadArea_VRAM( &box, ptr);
|
||||
}
|
||||
} else { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
// if ( scrmode==0 ) CB_SelectTextVRAM(); // Select Text Screen
|
||||
if ( scrmode==0 ) CB_SelectTextVRAM(); // Select Text Screen
|
||||
}
|
||||
|
||||
void CB_WriteGraph( char *SRC ){ // WriteGraph x,y,wx,wy,Mat A ([2,2]),modify,kind
|
||||
|
@ -1209,7 +1195,7 @@ void CB_WriteGraph( char *SRC ){ // WriteGraph x,y,wx,wy,Mat A ([2,2]),modify,ki
|
|||
int ElementSize;
|
||||
|
||||
// if ( RangeErrorCK( SRC ) ) return;
|
||||
// CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
CB_DotOprand( SRC, &px, &py);
|
||||
if ( SRC[ExecPtr] != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
@ -1267,7 +1253,7 @@ void CB_DotGet( char *SRC ){ // DotGet(px1,py1, px2,py2)->Mat B [x,y]
|
|||
int ElementSize=1;
|
||||
int scrmode=ScreenMode;
|
||||
|
||||
// if ( CB_RangeErrorCK_ChangeGraphicMode( SRC ) ) return; // Select Graphic Mode
|
||||
if ( CB_RangeErrorCK_ChangeGraphicMode( SRC ) ) return; // Select Graphic Mode
|
||||
CB_DotOprand( SRC, &px1, &py1);
|
||||
if ( SRC[ExecPtr] != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
@ -1299,7 +1285,7 @@ void CB_DotGet( char *SRC ){ // DotGet(px1,py1, px2,py2)->Mat B [x,y]
|
|||
y++;
|
||||
}
|
||||
} else { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
// if ( scrmode==0 ) CB_SelectTextVRAM(); // Select Text Screen
|
||||
if ( scrmode==0 ) CB_SelectTextVRAM(); // Select Text Screen
|
||||
}
|
||||
|
||||
void CB_DotPut( char *SRC ){ // DotPut(Mat B[x,y], px1,py1, px2,py2) [-> Mat C]
|
||||
|
@ -1376,7 +1362,7 @@ void CB_DotPut( char *SRC ){ // DotPut(Mat B[x,y], px1,py1, px2,py2) [-> Mat C]
|
|||
// dspflag=0;
|
||||
UseGraphic=0;
|
||||
} else { // -> VRAM
|
||||
// CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
CB_ChangeGraphicMode( SRC ); // Select Graphic Mode
|
||||
mode=CB_SetPointMode( SRC );
|
||||
i=x;
|
||||
for ( py=py1; py<=py2 ; py++) {
|
||||
|
@ -1450,7 +1436,7 @@ void CB_DotTrim( char *SRC ){ // DotTrim(Mat A,x1,y1,x2,y2)->Mat B =>[X,Y]
|
|||
}
|
||||
|
||||
} else {
|
||||
// if ( CB_RangeErrorCK_ChangeGraphicMode( SRC ) ) return; // Select Graphic Mode
|
||||
if ( CB_RangeErrorCK_ChangeGraphicMode( SRC ) ) return; // Select Graphic Mode
|
||||
CB_DotOprand( SRC, &px1, &py1);
|
||||
if ( SRC[ExecPtr] != ',' ) { CB_Error(SyntaxERR); return; } // Syntax error
|
||||
ExecPtr++;
|
||||
|
@ -2506,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
|
||||
|
@ -2519,24 +2576,17 @@ int GObjectAlign4l( unsigned int n ){ return n; } // align +4byte
|
|||
int GObjectAlign4m( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4n( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4o( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4p( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4q( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4r( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4s( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4t( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4u( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4v( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4w( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4x( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4y( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4z( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4A( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4B( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4C( unsigned int n ){ return n; } // align +4byte
|
||||
int GObjectAlign4D( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4E( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4F( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4G( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4H( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4I( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4p( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4q( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4r( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4s( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4t( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4u( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4v( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4w( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4x( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4y( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4z( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4A( unsigned int n ){ return n; } // align +4byte
|
||||
//int GObjectAlign4B( unsigned int n ){ return n; } // align +4byte
|
||||
//----------------------------------------------------------------------------------------------
|
||||
|
|
28
fx/CB_io.c
28
fx/CB_io.c
|
@ -157,16 +157,6 @@ void HiddenRAM_MatAryStore(){ // MatAry ptr -> HiddenRAM
|
|||
iptr2[0]=(int)HiddenRAM_MatTopPtr;
|
||||
}
|
||||
}
|
||||
void HiddenRAM_MatAryClear(){ // MatAry ptr clear
|
||||
int *iptr1=(int*)(HIDDENRAM_Top+12);
|
||||
int *iptr2=(int*)(HiddenRAM_End+12);
|
||||
if ( IsHiddenRAM ) {
|
||||
memset( (char *)HIDDENRAM_Top, 0, sizeof(MatAryCheckStr) );
|
||||
memset( HiddenRAM_End, 0, sizeof(MatAryCheckStr) );
|
||||
}
|
||||
FileListUpdate= 1;
|
||||
HiddenRAM_MatAryInit();
|
||||
}
|
||||
int HiddenRAM_MatAryRestore(){ // HiddenRAM -> MatAry ptr
|
||||
char buffer[10];
|
||||
int *iptr1=(int*)(HIDDENRAM_Top+12);
|
||||
|
@ -494,14 +484,14 @@ void ProgressBar(int current, int max) {
|
|||
|
||||
//----------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------------
|
||||
int IObjectAlign4a( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4b( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4c( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4d( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4e( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4f( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4g( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4h( unsigned int n ){ return n; } // align +4byte
|
||||
int IObjectAlign4i( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4a( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4b( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4c( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4d( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4e( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4f( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4g( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4h( unsigned int n ){ return n; } // align +4byte
|
||||
//int IObjectAlign4i( unsigned int n ){ return n; } // align +4byte
|
||||
//----------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -42,7 +42,6 @@ void HiddenRAM_freeProg( void *ptr );
|
|||
void HiddenRAM_freeMat( int reg );
|
||||
void HiddenRAM_MatAryInit(); // HiddenRAM Initialize
|
||||
void HiddenRAM_MatAryStore(); // MatAry ptr -> HiddenRAM
|
||||
void HiddenRAM_MatAryClear(); // MatAry ptr clear
|
||||
int HiddenRAM_MatAryRestore(); // HiddenRAM -> MatAry ptr 1:ok
|
||||
void HiddenRAM_ExtFontAryInit() ;
|
||||
|
||||
|
|
|
@ -23,6 +23,10 @@ const unsigned char FKEYICON_0669[]={0xFF,0xFF,0xE0, 0x9F,0xFB,0xE0, 0xA9,0x7A,0
|
|||
const unsigned char FKEYICON_0574[]={0xFF,0xFF,0xE0, 0xDF,0x37,0x60, 0xDE,0xD2,0x60, 0xDE,0xF5,0x60, 0xDE,0xF7,0x60, 0xDE,0xF7,0x60, 0xC3,0x37,0x60, 0xFF,0xFF,0xE0}; // LCM
|
||||
const unsigned char FKEYICON_0883[]={0xFF,0xFF,0xE0, 0xE3,0x31,0xE0, 0xDE,0xD6,0xE0, 0xDE,0xF6,0xE0, 0xD2,0xF6,0xE0, 0xDA,0xD6,0xE0, 0xE3,0x31,0xE0, 0xFF,0xFF,0xE0}; // GCD
|
||||
const unsigned char FKEYICON_0884[]={0xFF,0xFF,0xE0, 0xDD,0x98,0xE0, 0xC9,0x6B,0x60, 0xD5,0x6B,0x60, 0xD5,0x6B,0x60, 0xDD,0x6B,0x60, 0xDD,0x98,0xE0, 0xFF,0xFF,0xE0}; // MOD
|
||||
|
||||
const unsigned char FKEYICON_1042[]={0xFF,0xFF,0xE0, 0xC3,0xFE,0x60, 0xDD,0x9D,0xE0, 0xDD,0x68,0x60, 0xC3,0x0D,0xE0, 0xDB,0x7D,0xE0, 0xDD,0x9D,0xE0, 0xFF,0xFF,0xE0}; // Ref
|
||||
const unsigned char FKEYICON_1043[]={0xFF,0xFF,0xE0, 0x8F,0xFF,0xA0, 0xB5,0x67,0x60, 0xB4,0xDA,0x20, 0x8D,0xC3,0x60, 0xAD,0xDF,0x60, 0xB5,0xE7,0x60, 0xFF,0xFF,0xE0}; // Rref
|
||||
|
||||
const unsigned char FKEYICON_1088[]={0xFF,0xFF,0xE0, 0x80,0x00,0x00, 0x84,0xC4,0x00, 0x8A,0xAA,0x00, 0x8E,0xC8,0x00, 0x8A,0xAA,0x00, 0x8A,0xC4,0x00, 0x80,0x00,0x00}; // ABC
|
||||
|
||||
const unsigned char FKEYICON_1107[]={0xFF,0xFF,0xE0, 0xB7,0xF6,0xA0, 0xB5,0x62,0xA0, 0xB4,0xB6,0xA0, 0xB5,0xB6,0xA0, 0xB5,0xB6,0xA0, 0xCD,0xBB,0x60, 0xFF,0xFF,0xE0}; // UntV
|
||||
|
@ -57,6 +61,8 @@ void Fkey_Icon(int n, int IconNo){
|
|||
case 669: pBitmap=FKEYICON_0669;break; // Rmdr
|
||||
case 883: pBitmap=FKEYICON_0883;break; // GCD
|
||||
case 884: pBitmap=FKEYICON_0884;break; // MOD
|
||||
case 1042: pBitmap=FKEYICON_1042;break; // Ref
|
||||
case 1043: pBitmap=FKEYICON_1043;break; // Pref
|
||||
case 1088: pBitmap=FKEYICON_1088;break; // ABC
|
||||
case 1107: pBitmap=FKEYICON_1107;break; // UntV
|
||||
case 1108: pBitmap=FKEYICON_1108;break; // Norm
|
||||
|
|
Loading…
Reference in New Issue