Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

Develop devcontainer #42

Open
wants to merge 105 commits into
base: gameblabla-fork-updates
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
e036e58
Use libdragon submodule.
networkfusion Jun 10, 2023
0e3af9c
Add libs as submodules.
networkfusion Jun 10, 2023
6803e36
Add submodules
networkfusion Jun 10, 2023
9e250b8
Add CI
networkfusion Jun 10, 2023
39f2556
test lib builds
networkfusion Jun 10, 2023
4a931f9
test post create command
networkfusion Jun 10, 2023
eecf2c4
Update postCreateCommand.sh
networkfusion Jun 10, 2023
e7fa635
test making execute permissions
networkfusion Jun 10, 2023
1552602
Test installing libs
networkfusion Jun 10, 2023
35a62de
Test libyaml changes
networkfusion Jun 10, 2023
d5db812
add the bootstrap
networkfusion Jun 10, 2023
a030ff5
Update ignored (submodule) repos
networkfusion Jun 10, 2023
9784e29
comment out buffer.
networkfusion Jun 10, 2023
5fe3aac
Add libmad
networkfusion Jun 10, 2023
16d144e
dont use cpu for libMad
networkfusion Jun 10, 2023
c51e3e4
libmad test
networkfusion Jun 10, 2023
780d73e
Comment out MP3 playback
networkfusion Jun 10, 2023
62d08c1
Improve make file
networkfusion Jun 10, 2023
de5a1b6
Fix yaml lib?
networkfusion Jun 10, 2023
b403387
Revert last commit
networkfusion Jun 10, 2023
061ee65
Remove SP_PC it is already in libdragon.
networkfusion Jun 10, 2023
a7494a5
Re-add ff.h
networkfusion Jun 10, 2023
c406d39
Fix ff.h in last commit.
networkfusion Jun 10, 2023
54836d2
Part revert makefile
networkfusion Jun 10, 2023
fdcf460
Play with params
networkfusion Jun 10, 2023
48164ef
Another test
networkfusion Jun 11, 2023
7f4c5e0
Revert dma wait
networkfusion Jun 11, 2023
ec0dce4
Comment out yaml for the moment.
networkfusion Jun 11, 2023
94daee1
use libdragon fatfs header?
networkfusion Jun 11, 2023
f41301c
Use libdragon fatfs
networkfusion Jun 11, 2023
b98d093
Switch to libdragon unstable
networkfusion Jun 12, 2023
f9d9882
replace display_lock
networkfusion Jun 12, 2023
5ad51d8
remove mikmod
networkfusion Jun 12, 2023
eb881a3
replace dma_busy
networkfusion Jun 12, 2023
af9c9d4
Update submodule
networkfusion Jun 12, 2023
18509ca
revert display_get
networkfusion Jun 12, 2023
aa40453
Work on container install.
networkfusion Jun 12, 2023
f3161f2
Further work.
networkfusion Jun 12, 2023
b387628
Revert to trunk and add hack.
networkfusion Jun 12, 2023
f31e41f
Fix output dir
networkfusion Jun 12, 2023
9832ed2
Further attempt at libyaml
networkfusion Jun 12, 2023
449dd83
Improve build script for libs
networkfusion Jun 12, 2023
de771ab
make script executable?
networkfusion Jun 12, 2023
9ba8093
Re-add yaml parser
networkfusion Jun 12, 2023
fa5ec32
Re-add libmad to makefile
networkfusion Jun 12, 2023
86edcc5
switch to lf line endings
networkfusion Jun 12, 2023
d6ee385
Update .gitmodules
networkfusion Jun 12, 2023
3de3cde
Update .gitmodules
networkfusion Jun 12, 2023
1486183
Update .gitmodules
networkfusion Jun 12, 2023
6e9a8a1
Update .gitmodules
networkfusion Jun 12, 2023
afde070
Improve readme.
networkfusion Jun 12, 2023
e2349c9
Ensure the correct branch for libmad
networkfusion Jun 12, 2023
16f9cb3
Update Makefile
networkfusion Jun 12, 2023
c50a60a
remove libmad submodule
networkfusion Jun 12, 2023
25f9156
re-init libmad
networkfusion Jun 12, 2023
7bb013c
Correct separator in makefile
networkfusion Jun 12, 2023
e34e132
Test multiple flashcarts
networkfusion Jun 12, 2023
aaf0d7b
Minor improvements.
networkfusion Jun 12, 2023
c05e688
uncomment mp3.c
networkfusion Jun 12, 2023
d60d7ab
Uncomment mp3 changes in main.c
networkfusion Jun 12, 2023
e7d49c7
Uncomment mp3.h
networkfusion Jun 12, 2023
9a1aef0
Update sound.c
networkfusion Jun 12, 2023
2e7774c
Split build into matrix for different flashcarts.
networkfusion Jun 12, 2023
00d8536
Fix yaml
networkfusion Jun 12, 2023
4e3dc36
Minor improvements
networkfusion Jun 12, 2023
ea5e00a
Minor improvements.
networkfusion Jun 12, 2023
7bc8c8d
Fix display output
networkfusion Jun 14, 2023
47568df
Fix SD mounting
networkfusion Jun 14, 2023
558fdd8
Add ED64 firmware
networkfusion Jun 14, 2023
49769ac
Fix draw sprite
networkfusion Jun 14, 2023
ec4df9e
Work on dfs locations
networkfusion Jun 14, 2023
4ee473f
Re-enable sound
networkfusion Jun 14, 2023
217e12f
revert surface_t changes
networkfusion Jun 14, 2023
5044404
Rename mempak to CPak
networkfusion Jun 14, 2023
12fd56c
Fix define for ed64p
networkfusion Jun 14, 2023
560a9bb
Minor makefile improvements
networkfusion Jun 14, 2023
6c69efe
remove STB_TRUETYPE_IMPLEMENTATION
networkfusion Jun 14, 2023
94f2936
Futher work on makefile
networkfusion Jun 14, 2023
e80805e
Further work to align makefile
networkfusion Jun 14, 2023
942f691
fix some warnings.
networkfusion Jun 14, 2023
2745c8c
Add CI rename hack
networkfusion Jun 14, 2023
b666432
Work on types.
networkfusion Jun 15, 2023
0131e49
Update config files
networkfusion Jun 15, 2023
7c6bdb8
Move to altra64 ini
networkfusion Jun 15, 2023
26bce78
Improve about
networkfusion Jun 15, 2023
2750af7
Update sound.c types
networkfusion Jun 16, 2023
bdd93b8
part rename display_context_t
networkfusion Jun 16, 2023
d0c63df
work on types
networkfusion Jun 16, 2023
1db3f19
work on display
networkfusion Jun 16, 2023
86e8a21
Replace sleep with libdragon wait_ms where possible
networkfusion Jun 16, 2023
6572970
Remove MP3 support
networkfusion Jun 16, 2023
2fbc8fe
Improve display lock
networkfusion Jun 17, 2023
3781a61
minor changes
networkfusion Jun 17, 2023
96744a8
display updates
networkfusion Jun 19, 2023
b8255c1
work on types
networkfusion Jun 19, 2023
76aa817
Start sorting dfs
networkfusion Jun 19, 2023
255d6ad
loadpng fix
networkfusion Jun 19, 2023
05e1338
work on types
networkfusion Jun 19, 2023
316cdf2
types improvements
networkfusion Jun 19, 2023
f0a50dc
rename mempak to cpak
networkfusion Jun 19, 2023
f791eb9
if statement fixes
networkfusion Jun 20, 2023
f898464
fix spacing.
networkfusion Jun 20, 2023
3ab354a
Work on warnings
networkfusion Jun 21, 2023
0032450
Remove obsolete fonts
networkfusion Jun 22, 2023
cb0551e
Update stb_image.h
networkfusion Jun 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM ubuntu:latest

RUN apt-get update && \
apt-get upgrade -y && \
apt-get install build-essential git python3 wget cmake -y && \
apt-get install texinfo libc6 libgmp-dev libmpfr-dev libmpc-dev libpng-dev zlib1g-dev libtool autoconf -y && \
wget https://github.com/DragonMinded/libdragon/releases/download/toolchain-continuous-prerelease/gcc-toolchain-mips64-x86_64.deb && \
dpkg -i gcc-toolchain-mips64-x86_64.deb && \
rm gcc-toolchain-mips64-x86_64.deb && \
wget https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.15.1/sc64-deployer-linux-v2.15.1.tar.gz && \
tar -xf sc64-deployer-linux-v2.15.1.tar.gz -C /usr/local/bin && \
rm sc64-deployer-linux-v2.15.1.tar.gz && \
SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" && \
echo "$SNIPPET" >> "/root/.bashrc"
25 changes: 25 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "Altra64-menu",
"build": {
"dockerfile": "Dockerfile"
},
"mounts": [
"source=altra64-menu-bashhistory,target=/commandhistory,type=volume"
],
"postCreateCommand": "chmod +x ./.devcontainer/postCreateCommand.sh && ./.devcontainer/postCreateCommand.sh",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.makefile-tools"
],
"settings": {
"git.ignoredRepositories": [
"libdragon",
"lib/libyaml",
"lib/libmad"
]
}
}
}
}
7 changes: 7 additions & 0 deletions .devcontainer/postCreateCommand.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# HACK to fix fatfs for our needs.
sed -i -- 's|#define FF_USE_STRFUNC 0|#define FF_USE_STRFUNC 1|g' libdragon/src/fatfs/ffconf.h

cd ./libdragon && ./build.sh
cd .. # exit libdragon dir.

cd ./lib && chmod +x ./build.sh && ./build.sh
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* text=auto eol=lf
# These are all scripts and should use crlf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
90 changes: 90 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Bug report
description: Create a bug report to help us improve
labels:
- "Type: Bug"
- "Status: Waiting triage"
body:
- type: markdown
attributes:
value: |
# :warning: **Please read before raising the issue** :warning:

If you have a **question**, need clarification on something, need help on a particular situation or want to start a discussion, **DO NOT** open an issue here. _It will be automatically closed!_
First raise it in discussions.
If you really want to raise an issue, please make sure to follow the template and provide the required information.
Failing to do so will most likely end up on the issue being close. Don't take offense at this.
It is simply a time management decision.
Whenever an issue is raised without following the template and the required information is not provided, very often too much time has to be spent going back and forth to obtain the details that are outlined below.

- type: input
id: firmware_version
attributes:
label: Firmware version of the flashcart
description: The firmware version used
placeholder: V0.1
validations:
required: false

- type: input
id: menu_version
attributes:
label: Menu version used
description: The menu version used
placeholder: e.g 1.2.3.456, N/A
validations:
required: false

- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the problem is.
validations:
required: true

- type: textarea
id: repro_steps
attributes:
label: How to reproduce
description: Detailed repro steps so we can see the same problem. If not already explained above.
placeholder: |
1.
2.
...
validations:
required: false

- type: textarea
id: expected_behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen. If applicable.
validations:
required: false

- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Very helpful if you send along a few screenshots to help visualize the issue!
placeholder: drag and drop here, if applicable
validations:
required: false

- type: textarea
id: other_things
attributes:
label: Additional information
description: Other suggested things. If applicable/relevant.
placeholder: |
for example link to the repository with sample code
code snippets
validations:
required: false

- type: markdown
attributes:
value: |
### Make an effort to fix the bug

Attempt to submit a [Pull Request (PR)](https://help.github.com/articles/about-pull-requests/) that fixes the bug. Include in this PR a test that verifies the fix. If you were not able to fix the bug, a PR that illustrates your partial progress will suffice.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/networkfusion/altra64/discussions
about: Channel for asking QUESTIONS.
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Feature request
description: Suggest an idea to help us improve.
labels:
- "Type: Feature request"
- "Status: waiting feedback"
body:
- type: markdown
attributes:
value: |
# :warning: **Please read before raising the issue** :warning:

If you have a **question**, need clarification on something, need help on a particular situation or want to start a discussion, **DO NOT** open an issue here. _It will be automatically closed!_

If you really want to raise an issue, please make sure to follow the template and provide the required information. Failing to do so will most likely end up on the issue being close. Don't take offense at this. It is simply a time management decision. Whenever an issue is raised without following the template and the required information is not provided, very often too much time has to be spent going back and forth to obtain the details that are outlined below.

- type: textarea
id: description
attributes:
label: Description
description: Is your feature request related to a problem? Please describe.
placeholder: A clear and concise description of what the problem is. E.g. I'm always frustrated when [...]
validations:
required: true

- type: textarea
id: solution
attributes:
label: How to solve the problem
description: Describe the solution you'd like
placeholder: A clear and concise description of what you would like to happen/exist.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: What alternatives you've considered and/or tested.
placeholder: A clear and concise description of any alternative solutions, features or tools that you've considered.
validations:
required: false

- type: textarea
id: other_context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
placeholder: |
code snippets
screenshots
mockups
validations:
required: false
36 changes: 36 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

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

## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->

## 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)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [ ] 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>
58 changes: 58 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: build

on:
# push:
pull_request:
release:
types:
- created
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include: [
{ flashcart: ed64, filename: OS64.v64 },
{ flashcart: ed64p, filename: OS64P.v64 }
]

steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 1 # we only require the last check-in, unless we want to create a changelog.

- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build Altra64-Menu ROM
uses: devcontainers/[email protected]
with:
push: never
runCmd: |
make ${{ matrix.flashcart }}

- name: Adjust ROM name (hack)
if: ${{ matrix.flashcart}} == 'ed64p'
uses: devcontainers/[email protected]
with:
push: never
runCmd: |
mv ./bin/OS64.v64 ./bin/OS64P.v64
mv ./bin/OS64.elf ./bin/OS64P.elf

- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: Altra64-Menu-${{ matrix.flashcart}}-ROM
path: |
./bin/*.v64
./bin/*.elf
./res/*.ini
10 changes: 10 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[submodule "libdragon"]
path = libdragon
url = https://github.com/DragonMinded/libdragon.git
branch = trunk
[submodule "lib/libyaml"]
path = lib/libyaml
url = https://github.com/yaml/libyaml
[submodule "lib/libmad"]
path = lib/libmad
url = https://github.com/n64-tools/libmad.git
17 changes: 17 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
This menu would not have been possible without the following people:

Saturnu
Parasyte
JonesAlmighty / NetworkFusion


Further credit for contributions:
Jay Oster
Krikzz
Richard Weick
ChillyWilly
Conle
AriaHiro64
moparisthebest
Skawo
Libdragon / N64Brew contributors
Loading