diff --git a/Assets/retro-esp32/logos/logo3d.gif b/Assets/retro-esp32/logos/logo3d.gif
index c78d68db..7cbfe935 100644
Binary files a/Assets/retro-esp32/logos/logo3d.gif and b/Assets/retro-esp32/logos/logo3d.gif differ
diff --git a/Components/go-play/odroid-go-common/components/odroid/odroid_hud.c b/Components/go-play/odroid-go-common/components/odroid/odroid_hud.c
index 01da7e59..67a341fe 100755
--- a/Components/go-play/odroid-go-common/components/odroid/odroid_hud.c
+++ b/Components/go-play/odroid-go-common/components/odroid/odroid_hud.c
@@ -179,7 +179,8 @@ const uint16_t FONT_5x7[7][250] = {
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -382,6 +383,14 @@ const uint16_t FONT_5x7[7][250] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/handy-go/components/odroid/odroid_hud.c b/Components/handy-go/components/odroid/odroid_hud.c
index 3b340fd2..0137c6aa 100755
--- a/Components/handy-go/components/odroid/odroid_hud.c
+++ b/Components/handy-go/components/odroid/odroid_hud.c
@@ -179,7 +179,8 @@ const uint16_t FONT_5x7[7][250] = {
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -385,6 +386,14 @@ const uint16_t FONT_5x7[7][250] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/odroid-go-handy/odroid-go-common/components/odroid/odroid_hud.c b/Components/odroid-go-handy/odroid-go-common/components/odroid/odroid_hud.c
index af426e32..43749f6b 100755
--- a/Components/odroid-go-handy/odroid-go-common/components/odroid/odroid_hud.c
+++ b/Components/odroid-go-handy/odroid-go-common/components/odroid/odroid_hud.c
@@ -206,7 +206,8 @@ const uint16_t icons[55][5] = {
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -412,6 +413,14 @@ const uint16_t icons[55][5] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/odroid-go-pcengine-huexpress/odroid-go-common/components/odroid/odroid_hud.c b/Components/odroid-go-pcengine-huexpress/odroid-go-common/components/odroid/odroid_hud.c
index 5f478117..88a51f99 100755
--- a/Components/odroid-go-pcengine-huexpress/odroid-go-common/components/odroid/odroid_hud.c
+++ b/Components/odroid-go-pcengine-huexpress/odroid-go-common/components/odroid/odroid_hud.c
@@ -209,7 +209,8 @@ THEME GUI;
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -415,6 +416,14 @@ THEME GUI;
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/odroid-go-spectrum-emulator/components/odroid/odroid_hud.c b/Components/odroid-go-spectrum-emulator/components/odroid/odroid_hud.c
index ff6a74ca..f4272b45 100755
--- a/Components/odroid-go-spectrum-emulator/components/odroid/odroid_hud.c
+++ b/Components/odroid-go-spectrum-emulator/components/odroid/odroid_hud.c
@@ -206,7 +206,8 @@ const uint16_t icons[55][5] = {
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -412,6 +413,14 @@ const uint16_t icons[55][5] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/pitpo/odroid-go-common/components/odroid/odroid_hud.c b/Components/pitpo/odroid-go-common/components/odroid/odroid_hud.c
index 01da7e59..67a341fe 100755
--- a/Components/pitpo/odroid-go-common/components/odroid/odroid_hud.c
+++ b/Components/pitpo/odroid-go-common/components/odroid/odroid_hud.c
@@ -179,7 +179,8 @@ const uint16_t FONT_5x7[7][250] = {
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -382,6 +383,14 @@ const uint16_t FONT_5x7[7][250] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/prosystem-odroid-go/components/odroid/odroid_hud.c b/Components/prosystem-odroid-go/components/odroid/odroid_hud.c
index eab20857..419eda2f 100755
--- a/Components/prosystem-odroid-go/components/odroid/odroid_hud.c
+++ b/Components/prosystem-odroid-go/components/odroid/odroid_hud.c
@@ -205,7 +205,8 @@ const uint16_t icons[55][5] = {
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -411,6 +412,14 @@ const uint16_t icons[55][5] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/retro-go/components/odroid/odroid_hud.c b/Components/retro-go/components/odroid/odroid_hud.c
index b73afe6f..6c34a702 100755
--- a/Components/retro-go/components/odroid/odroid_hud.c
+++ b/Components/retro-go/components/odroid/odroid_hud.c
@@ -206,7 +206,8 @@ const uint16_t icons[55][5] = {
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -409,6 +410,14 @@ const uint16_t icons[55][5] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/stella-odroid-go/components/odroid/odroid_hud.c b/Components/stella-odroid-go/components/odroid/odroid_hud.c
index cafec230..dac761cb 100755
--- a/Components/stella-odroid-go/components/odroid/odroid_hud.c
+++ b/Components/stella-odroid-go/components/odroid/odroid_hud.c
@@ -206,7 +206,8 @@ const uint16_t icons[55][5] = {
{65535,0,0,0,65535},
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -412,6 +413,14 @@ const uint16_t icons[55][5] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Components/super-go-play/odroid-go-common/components/odroid/odroid_hud.c b/Components/super-go-play/odroid-go-common/components/odroid/odroid_hud.c
index fc358369..defe6ab3 100755
--- a/Components/super-go-play/odroid-go-common/components/odroid/odroid_hud.c
+++ b/Components/super-go-play/odroid-go-common/components/odroid/odroid_hud.c
@@ -179,7 +179,8 @@ THEME GUI;
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -382,6 +383,14 @@ THEME GUI;
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Configs/retro-esp/.com.apple.backupd.mdmv21729581 b/Configs/retro-esp/.com.apple.backupd.mdmv21729581
deleted file mode 100755
index cc3a47fb..00000000
--- a/Configs/retro-esp/.com.apple.backupd.mdmv21729581
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- DateStarted
- 2020-03-09T19:31:08Z
- FileID
- 21729581
- NameSpaceID
- 1672047173
- NewPath
- Users/eugene/Desktop/github/RetroESP32/Public/Software/Configs/retro-esp/Emulators
- SourcePath
- Users/eugene/Desktop/github/RetroESP32/Public/Software/Configs/retro-esp32/Emulators
-
-
diff --git a/Configs/retro-esp/.com.apple.backupd.mdmv21729638 b/Configs/retro-esp/.com.apple.backupd.mdmv21729638
deleted file mode 100755
index 6cf24f3a..00000000
--- a/Configs/retro-esp/.com.apple.backupd.mdmv21729638
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- DateStarted
- 2020-03-09T19:31:08Z
- FileID
- 21729638
- NameSpaceID
- 2879911030
- NewPath
- Users/eugene/Desktop/github/RetroESP32/Public/Software/Configs/retro-esp/Launchers
- SourcePath
- Users/eugene/Desktop/github/RetroESP32/Public/Software/Configs/retro-esp32/Launchers
-
-
diff --git a/Emulators/handy-go/components/odroid/odroid_hud.c b/Emulators/handy-go/components/odroid/odroid_hud.c
index 3b340fd2..0137c6aa 100755
--- a/Emulators/handy-go/components/odroid/odroid_hud.c
+++ b/Emulators/handy-go/components/odroid/odroid_hud.c
@@ -179,7 +179,8 @@ const uint16_t FONT_5x7[7][250] = {
};
- const uint16_t logo[12][64] = {
+#define BUILD "v.2.7"
+const uint16_t logo[12][64] = {
{0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,0},
@@ -385,6 +386,14 @@ const uint16_t FONT_5x7[7][250] = {
}
ili9341_write_frame_rectangleLE(x, y, w, h, buffer);
//hud_text(x,y+18,"In Game Menu",false,false);
+
+ /*
+ BUILD
+ */
+ char message[100] = BUILD;
+ int width = strlen(message)*5;
+ int center = ceil((320)-(width))-32;
+ hud_text(center,y,message,false,false);
}
void hud_progress(char *string, bool bar) {
diff --git a/Firmware/Assets/retro-esp32.jpg b/Firmware/Assets/retro-esp32.jpg
index 42cac366..496abc14 100755
Binary files a/Firmware/Assets/retro-esp32.jpg and b/Firmware/Assets/retro-esp32.jpg differ
diff --git a/Firmware/Assets/retro-esp32.psd b/Firmware/Assets/retro-esp32.psd
index fbad8406..675e45b6 100755
Binary files a/Firmware/Assets/retro-esp32.psd and b/Firmware/Assets/retro-esp32.psd differ
diff --git a/Firmware/Assets/retro-esp32.raw b/Firmware/Assets/retro-esp32.raw
index 57015e7a..c764e621 100755
Binary files a/Firmware/Assets/retro-esp32.raw and b/Firmware/Assets/retro-esp32.raw differ
diff --git a/Firmware/Releases/odroid-go.zip b/Firmware/Releases/odroid-go.zip
index d4917b46..9e560f8d 100755
Binary files a/Firmware/Releases/odroid-go.zip and b/Firmware/Releases/odroid-go.zip differ
diff --git a/Firmware/Releases/odroid-go/Retro ESP32.fw b/Firmware/Releases/odroid-go/Retro ESP32.fw
index 461dca99..120dc2f6 100644
Binary files a/Firmware/Releases/odroid-go/Retro ESP32.fw and b/Firmware/Releases/odroid-go/Retro ESP32.fw differ
diff --git a/Firmware/Releases/retro-esp.zip b/Firmware/Releases/retro-esp.zip
index b14789dd..0cca0782 100755
Binary files a/Firmware/Releases/retro-esp.zip and b/Firmware/Releases/retro-esp.zip differ
diff --git a/Firmware/Releases/retro-esp/Retro ESP32.fw b/Firmware/Releases/retro-esp/Retro ESP32.fw
index 6f9a00f0..02b64a2b 100644
Binary files a/Firmware/Releases/retro-esp/Retro ESP32.fw and b/Firmware/Releases/retro-esp/Retro ESP32.fw differ
diff --git a/Launchers/.DS_Store b/Launchers/.DS_Store
index b95c6cbb..614c0133 100755
Binary files a/Launchers/.DS_Store and b/Launchers/.DS_Store differ
diff --git a/Launchers/gogo/sdkconfig b/Launchers/gogo/sdkconfig
old mode 100755
new mode 100644
index 3b19c9f7..136f2e6a
--- a/Launchers/gogo/sdkconfig
+++ b/Launchers/gogo/sdkconfig
@@ -38,7 +38,7 @@ CONFIG_FLASH_ENCRYPTION_ENABLED=
#
# Serial flasher config
#
-CONFIG_ESPTOOLPY_PORT="/dev/cu.usbserial-A1015RV4"
+CONFIG_ESPTOOLPY_PORT="/dev/cu.usbserial-AB0JESEO"
CONFIG_ESPTOOLPY_BAUD_115200B=
CONFIG_ESPTOOLPY_BAUD_230400B=
CONFIG_ESPTOOLPY_BAUD_921600B=y
@@ -81,10 +81,12 @@ CONFIG_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_MONITOR_BAUD=115200
#
-# LCD Screen Driver
+# Retro ESP32 Configuration
#
CONFIG_LCD_DRIVER_CHIP_ODROID_GO=
CONFIG_LCD_DRIVER_CHIP_RETRO_ESP32=y
+CONFIG_DEFAULT_MENU_KEY=y
+CONFIG_COMBO_MENU_KEY=
#
# Partition Table
diff --git a/Launchers/retro-esp32-next/Makefile b/Launchers/retro-esp32-next/Makefile
new file mode 100755
index 00000000..b7c255b4
--- /dev/null
+++ b/Launchers/retro-esp32-next/Makefile
@@ -0,0 +1,9 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+
+PROJECT_NAME := retro-esp32-next
+
+include $(IDF_PATH)/make/project.mk
+
diff --git a/Launchers/retro-esp32-next/components/spi_lcd/Kconfig.projbuild b/Launchers/retro-esp32-next/components/spi_lcd/Kconfig.projbuild
new file mode 100755
index 00000000..cb5ca7f2
--- /dev/null
+++ b/Launchers/retro-esp32-next/components/spi_lcd/Kconfig.projbuild
@@ -0,0 +1,29 @@
+menu "Retro ESP32 Configuration"
+ choice LCD_DRIVER_CHIP
+ prompt "LCD Driver Chip"
+ default LCD_DRIVER_ILI9341
+ help
+ LCD Screen Driver
+
+ config LCD_DRIVER_ILI9341
+ bool "ILI9341"
+
+ config LCD_DRIVER_ILI9342
+ bool "ILI9342/C"
+
+ endchoice
+
+ choice MENU_HOT_KEYS
+ prompt "MENU Key Options"
+ default DEFAULT_MENU_KEY
+ help
+ Select Hot Key (Menu Button)
+
+ config DEFAULT_MENU_KEY
+ bool "Odroid Go MENU Button"
+
+ config COMBO_MENU_KEY
+ bool "START + SELECT as MENU button"
+
+ endchoice
+endmenu
\ No newline at end of file
diff --git a/Launchers/retro-esp32-next/components/spi_lcd/component.mk b/Launchers/retro-esp32-next/components/spi_lcd/component.mk
new file mode 100755
index 00000000..6479da77
--- /dev/null
+++ b/Launchers/retro-esp32-next/components/spi_lcd/component.mk
@@ -0,0 +1,13 @@
+#
+# Component Makefile
+#
+# This Makefile can be left empty. By default, it will take the sources in the
+# src/ directory, compile them and link them into lib(subdirectory_name).a
+# in the build directory. This behaviour is entirely configurable,
+# please read the ESP-IDF documents if you need to do this.
+#
+
+#CFLAGS :=
+#COMPONENT_DEPENDS :=
+#COMPONENT_ADD_INCLUDEDIRS := .
+#COMPONENT_SRCDIRS := .
diff --git a/Launchers/retro-esp32-next/components/spi_lcd/spi_lcd.c b/Launchers/retro-esp32-next/components/spi_lcd/spi_lcd.c
new file mode 100644
index 00000000..1b221a1a
--- /dev/null
+++ b/Launchers/retro-esp32-next/components/spi_lcd/spi_lcd.c
@@ -0,0 +1,315 @@
+// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include
+#include
+#include "sdkconfig.h"
+#include "rom/ets_sys.h"
+#include "rom/gpio.h"
+#include "soc/gpio_reg.h"
+#include "soc/gpio_sig_map.h"
+#include "soc/gpio_struct.h"
+#include "soc/io_mux_reg.h"
+#include "soc/spi_reg.h"
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "driver/periph_ctrl.h"
+#include "spi_lcd.h"
+
+#define PIN_NUM_MISO GPIO_NUM_19
+#define PIN_NUM_MOSI GPIO_NUM_23
+#define PIN_NUM_CLK GPIO_NUM_18
+#define PIN_NUM_CS GPIO_NUM_5
+#define PIN_NUM_DC GPIO_NUM_21
+#define PIN_NUM_RST GPIO_NUM_2
+#define PIN_NUM_BCKL GPIO_NUM_14
+#define LCD_SEL_CMD() GPIO.out_w1tc = (1 << PIN_NUM_DC) // Low to send command
+#define LCD_SEL_DATA() GPIO.out_w1ts = (1 << PIN_NUM_DC) // High to send data
+#define LCD_RST_SET() GPIO.out_w1ts = (1 << PIN_NUM_RST)
+#define LCD_RST_CLR() GPIO.out_w1tc = (1 << PIN_NUM_RST)
+
+#if CONFIG_HW_INV_BL
+#define LCD_BKG_ON() GPIO.out_w1tc = (1 << PIN_NUM_BCKL) // Backlight ON
+#define LCD_BKG_OFF() GPIO.out_w1ts = (1 << PIN_NUM_BCKL) //Backlight OFF
+#else
+#define LCD_BKG_ON() GPIO.out_w1ts = (1 << PIN_NUM_BCKL) // Backlight ON
+#define LCD_BKG_OFF() GPIO.out_w1tc = (1 << PIN_NUM_BCKL) //Backlight OFF
+#endif
+
+#define SPI_NUM 0x3
+
+#define LCD_TYPE_ILI 0
+#define LCD_TYPE_ST 1
+
+
+static void spi_write_byte(const uint8_t data){
+ SET_PERI_REG_BITS(SPI_MOSI_DLEN_REG(SPI_NUM), SPI_USR_MOSI_DBITLEN, 0x7, SPI_USR_MOSI_DBITLEN_S);
+ WRITE_PERI_REG((SPI_W0_REG(SPI_NUM)), data);
+ SET_PERI_REG_MASK(SPI_CMD_REG(SPI_NUM), SPI_USR);
+ while (READ_PERI_REG(SPI_CMD_REG(SPI_NUM))&SPI_USR);
+}
+
+static void LCD_WriteCommand(const uint8_t cmd)
+{
+ LCD_SEL_CMD();
+ spi_write_byte(cmd);
+}
+
+static void LCD_WriteData(const uint8_t data)
+{
+ LCD_SEL_DATA();
+ spi_write_byte(data);
+}
+
+static void ILI9341_INITIAL ()
+{
+ LCD_BKG_ON();
+ //------------------------------------Reset Sequence-----------------------------------------//
+
+ LCD_RST_SET();
+ ets_delay_us(100000);
+
+ LCD_RST_CLR();
+ ets_delay_us(200000);
+
+ LCD_RST_SET();
+ ets_delay_us(200000);
+
+ //************Start Initial Sequence****************************
+ LCD_WriteCommand(0xC8); //Set EXTC
+ LCD_WriteData(0xFF);
+ LCD_WriteData(0x93);
+ LCD_WriteData(0x42);
+
+ LCD_WriteCommand(0x36); //Memory Access Control
+ LCD_WriteData(0x08); //MY,MX,MV,ML,BGR,MH
+
+ LCD_WriteCommand(0x3A); //Pixel Format Set
+ LCD_WriteData(0x55); //DPI [2:0],DBI [2:0]
+
+ LCD_WriteCommand(0xC0); //Power Control 1
+ LCD_WriteData(0x0C); //VRH[5:0]
+ LCD_WriteData(0x06); //VC[3:0]
+
+ LCD_WriteCommand(0xC1); //Power Control 2
+ LCD_WriteData(0x20); //SAP[2:0],BT[3:0]
+
+ LCD_WriteCommand(0xC5); //VCOM
+ LCD_WriteData(0XE7); //C8++
+
+ LCD_WriteCommand(0xB1);
+ LCD_WriteData(0x00);
+ LCD_WriteData(0x1B);
+
+ LCD_WriteCommand(0xB4);
+ LCD_WriteData(0x02);
+
+ LCD_WriteCommand(0xb6);
+ LCD_WriteData(0x0a);
+ LCD_WriteData(0xE0);//SS GS
+
+ //*****************GAMMA*****************
+ LCD_WriteCommand(0xE0);
+ LCD_WriteData(0x00);//P01-VP63
+ LCD_WriteData(0x04);//P02-VP62
+ LCD_WriteData(0x09);//P03-VP61
+ LCD_WriteData(0x05);//P04-VP59
+ LCD_WriteData(0x13);//P05-VP57
+ LCD_WriteData(0x09);//P06-VP50
+ LCD_WriteData(0x35);//P07-VP43
+ LCD_WriteData(0x69);//P08-VP27,36
+ LCD_WriteData(0x46);//P09-VP20
+ LCD_WriteData(0x04);//P10-VP13
+ LCD_WriteData(0x0C);//P11-VP6
+ LCD_WriteData(0x09);//P12-VP4
+ LCD_WriteData(0x15);//P13-VP2
+ LCD_WriteData(0x16);//P14-VP1
+ LCD_WriteData(0x0F);//P15-VP0
+
+ LCD_WriteCommand(0xE1);
+ LCD_WriteData(0x00);//P01
+ LCD_WriteData(0x1F);//P02
+ LCD_WriteData(0x20);//P03
+ LCD_WriteData(0x03);//P04
+ LCD_WriteData(0x0F);//P05
+ LCD_WriteData(0x05);//P06
+ LCD_WriteData(0x38);//P07
+ LCD_WriteData(0x55);//P08
+ LCD_WriteData(0x4C);//P09
+ LCD_WriteData(0x04);//P10
+ LCD_WriteData(0x0E);//P11
+ LCD_WriteData(0x0B);//P12
+ LCD_WriteData(0x37);//P13
+ LCD_WriteData(0x37);//P14
+ LCD_WriteData(0x0F);//P15
+
+ //********Window(����/��ַ)****************
+ LCD_WriteCommand(0x2A); //320
+ LCD_WriteData(0x00);
+ LCD_WriteData(0x00);
+ LCD_WriteData(0x01);
+ LCD_WriteData(0x3F);
+
+ LCD_WriteCommand(0x2B); //240
+ LCD_WriteData(0x00);
+ LCD_WriteData(0x00);
+ LCD_WriteData(0x00);
+ LCD_WriteData(0xEF);
+
+ LCD_WriteCommand(0x11); //Exit Sleep
+ ets_delay_us(100000);
+ LCD_WriteCommand(0x29); //Display on
+ LCD_WriteCommand(0x2c);
+ ets_delay_us(100000);
+
+
+}
+//.............LCD API END----------
+
+static void ili_gpio_init()
+{
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO21_U,2); //DC PIN
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO18_U,2); //RESET PIN
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,2); //BKL PIN
+ WRITE_PERI_REG(GPIO_ENABLE_W1TS_REG, BIT21|BIT18|BIT5);
+}
+
+static void spi_master_init()
+{
+ periph_module_enable(PERIPH_VSPI_MODULE);
+ periph_module_enable(PERIPH_SPI_DMA_MODULE);
+
+ ets_printf("lcd spi pin mux init ...\r\n");
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO19_U,2);
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO23_U,2);
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO22_U,2);
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO25_U,2);
+ WRITE_PERI_REG(GPIO_ENABLE_W1TS_REG, BIT19|BIT23|BIT22);
+
+ ets_printf("lcd spi signal init\r\n");
+ gpio_matrix_in(PIN_NUM_MISO, VSPIQ_IN_IDX,0);
+ gpio_matrix_out(PIN_NUM_MOSI, VSPID_OUT_IDX,0,0);
+ gpio_matrix_out(PIN_NUM_CLK, VSPICLK_OUT_IDX,0,0);
+ gpio_matrix_out(PIN_NUM_CS, VSPICS0_OUT_IDX,0,0);
+ ets_printf("Hspi config\r\n");
+
+ CLEAR_PERI_REG_MASK(SPI_SLAVE_REG(SPI_NUM), SPI_TRANS_DONE << 5);
+ SET_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_CS_SETUP);
+ CLEAR_PERI_REG_MASK(SPI_PIN_REG(SPI_NUM), SPI_CK_IDLE_EDGE);
+ CLEAR_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_CK_OUT_EDGE);
+ CLEAR_PERI_REG_MASK(SPI_CTRL_REG(SPI_NUM), SPI_WR_BIT_ORDER);
+ CLEAR_PERI_REG_MASK(SPI_CTRL_REG(SPI_NUM), SPI_RD_BIT_ORDER);
+ CLEAR_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_DOUTDIN);
+ WRITE_PERI_REG(SPI_USER1_REG(SPI_NUM), 0);
+ SET_PERI_REG_BITS(SPI_CTRL2_REG(SPI_NUM), SPI_MISO_DELAY_MODE, 0, SPI_MISO_DELAY_MODE_S);
+ CLEAR_PERI_REG_MASK(SPI_SLAVE_REG(SPI_NUM), SPI_SLAVE_MODE);
+
+ WRITE_PERI_REG(SPI_CLOCK_REG(SPI_NUM), (1 << SPI_CLKCNT_N_S) | (1 << SPI_CLKCNT_L_S));//40MHz
+ //WRITE_PERI_REG(SPI_CLOCK_REG(SPI_NUM), SPI_CLK_EQU_SYSCLK); // 80Mhz
+
+ SET_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_CS_SETUP | SPI_CS_HOLD | SPI_USR_MOSI);
+ SET_PERI_REG_MASK(SPI_CTRL2_REG(SPI_NUM), ((0x4 & SPI_MISO_DELAY_NUM) << SPI_MISO_DELAY_NUM_S));
+ CLEAR_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_USR_COMMAND);
+ SET_PERI_REG_BITS(SPI_USER2_REG(SPI_NUM), SPI_USR_COMMAND_BITLEN, 0, SPI_USR_COMMAND_BITLEN_S);
+ CLEAR_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_USR_ADDR);
+ SET_PERI_REG_BITS(SPI_USER1_REG(SPI_NUM), SPI_USR_ADDR_BITLEN, 0, SPI_USR_ADDR_BITLEN_S);
+ CLEAR_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_USR_MISO);
+ SET_PERI_REG_MASK(SPI_USER_REG(SPI_NUM), SPI_USR_MOSI);
+ char i;
+ for (i = 0; i < 16; ++i) {
+ WRITE_PERI_REG((SPI_W0_REG(SPI_NUM) + (i << 2)), 0);
+ }
+}
+
+#define U16x2toU32(m,l) ((((uint32_t)(l>>8|(l&0xFF)<<8))<<16)|(m>>8|(m&0xFF)<<8))
+
+extern uint16_t myPalette[];
+
+void ili9341_write_frame(const uint16_t xs, const uint16_t ys, const uint16_t width, const uint16_t height, const uint8_t * data[]){
+ int x, y;
+ int i;
+ uint16_t x1, y1;
+ uint32_t xv, yv, dc;
+ uint32_t temp[16];
+ dc = (1 << PIN_NUM_DC);
+
+ for (y=0; y
+
+//*****************************************************************************
+//
+// Make sure all of the definitions in this header have a C binding.
+//
+//*****************************************************************************
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+void ili9341_write_frame(const uint16_t x, const uint16_t y, const uint16_t width, const uint16_t height, const uint8_t *data[]);
+void ili9341_init();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __SPI_H__
diff --git a/Launchers/retro-esp32-next/main/component.mk b/Launchers/retro-esp32-next/main/component.mk
new file mode 100755
index 00000000..0b9d7585
--- /dev/null
+++ b/Launchers/retro-esp32-next/main/component.mk
@@ -0,0 +1,5 @@
+#
+# "main" pseudo-component makefile.
+#
+# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
+
diff --git a/Launchers/retro-esp32-next/main/includes/core.h b/Launchers/retro-esp32-next/main/includes/core.h
new file mode 100644
index 00000000..0f8bb2d4
--- /dev/null
+++ b/Launchers/retro-esp32-next/main/includes/core.h
@@ -0,0 +1,53 @@
+/*
+ C
+*/
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+/*
+ General
+*/
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "nvs_flash.h"
+#include "sdmmc_cmd.h"
+
+/*
+ CRC
+*/
+#include
+
+/*
+ ESP
+*/
+#include "esp_heap_caps.h"
+#include "esp_system.h"
+#include "esp_event.h"
+#include "esp_partition.h"
+#include "esp_ota_ops.h"
+#include "esp_partition.h"
+#include "esp_spiffs.h"
+#include "esp_err.h"
+#include "esp_log.h"
+#include "esp_vfs_fat.h"
+
+/*
+ Drivers
+*/
+#include "driver/i2c.h"
+#include "driver/gpio.h"
+#include
+#include "esp_adc_cal.h"
+#include "driver/sdmmc_host.h"
+#include "driver/sdspi_host.h"
+#include "driver/ledc.h"
+
+/*
+ SPI LCD
+*/
+#include "../../components/spi_lcd/spi_lcd.h"
\ No newline at end of file
diff --git a/Launchers/retro-esp32-next/main/includes/declarations.h b/Launchers/retro-esp32-next/main/includes/declarations.h
new file mode 100644
index 00000000..8ebc423c
--- /dev/null
+++ b/Launchers/retro-esp32-next/main/includes/declarations.h
@@ -0,0 +1,10 @@
+/*
+ Launcher
+*/
+static void launcher();
+
+/*
+ Mask
+*/
+void draw_mask(int x, int y, int w, int h);
+void draw_background();
\ No newline at end of file
diff --git a/Launchers/retro-esp32-next/main/main.c b/Launchers/retro-esp32-next/main/main.c
new file mode 100644
index 00000000..38a6392d
--- /dev/null
+++ b/Launchers/retro-esp32-next/main/main.c
@@ -0,0 +1,45 @@
+//{#pragma region Includes
+ #include "includes/core.h"
+ #include "includes/declarations.h"
+//}#pragma endregion Includes
+
+//{#pragma region Buffer
+ unsigned short buffer[40000];
+//}#pragma endregion Buffer
+
+uint16_t myPalette[256];
+
+/*
+ APPLICATION
+*/
+//{#pragma region Main
+ void app_main(void) {
+ nvs_flash_init();
+ printf("\n----- %s -----\n", __func__);
+
+ // Display
+ ili9341_init();
+ draw_background();
+ launcher();
+ }
+//}#pragma endregion Main
+
+
+//{#pragma region Mask
+ void draw_mask(int x, int y, int w, int h){
+ for (int i = 0; i < w * h; i++) buffer[i] = 4737;
+ ili9341_write_frame(x, y, w, h, (const uint8_t **)buffer);
+ }
+
+ void draw_background() {
+ int w = 320;
+ int h = 60;
+ for (int i = 0; i < 4; i++) draw_mask(0, i*h, w, h);
+ }
+//}#pragma endregion Mask
+
+//{#pragma region Launcher
+ static void launcher() {
+ printf("\n----- %s -----\n", __func__);
+ }
+//}#pragma endregion Launcher
\ No newline at end of file
diff --git a/Launchers/retro-esp32-next/partitions.csv b/Launchers/retro-esp32-next/partitions.csv
new file mode 100755
index 00000000..a1d14310
--- /dev/null
+++ b/Launchers/retro-esp32-next/partitions.csv
@@ -0,0 +1,54 @@
+#########################################################
+# Name, Type, SubType, Offset, Size
+nvs, data, nvs, 0x9000, 0x4000
+otadata, data, ota, 0xd000, 0x2000
+phy_init, data, phy, 0xf000, 0x1000
+factory, app, factory, 0x10000, 0x80000
+storage, data, spiffs, 0x100000, 0x100000
+launcher, 0, ota_0, 0x200000, 0x80000
+nes, 0, ota_1, 0x280000, 0xc0000
+gb, 0, ota_2, 0x340000, 0xb0000
+sms, 0, ota_3, 0x3F0000, 0x160000
+spectrum, 0, ota_4, 0x550000, 0x90000
+a26, 0, ota_5, 0x5E0000, 0x1a0000
+a78, 0, ota_6, 0x780000, 0xc0000
+lnx, 0, ota_7, 0x840000, 0xf0000
+pce, 0, ota_8, 0x930000, 0xc0000
+data_0, 0x40, 0x00, 0x9F0000, 0x400000
+#########################################################
+
+# spectrum = 447,712 = 524288 = 90000
+
+# file size 0 kb bytes 0 hex 0
+# file size 64 kb bytes 65536 hex 10000
+# file size 128 kb bytes 131072 hex 20000
+# file size 192 kb bytes 196608 hex 30000
+# file size 256 kb bytes 262144 hex 40000
+# file size 320 kb bytes 327680 hex 50000
+# file size 384 kb bytes 393216 hex 60000
+# file size 448 kb bytes 458752 hex 70000
+# file size 512 kb bytes 524288 hex 80000
+# file size 576 kb bytes 589824 hex 90000
+# file size 640 kb bytes 655360 hex a0000
+# file size 704 kb bytes 720896 hex b0000
+# file size 768 kb bytes 786432 hex c0000
+# file size 832 kb bytes 851968 hex d0000
+# file size 896 kb bytes 917504 hex e0000
+# file size 960 kb bytes 983040 hex f0000
+# file size 1024 kb bytes 1048576 hex 100000
+# file size 1088 kb bytes 1114112 hex 110000
+# file size 1152 kb bytes 1179648 hex 120000
+# file size 1216 kb bytes 1245184 hex 130000
+# file size 1280 kb bytes 1310720 hex 140000
+# file size 1344 kb bytes 1376256 hex 150000
+# file size 1408 kb bytes 1441792 hex 160000
+# file size 1472 kb bytes 1507328 hex 170000
+# file size 1536 kb bytes 1572864 hex 180000
+# file size 1600 kb bytes 1638400 hex 190000
+# file size 1664 kb bytes 1703936 hex 1a0000
+# file size 1728 kb bytes 1769472 hex 1b0000
+# file size 1792 kb bytes 1835008 hex 1c0000
+# file size 1856 kb bytes 1900544 hex 1d0000
+# file size 1920 kb bytes 1966080 hex 1e0000
+# file size 1984 kb bytes 2031616 hex 1f0000
+
diff --git a/Launchers/retro-esp32-next/sdkconfig b/Launchers/retro-esp32-next/sdkconfig
new file mode 100644
index 00000000..89551bec
--- /dev/null
+++ b/Launchers/retro-esp32-next/sdkconfig
@@ -0,0 +1,672 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Espressif IoT Development Framework Configuration
+#
+
+#
+# SDK tool configuration
+#
+CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+CONFIG_PYTHON="python"
+CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y
+
+#
+# Bootloader config
+#
+CONFIG_LOG_BOOTLOADER_LEVEL_NONE=
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=
+CONFIG_LOG_BOOTLOADER_LEVEL_WARN=
+CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
+CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
+CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
+CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_BOOTLOADER_SPI_WP_PIN=7
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+CONFIG_BOOTLOADER_FACTORY_RESET=
+CONFIG_BOOTLOADER_APP_TEST=
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE=
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+
+#
+# Security features
+#
+CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT=
+CONFIG_SECURE_BOOT_ENABLED=
+CONFIG_FLASH_ENCRYPTION_ENABLED=
+
+#
+# Serial flasher config
+#
+CONFIG_ESPTOOLPY_PORT="/dev/cu.usbserial-AB0JESEO"
+CONFIG_ESPTOOLPY_BAUD_115200B=
+CONFIG_ESPTOOLPY_BAUD_230400B=
+CONFIG_ESPTOOLPY_BAUD_921600B=
+CONFIG_ESPTOOLPY_BAUD_2MB=y
+CONFIG_ESPTOOLPY_BAUD_OTHER=
+CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
+CONFIG_ESPTOOLPY_BAUD=2000000
+CONFIG_ESPTOOLPY_COMPRESSED=y
+CONFIG_FLASHMODE_QIO=y
+CONFIG_FLASHMODE_QOUT=
+CONFIG_FLASHMODE_DIO=
+CONFIG_FLASHMODE_DOUT=
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
+CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
+CONFIG_ESPTOOLPY_FLASHFREQ_40M=
+CONFIG_ESPTOOLPY_FLASHFREQ_26M=
+CONFIG_ESPTOOLPY_FLASHFREQ_20M=
+CONFIG_ESPTOOLPY_FLASHFREQ="80m"
+CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_8MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
+CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
+CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
+CONFIG_ESPTOOLPY_BEFORE_NORESET=
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
+CONFIG_ESPTOOLPY_AFTER_RESET=y
+CONFIG_ESPTOOLPY_AFTER_NORESET=
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
+CONFIG_MONITOR_BAUD_9600B=
+CONFIG_MONITOR_BAUD_57600B=
+CONFIG_MONITOR_BAUD_115200B=y
+CONFIG_MONITOR_BAUD_230400B=
+CONFIG_MONITOR_BAUD_921600B=
+CONFIG_MONITOR_BAUD_2MB=
+CONFIG_MONITOR_BAUD_OTHER=
+CONFIG_MONITOR_BAUD_OTHER_VAL=115200
+CONFIG_MONITOR_BAUD=115200
+
+#
+# Partition Table
+#
+CONFIG_PARTITION_TABLE_SINGLE_APP=
+CONFIG_PARTITION_TABLE_TWO_OTA=
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y
+
+#
+# Retro ESP32 Configuration
+#
+CONFIG_LCD_DRIVER_ILI9341=
+CONFIG_LCD_DRIVER_ILI9342=y
+CONFIG_DEFAULT_MENU_KEY=
+CONFIG_COMBO_MENU_KEY=y
+
+#
+# Compiler options
+#
+CONFIG_OPTIMIZATION_LEVEL_DEBUG=
+CONFIG_OPTIMIZATION_LEVEL_RELEASE=y
+CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
+CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=
+CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=
+CONFIG_CXX_EXCEPTIONS=
+CONFIG_STACK_CHECK_NONE=y
+CONFIG_STACK_CHECK_NORM=
+CONFIG_STACK_CHECK_STRONG=
+CONFIG_STACK_CHECK_ALL=
+CONFIG_STACK_CHECK=
+CONFIG_WARN_WRITE_STRINGS=y
+CONFIG_DISABLE_GCC8_WARNINGS=
+
+#
+# Component config
+#
+
+#
+# Application Level Tracing
+#
+CONFIG_ESP32_APPTRACE_DEST_TRAX=
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
+CONFIG_ESP32_APPTRACE_ENABLE=
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
+CONFIG_AWS_IOT_SDK=
+
+#
+# Bluetooth
+#
+CONFIG_BT_ENABLED=
+CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
+CONFIG_BT_RESERVE_DRAM=0
+
+#
+# Driver configurations
+#
+
+#
+# ADC configuration
+#
+CONFIG_ADC_FORCE_XPD_FSM=
+CONFIG_ADC2_DISABLE_DAC=y
+
+#
+# SPI configuration
+#
+CONFIG_SPI_MASTER_IN_IRAM=y
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
+CONFIG_SPI_SLAVE_IN_IRAM=
+CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
+
+#
+# ESP32-specific
+#
+CONFIG_ESP32_DEFAULT_CPU_FREQ_80=
+CONFIG_ESP32_DEFAULT_CPU_FREQ_160=
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_SPIRAM_SUPPORT=y
+
+#
+# SPI RAM config
+#
+CONFIG_SPIRAM_BOOT_INIT=y
+CONFIG_SPIRAM_IGNORE_NOTFOUND=
+CONFIG_SPIRAM_USE_MEMMAP=
+CONFIG_SPIRAM_USE_CAPS_ALLOC=y
+CONFIG_SPIRAM_USE_MALLOC=
+CONFIG_SPIRAM_TYPE_AUTO=y
+CONFIG_SPIRAM_TYPE_ESPPSRAM32=
+CONFIG_SPIRAM_TYPE_ESPPSRAM64=
+CONFIG_SPIRAM_SIZE=-1
+CONFIG_SPIRAM_SPEED_40M=
+CONFIG_SPIRAM_SPEED_80M=y
+CONFIG_SPIRAM_MEMTEST=
+CONFIG_SPIRAM_CACHE_WORKAROUND=
+CONFIG_SPIRAM_BANKSWITCH_ENABLE=
+CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=
+CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
+CONFIG_MEMMAP_TRACEMEM=
+CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
+CONFIG_ESP32_TRAX=
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=
+CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=
+CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
+CONFIG_ESP32_ENABLE_COREDUMP=
+CONFIG_TWO_UNIVERSAL_MAC_ADDRESS=
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048
+CONFIG_MAIN_TASK_STACK_SIZE=16384
+CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF=
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_LF=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
+CONFIG_NEWLIB_NANO_FORMAT=
+CONFIG_CONSOLE_UART_DEFAULT=y
+CONFIG_CONSOLE_UART_CUSTOM=
+CONFIG_CONSOLE_UART_NONE=
+CONFIG_CONSOLE_UART_NUM=0
+CONFIG_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ULP_COPROC_ENABLED=
+CONFIG_ULP_COPROC_RESERVE_MEM=0
+CONFIG_ESP32_PANIC_PRINT_HALT=
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+CONFIG_ESP32_PANIC_SILENT_REBOOT=
+CONFIG_ESP32_PANIC_GDBSTUB=
+CONFIG_ESP32_DEBUG_OCDAWARE=
+CONFIG_ESP32_DEBUG_STUBS_ENABLE=
+CONFIG_INT_WDT=
+CONFIG_TASK_WDT=
+CONFIG_BROWNOUT_DET=y
+CONFIG_BROWNOUT_DET_LVL_SEL_0=y
+CONFIG_BROWNOUT_DET_LVL_SEL_1=
+CONFIG_BROWNOUT_DET_LVL_SEL_2=
+CONFIG_BROWNOUT_DET_LVL_SEL_3=
+CONFIG_BROWNOUT_DET_LVL_SEL_4=
+CONFIG_BROWNOUT_DET_LVL_SEL_5=
+CONFIG_BROWNOUT_DET_LVL_SEL_6=
+CONFIG_BROWNOUT_DET_LVL_SEL_7=
+CONFIG_BROWNOUT_DET_LVL=0
+CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC=
+CONFIG_ESP32_TIME_SYSCALL_USE_FRC1=
+CONFIG_ESP32_TIME_SYSCALL_USE_NONE=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256=
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_XTAL_FREQ_40=y
+CONFIG_ESP32_XTAL_FREQ_26=
+CONFIG_ESP32_XTAL_FREQ_AUTO=
+CONFIG_ESP32_XTAL_FREQ=40
+CONFIG_DISABLE_BASIC_ROM_CONSOLE=
+CONFIG_NO_BLOBS=
+CONFIG_ESP_TIMER_PROFILING=
+CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS=
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+
+#
+# Wi-Fi
+#
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16
+CONFIG_ESP32_WIFI_CSI_ENABLED=
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP32_WIFI_TX_BA_WIN=6
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=6
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+
+#
+# PHY
+#
+CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
+CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=
+CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP32_PHY_MAX_TX_POWER=20
+
+#
+# Power Management
+#
+CONFIG_PM_ENABLE=
+
+#
+# ADC-Calibration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+
+#
+# Event Loop Library
+#
+CONFIG_EVENT_LOOP_PROFILING=
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
+CONFIG_HTTPD_MAX_URI_LEN=512
+
+#
+# Ethernet
+#
+CONFIG_DMA_RX_BUF_NUM=3
+CONFIG_DMA_TX_BUF_NUM=3
+CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=
+CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000
+CONFIG_EMAC_TASK_PRIORITY=20
+CONFIG_EMAC_TASK_STACK_SIZE=3072
+
+#
+# FAT Filesystem support
+#
+CONFIG_FATFS_CODEPAGE_DYNAMIC=
+CONFIG_FATFS_CODEPAGE_437=y
+CONFIG_FATFS_CODEPAGE_720=
+CONFIG_FATFS_CODEPAGE_737=
+CONFIG_FATFS_CODEPAGE_771=
+CONFIG_FATFS_CODEPAGE_775=
+CONFIG_FATFS_CODEPAGE_850=
+CONFIG_FATFS_CODEPAGE_852=
+CONFIG_FATFS_CODEPAGE_855=
+CONFIG_FATFS_CODEPAGE_857=
+CONFIG_FATFS_CODEPAGE_860=
+CONFIG_FATFS_CODEPAGE_861=
+CONFIG_FATFS_CODEPAGE_862=
+CONFIG_FATFS_CODEPAGE_863=
+CONFIG_FATFS_CODEPAGE_864=
+CONFIG_FATFS_CODEPAGE_865=
+CONFIG_FATFS_CODEPAGE_866=
+CONFIG_FATFS_CODEPAGE_869=
+CONFIG_FATFS_CODEPAGE_932=
+CONFIG_FATFS_CODEPAGE_936=
+CONFIG_FATFS_CODEPAGE_949=
+CONFIG_FATFS_CODEPAGE_950=
+CONFIG_FATFS_CODEPAGE=437
+CONFIG_FATFS_LFN_NONE=
+CONFIG_FATFS_LFN_HEAP=y
+CONFIG_FATFS_LFN_STACK=
+CONFIG_FATFS_MAX_LFN=255
+CONFIG_FATFS_API_ENCODING_ANSI_OEM=y
+CONFIG_FATFS_API_ENCODING_UTF_16=
+CONFIG_FATFS_API_ENCODING_UTF_8=
+CONFIG_FATFS_FS_LOCK=0
+CONFIG_FATFS_TIMEOUT_MS=10000
+CONFIG_FATFS_PER_FILE_CACHE=y
+
+#
+# Modbus configuration
+#
+CONFIG_MB_QUEUE_LENGTH=20
+CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048
+CONFIG_MB_SERIAL_BUF_SIZE=256
+CONFIG_MB_SERIAL_TASK_PRIO=10
+CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=
+CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
+CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
+CONFIG_MB_CONTROLLER_STACK_SIZE=4096
+CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
+CONFIG_MB_TIMER_PORT_ENABLED=y
+CONFIG_MB_TIMER_GROUP=0
+CONFIG_MB_TIMER_INDEX=0
+
+#
+# FreeRTOS
+#
+CONFIG_FREERTOS_UNICORE=
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_CORETIMER_0=y
+CONFIG_FREERTOS_CORETIMER_1=
+CONFIG_FREERTOS_HZ=100
+CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL=
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
+CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
+CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE=
+CONFIG_FREERTOS_ASSERT_DISABLE=
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_LEGACY_HOOKS=
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
+CONFIG_SUPPORT_STATIC_ALLOCATION=
+CONFIG_TIMER_TASK_PRIORITY=1
+CONFIG_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_USE_TRACE_FACILITY=
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=
+CONFIG_FREERTOS_DEBUG_INTERNALS=
+
+#
+# Heap memory debugging
+#
+CONFIG_HEAP_POISONING_DISABLED=y
+CONFIG_HEAP_POISONING_LIGHT=
+CONFIG_HEAP_POISONING_COMPREHENSIVE=
+CONFIG_HEAP_TRACING=
+
+#
+# libsodium
+#
+CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
+
+#
+# Log output
+#
+CONFIG_LOG_DEFAULT_LEVEL_NONE=
+CONFIG_LOG_DEFAULT_LEVEL_ERROR=
+CONFIG_LOG_DEFAULT_LEVEL_WARN=
+CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+CONFIG_LOG_DEFAULT_LEVEL_DEBUG=
+CONFIG_LOG_DEFAULT_LEVEL_VERBOSE=
+CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_COLORS=y
+
+#
+# LWIP
+#
+CONFIG_L2_TO_L3_COPY=
+CONFIG_LWIP_IRAM_OPTIMIZATION=
+CONFIG_LWIP_MAX_SOCKETS=10
+CONFIG_USE_ONLY_LWIP_SELECT=
+CONFIG_LWIP_SO_REUSE=
+CONFIG_LWIP_SO_RCVBUF=
+CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_IP_FRAG=
+CONFIG_LWIP_IP_REASSEMBLY=
+CONFIG_LWIP_STATS=
+CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
+CONFIG_ESP_GRATUITOUS_ARP=y
+CONFIG_GARP_TMR_INTERVAL=60
+CONFIG_TCPIP_RECVMBOX_SIZE=32
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
+CONFIG_LWIP_DHCP_RESTORE_LAST_IP=
+
+#
+# DHCP server
+#
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+CONFIG_LWIP_AUTOIP=
+CONFIG_LWIP_NETIF_LOOPBACK=y
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
+
+#
+# TCP
+#
+CONFIG_LWIP_MAX_ACTIVE_TCP=16
+CONFIG_LWIP_MAX_LISTENING_TCP=16
+CONFIG_TCP_MAXRTX=12
+CONFIG_TCP_SYNMAXRTX=6
+CONFIG_TCP_MSS=1436
+CONFIG_TCP_MSL=60000
+CONFIG_TCP_SND_BUF_DEFAULT=5744
+CONFIG_TCP_WND_DEFAULT=5744
+CONFIG_TCP_RECVMBOX_SIZE=6
+CONFIG_TCP_QUEUE_OOSEQ=y
+CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES=
+CONFIG_TCP_OVERSIZE_MSS=y
+CONFIG_TCP_OVERSIZE_QUARTER_MSS=
+CONFIG_TCP_OVERSIZE_DISABLE=
+
+#
+# UDP
+#
+CONFIG_LWIP_MAX_UDP_PCBS=16
+CONFIG_UDP_RECVMBOX_SIZE=6
+CONFIG_TCPIP_TASK_STACK_SIZE=2560
+CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
+CONFIG_TCPIP_TASK_AFFINITY_CPU0=
+CONFIG_TCPIP_TASK_AFFINITY_CPU1=
+CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_PPP_SUPPORT=
+
+#
+# ICMP
+#
+CONFIG_LWIP_MULTICAST_PING=
+CONFIG_LWIP_BROADCAST_PING=
+
+#
+# LWIP RAW API
+#
+CONFIG_LWIP_MAX_RAW_PCBS=16
+
+#
+# mbedTLS
+#
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
+CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=
+CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=
+CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC=
+CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
+CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=
+CONFIG_MBEDTLS_DEBUG=
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_HARDWARE_MPI=
+CONFIG_MBEDTLS_HARDWARE_SHA=
+CONFIG_MBEDTLS_HAVE_TIME=y
+CONFIG_MBEDTLS_HAVE_TIME_DATE=
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
+CONFIG_MBEDTLS_TLS_SERVER_ONLY=
+CONFIG_MBEDTLS_TLS_CLIENT_ONLY=
+CONFIG_MBEDTLS_TLS_DISABLED=
+CONFIG_MBEDTLS_TLS_SERVER=y
+CONFIG_MBEDTLS_TLS_CLIENT=y
+CONFIG_MBEDTLS_TLS_ENABLED=y
+
+#
+# TLS Key Exchange Methods
+#
+CONFIG_MBEDTLS_PSK_MODES=
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
+CONFIG_MBEDTLS_SSL_PROTO_SSL3=
+CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+CONFIG_MBEDTLS_SSL_PROTO_DTLS=
+CONFIG_MBEDTLS_SSL_ALPN=y
+CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y
+
+#
+# Symmetric Ciphers
+#
+CONFIG_MBEDTLS_AES_C=y
+CONFIG_MBEDTLS_CAMELLIA_C=
+CONFIG_MBEDTLS_DES_C=
+CONFIG_MBEDTLS_RC4_DISABLED=y
+CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT=
+CONFIG_MBEDTLS_RC4_ENABLED=
+CONFIG_MBEDTLS_BLOWFISH_C=
+CONFIG_MBEDTLS_XTEA_C=
+CONFIG_MBEDTLS_CCM_C=y
+CONFIG_MBEDTLS_GCM_C=y
+CONFIG_MBEDTLS_RIPEMD160_C=
+
+#
+# Certificates
+#
+CONFIG_MBEDTLS_PEM_PARSE_C=y
+CONFIG_MBEDTLS_PEM_WRITE_C=y
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
+CONFIG_MBEDTLS_ECP_C=y
+CONFIG_MBEDTLS_ECDH_C=y
+CONFIG_MBEDTLS_ECDSA_C=y
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_SERVICES=10
+
+#
+# ESP-MQTT Configurations
+#
+CONFIG_MQTT_PROTOCOL_311=y
+CONFIG_MQTT_TRANSPORT_SSL=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
+CONFIG_MQTT_USE_CUSTOM_CONFIG=
+CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=
+CONFIG_MQTT_CUSTOM_OUTBOX=
+
+#
+# NVS
+#
+
+#
+# OpenSSL
+#
+CONFIG_OPENSSL_DEBUG=
+CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
+CONFIG_OPENSSL_ASSERT_EXIT=
+
+#
+# PThreads
+#
+CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
+CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
+CONFIG_PTHREAD_STACK_MIN=768
+
+#
+# SPI Flash driver
+#
+CONFIG_SPI_FLASH_VERIFY_WRITE=
+CONFIG_SPI_FLASH_ENABLE_COUNTERS=
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED=
+
+#
+# SPIFFS Configuration
+#
+CONFIG_SPIFFS_MAX_PARTITIONS=3
+
+#
+# SPIFFS Cache Configuration
+#
+CONFIG_SPIFFS_CACHE=
+CONFIG_SPIFFS_PAGE_CHECK=y
+CONFIG_SPIFFS_GC_MAX_RUNS=10
+CONFIG_SPIFFS_GC_STATS=
+CONFIG_SPIFFS_PAGE_SIZE=512
+CONFIG_SPIFFS_OBJ_NAME_LEN=192
+CONFIG_SPIFFS_USE_MAGIC=y
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_META_LENGTH=4
+CONFIG_SPIFFS_USE_MTIME=y
+
+#
+# Debug Configuration
+#
+CONFIG_SPIFFS_DBG=
+CONFIG_SPIFFS_API_DBG=
+CONFIG_SPIFFS_GC_DBG=
+CONFIG_SPIFFS_CHECK_DBG=
+CONFIG_SPIFFS_TEST_VISUALISATION=
+
+#
+# TCP/IP Adapter
+#
+CONFIG_IP_LOST_TIMER_INTERVAL=120
+CONFIG_TCPIP_LWIP=y
+
+#
+# Virtual file system
+#
+CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_SUPPORT_TERMIOS=y
+
+#
+# Wear Levelling
+#
+CONFIG_WL_SECTOR_SIZE_512=
+CONFIG_WL_SECTOR_SIZE_4096=y
+CONFIG_WL_SECTOR_SIZE=4096
diff --git a/Launchers/retro-esp32-next/sdkconfig.old b/Launchers/retro-esp32-next/sdkconfig.old
new file mode 100644
index 00000000..800b2a5f
--- /dev/null
+++ b/Launchers/retro-esp32-next/sdkconfig.old
@@ -0,0 +1,672 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Espressif IoT Development Framework Configuration
+#
+
+#
+# SDK tool configuration
+#
+CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+CONFIG_PYTHON="python"
+CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y
+
+#
+# Bootloader config
+#
+CONFIG_LOG_BOOTLOADER_LEVEL_NONE=
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=
+CONFIG_LOG_BOOTLOADER_LEVEL_WARN=
+CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
+CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
+CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
+CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_BOOTLOADER_SPI_WP_PIN=7
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+CONFIG_BOOTLOADER_FACTORY_RESET=
+CONFIG_BOOTLOADER_APP_TEST=
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE=
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+
+#
+# Security features
+#
+CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT=
+CONFIG_SECURE_BOOT_ENABLED=
+CONFIG_FLASH_ENCRYPTION_ENABLED=
+
+#
+# Serial flasher config
+#
+CONFIG_ESPTOOLPY_PORT="/dev/cu.usbserial-AB0JESEM"
+CONFIG_ESPTOOLPY_BAUD_115200B=
+CONFIG_ESPTOOLPY_BAUD_230400B=
+CONFIG_ESPTOOLPY_BAUD_921600B=
+CONFIG_ESPTOOLPY_BAUD_2MB=y
+CONFIG_ESPTOOLPY_BAUD_OTHER=
+CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
+CONFIG_ESPTOOLPY_BAUD=2000000
+CONFIG_ESPTOOLPY_COMPRESSED=y
+CONFIG_FLASHMODE_QIO=y
+CONFIG_FLASHMODE_QOUT=
+CONFIG_FLASHMODE_DIO=
+CONFIG_FLASHMODE_DOUT=
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
+CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
+CONFIG_ESPTOOLPY_FLASHFREQ_40M=
+CONFIG_ESPTOOLPY_FLASHFREQ_26M=
+CONFIG_ESPTOOLPY_FLASHFREQ_20M=
+CONFIG_ESPTOOLPY_FLASHFREQ="80m"
+CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_8MB=
+CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
+CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
+CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
+CONFIG_ESPTOOLPY_BEFORE_NORESET=
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
+CONFIG_ESPTOOLPY_AFTER_RESET=y
+CONFIG_ESPTOOLPY_AFTER_NORESET=
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
+CONFIG_MONITOR_BAUD_9600B=
+CONFIG_MONITOR_BAUD_57600B=
+CONFIG_MONITOR_BAUD_115200B=y
+CONFIG_MONITOR_BAUD_230400B=
+CONFIG_MONITOR_BAUD_921600B=
+CONFIG_MONITOR_BAUD_2MB=
+CONFIG_MONITOR_BAUD_OTHER=
+CONFIG_MONITOR_BAUD_OTHER_VAL=115200
+CONFIG_MONITOR_BAUD=115200
+
+#
+# Partition Table
+#
+CONFIG_PARTITION_TABLE_SINGLE_APP=
+CONFIG_PARTITION_TABLE_TWO_OTA=
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y
+
+#
+# Retro ESP32 Configuration
+#
+CONFIG_LCD_DRIVER_ILI9341=
+CONFIG_LCD_DRIVER_ILI9342=y
+CONFIG_DEFAULT_MENU_KEY=
+CONFIG_COMBO_MENU_KEY=y
+
+#
+# Compiler options
+#
+CONFIG_OPTIMIZATION_LEVEL_DEBUG=
+CONFIG_OPTIMIZATION_LEVEL_RELEASE=y
+CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
+CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=
+CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=
+CONFIG_CXX_EXCEPTIONS=
+CONFIG_STACK_CHECK_NONE=y
+CONFIG_STACK_CHECK_NORM=
+CONFIG_STACK_CHECK_STRONG=
+CONFIG_STACK_CHECK_ALL=
+CONFIG_STACK_CHECK=
+CONFIG_WARN_WRITE_STRINGS=y
+CONFIG_DISABLE_GCC8_WARNINGS=
+
+#
+# Component config
+#
+
+#
+# Application Level Tracing
+#
+CONFIG_ESP32_APPTRACE_DEST_TRAX=
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
+CONFIG_ESP32_APPTRACE_ENABLE=
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
+CONFIG_AWS_IOT_SDK=
+
+#
+# Bluetooth
+#
+CONFIG_BT_ENABLED=
+CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
+CONFIG_BT_RESERVE_DRAM=0
+
+#
+# Driver configurations
+#
+
+#
+# ADC configuration
+#
+CONFIG_ADC_FORCE_XPD_FSM=
+CONFIG_ADC2_DISABLE_DAC=y
+
+#
+# SPI configuration
+#
+CONFIG_SPI_MASTER_IN_IRAM=y
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
+CONFIG_SPI_SLAVE_IN_IRAM=
+CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
+
+#
+# ESP32-specific
+#
+CONFIG_ESP32_DEFAULT_CPU_FREQ_80=
+CONFIG_ESP32_DEFAULT_CPU_FREQ_160=
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_SPIRAM_SUPPORT=y
+
+#
+# SPI RAM config
+#
+CONFIG_SPIRAM_BOOT_INIT=y
+CONFIG_SPIRAM_IGNORE_NOTFOUND=
+CONFIG_SPIRAM_USE_MEMMAP=
+CONFIG_SPIRAM_USE_CAPS_ALLOC=y
+CONFIG_SPIRAM_USE_MALLOC=
+CONFIG_SPIRAM_TYPE_AUTO=y
+CONFIG_SPIRAM_TYPE_ESPPSRAM32=
+CONFIG_SPIRAM_TYPE_ESPPSRAM64=
+CONFIG_SPIRAM_SIZE=-1
+CONFIG_SPIRAM_SPEED_40M=
+CONFIG_SPIRAM_SPEED_80M=y
+CONFIG_SPIRAM_MEMTEST=
+CONFIG_SPIRAM_CACHE_WORKAROUND=
+CONFIG_SPIRAM_BANKSWITCH_ENABLE=
+CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=
+CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
+CONFIG_MEMMAP_TRACEMEM=
+CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
+CONFIG_ESP32_TRAX=
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=
+CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=
+CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
+CONFIG_ESP32_ENABLE_COREDUMP=
+CONFIG_TWO_UNIVERSAL_MAC_ADDRESS=
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048
+CONFIG_MAIN_TASK_STACK_SIZE=16384
+CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF=
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_LF=
+CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
+CONFIG_NEWLIB_NANO_FORMAT=
+CONFIG_CONSOLE_UART_DEFAULT=y
+CONFIG_CONSOLE_UART_CUSTOM=
+CONFIG_CONSOLE_UART_NONE=
+CONFIG_CONSOLE_UART_NUM=0
+CONFIG_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ULP_COPROC_ENABLED=
+CONFIG_ULP_COPROC_RESERVE_MEM=0
+CONFIG_ESP32_PANIC_PRINT_HALT=
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+CONFIG_ESP32_PANIC_SILENT_REBOOT=
+CONFIG_ESP32_PANIC_GDBSTUB=
+CONFIG_ESP32_DEBUG_OCDAWARE=
+CONFIG_ESP32_DEBUG_STUBS_ENABLE=
+CONFIG_INT_WDT=
+CONFIG_TASK_WDT=
+CONFIG_BROWNOUT_DET=y
+CONFIG_BROWNOUT_DET_LVL_SEL_0=y
+CONFIG_BROWNOUT_DET_LVL_SEL_1=
+CONFIG_BROWNOUT_DET_LVL_SEL_2=
+CONFIG_BROWNOUT_DET_LVL_SEL_3=
+CONFIG_BROWNOUT_DET_LVL_SEL_4=
+CONFIG_BROWNOUT_DET_LVL_SEL_5=
+CONFIG_BROWNOUT_DET_LVL_SEL_6=
+CONFIG_BROWNOUT_DET_LVL_SEL_7=
+CONFIG_BROWNOUT_DET_LVL=0
+CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC=
+CONFIG_ESP32_TIME_SYSCALL_USE_FRC1=
+CONFIG_ESP32_TIME_SYSCALL_USE_NONE=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC=
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256=
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_XTAL_FREQ_40=y
+CONFIG_ESP32_XTAL_FREQ_26=
+CONFIG_ESP32_XTAL_FREQ_AUTO=
+CONFIG_ESP32_XTAL_FREQ=40
+CONFIG_DISABLE_BASIC_ROM_CONSOLE=
+CONFIG_NO_BLOBS=
+CONFIG_ESP_TIMER_PROFILING=
+CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS=
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+
+#
+# Wi-Fi
+#
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16
+CONFIG_ESP32_WIFI_CSI_ENABLED=
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP32_WIFI_TX_BA_WIN=6
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=6
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+
+#
+# PHY
+#
+CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
+CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=
+CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP32_PHY_MAX_TX_POWER=20
+
+#
+# Power Management
+#
+CONFIG_PM_ENABLE=
+
+#
+# ADC-Calibration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+
+#
+# Event Loop Library
+#
+CONFIG_EVENT_LOOP_PROFILING=
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
+CONFIG_HTTPD_MAX_URI_LEN=512
+
+#
+# Ethernet
+#
+CONFIG_DMA_RX_BUF_NUM=3
+CONFIG_DMA_TX_BUF_NUM=3
+CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=
+CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000
+CONFIG_EMAC_TASK_PRIORITY=20
+CONFIG_EMAC_TASK_STACK_SIZE=3072
+
+#
+# FAT Filesystem support
+#
+CONFIG_FATFS_CODEPAGE_DYNAMIC=
+CONFIG_FATFS_CODEPAGE_437=y
+CONFIG_FATFS_CODEPAGE_720=
+CONFIG_FATFS_CODEPAGE_737=
+CONFIG_FATFS_CODEPAGE_771=
+CONFIG_FATFS_CODEPAGE_775=
+CONFIG_FATFS_CODEPAGE_850=
+CONFIG_FATFS_CODEPAGE_852=
+CONFIG_FATFS_CODEPAGE_855=
+CONFIG_FATFS_CODEPAGE_857=
+CONFIG_FATFS_CODEPAGE_860=
+CONFIG_FATFS_CODEPAGE_861=
+CONFIG_FATFS_CODEPAGE_862=
+CONFIG_FATFS_CODEPAGE_863=
+CONFIG_FATFS_CODEPAGE_864=
+CONFIG_FATFS_CODEPAGE_865=
+CONFIG_FATFS_CODEPAGE_866=
+CONFIG_FATFS_CODEPAGE_869=
+CONFIG_FATFS_CODEPAGE_932=
+CONFIG_FATFS_CODEPAGE_936=
+CONFIG_FATFS_CODEPAGE_949=
+CONFIG_FATFS_CODEPAGE_950=
+CONFIG_FATFS_CODEPAGE=437
+CONFIG_FATFS_LFN_NONE=
+CONFIG_FATFS_LFN_HEAP=y
+CONFIG_FATFS_LFN_STACK=
+CONFIG_FATFS_MAX_LFN=255
+CONFIG_FATFS_API_ENCODING_ANSI_OEM=y
+CONFIG_FATFS_API_ENCODING_UTF_16=
+CONFIG_FATFS_API_ENCODING_UTF_8=
+CONFIG_FATFS_FS_LOCK=0
+CONFIG_FATFS_TIMEOUT_MS=10000
+CONFIG_FATFS_PER_FILE_CACHE=y
+
+#
+# Modbus configuration
+#
+CONFIG_MB_QUEUE_LENGTH=20
+CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048
+CONFIG_MB_SERIAL_BUF_SIZE=256
+CONFIG_MB_SERIAL_TASK_PRIO=10
+CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=
+CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
+CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
+CONFIG_MB_CONTROLLER_STACK_SIZE=4096
+CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
+CONFIG_MB_TIMER_PORT_ENABLED=y
+CONFIG_MB_TIMER_GROUP=0
+CONFIG_MB_TIMER_INDEX=0
+
+#
+# FreeRTOS
+#
+CONFIG_FREERTOS_UNICORE=
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_CORETIMER_0=y
+CONFIG_FREERTOS_CORETIMER_1=
+CONFIG_FREERTOS_HZ=100
+CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL=
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
+CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
+CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE=
+CONFIG_FREERTOS_ASSERT_DISABLE=
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_LEGACY_HOOKS=
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
+CONFIG_SUPPORT_STATIC_ALLOCATION=
+CONFIG_TIMER_TASK_PRIORITY=1
+CONFIG_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_USE_TRACE_FACILITY=
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=
+CONFIG_FREERTOS_DEBUG_INTERNALS=
+
+#
+# Heap memory debugging
+#
+CONFIG_HEAP_POISONING_DISABLED=y
+CONFIG_HEAP_POISONING_LIGHT=
+CONFIG_HEAP_POISONING_COMPREHENSIVE=
+CONFIG_HEAP_TRACING=
+
+#
+# libsodium
+#
+CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
+
+#
+# Log output
+#
+CONFIG_LOG_DEFAULT_LEVEL_NONE=
+CONFIG_LOG_DEFAULT_LEVEL_ERROR=
+CONFIG_LOG_DEFAULT_LEVEL_WARN=
+CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+CONFIG_LOG_DEFAULT_LEVEL_DEBUG=
+CONFIG_LOG_DEFAULT_LEVEL_VERBOSE=
+CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_COLORS=y
+
+#
+# LWIP
+#
+CONFIG_L2_TO_L3_COPY=
+CONFIG_LWIP_IRAM_OPTIMIZATION=
+CONFIG_LWIP_MAX_SOCKETS=10
+CONFIG_USE_ONLY_LWIP_SELECT=
+CONFIG_LWIP_SO_REUSE=
+CONFIG_LWIP_SO_RCVBUF=
+CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_IP_FRAG=
+CONFIG_LWIP_IP_REASSEMBLY=
+CONFIG_LWIP_STATS=
+CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
+CONFIG_ESP_GRATUITOUS_ARP=y
+CONFIG_GARP_TMR_INTERVAL=60
+CONFIG_TCPIP_RECVMBOX_SIZE=32
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
+CONFIG_LWIP_DHCP_RESTORE_LAST_IP=
+
+#
+# DHCP server
+#
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+CONFIG_LWIP_AUTOIP=
+CONFIG_LWIP_NETIF_LOOPBACK=y
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
+
+#
+# TCP
+#
+CONFIG_LWIP_MAX_ACTIVE_TCP=16
+CONFIG_LWIP_MAX_LISTENING_TCP=16
+CONFIG_TCP_MAXRTX=12
+CONFIG_TCP_SYNMAXRTX=6
+CONFIG_TCP_MSS=1436
+CONFIG_TCP_MSL=60000
+CONFIG_TCP_SND_BUF_DEFAULT=5744
+CONFIG_TCP_WND_DEFAULT=5744
+CONFIG_TCP_RECVMBOX_SIZE=6
+CONFIG_TCP_QUEUE_OOSEQ=y
+CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES=
+CONFIG_TCP_OVERSIZE_MSS=y
+CONFIG_TCP_OVERSIZE_QUARTER_MSS=
+CONFIG_TCP_OVERSIZE_DISABLE=
+
+#
+# UDP
+#
+CONFIG_LWIP_MAX_UDP_PCBS=16
+CONFIG_UDP_RECVMBOX_SIZE=6
+CONFIG_TCPIP_TASK_STACK_SIZE=2560
+CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
+CONFIG_TCPIP_TASK_AFFINITY_CPU0=
+CONFIG_TCPIP_TASK_AFFINITY_CPU1=
+CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_PPP_SUPPORT=
+
+#
+# ICMP
+#
+CONFIG_LWIP_MULTICAST_PING=
+CONFIG_LWIP_BROADCAST_PING=
+
+#
+# LWIP RAW API
+#
+CONFIG_LWIP_MAX_RAW_PCBS=16
+
+#
+# mbedTLS
+#
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
+CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=
+CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=
+CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC=
+CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
+CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=
+CONFIG_MBEDTLS_DEBUG=
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_HARDWARE_MPI=
+CONFIG_MBEDTLS_HARDWARE_SHA=
+CONFIG_MBEDTLS_HAVE_TIME=y
+CONFIG_MBEDTLS_HAVE_TIME_DATE=
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
+CONFIG_MBEDTLS_TLS_SERVER_ONLY=
+CONFIG_MBEDTLS_TLS_CLIENT_ONLY=
+CONFIG_MBEDTLS_TLS_DISABLED=
+CONFIG_MBEDTLS_TLS_SERVER=y
+CONFIG_MBEDTLS_TLS_CLIENT=y
+CONFIG_MBEDTLS_TLS_ENABLED=y
+
+#
+# TLS Key Exchange Methods
+#
+CONFIG_MBEDTLS_PSK_MODES=
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
+CONFIG_MBEDTLS_SSL_PROTO_SSL3=
+CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+CONFIG_MBEDTLS_SSL_PROTO_DTLS=
+CONFIG_MBEDTLS_SSL_ALPN=y
+CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y
+
+#
+# Symmetric Ciphers
+#
+CONFIG_MBEDTLS_AES_C=y
+CONFIG_MBEDTLS_CAMELLIA_C=
+CONFIG_MBEDTLS_DES_C=
+CONFIG_MBEDTLS_RC4_DISABLED=y
+CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT=
+CONFIG_MBEDTLS_RC4_ENABLED=
+CONFIG_MBEDTLS_BLOWFISH_C=
+CONFIG_MBEDTLS_XTEA_C=
+CONFIG_MBEDTLS_CCM_C=y
+CONFIG_MBEDTLS_GCM_C=y
+CONFIG_MBEDTLS_RIPEMD160_C=
+
+#
+# Certificates
+#
+CONFIG_MBEDTLS_PEM_PARSE_C=y
+CONFIG_MBEDTLS_PEM_WRITE_C=y
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
+CONFIG_MBEDTLS_ECP_C=y
+CONFIG_MBEDTLS_ECDH_C=y
+CONFIG_MBEDTLS_ECDSA_C=y
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_SERVICES=10
+
+#
+# ESP-MQTT Configurations
+#
+CONFIG_MQTT_PROTOCOL_311=y
+CONFIG_MQTT_TRANSPORT_SSL=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
+CONFIG_MQTT_USE_CUSTOM_CONFIG=
+CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=
+CONFIG_MQTT_CUSTOM_OUTBOX=
+
+#
+# NVS
+#
+
+#
+# OpenSSL
+#
+CONFIG_OPENSSL_DEBUG=
+CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
+CONFIG_OPENSSL_ASSERT_EXIT=
+
+#
+# PThreads
+#
+CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
+CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
+CONFIG_PTHREAD_STACK_MIN=768
+
+#
+# SPI Flash driver
+#
+CONFIG_SPI_FLASH_VERIFY_WRITE=
+CONFIG_SPI_FLASH_ENABLE_COUNTERS=
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED=
+
+#
+# SPIFFS Configuration
+#
+CONFIG_SPIFFS_MAX_PARTITIONS=3
+
+#
+# SPIFFS Cache Configuration
+#
+CONFIG_SPIFFS_CACHE=
+CONFIG_SPIFFS_PAGE_CHECK=y
+CONFIG_SPIFFS_GC_MAX_RUNS=10
+CONFIG_SPIFFS_GC_STATS=
+CONFIG_SPIFFS_PAGE_SIZE=512
+CONFIG_SPIFFS_OBJ_NAME_LEN=192
+CONFIG_SPIFFS_USE_MAGIC=y
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_META_LENGTH=4
+CONFIG_SPIFFS_USE_MTIME=y
+
+#
+# Debug Configuration
+#
+CONFIG_SPIFFS_DBG=
+CONFIG_SPIFFS_API_DBG=
+CONFIG_SPIFFS_GC_DBG=
+CONFIG_SPIFFS_CHECK_DBG=
+CONFIG_SPIFFS_TEST_VISUALISATION=
+
+#
+# TCP/IP Adapter
+#
+CONFIG_IP_LOST_TIMER_INTERVAL=120
+CONFIG_TCPIP_LWIP=y
+
+#
+# Virtual file system
+#
+CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_SUPPORT_TERMIOS=y
+
+#
+# Wear Levelling
+#
+CONFIG_WL_SECTOR_SIZE_512=
+CONFIG_WL_SECTOR_SIZE_4096=y
+CONFIG_WL_SECTOR_SIZE=4096
diff --git a/Launchers/retro-esp32/components/odroid/odroid_display.c b/Launchers/retro-esp32/components/odroid/odroid_display.c
index 8eb34176..b4671196 100755
--- a/Launchers/retro-esp32/components/odroid/odroid_display.c
+++ b/Launchers/retro-esp32/components/odroid/odroid_display.c
@@ -22,10 +22,12 @@ const gpio_num_t SPI_PIN_NUM_CLK = GPIO_NUM_18;
const gpio_num_t LCD_PIN_NUM_CS = GPIO_NUM_5;
const gpio_num_t LCD_PIN_NUM_DC = GPIO_NUM_21;
const gpio_num_t LCD_PIN_NUM_BCKL = GPIO_NUM_14;
+
const int LCD_BACKLIGHT_ON_VALUE = 1;
const int LCD_SPI_CLOCK_RATE = 40000000;
+
#define SPI_TRANSACTION_COUNT (4)
static spi_transaction_t trans[SPI_TRANSACTION_COUNT];
static spi_device_handle_t spi;
@@ -1472,4 +1474,4 @@ void odroid_display_unlock_sms_display()
if (!sms_mutex) abort();
xSemaphoreGive(sms_mutex);
-}
+}
\ No newline at end of file
diff --git a/Launchers/retro-esp32/main/includes/definitions.h b/Launchers/retro-esp32/main/includes/definitions.h
index bfe4b3ff..d2b23aee 100755
--- a/Launchers/retro-esp32/main/includes/definitions.h
+++ b/Launchers/retro-esp32/main/includes/definitions.h
@@ -44,7 +44,7 @@
/*
*/
-#define BUILD "Version 2 Build 6 (v.2.6)"
+#define BUILD "Version 2 Build 7 (v.2.7)"
#define _GNU_SOURCE
diff --git a/Launchers/retro-esp32/main/main.c b/Launchers/retro-esp32/main/main.c
index 4725b5eb..55241e44 100755
--- a/Launchers/retro-esp32/main/main.c
+++ b/Launchers/retro-esp32/main/main.c
@@ -671,27 +671,10 @@
}
void apply_brightness() {
const int DUTY_MAX = 0x1fff;
- //BRIGHTNESS = get_brightness();
+ BRIGHTNESS = get_brightness();
int duty = DUTY_MAX * (BRIGHTNESS_LEVELS[BRIGHTNESS] * 0.01f);
- if(is_backlight_initialized()) {
- currentDuty = ledc_get_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0);
- if (currentDuty != duty) {
- //ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, currentDuty);
- //ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0);
- //ledc_set_fade_with_time(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, duty, 1000);
- //ledc_fade_start(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, LEDC_FADE_WAIT_DONE /*LEDC_FADE_NO_WAIT|LEDC_FADE_WAIT_DONE|LEDC_FADE_MAX*/);
- //ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, duty);
- //ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0);
- ledc_set_fade_time_and_start(
- LEDC_LOW_SPEED_MODE,
- LEDC_CHANNEL_0,
- duty,
- 25,
- LEDC_FADE_WAIT_DONE
- );
- }
- }
+
}
//}#pragma endregion Brightness
diff --git a/Launchers/retro-esp32/main/sprites/logo3d.h b/Launchers/retro-esp32/main/sprites/logo3d.h
index 9d743628..60aaa8bf 100644
--- a/Launchers/retro-esp32/main/sprites/logo3d.h
+++ b/Launchers/retro-esp32/main/sprites/logo3d.h
@@ -4,18 +4,18 @@ const uint16_t logo3d[38][155] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,65535,65535},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,65535,65535},
- {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535},
- {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,65535,65535},
- {0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,65535,65535,0,0,65535,65535},
- {0,0,0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,0,0,0,0,65535,65535},
- {0,0,0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,65535,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,0,0,0,0,0,0,65535,65535},
- {0,0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,65535,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,0,0,0,0,0,0,65535,65535},
- {0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,0,0,0,0,65535,65535},
- {0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,0,0,0,0,65535,65535},
- {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,0,0,0,0,65535,65535,65535,65535},
- {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,65535,65535,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535},
- {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,65535,65535,33808,33808,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535},
- {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,65535,65535,0,0,0,0,0,0,0,0,65535,65535},
+ {0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,0,0,0,0,65535,65535},
+ {0,0,0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,0,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,65535,65535,65535,65535,0,0,0,0,65535,65535},
+ {0,0,0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,65535,0,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,65535,65535,0,0,0,0,65535,65535,65535,65535},
+ {0,0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,65535,0,0,0,0,0,0,0,0,0,16904,16904,16904,16904,16904,16904,65535,65535,0,0,65535,65535,0,0,65535,65535,65535,65535,65535,65535},
+ {0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,0,0,16904,16904,16904,16904,16904,16904,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535},
+ {0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,16904,16904,16904,16904,16904,16904,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535},
+ {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,65535},
+ {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,65535,65535,33808,33808,33808,33808,65535,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535},
+ {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,65535,65535,33808,33808,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535},
+ {65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,0,0,0,65535,65535,65535,0,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,33808,33808,33808,33808,33808,33808,33808,33808,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,0,0},
{65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,16904,16904,16904,16904,16904,16904,65535,65535,65535,65535,0,0,0,0,0,0,0,0,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0},
{65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,0,0,0,65535,65535,65535,0,0,0,0,65535,65535,65535,0,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,16904,16904,16904,16904,16904,16904,65535,65535,0,0,0,0,65535,65535,0,0,0,0,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0},
{0,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,65535,65535,65535,0,0,65535,65535,65535,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,65535,65535,65535,0,0,0,0,0,65535,65535,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,0,0,0,0,0,0,0,65535,65535,65535,16904,16904,16904,16904,16904,16904,65535,65535,0,0,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0},
diff --git a/Launchers/retro-esp32/sdkconfig.old b/Launchers/retro-esp32/sdkconfig.old
index 1d6df2a4..769f513b 100644
--- a/Launchers/retro-esp32/sdkconfig.old
+++ b/Launchers/retro-esp32/sdkconfig.old
@@ -669,4 +669,4 @@ CONFIG_SUPPORT_TERMIOS=y
#
CONFIG_WL_SECTOR_SIZE_512=
CONFIG_WL_SECTOR_SIZE_4096=y
-CONFIG_WL_SECTOR_SIZE=4096
+CONFIG_WL_SECTOR_SIZE=4096
\ No newline at end of file