FX 02.45.1700

This commit is contained in:
CalcLoverHK 2024-01-25 03:13:03 +08:00
parent 5c72ead309
commit e98756e48f
9 changed files with 135 additions and 109 deletions

View File

@ -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"

View File

@ -1,6 +1,6 @@
[DLSimProject]
Name=CBASIC
Version=02.45.1600
Version=02.45.1700
Model=:fx-9860G.dlm
SourcePath=.
MemoryPath=INIT

View File

@ -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;
}

View File

@ -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];

View File

@ -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;

View File

@ -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;

View File

@ -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;
}
//-----------------------------------------------------------------------------

View File

@ -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
//----------------------------------------------------------------------------------------------

View File

@ -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() ;