/* =============================================================================== Ftune3 is SH7305 CPG&BSC tuning utility for fx-9860GII-2 / Graph 35+E II v2.01 copyright(c)2014,2015,2016,2017,2018,2019 by sentaro21 e-mail sentaro21@pm.matrix.jp =============================================================================== */ #include "fxlib.h" #include "timer.h" #include "stdio.h" #include "string.h" #include "common.h" #include "ftune3.h" #include "ftune3_sub.h" #include "ftune3_setup.h" //--------------------------------------------------------------------------------------------- unsigned int SaveDataF0_FLLFRQ =FLLFRQ_default; // FLL:900 unsigned int SaveDataF0_FRQCR =FRQCRA_default; // PLL:x16 IFC:1/8 SFC:1/8 BFC:1/8 PFC:1/16 unsigned int SaveDataF0_CS0BCR =CS0BCR_default; // IWW:2 IWRRS:2 unsigned int SaveDataF0_CS2BCR =CS2BCR_default; // IWW:2 IWRRS:2 unsigned int SaveDataF0_CS0WCR =CS0WCR_default; // wait:18 unsigned int SaveDataF0_CS2WCR =CS2WCR_default; // wati:2 unsigned int SaveDataF0_CS5aBCR=CS5aBCR_default; // unsigned int SaveDataF0_CS5aWCR=CS5aWCR_default; // unsigned int SaveDataF2_FLLFRQ =0x00004000+900; // FLL:900 same as PRIZM unsigned int SaveDataF2_FRQCR =(PLL_16x<<24)+(DIV_4<<20)+(DIV_8<<12)+(DIV_8<<8)+DIV16; unsigned int SaveDataF2_CS0BCR =0x24920400; // IWW:2 IWRRS:2 unsigned int SaveDataF2_CS2BCR =0x24923400; // IWW:2 IWRRS:2 unsigned int SaveDataF2_CS0WCR =0x000001C0; // wait:3 unsigned int SaveDataF2_CS2WCR =0x00000140; // wait:2 unsigned int SaveDataF2_CS5aBCR=CS5aBCR_default; // unsigned int SaveDataF2_CS5aWCR=CS5aWCR_default; // unsigned int SaveDataF3_FLLFRQ =0x00004000+900; // FLL:900 same as SH3 unsigned int SaveDataF3_FRQCR =(PLL_16x<<24)+(DIV_8<<20)+(DIV_8<<12)+(DIV_8<<8)+DIV16; unsigned int SaveDataF3_CS0BCR =0x04900400; // IWW:0 IWRRS:0 unsigned int SaveDataF3_CS2BCR =0x04903400; // IWW:0 IWRRS:0 unsigned int SaveDataF3_CS0WCR =0x00000140; // wait:2 unsigned int SaveDataF3_CS2WCR =0x00000140; // wait:2 unsigned int SaveDataF3_CS5aBCR=0x24920200; // unsigned int SaveDataF3_CS5aWCR=CS5aWCR_default; // unsigned int SaveDataF4_FLLFRQ =0x00004000+900; // FLL:900 unsigned int SaveDataF4_FRQCR =(PLL_32x<<24)+(DIV_4<<20)+(DIV_8<<12)+(DIV_8<<8)+DIV16; unsigned int SaveDataF4_CS0BCR =0x04900400; // IWW:0 IWRRS:0 unsigned int SaveDataF4_CS2BCR =0x04903400; // IWW:0 IWRRS:0 unsigned int SaveDataF4_CS0WCR =0x000001C0; // wait:3 unsigned int SaveDataF4_CS2WCR =0x00020140; // wait:2 WW:1 unsigned int SaveDataF4_CS5aBCR=CS5aBCR_default2; // unsigned int SaveDataF4_CS5aWCR=CS5aWCR_default2; // unsigned int SaveDataF5_FLLFRQ =0x00004000+900; // FLL:900 unsigned int SaveDataF5_FRQCR =(PLL_32x<<24)+(DIV_2<<20)+(DIV_4<<12)+(DIV_8<<8)+DIV16; unsigned int SaveDataF5_CS0BCR =0x14900400; // IWW:1 IWRRS:0 unsigned int SaveDataF5_CS2BCR =0x04903400; // IWW:0 IWRRS:0 unsigned int SaveDataF5_CS0WCR =0x000001C0; // wait:3 unsigned int SaveDataF5_CS2WCR =0x00020140; // wait:2 WW:1 unsigned int SaveDataF5_CS5aBCR=CS5aBCR_default2; // unsigned int SaveDataF5_CS5aWCR=CS5aWCR_default2; // #define dataN 66 void SaveFile(){ int handle,state; int buf[dataN]; unsigned int key; int i,sum; handle=Bfile_OpenMainMemory((const unsigned char*)"Ftune2"); if (handle >= 0) { Bfile_CloseFile(handle); SaveDisp(SAVEDISP_PAGE1); PopUpWin(5); locate(3,2); Print((unsigned char *) "SAVE DATA "); locate(3,3); Print((unsigned char *) "Already Exists"); locate(3,4); Print((unsigned char *) "Overwrite OK?"); locate(3,5); Print((unsigned char *) " Yes:[F1]"); locate(3,6); Print((unsigned char *) " No :[F6]"); Bdisp_PutDisp_DD(); GetKey(&key); RestoreDisp(SAVEDISP_PAGE1); if (key !=KEY_CTRL_F1) return; } if (handle==IML_FILEERR_ENTRYNOTFOUND) { handle=Bfile_CreateMainMemory((const unsigned char*)"Ftune2"); if (handle<0) {ErrorMSG("Create Error",handle); return;} state=Bfile_CloseFile(handle); if (state<0) {ErrorMSG("Close Error",state); return;} } if (handle<0) {ErrorMSG("Open Error",handle); return;} buf[ 0]=SetupData; buf[ 1]=MaxFreq_PLL; buf[ 2]=MaxFreq_IFC; buf[ 3]=MaxFreq_SFC; buf[ 4]=MaxFreq_BFC; buf[ 5]=MaxFreq_PFC; buf[ 6]=(int)ROMselect; buf[ 7]=(int)RAMselect; buf[ 8]=SaveDataF2_FLLFRQ; buf[ 9]=SaveDataF2_FRQCR; buf[10]=SaveDataF2_CS0BCR; buf[11]=SaveDataF2_CS2BCR; buf[12]=SaveDataF2_CS0WCR; buf[13]=SaveDataF2_CS2WCR; buf[14]=SaveDataF2_CS5aBCR; buf[15]=SaveDataF2_CS5aWCR; buf[16]=SaveDataF3_FLLFRQ; buf[17]=SaveDataF3_FRQCR; buf[18]=SaveDataF3_CS0BCR; buf[19]=SaveDataF3_CS2BCR; buf[20]=SaveDataF3_CS0WCR; buf[21]=SaveDataF3_CS2WCR; buf[22]=SaveDataF3_CS5aBCR; buf[23]=SaveDataF3_CS5aWCR; buf[24]=SaveDataF4_FLLFRQ; buf[25]=SaveDataF4_FRQCR; buf[26]=SaveDataF4_CS0BCR; buf[27]=SaveDataF4_CS2BCR; buf[28]=SaveDataF4_CS0WCR; buf[29]=SaveDataF4_CS2WCR; buf[30]=SaveDataF4_CS5aBCR; buf[31]=SaveDataF4_CS5aWCR; buf[32]=SaveDataF5_FLLFRQ; buf[33]=SaveDataF5_FRQCR; buf[34]=SaveDataF5_CS0BCR; buf[35]=SaveDataF5_CS2BCR; buf[36]=SaveDataF5_CS0WCR; buf[37]=SaveDataF5_CS2WCR; buf[38]=SaveDataF5_CS5aBCR; buf[39]=SaveDataF5_CS5aWCR; for(i=0;i<10;i++) buf[i+40]=MaxFreq_ROMwait[i]; // 40-49 for(i=0;i< 8;i++) buf[i+50]=MaxFreq_RAMwait[i]; // 50-57 for(i=1;i< 8;i++) buf[i+57]=MaxFreq_RAMwaitW[i];// 58-64 sum=0; for(i=0;i