thekovic a67f18adc5
settings: Add setting for forcing progressive scan in VI (#228)
This PR adds a setting to the config that allows users with TVs,
scalers, and other devices that struggle with interlaced video input to
force progressive scan to the menu.

## Description
This PR implements the aforementioned new setting my changing
libdragon's display module setting from `INTERLACE_HALF` to
`INTERLACE_OFF` if the newly added `force_progressive_scan` setting bool
is set. This tells the display module to not set the serrate bit in the
VI configuration registers and in effect forces "artificial" progressive
scan at 240p by dropping one field, without having to modify the menu's
rendering resolution of 640x480.

## Motivation and Context
Motivated by currently open issues #59 and #82 as well as Discord
comments from some menu users:
-
https://discord.com/channels/205520502922543113/1262536014623146125/1349024387721986061
-
https://discord.com/channels/205520502922543113/1262536014623146125/1349025967351271445
-
https://discord.com/channels/205520502922543113/1262536014623146125/1349030951585579058

## How Has This Been Tested?
Tested in ares. Testing on real devices by affected users would be
appreciated.

## Types of changes
- [x] Improvement (non-breaking change that adds a new feature)
- [ ] 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:
- [x] My code follows the code style of this project.
- [x] 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.

Signed-off-by: thekovic 72971433+thekovic@users.noreply.github.com

Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
2025-03-21 00:29:29 +00:00
2025-03-10 20:23:50 +00:00
2024-12-23 18:34:41 +00:00
2025-03-10 23:25:35 +00:00
2025-03-20 23:22:55 +00:00
2023-12-08 19:49:50 +01:00
2024-04-26 23:04:19 +02:00
2025-03-10 22:20:32 +00:00
2025-03-04 01:34:31 +00:00
2025-01-12 23:41:32 +00:00
2025-03-10 22:20:32 +00:00

Build GitHub Org's stars Average time to resolve an issue Percentage of issues still open #yourfirstpr

N64 Flashcart Menu

An open source menu for N64 flashcarts and aims to support as many as possible. The menu is not affiliated with any partuclar flashcart and does not necessarily expose all capable firmware features.
This project considers flashcart sellers that include this menu or copyrighted ROM's as part of their product offering as licence offenders which may result in future action.

Flashcart Supported

This menu aims to support as many N64 flashcarts as possible. The current state is:

Supported

  • SummerCart64
  • 64Drive

Work in Progress

  • ED64 (X and V series)
  • ED64P (clones)

Not yet planned

  • Doctor V64
  • PicoCart
  • DaisyDrive

Current (notable) menu features

  • Fully Open Source.
  • Loads all known N64 games, even if they are byteswapped.
  • Fully emulates the 64DD and loads 64DD disks (SummerCart64 only).
  • Emulator support (NES, SNES, GB, GBC, SMS, GG, CHF) ROMs.
  • N64 ROM box art image support.
  • Background image (PNG) support.
  • Comprehensive ROM save database (including homebrew headers).
  • Comprehensive ROM information display.
  • Real Time Clock support.
  • Music playback (MP3).
  • Menu sound effects.
  • N64 ROM autoload option (on power).
  • N64 ROM fast reboot option (on reset).
  • ROM information descriptions.
  • ROM history and favorites.

Documentation

Please take a moment to browse the current documentation:
Index

Aims

  • Support as many N64 Flashcarts as possible.
  • Be open source, using permissively licensed third-party libraries.
  • Be testable in an emulated environment (Ares).
  • Encourage active development from community members and N64 FlashCart owners.
  • Support as many common mods and features as possible (flashcart dependent).

Flashcart specific

SC64

  • Ensure the cart has the latest firmware installed.
  • Download the latest sc64menu.n64 file from the releases page, then put it in the root directory of your SD card.

SC64 flashcart information

64drive

  • Ensure the cart has the latest firmware installed.
  • Download the latest menu.bin file from the releases page, then put it in the root directory of your SD card.

ED64 - WIP - UNTESTED AND UNSUPPORTED - USE AT OWN RISK

Currently not supported, but work is in progress (See PRs). Warning: The menu may be able to load ROMs but cannot guarantee save functionality. Existing saves may be corrupted.

ED64 (Vseries)

The aim is to reach feature parity with ED64-UnofficialOS / ED64-OfficialOS. Download the OS64.v64 ROM from the latest [action run - assets] and place it in the /ED64 folder.

ED64 (X series)

The aim is to reach feature parity with OS for now. Download the OS64.v64 ROM from the latest [action run - assets] and place it in the /ED64 folder.

ED64 (P clone)

Download the OS64P.v64 ROM from the latest [action run - assets] and place it in the /ED64P folder. The aim is to reach feature parity with Altra64

Open source software and licenses used

libraries

Sounds

See License for the following sounds:

Description
Universal N64 flashcart menu for wide variety of devices
Readme 11 MiB
Languages
C 98.2%
Makefile 1%
Assembly 0.4%
Dockerfile 0.2%
Batchfile 0.1%