diff --git a/CHANGELOG.md b/CHANGELOG.md index b87213a1..b5ca3015 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ - All: French translation now has accents - New device support: LILYGO T-Deck Plus - New device support: Null Nano by Ampersand +- New device support: crokpocket +- New device support: VMU # Retro-Go 1.44 (2025-02-03) diff --git a/components/retro-go/rg_audio.c b/components/retro-go/rg_audio.c index 13b7b6a1..6c7941b1 100644 --- a/components/retro-go/rg_audio.c +++ b/components/retro-go/rg_audio.c @@ -236,6 +236,7 @@ void rg_audio_set_sample_rate(int sampleRate) { audio.driver->set_sample_rate(sampleRate); audio.sampleRate = sampleRate; + RG_LOGI("Samplerate set to %d", audio.sampleRate); RELEASE_DEVICE(); } } diff --git a/components/retro-go/rg_display.c b/components/retro-go/rg_display.c index b12377a7..b9421a95 100644 --- a/components/retro-go/rg_display.c +++ b/components/retro-go/rg_display.c @@ -37,7 +37,7 @@ static void lcd_set_window(int left, int top, int width, int height); static inline uint16_t *lcd_get_buffer(size_t length); static inline void lcd_send_buffer(uint16_t *buffer, size_t length); -#if RG_SCREEN_DRIVER == 0 /* ILI9341/ST7789 */ +#if RG_SCREEN_DRIVER == 0 || RG_SCREEN_DRIVER == 1 /* ILI9341/ST7789 */ #include "drivers/display/ili9341.h" #elif RG_SCREEN_DRIVER == 99 #include "drivers/display/sdl2.h" diff --git a/components/retro-go/rg_storage.c b/components/retro-go/rg_storage.c index 79c5120c..ae8dd68c 100644 --- a/components/retro-go/rg_storage.c +++ b/components/retro-go/rg_storage.c @@ -334,12 +334,17 @@ bool rg_storage_scandir(const char *path, rg_scandir_cb_t *callback, void *arg, DIR *dir = opendir(path); if (!dir) + { + if (errno != ENOENT) // Only log unusual errors. Path not found isn't unusual. + RG_LOGE("Opendir failed (%d): '%s'", errno, path); return false; + } // We allocate on heap in case we go recursive through rg_storage_delete rg_scandir_t *result = calloc(1, sizeof(rg_scandir_t)); if (!result) { + RG_LOGE("Memory allocation failed: '%s'", path); closedir(dir); return false; } @@ -433,7 +438,8 @@ bool rg_storage_read_file(const char *path, void **data_out, size_t *data_len, u FILE *fp = fopen(path, "rb"); if (!fp) { - RG_LOGE("Fopen failed (%d): '%s'", errno, path); + if (errno != ENOENT) // Only log unusual errors. Path not found isn't unusual. + RG_LOGE("Fopen failed (%d): '%s'", errno, path); return false; } @@ -551,7 +557,8 @@ bool rg_storage_unzip_file(const char *zip_path, const char *filter, void **data FILE *fp = fopen(zip_path, "rb"); if (!fp) { - RG_LOGE("Fopen failed (%d): '%s'", errno, zip_path); + if (errno != ENOENT) // Only log unusual errors. Path not found isn't unusual. + RG_LOGE("Fopen failed (%d): '%s'", errno, zip_path); return false; } diff --git a/components/retro-go/rg_surface.c b/components/retro-go/rg_surface.c index 06818b9e..7b6a00dc 100644 --- a/components/retro-go/rg_surface.c +++ b/components/retro-go/rg_surface.c @@ -314,6 +314,7 @@ rg_surface_t *rg_surface_load_image_file(const char *filename, uint32_t flags) return img; } + // RG_LOGE("Image loading failed: '%s'", filename); return NULL; } diff --git a/components/retro-go/translations.h b/components/retro-go/translations.h index 22b67e35..8199ea68 100644 --- a/components/retro-go/translations.h +++ b/components/retro-go/translations.h @@ -1,6 +1,9 @@ #include "rg_localization.h" -static const char *language_names[RG_LANG_MAX] = {"English", "Francais"}; +static const char *language_names[RG_LANG_MAX] = { + [RG_LANG_EN] = "English", + [RG_LANG_FR] = "Francais", +}; static const char *translations[][RG_LANG_MAX] = { diff --git a/gwenesis/components/gwenesis/src/vdp/gwenesis_vdp_gfx.c b/gwenesis/components/gwenesis/src/vdp/gwenesis_vdp_gfx.c index 44eb6370..d4dcd758 100644 --- a/gwenesis/components/gwenesis/src/vdp/gwenesis_vdp_gfx.c +++ b/gwenesis/components/gwenesis/src/vdp/gwenesis_vdp_gfx.c @@ -988,6 +988,8 @@ void gwenesis_vdp_render_config() #define CONV(b) ((0x3e00000 & b)>>10) | ((0xfc00 & b)>>5) | ((0x1f & b)) #define SPACE(c) ((0xe800 & c)<<10) | ((0x7e0 & c)<<5) | ((0x1f & c)) +/* Function unused + __attribute__((optimize("unroll-loops"))) static void blit_4to5_line(uint16_t *in, uint16_t *out) { @@ -1006,6 +1008,7 @@ blit_4to5_line(uint16_t *in, uint16_t *out) { dest_row[x_dst + 4] = CONV(b3); } } +*/ void gwenesis_vdp_render_line(int line) { diff --git a/launcher/main/gui.c b/launcher/main/gui.c index 3f1c90b4..e98606e7 100644 --- a/launcher/main/gui.c +++ b/launcher/main/gui.c @@ -631,7 +631,7 @@ void gui_load_preview(tab_t *tab) if (!tab->preview && file->checksum && (show_missing_cover || errors)) { - RG_LOGI("No image found for '%s'\n", file->name); + RG_LOGD("No image found for '%s'\n", file->name); gui_set_status(tab, NULL, errors ? "Bad cover" : "No cover"); // gui_draw_status(tab); // tab->preview = gui_get_image("cover", file->app); diff --git a/prboom-go/components/prboom/opl.c b/prboom-go/components/prboom/opl.c index c218adf1..49ecf23d 100644 --- a/prboom-go/components/prboom/opl.c +++ b/prboom-go/components/prboom/opl.c @@ -76,7 +76,7 @@ static Chip opl_chip; // Temporary mixing buffer used by the mixing callback. -static int *mix_buffer = NULL; +static int32_t *mix_buffer = NULL; // Register number that was written. @@ -107,7 +107,7 @@ int OPL_Init (unsigned int rate) current_time = 0; - mix_buffer = malloc(opl_sample_rate * sizeof(uint32_t)); + mix_buffer = malloc(opl_sample_rate * sizeof(int32_t)); // Create the emulator structure: diff --git a/retro-core/components/handy/eeprom.cpp b/retro-core/components/handy/eeprom.cpp index 4ff42f8a..2576e932 100644 --- a/retro-core/components/handy/eeprom.cpp +++ b/retro-core/components/handy/eeprom.cpp @@ -8,7 +8,7 @@ #include "system.h" #include "eeprom.h" -CEEPROM::CEEPROM(UBYTE typ) +CEEPROM::CEEPROM(UBYTE type) { *filename=0; memset(romdata, 0xff, sizeof(romdata));