Skip to content

Commit 1524691

Browse files
committed
First attempt.
1 parent 2c5b06f commit 1524691

31 files changed

+278
-102
lines changed

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ As such, a GitHub account is recommended, which you can sign up for [here](https
88
Additionally this document assumes that you already know how to use GitHub and Git.
99
If that's not the case, we recommend learning about it first [here](https://docs.github.com/en/get-started/quickstart/hello-world).
1010

11-
**Help us by creating a PR.**
11+
**Help us by creating a PR.**
12+

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1002,7 +1002,7 @@ EXAMPLE_RECURSIVE = NO
10021002
# that contain images that are to be included in the documentation (see the
10031003
# \image command).
10041004

1005-
IMAGE_PATH =
1005+
IMAGE_PATH = ./docs/images
10061006

10071007
# The INPUT_FILTER tag can be used to specify a program that doxygen should
10081008
# invoke to filter for each input file. Doxygen will invoke the filter program

README.md

Lines changed: 21 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,24 @@
55
[![#yourfirstpr](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](https://github.com/Polprzewodnikowy/N64FlashcartMenu/CONTRIBUTING.md)
66

77
# N64 Flashcart Menu
8-
An open source menu for N64 flashcarts.
9-
![N64FlashcartMenu menu information](./docs/images/menu-information.png "N64FlashcartMenu menu information")
8+
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.
9+
**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.**
1010

11-
## Supported Flashcarts
12-
This menu aims to support as many N64 flashcarts as possible.
11+
## Flashcart Supported
12+
This menu aims to support as many N64 flashcarts as possible. The current state is:
1313

14-
### Fully supported
14+
### Supported
1515
* SummerCart64
1616
* 64Drive
1717

18-
### Work in Progress
19-
* ED64
20-
* ED64P
18+
### Work in Progress (pre-release only)
19+
* ED64 (X and V series)
20+
* ED64P (clones)
21+
22+
### Not planned
23+
* Doctor V64
24+
* PicoCart
25+
* DaisyDrive
2126

2227

2328
## Current (notable) menu features
@@ -34,79 +39,20 @@ This menu aims to support as many N64 flashcarts as possible.
3439
* Menu sound effects.
3540
* N64 ROM autoload.
3641
* ROM information descriptions.
37-
* ROM history and favorites.
42+
* ROM history and favorites (pre-release only).
3843

3944

4045
## Documentation
41-
* [Getting started guide](./docs/00_getting_started_sd.md)
42-
* [Menu controls](./docs/01_menu_controls.md)
43-
* [Menu customization](./docs/07_menu_customization.md)
44-
* [Developer guide](./docs/99_developer_guide.md)
45-
46-
## Video showcase (as of Oct 12 2023)
47-
[![N64FlashcartMenu Showcase](http://img.youtube.com/vi/6CKImHTifDA/0.jpg)](http://www.youtube.com/watch?v=6CKImHTifDA "N64FlashcartMenu Showcase (Oct 12 2023)")
46+
Please take a moment to browse the current documentation:
47+
[Index](./docs/00_index.md)
4848

4949

5050
## Aims
51-
* Support as many N64 FlashCarts as possible.
51+
* Support as many N64 Flashcarts as possible.
5252
* Be open source, using permissively licensed third-party libraries.
5353
* Be testable in an emulated environment (Ares).
5454
* Encourage active development from community members and N64 FlashCart owners.
55-
* Support as many common mods and features as possible.
56-
57-
58-
## Experimental features
59-
These features are subject to change:
60-
61-
### ROM Info descriptions
62-
To add a ROM description (shown when loading a ROM), add a file with the content
63-
```
64-
[metadata]
65-
description=This is the ROM description that does X Y Z.
66-
```
67-
The file line endings must use the linux `LF` endings only (CRLF is not supported) and is limited to 300 characters.
68-
69-
### N64 ROM autoload
70-
To use the autoload function, while on the `N64 ROM information` display, press the `R` button on your joypad and select the `Set ROM to autoload` option. When you restart the console, it will now only load the selected ROM rather than the menu.
71-
**NOTE:** To return to the menu, hold the joypad `Start` button while powering on the console.
72-
73-
### GamePak sprites
74-
To use N64 GamePak sprites, place PNG files within the `sd:/menu/boxart/` folder.
75-
76-
#### Supported sprites
77-
These must be `PNG` files that use the following dimensions:
78-
* Standard N64 GamePak boxart sprites: 158x112
79-
* Japanese N64 GamePak boxart sprites: 112x158
80-
* 64DD boxart sprites: 129x112
81-
82-
They will be loaded by directories using each character (case-sensitive) of the full 4 character Game Code (as identified in the menu ROM information).
83-
i.e. for GoldenEye NTSC USA (NGEE), this would be `sd:/menu/boxart/N/G/E/E/boxart_front.png`.
84-
i.e. for GoldenEye PAL (NGEP), this would be `sd:/menu/boxart/N/G/E/P/boxart_front.png`.
85-
86-
To improve compatibility between regions (as a fallback), you may exclude the region ID (last matched directory) for GamePaks to match with 3 letter IDs instead:
87-
i.e. for GoldenEye, this would be `sd:/menu/boxart/N/G/E/boxart_front.png`.
88-
89-
**Warning**: Excluding the region ID may show the wrong boxart.
90-
**Note**: For future support, boxart sprites should also include:
91-
* `boxart_back.png`
92-
* `boxart_top.png`
93-
* `boxart_bottom.png`
94-
* `boxart_left.png`
95-
* `boxart_right.png`
96-
* `gamepak_front.png`
97-
* `gamepak_back.png`
98-
99-
As a starting point, here is a link to a boxart pack, that has `boxart_front.png`:
100-
* [boxart](https://drive.google.com/file/d/1IpCmFqmGgGwKKmlRBxYObfFR9XywaC6n/view?usp=drive_link)
101-
102-
103-
### Menu Settings
104-
The Menu creates a `config.ini` file in `sd:/menu/` which contains various settings that are used and can be set within the menu.
105-
If required, you can manually adjust the file on the SD card using your computer.
106-
107-
### Datel cheats
108-
(Action Replay and GameShark codes)
109-
Supported, but no GUI available (yet) to edit them.
55+
* Support as many common mods and features as possible (flashcart dependent).
11056

11157

11258
## Flashcart specific
@@ -115,7 +61,7 @@ Supported, but no GUI available (yet) to edit them.
11561
* Ensure the cart has the latest [firmware](https://github.com/Polprzewodnikowy/SummerCart64/releases/latest) installed.
11662
* Download the latest `sc64menu.n64` file from the [releases](https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/) page, then put it in the root directory of your SD card.
11763

118-
![SC64 flashcart information](./docs/images/sc64-flashcart-information.png "SC64 flashcart information")
64+
![SC64 flashcart information](./docs/images/sc64-flashcart-information.png "example SC64 flashcart information")
11965

12066

12167
### 64drive
@@ -141,8 +87,8 @@ The aim is to reach feature parity with [Altra64](https://github.com/networkfusi
14187

14288

14389
# Open source software and licenses used
144-
145-
* [libdragon](https://github.com/DragonMinded/libdragon) (UNLICENSE License)
90+
## libraries
91+
* [libdragon](https://github.com/DragonMinded/libdragon/tree/preview) (UNLICENSE License)
14692
* [libspng](https://github.com/randy408/libspng) (BSD 2-Clause License)
14793
* [mini.c](https://github.com/univrsal/mini.c) (BSD 2-Clause License)
14894
* [minimp3](https://github.com/lieff/minimp3) (CC0 1.0 Universal)

docs/00_index.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
[..](README.md)
2+
## User Guide
3+
4+
### General
5+
- [Getting started](./10_getting_started_sd.md)
6+
- [Menu controls](./11_menu_controls.md)
7+
- [ROM configuration](./12_rom_configuration.md)
8+
- [Datel Cheats](./13_datel_cheats.md)
9+
- [ROM patches](./14_rom_patches.md)
10+
- [Controller PAKs](./15_controller_paks.md)
11+
- [Background Images](./16_background_images.md)
12+
- [64DD](./17_64dd.md)
13+
- [Emulators](./18_emulators.md)
14+
- [Boxart](./19_gamepak_boxart.md)
15+
- [Autoload N64 ROMs](./22_autoload_roms.md)
16+
17+
### Menus
18+
- [File Browser](./31_file_browser.md)
19+
- [Menu Settings](./32_menu_settings.md)
20+
- [RTC Settings](./33_rtc_settings.md)
21+
- [Menu Information](./35_menu_information.md)
22+
- [Flashcart Information](./36_flashcart_information.md)
23+
- [N64 Information](./37_n64_information.md)
24+
25+
### Other
26+
- [MP3 player](./41_mp3_player.md)
27+
- [Advanced customization](./61_advanced_customization.md)
28+
- [Hardware mods](./62_hardware_mods.md)
29+
#### Experimental Features
30+
Subject to change
31+
- [Experimental Features](./65_experimental.md)
32+
33+
### Developers
34+
- [Developer guide](./99_developer_guide.md)
35+
- [Contributing](https://github.com/Polprzewodnikowy/N64FlashcartMenu/blob/main/CONTRIBUTING.md)

docs/07_menu_customization.md

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
[..](./00_index.md)
12
## Initial Setup of SD Card
23

34
### First Steps
45
Connect the SD card to your PC and ensure it is properly formatted to be compatible with your flashcart.
56
**WARNING:** Filenames are expected to be written in ASCII, with Western Europe characters fully compatible. Other Unicode characters, such as those from Eastern Europe, Russia, Asia or Middle East regions (to name just a few examples) are not fully supported and may not be displayed.
67

7-
**Note:** It is advised to use ROM's in the Big Endian format. Although the menu auto converts them, the load time will be increased.
8+
**Note:** It is advised to use ROM's in the Big Endian (default) format. Although the menu auto converts byteswapped ROM's, the load time will be increased.
89

910
**Note:** On macOS, if you have extracted ROM's from zips run `dot_clean -m /Volumes/SummerCart` to clear those awful dotfiles so they are not shown in the menu.
1011

@@ -13,32 +14,21 @@ Connect the SD card to your PC and ensure it is properly formatted to be compati
1314
- An SD formatted with 128 kiB cluster size is recommended.
1415

1516
- Download the latest `sc64menu.n64` file from the [releases](https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/) page, then put it in the root directory of your SD card.
16-
- Create a folder in the root of your SD card called `menu`.
1717
- Place your ROM files on the SD card, **in any folder except `menu`**.
18-
**NOTE:** byteswapped ROM's will increase load times.
1918

2019

2120
#### Preparations for other supported flashcarts
2221
- FAT32 recommended.
2322
- An SD formatted with the default cluster size is recommended.
24-
25-
(TBW)
23+
- Download the latest [menu](https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/) file specific for your flashcart and place it in the expected location.
2624

2725

2826
### Emulator Support
29-
Emulators should be added to the `/menu/emulators` directory on the SD card.
30-
31-
N64FlashcartMenu currently supports the following emulators and associated ROM file names:
32-
- **NES**: [neon64v2](https://github.com/hcs64/neon64v2/releases) by *hcs64* - `neon64bu.rom`
33-
- **SNES**: [sodium64](https://github.com/Hydr8gon/sodium64/releases) by *Hydr8gon* - `sodium64.z64`
34-
- **Game Boy**/**GB Color**: [gb64](https://lambertjamesd.github.io/gb64/romwrapper/romwrapper.html) by *lambertjamesd* - `gb.v64`/`gbc.v64` ("Download Emulator" button)
35-
- **SMS**/**GG**: [smsPlus64](https://github.com/fhoedemakers/smsplus64/releases) by *fhoedmakers* - `smsPlus64.z64`
36-
- **Fairchild Channel F**: [Press-F-Ultra](https://github.com/celerizer/Press-F-Ultra/releases) by *celerizer* - `Press-F.z64`
27+
see [here](./18_emulators.md)
3728

3829

3930
### 64DD Disk Support
40-
To load and run 64DD disk images, place the required 64DD IPL dumps in the `/menu/64ddipl` folder on the SD card.
41-
For more details, follow [this guide on the 64dd.org website](https://64dd.org/tutorial_sc64.html).
31+
See [here](./17_64dd.md)
4232

4333

4434
#### So what would the layout of the SD card look like?
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
[..](./00_index.md)
12
## Menu Controls
23

34
### Additional Control Information
@@ -7,7 +8,7 @@ Press either the `C-Up` or `C-Down` buttons to scroll by pages, rather than by e
78

89
#### N64FlashcartMenu settings
910
Press the `START` button on the browser screen to open the Settings window.
10-
![Browser context menu](https://github.com/Polprzewodnikowy/N64FlashcartMenu/blob/main/docs/images/main-context-menu.png)
11+
![Browser context menu](./images/main-context-menu.png "Browser context menu")
1112
From here you can edit some of the N64FlashcartMenu settings,
1213
see information about either the console, the flashcart you are using or N64FlashcartMenu itself, and if your cart has Real-Time Clock (RTC) support, you can also change its date and time.
1314

docs/12_rom_configuration.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[..](./00_index.md)
2+
## ROM configuration
3+
4+
The menu allows overriding the ROM's default configuration that is provided from the internal database.
5+
6+
The internal database is contained within `rom_info.c`
7+
8+
If you override the defaults and want to go back to the default ones, delete the `<rom name>.ini` file.
9+
10+
### Overrideable types
11+
12+
#### CIC type
13+
14+
#### Save type
15+
16+
#### TV Region type
17+
18+
### Autoload

docs/13_datel_cheats.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[..](./00_index.md)
2+
## Datel Cheats
3+
AKA InterAct (in certain regions)
4+
5+
The N64 supports the peripherals
6+
- GameShark
7+
- Action Replay
8+
9+
It is not advised to connect the physical peripheral with most flashcarts.
10+
11+
The menu has underlying support for these codes (when using an expansion pak), but is not yet exposed via the menu graphical user interface.
12+
13+
Check [Pull Requests](https://github.com/Polprzewodnikowy/N64FlashcartMenu/pulls) for work towards it.
14+

docs/14_rom_patches.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[..](./00_index.md)
2+
## ROM patches
3+
4+
Not yet supported, although you can use various online utilities.
5+
6+
Check [Pull Requests](https://github.com/Polprzewodnikowy/N64FlashcartMenu/pulls) for work towards it.
7+
The aim is to support APS/IPS/BPS/XDELTA patches.

0 commit comments

Comments
 (0)