Skip to content

Commit

Permalink
[main] Hotfix display issues (#189)
Browse files Browse the repository at this point in the history
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Fixed menu display (PAL60) by reverted libdragon to a known working
point and re-applying old hacks.

## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
Media coverage. #183 #184

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
Tested locally on a SC64 on an
* NTSC console (composite only)
* PAL console (composite)
* PAL console (HDMI mod with Pal60 enabled).

## Screenshots
<!-- (if appropriate): -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [x] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [ ] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.

<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>
  • Loading branch information
networkfusion authored Jan 10, 2025
1 parent 52599e9 commit 3eccdfa
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 4 deletions.
18 changes: 16 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@ For the SummerCart64, use the `sc64menu.n64` file in the root of your SD card.
For the 64Drive, use the `menu.bin` file in the root of your SD card.
For the ares emulator, use the `N64FlashcartMenu.n64` file.

# Release Notes 2025-01-10

- **Bug Fixes**
- Fixed menu display (PAL60) by reverted libdragon to a known working point and re-applying old hacks.

## Current known Issues
* The RTC UI requires improvement (awaiting UI developer).
* Menu sound FX may not work properly when a 64 Disk Drive is also attached (work around: turn sound FX off).
[Pre-release menu]:
* BETA_SETTING: PAL60 when using HDMI mods has regressed (awaiting libdragon fix).
* ALPHA_FEATURE: ED64 X Series detection does not occur properly (however this is not a problem as not tag released asset).
* ALPHA_FEATURE: ED64 V Series only supports loading ROMs (however this is not a problem as not tag released asset).


# Release Notes 2024-12-30

- **New Features**
Expand Down Expand Up @@ -37,12 +51,12 @@ For the ares emulator, use the `N64FlashcartMenu.n64` file.
- Streamlined the loading state management for ROMs and disks within the menu system.
- Improved clarity and usability of the developer guide and other documentation files.

### Current known Issues
## Current known Issues
* BETA_SETTING: PAL60 when using HDMI mods has regressed (awaiting libdragon fix).
* The RTC UI requires improvement (awaiting UI developer).
* Menu sound FX may not work properly when a 64 Disk Drive is also attached (work around: turn sound FX off).
* ALPHA_FEATURE: ED64 X Series detection does not occur properly (however this is not a problem as not tag released asset).
* ALPHA_FEATURE: ED64 V Series only supports loading ROMs (however this is not a problem as not tag released asset).

### Breaking changes
## Breaking changes
* Disk drive expansion ROMs are now loaded with `Z|L` instead of `R` to align with ROM info context menu (and future functionality).
2 changes: 1 addition & 1 deletion libdragon
Submodule libdragon updated 90 files
+0 −1 Dockerfile
+1 −3 Makefile
+1 −1 boot/Makefile
+0 −92 boot/cleanup.c
+2 −1 boot/ipl3_compat.ld
+0 −1 boot/ipl3_dev.ld
+2 −1 boot/ipl3_prod.ld
+64 −1 boot/loader.c
+29 −1 boot/loader_compat.c
+1 −1 dso.ld
+0 −1 examples/Makefile
+0 −1 examples/dfsdemo/Makefile
+0 −1 examples/dfsdemo/filesystem/a_directory/a_file.txt
+1 −1 examples/videoplayer/videoplayer.c
+0 −25 examples/vifx/Makefile
+ examples/vifx/assets/philips.rgba32.png
+0 −73 examples/vifx/vifx.c
+0 −4 include/asset.h
+5 −5 include/display.h
+0 −255 include/eia608.h
+11 −134 include/fgeom.h
+1 −14 include/fmath.h
+0 −17 include/graphics.h
+0 −2 include/libdragon.h
+3 −119 include/mpeg2.h
+4 −7 include/n64sys.h
+0 −11 include/rdpq.h
+0 −12 include/rdpq_debug.h
+0 −2 include/rdpq_font.h
+0 −4 include/rdpq_macros.h
+7 −5 include/rdpq_mode.h
+0 −6 include/rsp.h
+0 −2 include/rsp.inc
+6 −29 include/rsp_queue.inc
+0 −889 include/vi.h
+1 −1 include/yuv.h
+1 −6 n64.ld
+6 −18 n64.mk
+0 −5 rsp.ld
+10 −10 src/GL/array.c
+8 −8 src/GL/buffer.c
+93 −93 src/GL/cpu_pipeline.c
+38 −40 src/GL/gl.c
+4 −4 src/GL/gl_internal.h
+35 −35 src/GL/lighting.c
+19 −19 src/GL/list.c
+41 −41 src/GL/matrix.c
+35 −35 src/GL/pixelrect.c
+143 −143 src/GL/primitive.c
+46 −46 src/GL/query.c
+10 −10 src/GL/rendermode.c
+30 −30 src/GL/rsp_pipeline.c
+34 −34 src/GL/texture.c
+6 −16 src/asset.c
+0 −1 src/asset_internal.h
+13 −12 src/display.c
+6 −6 src/dlfcn.c
+0 −619 src/eia608.c
+19 −111 src/math/fgeom.c
+0 −8 src/math/fmath.c
+7 −3 src/n64sys.c
+0 −3 src/rdpq/mkfontbuiltin.sh
+0 −6 src/rdpq/rdpq.c
+15 −40 src/rdpq/rdpq_debug.c
+28 −23 src/rdpq/rdpq_font.c
+10 −10 src/rdpq/rdpq_font_builtin.c
+0 −2 src/rdpq/rdpq_font_internal.h
+2 −2 src/rdpq/rdpq_paragraph.c
+4 −9 src/usb.c
+0 −4 src/utils.h
+0 −743 src/vi.c
+182 −29 src/vi.h
+0 −1 src/video/mpeg2.c
+9 −12 src/video/yuv.c
+0 −14 tests/test_constructors.c
+0 −43 tests/test_math.c
+0 −3 tests/testrom.c
+32 −42 tools/common/assetcomp.c
+1 −4 tools/common/assetcomp.h
+0 −6 tools/common/binout.c
+0 −2 tools/common/binout.h
+2 −70 tools/common/utils.h
+2 −2 tools/dumpdfs/dumpdfs.c
+1 −23 tools/mkasset/mkasset.c
+1 −1 tools/mkdfs/mkdfs.c
+1 −3 tools/mkfont/mkfont_out.cpp
+54 −61 tools/mksprite/mksprite.c
+5 −55 tools/n64dso/n64dso-extern.c
+1 −1 tools/n64elfcompress/n64elfcompress.c
+10 −0 tools/n64sym.c
11 changes: 10 additions & 1 deletion src/menu/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@


static menu_t *menu;
static tv_type_t tv_type;

extern tv_type_t __boot_tvtype;

static void menu_init (boot_params_t *boot_params) {
menu = calloc(1, sizeof(menu_t));
Expand Down Expand Up @@ -74,8 +76,14 @@ static void menu_init (boot_params_t *boot_params) {
.width = 640,
.height = 480,
.interlaced = INTERLACED ? INTERLACE_HALF : INTERLACE_OFF,
.pal60 = menu->settings.pal60_enabled,
};

tv_type = get_tv_type();
if (tv_type == TV_PAL && menu->settings.pal60_enabled) {
// HACK: Set TV type to NTSC, so PAL console would output 60 Hz signal instead.
__boot_tvtype = TV_NTSC;
}

display_init(resolution, DEPTH_16_BPP, 2, GAMMA_NONE, INTERLACED ? FILTERS_DISABLED : FILTERS_RESAMPLE);
display_set_fps_limit(FPS_LIMIT);

Expand All @@ -101,6 +109,7 @@ static void menu_init (boot_params_t *boot_params) {
}

static void menu_deinit (menu_t *menu) {
__boot_tvtype = tv_type;
hdmi_send_game_id(menu->boot_params);

ui_components_background_free();
Expand Down

0 comments on commit 3eccdfa

Please sign in to comment.