removed embarrasing default wallpaper sprite and reenabled sound

This commit is contained in:
ariahiro64 2021-09-28 00:51:17 -04:00
parent 49b49d0654
commit 6dc617fcb9
12 changed files with 135 additions and 136 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
## Build folder
/build/*
## Build files ## Build files
*.v64 *.v64
*.elf *.elf

View File

@ -19,7 +19,7 @@ OBJDIR = ./obj
BINDIR = ./bin BINDIR = ./bin
TOOLSDIR = ./tools TOOLSDIR = ./tools
LINK_FLAGS = -O1 -L$(ROOTDIR)/lib -L$(ROOTDIR)/mips64-elf/lib -ldragon -lmad -lyaml -lc -lm -ldragonsys -lnosys $(LIBS) -Tn64ld.x LINK_FLAGS = -O1 -L$(ROOTDIR)/lib -L$(ROOTDIR)/mips64-elf/lib -ldragon -lmad -lmikmod -lyaml -lc -lm -ldragonsys -lnosys $(LIBS) -Tn64ld.x
PROG_NAME = OS64P PROG_NAME = OS64P
CFLAGS = -std=gnu99 -march=vr4300 -mtune=vr4300 -O1 -I$(INCDIR) -I$(ROOTDIR)/include -I$(ROOTDIR)/mips64-elf/include -lpthread -lrt -D_REENTRANT -DUSE_TRUETYPE $(SET_DEBUG) CFLAGS = -std=gnu99 -march=vr4300 -mtune=vr4300 -O1 -I$(INCDIR) -I$(ROOTDIR)/include -I$(ROOTDIR)/mips64-elf/include -lpthread -lrt -D_REENTRANT -DUSE_TRUETYPE $(SET_DEBUG)
ASFLAGS = -mtune=vr4300 -march=vr4300 ASFLAGS = -mtune=vr4300 -march=vr4300

View File

@ -1,32 +1,29 @@
; alt64 config file ; alt64 config file
[ed64] ; Menu config [ed64] ; Menu config
build=18 ; Release build number build=20 ; Release build number
border_color_1=FFFFFFFF ; 0x00000080 RGBT border_color_1=FFFFFFFF ; 0x00000080 RGBT
border_color_2=3F3F3FFF ; 0x3F3F3FFF RGBT 00000060 w light border_color_2=3F3F3FFF ; 0x3F3F3FFF RGBT 00000060 w light
box_color=000000B6 ; 0x00000080 RGBT box_color=000000B6 ; 0x00000080 RGBT
selection_color=80008070 ; 0x80008070 RGBT 6495ED60 selection_color=80008070 ; 0x80008070 RGBT 6495ED60
list_font_color=CDC9C940 ; 0x80008070 RGBT 6495ED60 list_font_color=CDC9C940 ; 0x80008070 RGBT 6495ED60
list_dir_font_color=FFFFE040 ; 0x80008070 RGBT 6495ED60 list_dir_font_color=FFFFE040 ; 0x80008070 RGBT 6495ED60
selection_font_color=FFB90FFF ; 0x80008070 RGBT 6495ED60 selection_font_color=FFB90FFF ; 0x80008070 RGBT 6495ED60
text_offset=0 ; shift menu horizontal e.g. -1 text_offset=0 ; shift menu horizontal e.g. -1
cd_behaviour=1 ; 0=first entry 1=last entry cd_behaviour=1 ; 0=first entry 1=last entry
scroll_behaviour=0 ; 0=page-system 1=classic scroll_behaviour=0 ; 0=page-system 1=classic
quick_boot=1 ; 'START' boots last rom quick_boot=1 ; 'START' boots last rom
sound_on=1 ; sounds 1=on 0=off sound_on=1 ; sounds 1=on 0=off
page_display=1 ; display page page_display=1 ; display page
tv_mode=2 ; 1=ntsc 2=pal 3=mpal 0=force_off tv_mode=0 ; 1=ntsc 2=pal 3=mpal 0=force_off
enable_colored_list=1 ; 1=enable 0=disalbe enable_colored_list=1 ; 1=enable 0=disable
ext_type=0 ; 0=classic 1=OS64 ext_type=1 ; 0=classic 1=OS64
sd_speed=2 ; 1=25MHz 2=50MHz sd_speed=2 ; 1=25MHz 2=50MHz
background_image=background.png ; backgrund png image 320x240 32bit background_image= ; backgrund png image 320x240 32bit
hide_sysfolder=1 ; 1=hide 0=don't hide hide_sysfolder=1 ; 1=hide 0=don't hide
mempak_path=/MEMPAKS/ ; surround with slashes mempak_path=/MEMPAKS/ ; surround with slashes
save_path=SDSAVE ; save directory inside ED64 save_path=SDSAVE ; save directory inside ED64
[user] [user]
name = Altra64 ; Username name = Altra64 ; Username
[gblite]
save_path=/ED64/SDSAVE/ ; save directory surround with slashes
tv_mode=0 ; 1=ntsc 2=pal 3=mpal 0=force_off

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

View File

@ -871,7 +871,7 @@ void configure()
{ {
msg |= 1 << 14; msg |= 1 << 14;
evd_writeReg(REG_MAX_MSG, msg); evd_writeReg(REG_MAX_MSG, msg);
switch(firm) //need to take into account different default firmware versions for each ED64 version switch(firm) //need to take into account different default firmware versions for each ED64 version
{ {
case 0x0214: case 0x0214:
@ -886,7 +886,7 @@ void configure()
default: default:
break; break;
} }
sleep(1); sleep(1);
evd_init(); evd_init();
} }
@ -917,11 +917,11 @@ void romInfoScreen(display_context_t disp, u8 *buff, int silent)
{ {
TCHAR filename[64]; TCHAR filename[64];
sprintf(filename, "%s", buff); sprintf(filename, "%s", buff);
int swapped = 0; int swapped = 0;
FRESULT result; FRESULT result;
int fsize = 512; //rom-headersize 4096 but the bootcode is not needed int fsize = 512; //rom-headersize 4096 but the bootcode is not needed
unsigned char headerdata[fsize]; //1*512 unsigned char headerdata[fsize]; //1*512
@ -971,7 +971,7 @@ void romInfoScreen(display_context_t disp, u8 *buff, int silent)
//rom size //rom size
sprintf(rom_name, "Size: %iMB", fsizeMB); sprintf(rom_name, "Size: %iMB", fsizeMB);
printText(rom_name, 11, -1, disp); printText(rom_name, 11, -1, disp);
//unique cart id for gametype //unique cart id for gametype
unsigned char cartID_str[12]; unsigned char cartID_str[12];
@ -1112,11 +1112,11 @@ void loadgbrom(display_context_t disp, TCHAR *rom_path)
FIL romfile; FIL romfile;
UINT rombytesread; UINT rombytesread;
result = f_open(&romfile, rom_path, FA_READ); result = f_open(&romfile, rom_path, FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
int romfsize = f_size(&romfile); int romfsize = f_size(&romfile);
result = result =
f_read ( f_read (
&romfile, /* [IN] File object */ &romfile, /* [IN] File object */
@ -1124,7 +1124,7 @@ void loadgbrom(display_context_t disp, TCHAR *rom_path)
romfsize, /* [IN] Number of bytes to read */ romfsize, /* [IN] Number of bytes to read */
&rombytesread /* [OUT] Number of bytes read */ &rombytesread /* [OUT] Number of bytes read */
); );
f_close(&romfile); f_close(&romfile);
boot_cic = CIC_6102; boot_cic = CIC_6102;
@ -1132,7 +1132,7 @@ void loadgbrom(display_context_t disp, TCHAR *rom_path)
force_tv = 0; //no force force_tv = 0; //no force
cheats_on = 0; //cheats off cheats_on = 0; //cheats off
checksum_fix_on = 0; checksum_fix_on = 0;
bootRom(disp, 1); bootRom(disp, 1);
} }
} }
@ -1167,12 +1167,12 @@ void loadmsx2rom(display_context_t disp, TCHAR *rom_path)
FIL file; FIL file;
UINT bytesread; UINT bytesread;
result = f_open(&file, "/"ED64_FIRMWARE_PATH"/ultraMSX2.z64", FA_READ); result = f_open(&file, "/"ED64_FIRMWARE_PATH"/ultraMSX2.z64", FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
int fsize = f_size(&file); int fsize = f_size(&file);
result = result =
f_read ( f_read (
&file, /* [IN] File object */ &file, /* [IN] File object */
@ -1180,9 +1180,9 @@ void loadmsx2rom(display_context_t disp, TCHAR *rom_path)
fsize, /* [IN] Number of bytes to read */ fsize, /* [IN] Number of bytes to read */
&bytesread /* [OUT] Number of bytes read */ &bytesread /* [OUT] Number of bytes read */
); );
f_close(&file); f_close(&file);
romresult = romresult =
f_read ( f_read (
@ -1194,13 +1194,13 @@ void loadmsx2rom(display_context_t disp, TCHAR *rom_path)
f_close(&romfile); f_close(&romfile);
boot_cic = CIC_6102; boot_cic = CIC_6102;
boot_save = 0; //save off/cpak boot_save = 0; //save off/cpak
force_tv = 0; //no force force_tv = 0; //no force
cheats_on = 0; //cheats off cheats_on = 0; //cheats off
checksum_fix_on = 0; checksum_fix_on = 0;
checksum_sdram(); checksum_sdram();
bootRom(disp, 1); bootRom(disp, 1);
} }
@ -1238,12 +1238,12 @@ void loadggrom(display_context_t disp, TCHAR *rom_path) //TODO: this could be me
FIL file; FIL file;
UINT bytesread; UINT bytesread;
result = f_open(&file, "/"ED64_FIRMWARE_PATH"/UltraSMS.z64", FA_READ); result = f_open(&file, "/"ED64_FIRMWARE_PATH"/UltraSMS.z64", FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
int fsize = f_size(&file); int fsize = f_size(&file);
result = result =
f_read ( f_read (
&file, /* [IN] File object */ &file, /* [IN] File object */
@ -1251,9 +1251,9 @@ void loadggrom(display_context_t disp, TCHAR *rom_path) //TODO: this could be me
fsize, /* [IN] Number of bytes to read */ fsize, /* [IN] Number of bytes to read */
&bytesread /* [OUT] Number of bytes read */ &bytesread /* [OUT] Number of bytes read */
); );
f_close(&file); f_close(&file);
romresult = romresult =
f_read ( f_read (
@ -1265,18 +1265,18 @@ void loadggrom(display_context_t disp, TCHAR *rom_path) //TODO: this could be me
f_close(&romfile); f_close(&romfile);
boot_cic = CIC_6102; boot_cic = CIC_6102;
boot_save = 0; //save off/cpak boot_save = 0; //save off/cpak
force_tv = 0; //no force force_tv = 0; //no force
cheats_on = 0; //cheats off cheats_on = 0; //cheats off
checksum_fix_on = 0; checksum_fix_on = 0;
checksum_sdram(); checksum_sdram();
bootRom(disp, 1); bootRom(disp, 1);
} }
} }
} }
} }
void loadnesrom(display_context_t disp, TCHAR *rom_path) void loadnesrom(display_context_t disp, TCHAR *rom_path)
@ -1304,11 +1304,11 @@ void loadnesrom(display_context_t disp, TCHAR *rom_path)
FIL romfile; FIL romfile;
UINT rombytesread; UINT rombytesread;
result = f_open(&romfile, rom_path, FA_READ); result = f_open(&romfile, rom_path, FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
int romfsize = f_size(&romfile); int romfsize = f_size(&romfile);
result = result =
f_read ( f_read (
&romfile, /* [IN] File object */ &romfile, /* [IN] File object */
@ -1316,7 +1316,7 @@ void loadnesrom(display_context_t disp, TCHAR *rom_path)
romfsize, /* [IN] Number of bytes to read */ romfsize, /* [IN] Number of bytes to read */
&rombytesread /* [OUT] Number of bytes read */ &rombytesread /* [OUT] Number of bytes read */
); );
f_close(&romfile); f_close(&romfile);
boot_cic = CIC_6102; boot_cic = CIC_6102;
@ -1324,7 +1324,7 @@ void loadnesrom(display_context_t disp, TCHAR *rom_path)
force_tv = 0; //no force force_tv = 0; //no force
cheats_on = 0; //cheats off cheats_on = 0; //cheats off
checksum_fix_on = 0; checksum_fix_on = 0;
bootRom(disp, 1); bootRom(disp, 1);
} }
} }
@ -1340,7 +1340,7 @@ void loadrom(display_context_t disp, u8 *buff, int fast)
TCHAR filename[64]; TCHAR filename[64];
sprintf(filename, "%s", buff); sprintf(filename, "%s", buff);
FRESULT result; FRESULT result;
FIL file; FIL file;
UINT bytesread = 0; UINT bytesread = 0;
@ -1392,7 +1392,7 @@ void loadrom(display_context_t disp, u8 *buff, int fast)
//rom size //rom size
sprintf(rom_name, "Size: %iMB", fsizeMB); sprintf(rom_name, "Size: %iMB", fsizeMB);
printText(rom_name, 3, -1, disp); printText(rom_name, 3, -1, disp);
//unique cart id for gametype //unique cart id for gametype
unsigned char cartID_str[12]; unsigned char cartID_str[12];
@ -1563,7 +1563,7 @@ int backupSaveData(display_context_t disp)
1, /* [IN] Number of bytes to write */ 1, /* [IN] Number of bytes to write */
&bw /* [OUT] Pointer to the variable to return number of bytes written */ &bw /* [OUT] Pointer to the variable to return number of bytes written */
); );
f_close(&file); f_close(&file);
TRACE(disp, "Disabling save for subsequent system reboots"); TRACE(disp, "Disabling save for subsequent system reboots");
@ -1624,7 +1624,7 @@ int backupSaveData(display_context_t disp)
int saveTypeFromSd(display_context_t disp, char *rom_name, int stype) int saveTypeFromSd(display_context_t disp, char *rom_name, int stype)
{ {
TRACE(disp, rom_filename); TRACE(disp, rom_filename);
const char* save_type_extension = saveTypeToExtension(stype, ext_type); const char* save_type_extension = saveTypeToExtension(stype, ext_type);
TCHAR fname[256] = {0}; TCHAR fname[256] = {0};
int save_count = 0; //TODO: once this crosses 9999 bad infinite-loop type things happen, look into that one day int save_count = 0; //TODO: once this crosses 9999 bad infinite-loop type things happen, look into that one day
@ -1691,10 +1691,10 @@ int saveTypeFromSd(display_context_t disp, char *rom_name, int stype)
case FR_INVALID_NAME: case FR_INVALID_NAME:
printText("invalid name error", 11, -1, disp); printText("invalid name error", 11, -1, disp);
break; break;
case FR_DENIED: case FR_DENIED:
printText("denied error", 11, -1, disp); printText("denied error", 11, -1, disp);
break; break;
case FR_EXIST: case FR_EXIST:
printText("exist error", 11, -1, disp); printText("exist error", 11, -1, disp);
break; break;
case FR_TIMEOUT: case FR_TIMEOUT:
@ -1705,7 +1705,7 @@ int saveTypeFromSd(display_context_t disp, char *rom_name, int stype)
break; break;
default: default:
break; break;
} }
printText("no save found", 3, -1, disp); printText("no save found", 3, -1, disp);
//todo: clear memory area //todo: clear memory area
@ -1761,9 +1761,9 @@ int saveTypeToSd(display_context_t disp, char *rom_name, int stype)
uint8_t cartsave_data[size]; //TODO: bring back old initialisation if this doesn't work uint8_t cartsave_data[size]; //TODO: bring back old initialisation if this doesn't work
TRACEF(disp, "cartsave_data=%p", &cartsave_data); TRACEF(disp, "cartsave_data=%p", &cartsave_data);
printText("Transfering save data...", 3, -1, disp); printText("Transfering save data...", 3, -1, disp);
if (getSaveFromCart(stype, cartsave_data)) if (getSaveFromCart(stype, cartsave_data))
{ {
@ -1775,7 +1775,7 @@ int saveTypeToSd(display_context_t disp, char *rom_name, int stype)
&bw /* [OUT] Pointer to the variable to return number of bytes written */ &bw /* [OUT] Pointer to the variable to return number of bytes written */
); );
f_close(&file); f_close(&file);
printText("RAM area copied to SD card.", 3, -1, disp); printText("RAM area copied to SD card.", 3, -1, disp);
return 1; return 1;
} }
@ -1798,7 +1798,7 @@ int readConfigFile(void)
{ {
TCHAR filename[32]; TCHAR filename[32];
sprintf(filename, "/"ED64_FIRMWARE_PATH"/ALT64.INI"); sprintf(filename, "/"ED64_FIRMWARE_PATH"/ALT64.INI");
FRESULT result; FRESULT result;
FIL file; FIL file;
UINT bytesread; UINT bytesread;
@ -1819,7 +1819,7 @@ int readConfigFile(void)
); );
f_close(&file); f_close(&file);
configuration config; configuration config;
if (ini_parse_str(config_rawdata, configHandler, &config) < 0) if (ini_parse_str(config_rawdata, configHandler, &config) < 0)
@ -1890,7 +1890,7 @@ void initFilesystem(void)
else else
{ {
fat_initialized = 1; fat_initialized = 1;
} }
} }
//prints the sdcard-filesystem content //prints the sdcard-filesystem content
@ -1922,11 +1922,11 @@ void readSDcard(display_context_t disp, char *directory)
// FIL file; // FIL file;
// UINT bytesread; // UINT bytesread;
// result = f_open(&file, rom_cfg_file, FA_READ); // result = f_open(&file, rom_cfg_file, FA_READ);
// if (result == FR_OK) // if (result == FR_OK)
// { // {
// int fsize = f_size(&file); // int fsize = f_size(&file);
// result = // result =
// f_read ( // f_read (
// &file, /* [IN] File object */ // &file, /* [IN] File object */
@ -1934,12 +1934,12 @@ void readSDcard(display_context_t disp, char *directory)
// fsize, /* [IN] Number of bytes to read */ // fsize, /* [IN] Number of bytes to read */
// &bytesread /* [OUT] Number of bytes read */ // &bytesread /* [OUT] Number of bytes read */
// ); // );
// f_close(&file); // f_close(&file);
// colorlist[i][0] = (char)cfg_file_data[5]; //row i column 0 = colour // colorlist[i][0] = (char)cfg_file_data[5]; //row i column 0 = colour
// strcpy(colorlist[i] + 1, cfg_file_data + 32); //row i column 1+ = fullpath // strcpy(colorlist[i] + 1, cfg_file_data + 32); //row i column 1+ = fullpath
// } // }
// } // }
// } // }
@ -1978,7 +1978,7 @@ void readSDcard(display_context_t disp, char *directory)
} }
strcpy(list[count - 1].filename, fno.fname); strcpy(list[count - 1].filename, fno.fname);
list[count - 1].color = 0; list[count - 1].color = 0;
// if (enable_colored_list) // if (enable_colored_list)
// { // {
// for (int c = 0; c < dsize; c++) // for (int c = 0; c < dsize; c++)
@ -2069,7 +2069,7 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
{ {
return -2; // Out of memory return -2; // Out of memory
} }
/* /*
* Size of the cheat list can never be more than half the size of the YAML * Size of the cheat list can never be more than half the size of the YAML
* Minimum YAML example: * Minimum YAML example:
@ -2100,7 +2100,7 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
f_close(&file); f_close(&file);
yaml_parser_set_input_string(&parser, cheatfile, strlen(cheatfile)); yaml_parser_set_input_string(&parser, cheatfile, strlen(cheatfile));
do do
{ {
if (!yaml_parser_parse(&parser, &event)) if (!yaml_parser_parse(&parser, &event))
@ -2112,10 +2112,10 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
free(cheat_lists[0]); free(cheat_lists[0]);
cheat_lists[0] = 0; cheat_lists[0] = 0;
cheat_lists[1] = 0; cheat_lists[1] = 0;
return -3; // Parse error return -3; // Parse error
} }
// Process YAML // Process YAML
switch (event.type) switch (event.type)
{ {
@ -2123,30 +2123,30 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
// Begin code block // Begin code block
is_code = 0; is_code = 0;
break; break;
case YAML_SEQUENCE_START_EVENT: case YAML_SEQUENCE_START_EVENT:
// Begin code lines // Begin code lines
is_code = 1; is_code = 1;
code_on = (event.data.sequence_start.tag ? !!strcasecmp(event.data.sequence_start.tag, "!off") : 1); code_on = (event.data.sequence_start.tag ? !!strcasecmp(event.data.sequence_start.tag, "!off") : 1);
break; break;
case YAML_SEQUENCE_END_EVENT: case YAML_SEQUENCE_END_EVENT:
// End code lines // End code lines
is_code = 0; is_code = 0;
code_on = 1; code_on = 1;
repeater = 0; repeater = 0;
break; break;
case YAML_SCALAR_EVENT: case YAML_SCALAR_EVENT:
// Code line // Code line
if (!is_code || !code_on) if (!is_code || !code_on)
{ {
break; break;
} }
address = strtoul(event.data.scalar.value, &next, 16); address = strtoul(event.data.scalar.value, &next, 16);
value = strtoul(next, NULL, 16); value = strtoul(next, NULL, 16);
// Do not check code types within "repeater data" // Do not check code types within "repeater data"
if (repeater) if (repeater)
{ {
@ -2155,17 +2155,17 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
*list2++ = value; *list2++ = value;
break; break;
} }
// Determine destination cheat_list for the code type // Determine destination cheat_list for the code type
switch (address >> 24) switch (address >> 24)
{ {
// Uncessary code types // Uncessary code types
case 0x20: // Clear code list case 0x20: // Clear code list
case 0xCC: // Exception Handler Selection case 0xCC: // Exception Handler Selection
case 0xDE: // Entry Point case 0xDE: // Entry Point
break; break;
// Boot-time cheats // Boot-time cheats
case 0xEE: // Disable Expansion Pak case 0xEE: // Disable Expansion Pak
case 0xF0: // 8-bit Boot-Time Write case 0xF0: // 8-bit Boot-Time Write
@ -2174,7 +2174,7 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
*list1++ = address; *list1++ = address;
*list1++ = value; *list1++ = value;
break; break;
// In-game cheats // In-game cheats
case 0x50: // Repeater/Patch case 0x50: // Repeater/Patch
// Validate repeater count // Validate repeater count
@ -2185,7 +2185,7 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
*list2++ = value; *list2++ = value;
} }
break; break;
// Everything else // Everything else
default: default:
if (!address) if (!address)
@ -2193,7 +2193,7 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
// TODO: Support special code types! :) // TODO: Support special code types! :)
} }
// Fall-through! // Fall-through!
case 0xD0: // 8-bit Equal-To Conditional case 0xD0: // 8-bit Equal-To Conditional
case 0xD1: // 16-bit Equal-To Conditional case 0xD1: // 16-bit Equal-To Conditional
case 0xD2: // 8-bit Not-Equal-To Conditional case 0xD2: // 8-bit Not-Equal-To Conditional
@ -2203,29 +2203,29 @@ int readCheatFile(TCHAR *filename, u32 *cheat_lists[2])
{ {
break; break;
} }
*list2++ = address; *list2++ = address;
*list2++ = value; *list2++ = value;
break; break;
} }
break; break;
case YAML_STREAM_END_EVENT: case YAML_STREAM_END_EVENT:
// And we're outta here! // And we're outta here!
done = 1; done = 1;
break; break;
default: default:
break; break;
} }
yaml_event_delete(&event); yaml_event_delete(&event);
} while (!done); } while (!done);
// Free // Free
yaml_parser_delete(&parser); yaml_parser_delete(&parser);
free(cheatfile); free(cheatfile);
return repeater; // Ok or repeater error return repeater; // Ok or repeater error
} }
@ -2249,7 +2249,7 @@ void bootRom(display_context_t disp, int silent)
FRESULT result; FRESULT result;
FIL file; FIL file;
result = f_open(&file, cfg_file, FA_WRITE | FA_CREATE_ALWAYS); result = f_open(&file, cfg_file, FA_WRITE | FA_CREATE_ALWAYS);
if (result == FR_OK) if (result == FR_OK)
{ {
uint8_t cfg_data[2] = {boot_save, boot_cic}; uint8_t cfg_data[2] = {boot_save, boot_cic};
@ -2264,7 +2264,7 @@ void bootRom(display_context_t disp, int silent)
); );
f_puts(rom_filename, &file); f_puts(rom_filename, &file);
f_close(&file); f_close(&file);
//set the fpga cart-save type //set the fpga cart-save type
@ -2407,9 +2407,9 @@ void drawShortInfoBox(display_context_t disp, char *text, u8 mode)
new_scroll_pos(&cursor, &page, MAX_LIST, count); new_scroll_pos(&cursor, &page, MAX_LIST, count);
clearScreen(disp); //part clear? clearScreen(disp); //part clear?
display_dir(list, cursor, page, MAX_LIST, count, disp); display_dir(list, cursor, page, MAX_LIST, count, disp);
if (mode == 0) if (mode == 0)
drawBoxNumber(disp, 7); drawBoxNumber(disp, 7);
else if (mode == 1) else if (mode == 1)
drawBoxNumber(disp, 8); drawBoxNumber(disp, 8);
@ -2459,7 +2459,7 @@ void readRomConfig(display_context_t disp, char *short_filename, char *full_file
f_close(&file); f_close(&file);
rom_config[0] = 1; //preload cursor position 1 cic rom_config[0] = 1; //preload cursor position 1 cic
rom_config[1] = rom_cfg_data[0]; rom_config[1] = rom_cfg_data[0];
rom_config[2] = rom_cfg_data[1]; rom_config[2] = rom_cfg_data[1];
@ -2639,7 +2639,7 @@ void drawToplistBox(display_context_t disp, int line)
if (line == 0) if (line == 0)
{ {
char* path = "/"ED64_FIRMWARE_PATH"/CFG"; char* path = "/"ED64_FIRMWARE_PATH"/CFG";
FRESULT res; FRESULT res;
DIR dir; DIR dir;
UINT i; UINT i;
@ -2651,7 +2651,7 @@ void drawToplistBox(display_context_t disp, int line)
for (;;) { for (;;) {
res = f_readdir(&dir, &fno); /* Read a directory item */ res = f_readdir(&dir, &fno); /* Read a directory item */
if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */ if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */
if (!fno.fattrib & !AM_DIR) { if (!fno.fattrib & !AM_DIR) {
dsize++; dsize++;
} }
} }
@ -2661,7 +2661,7 @@ void drawToplistBox(display_context_t disp, int line)
res = f_opendir(&dir, path); /* Open the directory */ res = f_opendir(&dir, path); /* Open the directory */
if (res == FR_OK) { if (res == FR_OK) {
char toplist[dsize][256]; char toplist[dsize][256];
for (;;) { for (;;) {
res = f_readdir(&dir, &fno); /* Read a directory item */ res = f_readdir(&dir, &fno); /* Read a directory item */
if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */ if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */
@ -2673,22 +2673,22 @@ void drawToplistBox(display_context_t disp, int line)
// path[i] = 0; // path[i] = 0;
} else { /* It is a file. */ } else { /* It is a file. */
TCHAR rom_cfg_file[128]; TCHAR rom_cfg_file[128];
//set rom_cfg //set rom_cfg
sprintf(rom_cfg_file, path, fno.fname); sprintf(rom_cfg_file, path, fno.fname);
FRESULT result; FRESULT result;
FIL file; FIL file;
UINT bytesread; UINT bytesread;
result = f_open(&file, rom_cfg_file, FA_READ); result = f_open(&file, rom_cfg_file, FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
static uint8_t cfg_file_data[512] = {0}; static uint8_t cfg_file_data[512] = {0};
int fsize = f_size(&file) + 1; int fsize = f_size(&file) + 1;
result = result =
f_read ( f_read (
&file, /* [IN] File object */ &file, /* [IN] File object */
@ -2696,9 +2696,9 @@ void drawToplistBox(display_context_t disp, int line)
fsize, /* [IN] Number of bytes to read */ fsize, /* [IN] Number of bytes to read */
&bytesread /* [OUT] Number of bytes read */ &bytesread /* [OUT] Number of bytes read */
); );
f_close(&file); f_close(&file);
toplist[i][0] = (char)cfg_file_data[5]; //quality toplist[i][0] = (char)cfg_file_data[5]; //quality
strcpy(toplist[i] + 1, cfg_file_data + 32); //fullpath strcpy(toplist[i] + 1, cfg_file_data + 32); //fullpath
i++; i++;
@ -2706,7 +2706,7 @@ void drawToplistBox(display_context_t disp, int line)
} }
} }
f_closedir(&dir); f_closedir(&dir);
qsort(toplist, dsize, 256, compare_int_reverse); qsort(toplist, dsize, 256, compare_int_reverse);
@ -2834,7 +2834,7 @@ void drawRomConfigBox(display_context_t disp, int line)
rom_config[0]--; rom_config[0]--;
} }
} }
drawBoxNumber(disp, 6); drawBoxNumber(disp, 6);
drawConfigSelection(disp, rom_config[0]); drawConfigSelection(disp, rom_config[0]);
@ -3154,9 +3154,9 @@ void loadFile(display_context_t disp)
name_file, /* [IN] String */ name_file, /* [IN] String */
&file /* [IN] File object */ &file /* [IN] File object */
); );
f_close(&file); f_close(&file);
if (result == FR_OK) if (result == FR_OK)
@ -3166,7 +3166,7 @@ void loadFile(display_context_t disp)
loadrom(disp, name_file, 1); loadrom(disp, name_file, 1);
display_show(disp); display_show(disp);
//rom loaded mapping //rom loaded mapping
input_mapping = rom_loaded; input_mapping = rom_loaded;
} }
@ -3318,7 +3318,7 @@ void handleInput(display_context_t disp, sprite_t *contr)
break; break;
} }
} }
if (keys.c[0].down || keys_held.c[0].down || keys_held.c[0].y < -25) if (keys.c[0].down || keys_held.c[0].down || keys_held.c[0].y < -25)
{ {
switch (input_mapping) switch (input_mapping)
@ -3507,12 +3507,12 @@ void handleInput(display_context_t disp, sprite_t *contr)
FIL file; FIL file;
UINT bytesread; UINT bytesread;
result = f_open(&file, "/"ED64_FIRMWARE_PATH"/LASTROM.CFG", FA_READ); result = f_open(&file, "/"ED64_FIRMWARE_PATH"/LASTROM.CFG", FA_READ);
if (result == FR_OK) if (result == FR_OK)
{ {
int fsize = f_size(&file) + 1; //extra char needed for null terminator '/0' int fsize = f_size(&file) + 1; //extra char needed for null terminator '/0'
uint8_t lastrom_cfg_data[fsize]; uint8_t lastrom_cfg_data[fsize];
// result = // result =
// f_read ( // f_read (
// &file, /* [IN] File object */ // &file, /* [IN] File object */
@ -3522,7 +3522,7 @@ void handleInput(display_context_t disp, sprite_t *contr)
// ); // );
f_gets(lastrom_cfg_data, fsize, &file); f_gets(lastrom_cfg_data, fsize, &file);
f_close(&file); f_close(&file);
u8 *file_name = strrchr(lastrom_cfg_data, '/'); u8 *file_name = strrchr(lastrom_cfg_data, '/');
@ -3708,9 +3708,9 @@ void handleInput(display_context_t disp, sprite_t *contr)
switch (input_mapping) switch (input_mapping)
{ {
case file_manager: case file_manager:
if (list[cursor].type != DT_DIR && empty == 0) if (list[cursor].type != DT_DIR && empty == 0)
{ {
while (!(disp = display_lock())) while (!(disp = display_lock()))
; ;
new_scroll_pos(&cursor, &page, MAX_LIST, count); new_scroll_pos(&cursor, &page, MAX_LIST, count);
@ -3723,11 +3723,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
part = malloc(slen(list[cursor].filename)); part = malloc(slen(list[cursor].filename));
sprintf(part, "%s", list[cursor].filename); sprintf(part, "%s", list[cursor].filename);
part[31] = '\0'; part[31] = '\0';
printText(part, 4, 14, disp); printText(part, 4, 14, disp);
if (slen(list[cursor].filename) > 31) if (slen(list[cursor].filename) > 31)
{ {
sprintf(part, "%s", list[cursor].filename + 31); sprintf(part, "%s", list[cursor].filename + 31);
part[31] = '\0'; part[31] = '\0';
printText(part, 4, -1, disp); printText(part, 4, -1, disp);
@ -4208,7 +4208,7 @@ void handleInput(display_context_t disp, sprite_t *contr)
FRESULT result; FRESULT result;
FIL file; FIL file;
result = f_open(&file, rom_cfg_file, FA_WRITE | FA_OPEN_ALWAYS); result = f_open(&file, rom_cfg_file, FA_WRITE | FA_OPEN_ALWAYS);
if (result == FR_OK) if (result == FR_OK)
{ {
static uint8_t cfg_file_data[512] = {0}; static uint8_t cfg_file_data[512] = {0};
@ -4221,10 +4221,10 @@ void handleInput(display_context_t disp, sprite_t *contr)
cfg_file_data[6] = rom_config[7]; //country cfg_file_data[6] = rom_config[7]; //country
cfg_file_data[7] = rom_config[8]; cfg_file_data[7] = rom_config[8];
cfg_file_data[8] = rom_config[9]; cfg_file_data[8] = rom_config[9];
//copy full rom path to offset at 32 byte - 32 bytes reversed //copy full rom path to offset at 32 byte - 32 bytes reversed
scopy(name_file, cfg_file_data + 32); //filename to rom_cfg file scopy(name_file, cfg_file_data + 32); //filename to rom_cfg file
UINT bw; UINT bw;
result = result =
f_write ( f_write (
@ -4233,15 +4233,15 @@ void handleInput(display_context_t disp, sprite_t *contr)
512, /* [IN] Number of bytes to write */ 512, /* [IN] Number of bytes to write */
&bw /* [OUT] Pointer to the variable to return number of bytes written */ &bw /* [OUT] Pointer to the variable to return number of bytes written */
); );
f_close(&file); f_close(&file);
while (!(disp = display_lock())) while (!(disp = display_lock()))
; ;
drawRomConfigBox(disp, 0); drawRomConfigBox(disp, 0);
display_show(disp); display_show(disp);
drawShortInfoBox(disp, " done", 0); drawShortInfoBox(disp, " done", 0);
toplist_reload = 1; toplist_reload = 1;
} }
input_mapping = abort_screen; input_mapping = abort_screen;
@ -4430,10 +4430,10 @@ void handleInput(display_context_t disp, sprite_t *contr)
default: default:
while (!(disp = display_lock())) while (!(disp = display_lock()))
; ;
clearScreen(disp); //part clear? clearScreen(disp); //part clear?
display_dir(list, cursor, page, MAX_LIST, count, disp); display_dir(list, cursor, page, MAX_LIST, count, disp);
display_show(disp); display_show(disp);
//rom info screen //rom info screen
@ -4533,9 +4533,9 @@ int main(void)
FRESULT fr; FRESULT fr;
FILINFO fno; FILINFO fno;
fr = f_stat(background_path, &fno); fr = f_stat(background_path, &fno);
if (fr == FR_OK) if (fr == FR_OK)
{ {
background = loadPng(background_path); background = loadPng(background_path);

View File

@ -2,7 +2,7 @@
// Copyright (c) 2017 The Altra64 project contributors // Copyright (c) 2017 The Altra64 project contributors
// See LICENSE file in the project root for full license information. // See LICENSE file in the project root for full license information.
// //
#define SOUND_ENABLED
#if !defined(SOUND_ENABLED) #if !defined(SOUND_ENABLED)
void sndInit(void) void sndInit(void)
@ -64,7 +64,7 @@ void sndInit(void)
/* get ready to play */ /* get ready to play */
MikMod_EnableOutput(); MikMod_EnableOutput();
} }
void sndPlayBGM(char* filename) void sndPlayBGM(char* filename)
@ -112,7 +112,7 @@ void sndPlaySFX(char* filename)
{ {
Voice_Stop(voiceSFX); Voice_Stop(voiceSFX);
} }
if (hashtable_get(samples, filename) == NULL) if (hashtable_get(samples, filename) == NULL)
{ {
@ -122,7 +122,7 @@ void sndPlaySFX(char* filename)
//audio_write_silence(); //audio_write_silence();
Voice_SetVolume(voiceSFX, 200); Voice_SetVolume(voiceSFX, 200);
voiceSFX = Sample_Play(hashtable_get(samples, filename), 0, 0); voiceSFX = Sample_Play(hashtable_get(samples, filename), 0, 0);
MikMod_Update(); //force an update so that the voice is registered as playing! MikMod_Update(); //force an update so that the voice is registered as playing!
} }

View File

@ -5,7 +5,7 @@
#include "version.h" #include "version.h"
#define ALTRA64_VERSION "0.1.8.6.1.3" #define ALTRA64_VERSION "0.2.0.3 beta"
const char* Altra64_GetVersionString(void) const char* Altra64_GetVersionString(void)
{ {