Skip to content

Commit 305a3ff

Browse files
committed
Merge branch 'dev'
2 parents 7972751 + 4bca50c commit 305a3ff

File tree

222 files changed

+22484
-4474
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+22484
-4474
lines changed

.gitignore

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
__pycache__/
2+
.DS_Store/
3+
.vscode/
4+
build/
5+
16
/*/sdkconfig.old
27
/*/sdkconfig
38
/*.exe
@@ -8,11 +13,7 @@
813
/partitions.bin
914
/partitions.csv
1015

11-
__pycache__/
12-
.DS_Store/
13-
.vscode/
14-
build/
15-
16-
stderr.txt
17-
stdout.txt
18-
gmon.out
16+
/sd
17+
/stderr.txt
18+
/stdout.txt
19+
/gmon.out

CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Retro-Go 1.40 (2024-02-27)
2+
- NES: Added sound emulation to mapper 19 (Pacman Championship Edition)
3+
- NES: Added 2KB CHR support to mapper 64 (Rolling Thunder)
4+
- NES: Fixed Battletoads (now works past level 2 but there's still occasional jitter)
5+
- NES: Fixed Battletoads Double Dragon (freezing)
6+
- NES: Fixed Teenage Mutant Ninja Turtles 3 (HUD jumping around in level 2)
7+
- NES: Fixed other minor glitching in mapper 4 (MMC3) games
8+
- NES: Fixed text garbled in Gun-Nac
9+
- COL: Added palette selector (also for SG-1000)
10+
- COL: Added support for SGM
11+
- All: Added support for custom scaling dimensions
12+
- All: Added border support (to replace black bars when not using full screen scaling)
13+
- All: Fixed savestate wouldn't be loaded on next boot after saving
14+
- All: Fixed partial screen updating sometimes caused artifacts
15+
- Launcher: Long file names are now working correctly (though still not recommended)
16+
17+
118
# Retro-Go 1.39 (2023-??-??)
219
- Launcher: Reject names that are too long instead of being weird
320
- Theming support is now tested and documented

Dockerfile

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN cd /opt/esp/idf && \
1212
patch --ignore-whitespace -p1 -i "/app/tools/patches/sdcard-fix (esp-idf 4.2 and 4.3).diff"
1313

1414
# Build
15+
SHELL ["/bin/bash", "-c"]
1516
RUN . /opt/esp/idf/export.sh && \
1617
python rg_tool.py --target=odroid-go release && \
1718
python rg_tool.py --target=mrgc-g32 release

README.md

-4
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,6 @@ which allows high quality audio through headphones. You can switch to it in the
139139
Retro-Go typically detects and resolves application crashes and freezes automatically. However, if you do
140140
get stuck in a boot loop, you can hold `DOWN` while powering up the device to return to the launcher.
141141

142-
### Artifacts or tearing
143-
Retro-Go uses partial screen updating to achieve a higher framerate and reduce tearing. This method isn't
144-
perfect however, if you notice display issues or stuttering you can try changing the `Update` option.
145-
146142
### Sound quality
147143
The volume isn't correctly attenuated on the GO, resulting in upper volume levels that are too loud and
148144
lower levels that are distorted due to DAC resolution. A quick way to improve the audio is to cut one

THEMING.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ Colors are RGB565 and can be represented as integers or hex strings. The special
3434
"header": "0xFFFF",
3535
"scrollbar": "0xFFFF",
3636
"item_standard": "0xFFFF",
37-
"item_disabled": "0x8410"
37+
"item_disabled": "0x8410",
38+
"item_message": "0xBDF7"
3839
},
3940
"launcher_1": {
4041
"__comment": "This section contains launcher theme variant 1",

base.cmake

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake)
22
set(EXTRA_COMPONENT_DIRS "${CMAKE_CURRENT_LIST_DIR}/components")
33

44
macro(rg_setup_compile_options)
5-
set(RG_TARGET "RG_TARGET_$ENV{RG_BUILD_TARGET}")
5+
set(RG_TARGET "RG_TARGET_${RG_BUILD_TARGET}")
66
message("Target: ${RG_TARGET}")
77

88
component_compile_options(
@@ -16,13 +16,13 @@ macro(rg_setup_compile_options)
1616
component_compile_options(-O3)
1717
endif()
1818

19-
if($ENV{RG_ENABLE_NETPLAY})
19+
if(RG_ENABLE_NETPLAY)
2020
component_compile_options(-DRG_ENABLE_NETWORKING -DRG_ENABLE_NETPLAY)
21-
elseif($ENV{RG_ENABLE_NETWORKING})
21+
elseif(RG_ENABLE_NETWORKING)
2222
component_compile_options(-DRG_ENABLE_NETWORKING)
2323
endif()
2424

25-
if($ENV{RG_ENABLE_PROFILING})
25+
if(RG_ENABLE_PROFILING)
2626
# Still debating whether -fno-inline is necessary or not...
2727
component_compile_options(-DRG_ENABLE_PROFILING -finstrument-functions)
2828
endif()

components/retro-go/CMakeLists.txt

+8-4
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,21 @@ set_source_files_properties(
2626
-O3
2727
)
2828

29-
if($ENV{RG_ENABLE_NETPLAY})
29+
if(RG_ENABLE_NETPLAY)
3030
component_compile_options(-DRG_ENABLE_NETWORKING -DRG_ENABLE_NETPLAY)
31-
elseif($ENV{RG_ENABLE_NETWORKING})
31+
elseif(RG_ENABLE_NETWORKING)
3232
component_compile_options(-DRG_ENABLE_NETWORKING)
3333
endif()
3434

35-
if($ENV{RG_ENABLE_PROFILING})
35+
if(RG_ENABLE_PROFILING)
3636
component_compile_options(-DRG_ENABLE_PROFILING)
3737
endif()
3838

39-
set(RG_TARGET "RG_TARGET_$ENV{RG_BUILD_TARGET}")
39+
if(RG_PROJECT_VERSION)
40+
component_compile_options(-DRG_PROJECT_VERSION="${RG_PROJECT_VERSION}")
41+
endif()
42+
43+
set(RG_TARGET "RG_TARGET_${RG_BUILD_TARGET}")
4044
string(TIMESTAMP RG_TIME "%s")
4145

4246
message(STATUS "Target: ${RG_TARGET}")

components/retro-go/README.md

+21-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@
33
Retro-Go's shared library (or framework) provides an easy way to port emulators to the ODROID-GO and the ESP32 in general.
44

55

6+
# Supported Devices
7+
8+
I develop and test mainly on the ODROID-GO. I occasionally test on the MRGC-G32 as well. All other devices have various degrees of support.
9+
10+
| Name | Status |
11+
|-------------------------------------------------------|--------|
12+
| [esp32s3-devkit-c](esp32s3-devkit-c/docs/README.md) | |
13+
| [esplay-micro](targets/esplay-micro/docs/README.md) | |
14+
| [esplay-s3](targets/esplay-s3/docs/README.md) | |
15+
| [mrgc-g32](targets/mrgc-g32/docs/README.md) | |
16+
| [mrgc-gbm](targets/mrgc-gbm/docs/README.md) | |
17+
| [odroid-go](targets/odroid-go/docs/README.md) | |
18+
| [gtpy-gamer](targets/qtpy-gamer/docs/README.md) | |
19+
| [retro-esp32](targets/retro-esp32/docs/README.md) | |
20+
| [sdl2](targets/sdl2/docs/README.md) | |
21+
22+
623
# Credits
724

825
## Retro-Go
@@ -11,11 +28,11 @@ Retro-Go's shared library (or framework) provides an easy way to port emulators
1128
## Go-Play
1229
- crashoverride / hardkernel
1330

31+
## cJSON
32+
- Dave Gamble (DaveGamble)
33+
1434
## lodepng
1535
- Lode Vandevenne (lvandeve)
1636

17-
## printf
18-
- Marco Paland (mpaland)
19-
2037
# License
21-
Zlib
38+
[LICENSE](LICENSE)

components/retro-go/config.h

+2-10
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#include "targets/esplay-micro/config.h"
1515
#elif defined(RG_TARGET_ESPLAY_S3)
1616
#include "targets/esplay-s3/config.h"
17+
#elif defined(RG_TARGET_ESP32S3_DEVKIT_C)
18+
#include "targets/esp32s3-devkit-c/config.h"
1719
#else
1820
#warning "No target defined. Defaulting to ODROID-GO."
1921
#include "targets/odroid-go/config.h"
@@ -28,12 +30,6 @@
2830
// #define RG_ENABLE_PROFILING 0
2931
// #endif
3032

31-
// This is the base task priority used for system tasks.
32-
// It should be higher than user tasks but lower than esp-idf's tasks.
33-
#ifndef RG_TASK_PRIORITY
34-
#define RG_TASK_PRIORITY 10
35-
#endif
36-
3733
#ifndef RG_APP_LAUNCHER
3834
#define RG_APP_LAUNCHER "launcher"
3935
#endif
@@ -90,7 +86,3 @@
9086
#ifndef RG_GPIO_LED
9187
#define RG_GPIO_LED (-1)
9288
#endif
93-
94-
#ifndef RG_GAMEPAD_MAP
95-
#define RG_GAMEPAD_MAP {}
96-
#endif

components/retro-go/fonts/DejaVu12.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const rg_font_t font_DejaVu12 = {
2020
.name = "DejaVu",
2121
.type = 1,
22-
.width = 7,
22+
.width = 12,
2323
.height = 13,
2424
.chars = 95,
2525
.data = {

components/retro-go/fonts/DejaVu15.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const rg_font_t font_DejaVu15 = {
2020
.name = "DejaVu",
2121
.type = 1,
22-
.width = 8,
22+
.width = 14,
2323
.height = 15,
2424
.chars = 95,
2525
.data = {

components/retro-go/fonts/VeraBold12.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const rg_font_t font_VeraBold12 = {
2020
.name = "VeraBold",
2121
.type = 1,
22-
.width = 7,
22+
.width = 12,
2323
.height = 12,
2424
.chars = 95,
2525
.data = {

components/retro-go/fonts/VeraBold15.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const rg_font_t font_VeraBold15 = {
2020
.name = "VeraBold",
2121
.type = 1,
22-
.width = 9,
22+
.width = 16,
2323
.height = 15,
2424
.chars = 95,
2525
.data = {

components/retro-go/libs/netplay/rg_netplay.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,10 @@ bool rg_netplay_quick_start(void)
366366

367367
rg_display_clear(0);
368368

369-
rg_gui_option_t options[] = {
370-
{1, "Host Game (P1)", NULL, 1, NULL},
371-
{2, "Find Game (P2)", NULL, 1, NULL},
372-
RG_DIALOG_CHOICE_LAST
369+
const rg_gui_option_t options[] = {
370+
{1, "Host Game (P1)", NULL, RG_DIALOG_FLAG_NORMAL, NULL},
371+
{2, "Find Game (P2)", NULL, RG_DIALOG_FLAG_NORMAL, NULL},
372+
RG_DIALOG_END
373373
};
374374

375375
int ret = rg_gui_dialog("Netplay", options, 0);

0 commit comments

Comments
 (0)