FX 02.45.1101

This commit is contained in:
CalcLoverHK 2024-01-25 03:06:43 +08:00
parent ab04b0b1ea
commit 583dd5b44d
16 changed files with 84 additions and 47 deletions

View File

@ -5,7 +5,7 @@
[BINDATA] : "FXADDINror.bin"
[DISPNAME] : "CBASIC"
[APPNAME] : "@CBASIC"
[VERSION] : "02.45.1100"
[VERSION] : "02.45.1101"
[APL_ICON] : "MainIcon.bmp"
[MODULE_NUM] : 0
[MOD1_TITLE] : "CBASIC"

View File

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

View File

@ -2152,16 +2152,15 @@ unsigned int EditRun(int run){ // run:1 exec run:2 edit
break;
}
if ( key == 0x1F91B ) {
if ( key == 0x1F91B ) { // Graph Y Store
CB_StoreString( 1, ClipBuffer );
key=0;
}
if ( key == 0x2F91B ) {
if ( key == 0x2F91B ) { // Graph Y Recall
string = CB_RecallString( 1 );
goto pastestring;
}
if ( key == 0x4F91B ) {
if ( key == 0x4F91B ) { // Graph Y See
string = CB_SeeString( 1, &selectStr, ClipBuffer );
pastestring:
if ( string != NULL ) {

View File

@ -3859,27 +3859,27 @@ 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 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
int fileObjectAlign4o( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4p( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4q( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4r( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4s( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4t( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4u( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4v( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4w( 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
//int fileObjectAlign4o( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4p( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4q( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4r( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4s( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4t( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4u( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4v( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4w( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4x( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4y( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4z( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4A( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4B( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4C( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4D( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4E( unsigned int n ){ return n; } // align +4byte
int fileObjectAlign4F( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4y( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4z( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4A( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4B( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4C( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4D( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4E( unsigned int n ){ return n; } // align +4byte
//int fileObjectAlign4F( unsigned int n ){ return n; } // align +4byte
//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
@ -3920,6 +3920,7 @@ void FavoritesDowndummy( int *index ) {
(*index)++;
SaveFavorites();
}
/*
void FavoritesDowndummy2( int *index ) {
unsigned short tmp;
char tmpname[FILENAMEMAX];
@ -3968,7 +3969,6 @@ void FavoritesDowndummy4( int *index ) {
files[(*index)].filesize=tmp;
SaveFavorites();
}
/*
void FavoritesDowndummy5( int *index ) {
unsigned short tmp;
char tmpname[FILENAMEMAX];

View File

@ -2773,6 +2773,8 @@ int InputStrSubC(int x, int y, int width, int ptrX, char* buffer, int MaxStrlen,
int displaystatus=0;
int ClipStartPtr = -1 ;
int ClipEndPtr = -1 ;
int selectStr=0;
char *string;
if ( x + width > 22 ) width=22-x;
csrwidth=width; if ( x + csrwidth > 20 ) csrwidth=21-x;
@ -3125,6 +3127,23 @@ int InputStrSubC(int x, int y, int width, int ptrX, char* buffer, int MaxStrlen,
break;
}
if ( key == 0x1F91B ) { // Graph Y Store
CB_StoreString( 1, ClipBuffer );
key=0;
}
if ( key == 0x2F91B ) { // Graph Y Recall
string = CB_RecallString( 1 );
goto pastestring;
}
if ( key == 0x4F91B ) { // Graph Y See
string = CB_SeeString( 1, &selectStr, ClipBuffer );
pastestring:
if ( string != NULL ) {
EditPaste1( buffer, string, &ptrX, MaxStrlen );
UpdateLineNum=1;
}
key=0;
}
if ( ( displaystatus == 0 ) && ( ( alpha_mode || exp_mode ) ) ) {
keyH=(key&0xFF00) >>8 ;
keyL=(key&0x00FF) ;
@ -3389,4 +3408,4 @@ int InpObjectAlign4k( unsigned int n ){ return n; } // align +4byte
int InpObjectAlign4l( unsigned int n ){ return n; } // align +4byte
int InpObjectAlign4m( unsigned int n ){ return n; } // align +4byte
int InpObjectAlign4n( unsigned int n ){ return n; } // align +4byte
int InpObjectAlign4o( unsigned int n ){ return n; } // align +4byte
//int InpObjectAlign4o( unsigned int n ){ return n; } // align +4byte

View File

@ -1,6 +1,6 @@
/*****************************************************************/
/* */
/* Genuine Command input Library ver 1.8x */
/* Genuine Command input Library ver 2.x */
/* */
/* written by sentaro21 */
/* */
@ -34,7 +34,7 @@ void Menu_CMD_MENU_EXT(){
Fkey_Icon( FKeyNo3, 515 ); // Fkey_DISPR( FKeyNo3, " :");
Fkey_Icon( FKeyNo4, 534 ); // Fkey_DISPR( FKeyNo4, " \x13 ");
Fkey_Icon( FKeyNo5, 398 ); // Fkey_DISPR( FKeyNo5, " ' ");
Fkey_Icon( FKeyNo6, 402 ); // FFkey_DISPR( FKeyNo6, " / ");
Fkey_Icon( FKeyNo6, 402 ); // Fkkey_DISPR( FKeyNo6, " / ");
}
void DispGenuineCmdMenu(){
@ -328,7 +328,7 @@ void DispGenuineCmdMenu(){
FkeyClear( FKeyNo3 );
FkeyClear( FKeyNo4 );
// FkeyClear( FKeyNo5 );
Fkey_dispN( FKeyNo5, "Comp");
Fkey_Icon( FKeyNo5, 378 ); // Fkey_dispN( FKeyNo5, "Comp");
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
break;
}
@ -564,10 +564,10 @@ void DispGenuineCmdMenu(){
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
break;
case 1:
Fkey_dspRB( FKeyNo1, "and");
Fkey_dspRB( FKeyNo2, " or");
Fkey_Icon( FKeyNo1,337 ); // Fkey_dspRB( FKeyNo1, "and");
Fkey_Icon( FKeyNo2,338 ); // Fkey_dspRB( FKeyNo2, "or");
Fkey_dspRB( FKeyNo3, "not");
Fkey_dspRB( FKeyNo4, "xor");
Fkey_Icon( FKeyNo4,339 ); // Fkey_dspRB( FKeyNo4, "xor");
FkeyClear( FKeyNo5 );
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
break;
@ -682,11 +682,11 @@ void DispGenuineCmdMenu(){
case CMD_VARS_GRPH:
switch ( CommandPage ) {
case 0:
Fkey_Icon( FKeyNo1, 622 ); // Fkey_DISPR( FKeyNo1, " \xE5\xB4 ");
FkeyClear( FKeyNo2 );
FkeyClear( FKeyNo3 );
FkeyClear( FKeyNo4 );
FkeyClear( FKeyNo5 );
Fkey_Icon( FKeyNo1, 622 ); // Fkey_DISPR( FKeyNo1, " Y ");
Fkey_Icon( FKeyNo2, 623 ); // Fkey_DISPR( FKeyNo1, " r ");
Fkey_Icon( FKeyNo3, 624 ); // Fkey_DISPR( FKeyNo1, " Xt ");
Fkey_Icon( FKeyNo4, 625 ); // Fkey_DISPR( FKeyNo1, " Yt ");
Fkey_Icon( FKeyNo5, 626 ); // Fkey_DISPR( FKeyNo1, " X ");
FkeyClear( FKeyNo6 );
break;
}
@ -771,7 +771,7 @@ void DispGenuineCmdMenu(){
Fkey_Icon( FKeyNo3, 474 ); // Fkey_dspRB( FKeyNo3, "Parm");
Fkey_Icon( FKeyNo4, 468 ); // Fkey_dspRB( FKeyNo4, "X= ");
Fkey_Icon( FKeyNo5, 652 ); // Fkey_dspRB( FKeyNo5, "integral= ");
FkeyClear( FKeyNo5 );
// FkeyClear( FKeyNo5 );
Fkey_Icon(FKeyNo6, 6 ); //Fkey_DISPN( FKeyNo6," \xE6\x9E ");
break;
case 1:

View File

@ -169,6 +169,10 @@ void GetGenuineCmdF2( unsigned int *code ){
switch ( CommandPage ) {
case 0: (*code)=0x7F0C;return; // Yfct
} break;
case CMD_VARS_GRPH:
switch ( CommandPage ) {
case 0: (*code)=0x7FF1;return; // GRAPHr
} break;
case CMD_VARS_EXT:
switch ( CommandPage ) {
case 0: (*code)=0xF94F;return; // Wait

View File

@ -150,6 +150,10 @@ void GetGenuineCmdF3( unsigned int *code ){
switch ( CommandPage ) {
case 0: (*code)=0x7F0A;return; // TThetaptch
} break;
case CMD_VARS_GRPH:
switch ( CommandPage ) {
case 0: (*code)=0x7FF2;return; // GRAPHXt
} break;
case CMD_VARS_EXT:
switch ( CommandPage ) {
case 0: (*code)=0xF941;return; // DATE

View File

@ -134,6 +134,10 @@ void GetGenuineCmdF4( unsigned int *code ){
switch ( CommandPage ) {
case 0: (*code)=0xF921;return; // Xdot
} break;
case CMD_VARS_GRPH:
switch ( CommandPage ) {
case 0: (*code)=0x7FF3;return; // GRAPHYt
} break;
case CMD_VARS_EXT:
switch ( CommandPage ) {
case 0: (*code)=0xF942;return; // TIME

View File

@ -113,6 +113,10 @@ void GetGenuineCmdF5( unsigned int *code ){
case 0: return; // setup mode
case 1: (*code)=0xF93F;return; // Str
} break;
case CMD_VARS_GRPH:
switch ( CommandPage ) {
case 0: (*code)=0x7FF4;return; // GRAPHX
} break;
case CMD_VARS_EXT:
switch ( CommandPage ) {
case 0: (*code)=0xF7FE;return; // BackLight

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 11", MINI_OVER );
PrintMini(13*6+2, 2*8+1, (unsigned char*)"build 11.", MINI_OVER );
PrintMini( 2*6+2, 3*8+1, (unsigned char*)"(Casio Basic compatible+)", MINI_OVER );
// if ( ( UseHiddenRAM ) && ( IsHiddenRAM ) ) {

View File

@ -47,7 +47,8 @@ void CopyAns2MatList( char* SRC, int reg ) { // ListAns -> List 1
int sizeA,sizeB;
int ElementSize,ElementSize2;
int base;
if ( CB_MatListAnsreg == reg ) return ; // ListAns -> ListAns
sizeA = MatAry[CB_MatListAnsreg].SizeA;
sizeB = MatAry[CB_MatListAnsreg].SizeB;
base = MatAry[CB_MatListAnsreg].Base;

View File

@ -47,6 +47,7 @@ int CheckQuotCR( char *SRC, int ptr ) ;
int CB_GetQuotOpcode(char *SRC, char *buffer, int Maxlen) ;
char* GetStrYFnPtr( char *SRC, int reg, int aryN, int aryMax ) ;
char* GetStrYFnPtrSub( int reg, int dimA, int dimB ) ;
int CB_IsStr( char *SRC, int execptr ) ;
char* CB_GetOpStr1( char *SRC ,int *maxlen ) ; // String -> buffer return
char* CB_GetOpStr( char *SRC, int *maxoplen ) ; // Get opcode String

View File

@ -141,7 +141,7 @@ char* CB_SeeString(int type, int *select, char *clipbuffer ){ // ----------- See
Fkey_Icon( FKeyNo3, 240 ); // Fkey_dispR( FKeyNo3, " fn ");
Fkey_Icon( FKeyNo4, 241 ); // Fkey_dispN( FKeyNo4, " SEE");
Bdisp_PutDisp_DD();
// Bdisp_PutDisp_DD();
k=(*select);

View File

@ -400,7 +400,6 @@ int CB_interpreter_sub( char *SRC ) {
break;
case 0xFFFFFFFB: // Screen
CB_Screen(SRC);
dspflag=0;
break;
case 0xFFFFFFF1: // Local
Skip_block(SRC);

View File

@ -397,6 +397,7 @@ void CB_Screen( char *SRC ){ // Screen.G Screen.T
double x,y;
int px,py;
int c;
dspflag=0; //
c=SRC[ExecPtr++];
if ( c == '.' ) { c=SRC[ExecPtr++];
if ( ( c=='G' ) || ( c=='g' ) ) goto scrG; // Select Graphic Screen
@ -427,9 +428,11 @@ void CB_Screen( char *SRC ){ // Screen.G Screen.T
CB_GetOperandNDbl( SRC, 4, ScrOp );
jmp:
if ( ScrOp[0]-ScrOp[1] == 0 ) { CB_Error(RangeERR); return; }
x = 1 + ( (x-ScrOp[0])*126.0/(ScrOp[1]-ScrOp[0]) + 0.5 ) ;
px = 1 + ( (x-ScrOp[0])*126.0/(ScrOp[1]-ScrOp[0]) + 0.5 ) ;
if ( ScrOp[2]-ScrOp[3] == 0 ) { CB_Error(RangeERR); return; }
y = 63 - ( (y-ScrOp[2])* 62.0/(ScrOp[3]-ScrOp[2]) - 0.49999999999999 ) ;
py = 63 - ( (y-ScrOp[2])* 62.0/(ScrOp[3]-ScrOp[2]) - 0.49999999999999 ) ;
x=px;
y=py;
goto listout;
} else
if ( c == '%' ) { // Screen(PX,PY[,Xmin][,Xmax][,Ymin][,Ymax] -> ViewWindow(X,Y)
@ -450,7 +453,6 @@ void CB_Screen( char *SRC ){ // Screen.G Screen.T
listout:
if ( CB_MatListAnsreg >=28 ) CB_MatListAnsreg=28;
WriteListAns2( x, y ); // ->List Ans{px,py}
dspflag=4; // List ans
} else
if ( ( c==0 ) || ( c==0x0D ) || ( c==0x0C ) || ( c==':' ) ) {
if ( ScreenMode == 0 ) goto scrG; // Select Graphic Screen