FX 02.45.1700
This commit is contained in:
parent
5c72ead309
commit
e98756e48f
|
@ -5,7 +5,7 @@
|
|||
[BINDATA] : "FXADDINror.bin"
|
||||
[DISPNAME] : "CBASIC"
|
||||
[APPNAME] : "@CBASIC"
|
||||
[VERSION] : "02.45.1600"
|
||||
[VERSION] : "02.45.1700"
|
||||
[APL_ICON] : "MainIcon.bmp"
|
||||
[MODULE_NUM] : 0
|
||||
[MOD1_TITLE] : "CBASIC"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[DLSimProject]
|
||||
Name=CBASIC
|
||||
Version=02.45.1600
|
||||
Version=02.45.1700
|
||||
Model=:fx-9860G.dlm
|
||||
SourcePath=.
|
||||
MemoryPath=INIT
|
||||
|
|
|
@ -1675,6 +1675,8 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
|
|||
} else {
|
||||
ProgNo=0;
|
||||
ExecPtr=0;
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
stat=CB_interpreter( SrcBase ) ; // ====== run 1st interpreter ======
|
||||
if ( ( stat==-7 ) && ( ProgEntryN == 0 ) ) DebugMode=0;
|
||||
}
|
||||
|
|
|
@ -3893,7 +3893,7 @@ int fileObjectAlign4g( unsigned int n ){ return n; } // align +4byte
|
|||
int fileObjectAlign4h( unsigned int n ){ return n; } // align +4byte
|
||||
int fileObjectAlign4i( unsigned int n ){ return n; } // align +4byte
|
||||
int fileObjectAlign4j( unsigned int n ){ return n; } // align +4byte
|
||||
int fileObjectAlign4k( unsigned int n ){ return n; } // align +4byte
|
||||
//int fileObjectAlign4k( unsigned int n ){ return n; } // align +4byte
|
||||
//int fileObjectAlign4l( unsigned int n ){ return n; } // align +4byte
|
||||
//int fileObjectAlign4m( unsigned int n ){ return n; } // align +4byte
|
||||
//int fileObjectAlign4n( unsigned int n ){ return n; } // align +4byte
|
||||
|
@ -3987,6 +3987,7 @@ void FavoritesDowndummy3( int *index ) {
|
|||
files[(*index)].filesize=tmp;
|
||||
SaveFavorites();
|
||||
}
|
||||
/*
|
||||
void FavoritesDowndummy4( int *index ) {
|
||||
unsigned short tmp;
|
||||
char tmpname[FILENAMEMAX];
|
||||
|
@ -4003,7 +4004,6 @@ void FavoritesDowndummy4( int *index ) {
|
|||
files[(*index)].filesize=tmp;
|
||||
SaveFavorites();
|
||||
}
|
||||
/*
|
||||
void FavoritesDowndummy5( int *index ) {
|
||||
unsigned short tmp;
|
||||
char tmpname[FILENAMEMAX];
|
||||
|
|
62
fx/CBZ_inp.c
62
fx/CBZ_inp.c
|
@ -99,6 +99,8 @@ void sprintGRSi( char* buffer, double num, int width, int align_mode, int round_
|
|||
adj = 1 - minus+ floor(log10(fabs(log10(fabsnum))))-1;
|
||||
if ( ( 1e-10 <= fabsnum ) && ( fabsnum < dpoint )) adj++;
|
||||
i=width-adj-5;
|
||||
if ( ( 1.0e-10 < fabsnum ) && ( fabsnum < 1.0 ) ) i++; // adjust 1.23e-08->1.234e-8
|
||||
if ( fabsnum >= pw ) i++; // adjust 1.23e+09->1.234e+9
|
||||
if ( i > digit-1 ) i=digit-1;
|
||||
if ( i >= 18 ) i=18;
|
||||
if ( i < 1 ) i=0;
|
||||
|
@ -183,7 +185,6 @@ void sprintGRSi( char* buffer, double num, int width, int align_mode, int round_
|
|||
if ( buffer[0]=='-' ) buffer[++i]=0x99; // (-)minus
|
||||
if ( (buffer[1]=='1')&&(buffer[2]=='\0') ) buffer[1]='\0';
|
||||
}
|
||||
buffer[width]='\0';
|
||||
while (i<width) {
|
||||
c=buffer[++i];
|
||||
switch ( c ) {
|
||||
|
@ -197,9 +198,19 @@ void sprintGRSi( char* buffer, double num, int width, int align_mode, int round_
|
|||
break;
|
||||
case 'e': // exp
|
||||
buffer[i]=0x0F; // (exp)
|
||||
if ( buffer[i+2]=='0' ) { // adjust 1.23e+09->1.234e9 1.23e-08->1.234e-8
|
||||
if ( buffer[i+1]==0x2B ) { // +
|
||||
buffer[i+1]=buffer[i+3];
|
||||
buffer[i+2]='\0';
|
||||
} else {
|
||||
buffer[i+2]=buffer[i+3];
|
||||
buffer[i+3]='\0';
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
buffer[width]='\0';
|
||||
exit:
|
||||
if ( cplx ) {
|
||||
buffer[ i]=0x7f; // (i)
|
||||
|
@ -324,6 +335,8 @@ void Cplx_sprintGR1cutlim( char* buffer, complex num, int width, int align_mode,
|
|||
char buffer2[64];
|
||||
char buffer3[64];
|
||||
int k,oplen,rlen,ilen,rwidth,iwidth;
|
||||
int over=0;
|
||||
if ( width<0 ) { width=-width; over=1; }
|
||||
if ( ( CB_INT==0 ) || ( num.real==0 ) || (num.imag==0) ) {
|
||||
Cplx_sprintGR1( buffer, num, width, LEFT_ALIGN, CB_Round.MODE, CB_Round.DIGIT );
|
||||
OpcodeStringToAsciiString( buffer2, buffer, 64-1 );
|
||||
|
@ -349,15 +362,25 @@ void Cplx_sprintGR1cutlim( char* buffer, complex num, int width, int align_mode,
|
|||
iwidth = width - rwidth;
|
||||
}
|
||||
next:
|
||||
sprintGRSiE( buffer, num.real, rwidth, LEFT_ALIGN, round_mode, round_digit, 0); // real
|
||||
OpcodeStringToAsciiString( buffer2, buffer, 64-1 );
|
||||
if ( num.imag ) sprintGRSiE( buffer, num.imag, iwidth, LEFT_ALIGN, round_mode, round_digit, 1); // imag
|
||||
else buffer[0]='\0';
|
||||
OpcodeStringToAsciiString( buffer3, buffer, 64-1 );
|
||||
if ( ( num.real==0 ) && ( num.imag!=0 ) ) {
|
||||
buffer2[0]='\0';
|
||||
if ( buffer3[0]==0xFFFFFF89 ) strcat( buffer2, buffer3+1 );
|
||||
} else strcat( buffer2, buffer3 );
|
||||
if ( over==0 ) {
|
||||
sprintGRSiE( buffer, num.real, rwidth, LEFT_ALIGN, round_mode, round_digit, 0); // real
|
||||
OpcodeStringToAsciiString( buffer2, buffer, 64-1 );
|
||||
if ( num.imag ) sprintGRSiE( buffer, num.imag, iwidth, LEFT_ALIGN, round_mode, round_digit, 1); // imag
|
||||
else buffer[0]='\0';
|
||||
OpcodeStringToAsciiString( buffer3, buffer, 64-1 );
|
||||
if ( ( num.real==0 ) && ( num.imag!=0 ) ) {
|
||||
buffer2[0]='\0';
|
||||
if ( buffer3[0]==0xFFFFFF89 ) strcat( buffer2, buffer3+1 );
|
||||
} else strcat( buffer2, buffer3 );
|
||||
} else { // 1234567>
|
||||
strcat( buffer2, buffer3 );
|
||||
ilen = StrLen( buffer2, &oplen );
|
||||
if ( ilen > width ) {
|
||||
if ( buffer2[width-2]==0x7F ) width--;
|
||||
buffer2[width-1]='>';
|
||||
buffer2[width]='\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
strcpy( buffer, buffer2);
|
||||
if ( align_mode == RIGHT_ALIGN ) RightAlign( buffer, width );
|
||||
|
@ -2519,7 +2542,7 @@ const topcodes OpCodeStrList[] = {
|
|||
|
||||
int CB_OpcodeToStr( int opcode, char *string ) {
|
||||
int i;
|
||||
int code;
|
||||
int code,H,L;
|
||||
opcode &= 0xFFFF;
|
||||
i=0;
|
||||
if ( EditListChar ) {
|
||||
|
@ -2559,11 +2582,14 @@ int CB_OpcodeToStr( int opcode, char *string ) {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
do {
|
||||
code = OpCodeStrList[i].code & 0xFFFF ;
|
||||
if ( code == opcode ) { strcpy( string, OpCodeStrList[i].str ); return 0; }
|
||||
i++;
|
||||
} while ( code ) ;
|
||||
H=opcode>>8;
|
||||
if ( (opcode==0xFA)||(opcode==0xA7)||(opcode==0x9A)||(opcode==0xAA)||(opcode==0xBA)||(opcode==0xF)||(H==0xF9 )||(H==0xF7 )||(H==0x7F) ) {
|
||||
do {
|
||||
code = OpCodeStrList[i].code & 0xFFFF ;
|
||||
if ( code == opcode ) { strcpy( string, OpCodeStrList[i].str ); return 0; }
|
||||
i++;
|
||||
} while ( code ) ;
|
||||
}
|
||||
if ( ( opcode >= 0xFF00 ) || ( ( 0xE500 <= opcode ) && ( opcode <= 0xE7FF ) ) ) { // kana or E5xx,E6xx,E7xx
|
||||
string[0]=opcode >> 8 ;
|
||||
string[1]=opcode&0xFF;
|
||||
|
@ -2786,9 +2812,9 @@ int InputStrSubC(int x, int y, int width, int ptrX, char* buffer, int MaxStrlen,
|
|||
if (CursorStyle<0x6) Cursor_SetFlashOn(0x0); // insert mode cursor
|
||||
else Cursor_SetFlashOn(0x6); // overwrite mode cursor
|
||||
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
if ( ( float_mode == 0 ) && ( exp_mode == 0 ) && ( alpha_mode ) ) {
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
PutKey( KEY_CTRL_SHIFT, 1 ); GetKey(&key);
|
||||
PutKey( KEY_CTRL_SHIFT, 1 );
|
||||
PutKey( KEY_CTRL_ALPHA, 1 );
|
||||
displaystatus=1;
|
||||
|
|
|
@ -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 16", MINI_OVER );
|
||||
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 17", MINI_OVER );
|
||||
PrintMini( 2*6+2, 3*8+1, (unsigned char*)"(Casio Basic compatible+)", MINI_OVER );
|
||||
|
||||
// if ( ( UseHiddenRAM ) && ( IsHiddenRAM ) ) {
|
||||
|
@ -79,6 +79,7 @@ int IsG3or35E2() {
|
|||
unsigned char version[16];
|
||||
SysCalljmp( (int)&version[0], 0, 0, 0, 0x02EE ); //System_GetOSVersion( &version[0] ); // "03.00.2200" etc
|
||||
if ( version[6]=='2' ) return 4; // 35+EII
|
||||
if ( version[6]=='3' ) return 6; // 9750GIII
|
||||
return 5; // 9860GIII
|
||||
}
|
||||
|
||||
|
@ -1930,13 +1931,13 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
if ( IsHiddenRAM == 0 ) break;
|
||||
UseHiddenRAM = 1 ; // on
|
||||
ExtendList=(6-1);
|
||||
HiddenRAM_MatAryInit();
|
||||
HiddenRAM_MatAryClear();
|
||||
break;
|
||||
case SETUP_HidnRamInit: // HiddenRAMInit
|
||||
if ( limit ) break;
|
||||
if ( UseHiddenRAM == 0 ) break; // Hidden RAM only
|
||||
UseHiddenRAM &= 0x0F; // on
|
||||
HiddenRAM_MatAryInit();
|
||||
HiddenRAM_MatAryClear();
|
||||
break;
|
||||
case SETUP_DisableDebugMode: // DisableDebugMode
|
||||
DisableDebugMode = 0 ; // on
|
||||
|
@ -2134,7 +2135,7 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
if ( UseHiddenRAM == 0 ) break; // Hidden RAM only
|
||||
ExtendList--;
|
||||
if (ExtendList<0) ExtendList=0;
|
||||
HiddenRAM_MatAryInit();
|
||||
HiddenRAM_MatAryClear();
|
||||
break;
|
||||
case SETUP_MaxMemMode: // Maximam Memory mode
|
||||
MaxMemMode = 0 ; // off
|
||||
|
@ -2145,7 +2146,7 @@ int SetupG(int select, int limit){ // ----------- Setup
|
|||
UseHiddenRAM = 0 ; // off
|
||||
ExtendPict=0;
|
||||
ExtendList=0;
|
||||
HiddenRAM_MatAryInit();
|
||||
HiddenRAM_MatAryClear();
|
||||
break;
|
||||
case SETUP_HidnRamInit: // HiddenRAMInit
|
||||
if ( limit ) break;
|
||||
|
|
132
fx/CB_Matrix.c
132
fx/CB_Matrix.c
|
@ -1025,7 +1025,10 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
int dotedit=0;
|
||||
int list=0;
|
||||
int toolflag=0;
|
||||
int bk_CB_INT = CB_INT;
|
||||
char bk_ENG = ENG;
|
||||
|
||||
CB_INT=2; // CPLX mode
|
||||
if ( reg >= 0x1000 ) {
|
||||
if ( reg >=0x2000 ) {
|
||||
list=2;
|
||||
|
@ -1036,7 +1039,7 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
}
|
||||
base=MatAry[reg].Base;
|
||||
ElementSize=MatAry[reg].ElementSize;
|
||||
if (MatAry[reg].SizeA==0) return;
|
||||
if (MatAry[reg].SizeA==0) goto exit;
|
||||
// if ( ( ( 28 <= reg ) && ( reg <= 31 ) ) || ( ( 28+32 <= reg ) && ( reg <= 31+32 ) ) ) ans=1; // Ans
|
||||
|
||||
while (cont) {
|
||||
|
@ -1132,7 +1135,7 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
adjX=2;
|
||||
}
|
||||
} else
|
||||
if ( ElementSize == 64 ) {
|
||||
if ( ( ElementSize == 64 ) || ( ElementSize == 128 ) ){
|
||||
MaxDX=4; if (MaxDX>dimA) MaxDX=dimA;
|
||||
dx=27;
|
||||
MaxX=3;
|
||||
|
@ -1143,31 +1146,44 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
MaxX=0;
|
||||
adjX=0;
|
||||
}
|
||||
} else
|
||||
if ( ElementSize == 128 ) {
|
||||
MaxDX=3; if (MaxDX>dimA) MaxDX=dimA;
|
||||
dx=36;
|
||||
MaxX=2;
|
||||
adjX=3;
|
||||
if ( bit==64 ) { // 16hex
|
||||
MaxDX=0;
|
||||
dx=69;
|
||||
MaxX=0;
|
||||
adjX=0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Bdisp_AllClr_VRAM();
|
||||
|
||||
if ( ( strdisp ) && ( ElementSize > 4 ) ) {
|
||||
if ( MatXYmode==0 ) OpcodeStringToAsciiString( buffer, MatrixPtr(reg, selectY+base, selectX+base), 64-1 );
|
||||
else OpcodeStringToAsciiString( buffer, MatrixPtr(reg, selectX+base, selectY+base), 64-1 );
|
||||
locate(1,7); Print((unsigned char *)buffer);
|
||||
} else {
|
||||
if ( MatXYmode ) value=Cplx_ReadMatrix( reg, selectX+base, selectY+base);
|
||||
else value=Cplx_ReadMatrix( reg, selectY+base, selectX+base);
|
||||
Cplx_sprintGR2(buffer, buffer2, value, 21, RIGHT_ALIGN, CB_Round.MODE, CB_Round.DIGIT );
|
||||
OpcodeStringToAsciiString( buffer3, buffer, 64-1 );
|
||||
if ( buffer2[0] != '\0' ) {
|
||||
locate(1,6); Print((unsigned char*)buffer3); // real(+img)
|
||||
OpcodeStringToAsciiString( buffer3, buffer2, 64-1 );
|
||||
if ( ( dotedit==0 ) && ( strdisp==0 ) && ( MaxDY>=4 ) ) {
|
||||
MaxDY=4; if ( MaxDY==4 ) MaxY=3;
|
||||
}
|
||||
}
|
||||
if ( list==1 ) {
|
||||
if ( MatXYmode ) locate(1,6); else locate(13,1);
|
||||
Print((unsigned char*)MatAry[reg].name);
|
||||
}
|
||||
locate(1,7); Print((unsigned char*)buffer3); // real or (real+)img
|
||||
}
|
||||
|
||||
|
||||
if ( selectY<seltopY ) seltopY = selectY;
|
||||
if ( (selectY-seltopY) > MaxY ) seltopY = selectY-MaxY;
|
||||
if ( (dimB -seltopY) < MaxY ) seltopY = dimB -MaxY;
|
||||
if ( seltopY < 0 ) seltopY=0;
|
||||
dspjp:
|
||||
if ( selectX<seltopX ) seltopX = selectX;
|
||||
if ( (selectX-seltopX) > MaxX ) seltopX = selectX-MaxX;
|
||||
if ( (dimA -seltopX) < MaxX ) seltopX = dimA -MaxX;
|
||||
if ( seltopX < 0 ) seltopX=0;
|
||||
|
||||
Bdisp_AllClr_VRAM();
|
||||
j=0;
|
||||
if ( reg<110 ) {
|
||||
switch( list ) {
|
||||
|
@ -1217,10 +1233,11 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
else sprintf((char*)buffer,"%3d",seltopX+x+base);
|
||||
PrintMini(x*dx+16+(dx-5)/2,1,(unsigned char*)buffer,MINI_OVER);
|
||||
}
|
||||
Bdisp_DrawLineVRAM( 16,8,16,14+MaxDY*8);
|
||||
i=14+(MaxDY-(dimB>MaxY))*8;
|
||||
Bdisp_DrawLineVRAM( 16, 8, 16, i);
|
||||
x=(dimA+1)*dx+20-adjX/2 ;
|
||||
if ( dimA == seltopX+MaxX ) x=(MaxX+1)*dx+20-adjX/2 ;
|
||||
if ( x < 128 ) Bdisp_DrawLineVRAM( x, 8, x, 14+MaxDY*8);
|
||||
if ( x < 128 ) Bdisp_DrawLineVRAM( x, 8, x, i);
|
||||
}
|
||||
|
||||
if ( dotedit ) {
|
||||
|
@ -1247,7 +1264,7 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
MiniDotCursorflag=0; // mini cursor initialize
|
||||
MatDotEditCursorFlashing();
|
||||
} else {
|
||||
for ( y=0; y<=MaxDY; y++ ) {
|
||||
for ( y=0; y<=MaxDY-(dimB>MaxY); y++ ) {
|
||||
sprintf((char*)buffer,"%4d",seltopY+y+base);
|
||||
PrintMini(0,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
x=(dimA+1)*dx+20-adjX/2 ;
|
||||
|
@ -1269,46 +1286,34 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
if ( ((seltopY+y)<=dimB) && ((seltopX+x)<=dimA) ) {
|
||||
if ( MatXYmode ) value=Cplx_ReadMatrix( reg, seltopX+x+base, seltopY+y+base);
|
||||
else value=Cplx_ReadMatrix( reg, seltopY+y+base, seltopX+x+base);
|
||||
if ( ( bit==0 ) && ( MaxX==7 ) ) { sprintG(buffer, value.real, 2,RIGHT_ALIGN);
|
||||
PrintMini(x*dx+20,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
|
||||
i=0;ENG=0;
|
||||
if ( ( bit==0 ) && ( MaxX==3 ) && ( ElementSize == 128 ) ) { Cplx_sprintGR1cutlim( buffer, value, -6, RIGHT_ALIGN, Norm, 6 );
|
||||
} else
|
||||
if ( ( bit==0 ) && ( MaxX==3 ) ) { sprintG(buffer, value.real, 6,RIGHT_ALIGN);
|
||||
PrintMini(x*dx+20,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
} else
|
||||
if ( ( bit==0 ) && ( MaxX==2 ) ) {
|
||||
Cplx_sprintGR1cutlim( buffer, value, 8, RIGHT_ALIGN, Norm, 8 );
|
||||
// sprintG(buffer, value.real, 6,RIGHT_ALIGN);
|
||||
// OpcodeStringToAsciiString( buffer2, buffer, 64-1 );
|
||||
// if ( value.imag ) sprintGi(buffer, value.imag, 7,RIGHT_ALIGN); else buffer[0]='\0';
|
||||
// OpcodeStringToAsciiString( buffer3, buffer, 64-1 );
|
||||
// strcat(buffer2,buffer3);
|
||||
PrintMini(x*dx+20,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( ( bit==0 ) && ( MaxX==7 ) ) { sprintG(buffer, value.real, 2,RIGHT_ALIGN);
|
||||
} else
|
||||
if ( bit== 1 ) { NumToBin(buffer, value.real, 8);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit== 1 ) { NumToBin(buffer, value.real, 8); i=1;
|
||||
} else
|
||||
if ( bit== 2 ) { NumToBin(buffer, value.real, 16);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit== 2 ) { NumToBin(buffer, value.real, 16); i=1;
|
||||
} else
|
||||
if ( bit== 4 ) { NumToBin(buffer, value.real, 4);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit== 4 ) { NumToBin(buffer, value.real, 4); i=1;
|
||||
} else
|
||||
if ( bit== 8 ) {
|
||||
if ( ElementSize == 4 ) NumToHex(buffer, value.real, 1);
|
||||
else NumToHex(buffer, value.real, 2);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
i=1;
|
||||
} else
|
||||
if ( bit==16 ) { NumToHex(buffer, value.real, 4);
|
||||
PrintMini(x*dx+22,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit==16 ) { NumToHex(buffer, value.real, 4); i=2;
|
||||
} else
|
||||
if ( bit==32 ) { NumToHex(buffer, value.real, 8);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit==32 ) { NumToHex(buffer, value.real, 8); i=1;
|
||||
} else
|
||||
if ( bit==64 ) { DNumToHex(buffer, value.real, 16);
|
||||
PrintMini(x*dx+21,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
} else { sprintG(buffer, value.real, 4,RIGHT_ALIGN);
|
||||
PrintMini(x*dx+23-adjX,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
if ( bit==64 ) { DNumToHex(buffer, value.real, 16); i=1;
|
||||
} else { sprintG(buffer, value.real, 4,RIGHT_ALIGN); i=3-adjX;
|
||||
}
|
||||
ENG=bk_ENG;
|
||||
PrintMini(x*dx+20+i,y*8+10,(unsigned char*)buffer,MINI_OVER);
|
||||
// Bdisp_PutDisp_DD();
|
||||
}
|
||||
}
|
||||
|
@ -1318,42 +1323,21 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
|
||||
if ( ( seltopX ) ) PrintMini( 16,1,(unsigned char*)"\xE6\x90",MINI_OVER); // <-
|
||||
if ( ( seltopX+MaxX < dimA ) ) PrintMini(122,1,(unsigned char*)"\xE6\x91",MINI_OR); // ->
|
||||
|
||||
if ( ( strdisp ) && ( ElementSize > 4 ) ) {
|
||||
if ( MatXYmode==0 ) OpcodeStringToAsciiString( buffer, MatrixPtr(reg, selectY+base, selectX+base), 64-1 );
|
||||
else OpcodeStringToAsciiString( buffer, MatrixPtr(reg, selectX+base, selectY+base), 64-1 );
|
||||
locate(1,7); PrintLine((unsigned char *)" ",21);
|
||||
locate(1,7); Print((unsigned char *)buffer);
|
||||
} else {
|
||||
if ( MatXYmode ) value=Cplx_ReadMatrix( reg, selectX+base, selectY+base);
|
||||
else value=Cplx_ReadMatrix( reg, selectY+base, selectX+base);
|
||||
Cplx_sprintGR2(buffer, buffer2, value, 21, RIGHT_ALIGN, CB_Round.MODE, CB_Round.DIGIT );
|
||||
OpcodeStringToAsciiString( buffer3, buffer, 64-1 );
|
||||
if ( buffer2[0] != '\0' ) {
|
||||
locate(1,6); Print((unsigned char*)buffer3);
|
||||
OpcodeStringToAsciiString( buffer3, buffer2, 64-1 );
|
||||
if ( (selectY-seltopY)==4 ) { seltopY++; goto dspjp; }
|
||||
}
|
||||
if ( list==1 ) {
|
||||
if ( MatXYmode ) locate(1,6); else locate(13,1);
|
||||
Print((unsigned char*)MatAry[reg].name);
|
||||
}
|
||||
locate(1,7); Print((unsigned char*)buffer3);
|
||||
}
|
||||
y = (selectY-seltopY) ;
|
||||
x = (selectX-seltopX) ;
|
||||
if ( dotedit == 0 ) Bdisp_AreaReverseVRAM(x*dx+20, y*8+9, x*dx+20+dx-5, y*8+15); // reverse select element
|
||||
|
||||
|
||||
if ( ans==0 ) {
|
||||
if ( dotedit ) Fkey_dispN( FKeyNo1, "0<>1");
|
||||
else Fkey_Icon( FKeyNo1, 42 ); // Fkey_dispN( FKeyNo1, "Edit");
|
||||
}
|
||||
Fkey_Icon( FKeyNo2, 964 ); // Fkey_dispN( FKeyNo2, "GOTO");
|
||||
if ( ans==0 ) Fkey_Icon( FKeyNo3, 95 ); // Fkey_dispR( FKeyNo3, "Init");
|
||||
if ( MatXYmode ) Fkey_dispN( FKeyNo4, "x,y"); else Fkey_dispN( FKeyNo4, "m,n");
|
||||
// if ( MatXYmode ) Fkey_dispN( FKeyNo4, "X,Y"); else Fkey_dispN( FKeyNo4, "m,n");
|
||||
if ( MatXYmode ) Fkey_dispN( FKeyNo4, "\xE6\x91m,n"); else Fkey_dispN( FKeyNo4, "\xE6\x91x,y");
|
||||
locate(16, 8); MatAryElementSizePrint( ElementSize ) ;
|
||||
|
||||
|
||||
y = (selectY-seltopY) ;
|
||||
x = (selectX-seltopX) ;
|
||||
if ( dotedit == 0 ) Bdisp_AreaReverseVRAM(x*dx+20, y*8+9, x*dx+20+dx-5, y*8+15); // reverse select element
|
||||
|
||||
if ( dotedit ) {
|
||||
MiniDotCursorX = x*dx+20;
|
||||
MiniDotCursorY = y*dy+9;
|
||||
|
@ -1570,6 +1554,8 @@ void EditMatrix(int reg, int ans ){ // ----------- Edit Matrix
|
|||
}
|
||||
}
|
||||
}
|
||||
exit:
|
||||
CB_INT = bk_CB_INT;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
28
fx/CB_io.c
28
fx/CB_io.c
|
@ -157,6 +157,16 @@ 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);
|
||||
|
@ -484,14 +494,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,6 +42,7 @@ 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() ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue