NeoHomeBrew (./54):
VasiliyFamiliya (./53):
The name entry function in highscore table finally works properly, but I can't understand - why game resets highscore values written to backup ram after every gameover? Did I missed something during highscore saving?
Hi, could you try to load the default highscore values before calling BIOSF_SYSTEM_RETURN ?
int main(void) {
initGfx();
palJobPut(0,8,fixPalettes);
backgroundColor(0x7bbb);
if(BIOS_MVS_FLAG==0) TitleScreen();
else
{
if(BIOS_USER_REQUEST==0) // user_request=0 is called by BIOS
{
// is called by BIOS if given NGH number has not been found into backup RAM (MVS system)
// only executed once if game is installed the first time into the MVS system
// is always executed in simulated MVS-Mode on AES systems with Uni-Bios
// if MVS system has been detected:
// initial load of default SOFT_DIP data from JPConfig, USConfig, EUConfig
// initial setup of the backup RAM save pointer (game data like rankings can be saved in this loaction)
// initial load of default ranking data
bkp_data.scores[0]=150;
bkp_data.scores[1]=110;
bkp_data.scores[2]=75;
bkp_data.scores[3]=45;
bkp_data.scores[4]=20;
bkp_data.names[0]='V';
bkp_data.names[1]='A';
bkp_data.names[2]='S';
bkp_data.names[3]='H';
bkp_data.names[4]='P';
bkp_data.names[5]='M';
bkp_data.names[6]='B';
bkp_data.names[7]='L';
bkp_data.names[8]='A';
bkp_data.names[9]='M';
bkp_data.names[10]='E';
bkp_data.names[11]='G';
bkp_data.names[12]='Z';
bkp_data.names[13]='E';
bkp_data.names[14]='R';
__asm__ ("jmp 0xc00444 \n"); // BIOSF_SYSTEM_RETURN - return to bios control
}
Demo();
}
}
I tried this option already, and then highscore table after launch turned out to be absolutely empty at all.