Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
ducalex committed Feb 27, 2024
2 parents 7972751 + 4bca50c commit 305a3ff
Show file tree
Hide file tree
Showing 222 changed files with 22,484 additions and 4,474 deletions.
17 changes: 9 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
__pycache__/
.DS_Store/
.vscode/
build/

/*/sdkconfig.old
/*/sdkconfig
/*.exe
Expand All @@ -8,11 +13,7 @@
/partitions.bin
/partitions.csv

__pycache__/
.DS_Store/
.vscode/
build/

stderr.txt
stdout.txt
gmon.out
/sd
/stderr.txt
/stdout.txt
/gmon.out
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# Retro-Go 1.40 (2024-02-27)
- NES: Added sound emulation to mapper 19 (Pacman Championship Edition)
- NES: Added 2KB CHR support to mapper 64 (Rolling Thunder)
- NES: Fixed Battletoads (now works past level 2 but there's still occasional jitter)
- NES: Fixed Battletoads Double Dragon (freezing)
- NES: Fixed Teenage Mutant Ninja Turtles 3 (HUD jumping around in level 2)
- NES: Fixed other minor glitching in mapper 4 (MMC3) games
- NES: Fixed text garbled in Gun-Nac
- COL: Added palette selector (also for SG-1000)
- COL: Added support for SGM
- All: Added support for custom scaling dimensions
- All: Added border support (to replace black bars when not using full screen scaling)
- All: Fixed savestate wouldn't be loaded on next boot after saving
- All: Fixed partial screen updating sometimes caused artifacts
- Launcher: Long file names are now working correctly (though still not recommended)


# Retro-Go 1.39 (2023-??-??)
- Launcher: Reject names that are too long instead of being weird
- Theming support is now tested and documented
Expand Down
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ RUN cd /opt/esp/idf && \
patch --ignore-whitespace -p1 -i "/app/tools/patches/sdcard-fix (esp-idf 4.2 and 4.3).diff"

# Build
SHELL ["/bin/bash", "-c"]
RUN . /opt/esp/idf/export.sh && \
python rg_tool.py --target=odroid-go release && \
python rg_tool.py --target=mrgc-g32 release
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,6 @@ which allows high quality audio through headphones. You can switch to it in the
Retro-Go typically detects and resolves application crashes and freezes automatically. However, if you do
get stuck in a boot loop, you can hold `DOWN` while powering up the device to return to the launcher.

### Artifacts or tearing
Retro-Go uses partial screen updating to achieve a higher framerate and reduce tearing. This method isn't
perfect however, if you notice display issues or stuttering you can try changing the `Update` option.

### Sound quality
The volume isn't correctly attenuated on the GO, resulting in upper volume levels that are too loud and
lower levels that are distorted due to DAC resolution. A quick way to improve the audio is to cut one
Expand Down
3 changes: 2 additions & 1 deletion THEMING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ Colors are RGB565 and can be represented as integers or hex strings. The special
"header": "0xFFFF",
"scrollbar": "0xFFFF",
"item_standard": "0xFFFF",
"item_disabled": "0x8410"
"item_disabled": "0x8410",
"item_message": "0xBDF7"
},
"launcher_1": {
"__comment": "This section contains launcher theme variant 1",
Expand Down
8 changes: 4 additions & 4 deletions base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake)
set(EXTRA_COMPONENT_DIRS "${CMAKE_CURRENT_LIST_DIR}/components")

macro(rg_setup_compile_options)
set(RG_TARGET "RG_TARGET_$ENV{RG_BUILD_TARGET}")
set(RG_TARGET "RG_TARGET_${RG_BUILD_TARGET}")
message("Target: ${RG_TARGET}")

component_compile_options(
Expand All @@ -16,13 +16,13 @@ macro(rg_setup_compile_options)
component_compile_options(-O3)
endif()

if($ENV{RG_ENABLE_NETPLAY})
if(RG_ENABLE_NETPLAY)
component_compile_options(-DRG_ENABLE_NETWORKING -DRG_ENABLE_NETPLAY)
elseif($ENV{RG_ENABLE_NETWORKING})
elseif(RG_ENABLE_NETWORKING)
component_compile_options(-DRG_ENABLE_NETWORKING)
endif()

if($ENV{RG_ENABLE_PROFILING})
if(RG_ENABLE_PROFILING)
# Still debating whether -fno-inline is necessary or not...
component_compile_options(-DRG_ENABLE_PROFILING -finstrument-functions)
endif()
Expand Down
12 changes: 8 additions & 4 deletions components/retro-go/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,21 @@ set_source_files_properties(
-O3
)

if($ENV{RG_ENABLE_NETPLAY})
if(RG_ENABLE_NETPLAY)
component_compile_options(-DRG_ENABLE_NETWORKING -DRG_ENABLE_NETPLAY)
elseif($ENV{RG_ENABLE_NETWORKING})
elseif(RG_ENABLE_NETWORKING)
component_compile_options(-DRG_ENABLE_NETWORKING)
endif()

if($ENV{RG_ENABLE_PROFILING})
if(RG_ENABLE_PROFILING)
component_compile_options(-DRG_ENABLE_PROFILING)
endif()

set(RG_TARGET "RG_TARGET_$ENV{RG_BUILD_TARGET}")
if(RG_PROJECT_VERSION)
component_compile_options(-DRG_PROJECT_VERSION="${RG_PROJECT_VERSION}")
endif()

set(RG_TARGET "RG_TARGET_${RG_BUILD_TARGET}")
string(TIMESTAMP RG_TIME "%s")

message(STATUS "Target: ${RG_TARGET}")
Expand Down
25 changes: 21 additions & 4 deletions components/retro-go/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@
Retro-Go's shared library (or framework) provides an easy way to port emulators to the ODROID-GO and the ESP32 in general.


# Supported Devices

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.

| Name | Status |
|-------------------------------------------------------|--------|
| [esp32s3-devkit-c](esp32s3-devkit-c/docs/README.md) | |
| [esplay-micro](targets/esplay-micro/docs/README.md) | |
| [esplay-s3](targets/esplay-s3/docs/README.md) | |
| [mrgc-g32](targets/mrgc-g32/docs/README.md) | |
| [mrgc-gbm](targets/mrgc-gbm/docs/README.md) | |
| [odroid-go](targets/odroid-go/docs/README.md) | |
| [gtpy-gamer](targets/qtpy-gamer/docs/README.md) | |
| [retro-esp32](targets/retro-esp32/docs/README.md) | |
| [sdl2](targets/sdl2/docs/README.md) | |


# Credits

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

## cJSON
- Dave Gamble (DaveGamble)

## lodepng
- Lode Vandevenne (lvandeve)

## printf
- Marco Paland (mpaland)

# License
Zlib
[LICENSE](LICENSE)
12 changes: 2 additions & 10 deletions components/retro-go/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#include "targets/esplay-micro/config.h"
#elif defined(RG_TARGET_ESPLAY_S3)
#include "targets/esplay-s3/config.h"
#elif defined(RG_TARGET_ESP32S3_DEVKIT_C)
#include "targets/esp32s3-devkit-c/config.h"
#else
#warning "No target defined. Defaulting to ODROID-GO."
#include "targets/odroid-go/config.h"
Expand All @@ -28,12 +30,6 @@
// #define RG_ENABLE_PROFILING 0
// #endif

// This is the base task priority used for system tasks.
// It should be higher than user tasks but lower than esp-idf's tasks.
#ifndef RG_TASK_PRIORITY
#define RG_TASK_PRIORITY 10
#endif

#ifndef RG_APP_LAUNCHER
#define RG_APP_LAUNCHER "launcher"
#endif
Expand Down Expand Up @@ -90,7 +86,3 @@
#ifndef RG_GPIO_LED
#define RG_GPIO_LED (-1)
#endif

#ifndef RG_GAMEPAD_MAP
#define RG_GAMEPAD_MAP {}
#endif
2 changes: 1 addition & 1 deletion components/retro-go/fonts/DejaVu12.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
const rg_font_t font_DejaVu12 = {
.name = "DejaVu",
.type = 1,
.width = 7,
.width = 12,
.height = 13,
.chars = 95,
.data = {
Expand Down
2 changes: 1 addition & 1 deletion components/retro-go/fonts/DejaVu15.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
const rg_font_t font_DejaVu15 = {
.name = "DejaVu",
.type = 1,
.width = 8,
.width = 14,
.height = 15,
.chars = 95,
.data = {
Expand Down
2 changes: 1 addition & 1 deletion components/retro-go/fonts/VeraBold12.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
const rg_font_t font_VeraBold12 = {
.name = "VeraBold",
.type = 1,
.width = 7,
.width = 12,
.height = 12,
.chars = 95,
.data = {
Expand Down
2 changes: 1 addition & 1 deletion components/retro-go/fonts/VeraBold15.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
const rg_font_t font_VeraBold15 = {
.name = "VeraBold",
.type = 1,
.width = 9,
.width = 16,
.height = 15,
.chars = 95,
.data = {
Expand Down
8 changes: 4 additions & 4 deletions components/retro-go/libs/netplay/rg_netplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,10 +366,10 @@ bool rg_netplay_quick_start(void)

rg_display_clear(0);

rg_gui_option_t options[] = {
{1, "Host Game (P1)", NULL, 1, NULL},
{2, "Find Game (P2)", NULL, 1, NULL},
RG_DIALOG_CHOICE_LAST
const rg_gui_option_t options[] = {
{1, "Host Game (P1)", NULL, RG_DIALOG_FLAG_NORMAL, NULL},
{2, "Find Game (P2)", NULL, RG_DIALOG_FLAG_NORMAL, NULL},
RG_DIALOG_END
};

int ret = rg_gui_dialog("Netplay", options, 0);
Expand Down
Loading

0 comments on commit 305a3ff

Please sign in to comment.