diff --git a/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.cfg b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..daab0ea34497f9589787af248b11615e8ee6a506
--- /dev/null
+++ b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.cfg
@@ -0,0 +1,3 @@
+input_overlay = "/recalbox/share_init/overlays/tamagotchi/tamagotchi_overlay.cfg"
+input_overlay_opacity = "1.0"
+input_overlay_hide_in_menu = "true"
diff --git a/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.png b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.png
new file mode 100644
index 0000000000000000000000000000000000000000..71691a28ccefc34f63fec9c4351f6941fea9848f
Binary files /dev/null and b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi.png differ
diff --git a/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi_overlay.cfg b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi_overlay.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..dd190030f6c8f463bce4200c88f1dc7234f9ad5c
--- /dev/null
+++ b/board/recalbox/fsoverlay/recalbox/share_init/overlays/tamagotchi/tamagotchi_overlay.cfg
@@ -0,0 +1,4 @@
+overlays = 1
+overlay0_overlay = tamagotchi.png
+overlay0_full_screen = true
+overlay0_descs = 0
diff --git a/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml b/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml
index 793fc88cdde7e6a2ab842b8b7d1aebd83d1412de..f8d2cc8ddd3e75e42abbada613c0d8227be3198c 100644
--- a/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml
+++ b/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml
@@ -615,7 +615,4 @@
-
-
-
diff --git a/package/recalbox-romfs2/systems/tamagotchi/system.ini b/package/recalbox-romfs2/systems/tamagotchi/system.ini
index 686c109d49154fe3f0b7fe2725f6e4c84e197bbc..d92df00da33c50f8aa0abde79818b44406e105ad 100644
--- a/package/recalbox-romfs2/systems/tamagotchi/system.ini
+++ b/package/recalbox-romfs2/systems/tamagotchi/system.ini
@@ -27,7 +27,7 @@ port = 1
readonly = 0
downloader = 0
icon.unicode = $F2f8
-extension.types = "*=file"
+extension.types = "*=pcb"
[properties]
type = port
@@ -46,7 +46,7 @@ package = BR2_PACKAGE_LIBRETRO_TAMALIBRETRO
priority = 0
emulator = "libretro"
core = "tamalibretro"
-extensions = ".b"
+extensions = ".b .zip"
netplay = 0
softpatching = 0
compatibility = high
diff --git a/projects/configgen/configgen/generators/libretro/libretroGenerator.py b/projects/configgen/configgen/generators/libretro/libretroGenerator.py
index 54cf0fb92c46b444e920e6335b5bba5c7994f7ca..eecf27e9e71b39c3cf316ce3989a35577448ffd1 100644
--- a/projects/configgen/configgen/generators/libretro/libretroGenerator.py
+++ b/projects/configgen/configgen/generators/libretro/libretroGenerator.py
@@ -152,6 +152,11 @@ class LibretroGenerator(Generator):
if system.VerticalGame:
if not found:
enable_config.setString("aspect_ratio_index", '22')
+ if system.Core == "tamalibretro":
+ enable_config.setString("aspect_ratio_index", '23')
+ enable_config.setString("custom_viewport_height", '300')
+ enable_config.setString("custom_viewport_width", '300')
+ enable_config.setString("video_scale_integer", 'true')
enable_config.saveFile()
configs.append("{}/enable_overlays.cfg".format(recalboxFiles.retroarchRoot))
diff --git a/projects/configgen/configgen/generators/libretro/libretroRetroarch.py b/projects/configgen/configgen/generators/libretro/libretroRetroarch.py
index 98c380e33d1e8349e591faea4b31e9ecd7723904..d4fa667edc7a31f5c7522f68887f23d5dd2650bb 100755
--- a/projects/configgen/configgen/generators/libretro/libretroRetroarch.py
+++ b/projects/configgen/configgen/generators/libretro/libretroRetroarch.py
@@ -299,6 +299,9 @@ class LibretroRetroarch:
hasAutoSave: bool = self.system.AutoSave and not self.demo and not self.system.Netplay
settings.setBool("savestate_auto_save", hasAutoSave) \
.setBool("savestate_auto_load", hasAutoSave)
+ if self.system.Core == "tamalibretro":
+ settings.setBool("savestate_auto_save", True) \
+ .setBool("savestate_auto_load", True)
# Save thumbnail
settings.setBool("savestate_thumbnail_enable", True)