Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 13 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
name: Build and Deploy
on:
push:
branches:
- master
name: Build site
on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@v2.4.0
- name: Deploy MkDocs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install deps
run: pip install -U -r requirements.txt
- name: Build
run: mkdocs build --strict
39 changes: 39 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Deploy Website
on:
push:
branches:
- master

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: true

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: pip install -U -r requirements.txt
- run: mkdocs build --strict
- uses: actions/upload-pages-artifact@v3
with:
path: 'site'
- id: deployment
if: github.ref_name == 'master'
uses: actions/deploy-pages@v4
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM python:3.11-alpine

RUN apk add git

WORKDIR /wiki
COPY requirements.txt .
RUN pip install -U -r requirements.txt

# Force /wiki directory to be considered safe for git
RUN git config --global --add safe.directory /wiki

RUN echo $'#!/bin/sh\n\
cd /wiki\n\
mkdocs serve -a $(hostname -i):8000 --strict' > /docker-entrypoint.sh

RUN chmod +x /docker-entrypoint.sh

ENTRYPOINT ["/docker-entrypoint.sh"]
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
build: ## Build docs locally
mkdocs build --clean
mkdocs build --strict --clean

serve: ## Serve live version of your docs
mkdocs serve
mkdocs serve --strict

all: build
71 changes: 47 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Contributions are very welcome. Here's how you can help:
- Correct spelling / grammar
- Fix links

### Workflow
## Workflow

1. __Fork__ this repo
1. Make changes
Expand All @@ -26,6 +26,7 @@ Contributions are very welcome. Here's how you can help:
### Step by step instructions

**NOTE**: The following instructions are targeted towards Unix OS' - needed steps on windows may vary.

**NOTE 2**: You need python3 and python3-venv installed. Please look at your OS' package manager to find the correct packages.

1. At first: Fork the repository to your account!
Expand All @@ -42,41 +43,22 @@ or
git clone https://github.com/<username>/wiki.git
```

3. Prepare your python virtual environment and dependencies
3. Navigate into wiki repository folder

```sh
# Navigate to the cloned repo
cd wiki/

# Create a python3 virtual environment in your cloned repository
python -m venv venv

# Activate the virtual environment
source venv/bin/activate
```

4. Install needed python dependencies using python package manager -> pip
4. Choose one of the two deployment methods below.

```sh
pip install mkdocs mkdocs-material mkdocs-redirects
```

5. At this point, load up the clone repository in a text editor that has live-markdown preview function.
5. At this point, load up the cloned repository in a text editor that has live-markdown preview function.
- For example: Visual Studio Code. Instructions: (https://code.visualstudio.com/Docs/languages/markdown)

6. When you are done, use the following steps to build & preview the documentation / changes locally.

Build the documentation
```sh
make build
```

Serve the documentation
```sh
make serve
```

7. Once you are happy and the added changes are looking proper, you are ready to submit your work.
6. Once you are happy and the added changes are looking proper, you are ready to submit your work.

Add modified files for commiting
```sh
Expand All @@ -100,3 +82,44 @@ git push
```

8. Send a Pull Request :)

## Deployment / Usage of mkdocs

### Native deployment

1. Create & activate python virtual-environment (might need dependency `python3-venv`, see: <https://docs.python.org/3/library/venv.html>)

```
python3 -m venv venv
source venv/bin/activate
```

2. Install mkdocs and dependencies

```
pip install -r requirements.txt
```

3. Edit docs and verify with the following commands:

Serve the documentation (<http://127.0.0.1:8000>)
```
mkdocs serve --strict
```

Build the documentation
```
mkdocs build --strict
```

### Docker deployment

1. Execute docker container:

```
docker compose up
```

2. Navigate to <http://127.0.0.1:8000>
3. Make your changes and verify the formatting / linking still checks out.

10 changes: 10 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: "3"

services:
wiki:
build:
context: .
ports:
- "127.0.0.1:8000:8000"
volumes:
- ./:/wiki
6 changes: 3 additions & 3 deletions docs/!Pages_That_Need_Updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

Some pages need edits to remain useful or become more beautiful.

- [STFS](/System-Software/Formats/STFS) needs the base sequence written up
- [STFS](./System-Software/Formats/STFS.md) needs the base sequence written up
- halotroop2288 is working on this!
- https://github.com/halotroop2288/kaitai_struct_formats/blob/pr/xbox/filesystem/stfs.ksy
- [XCP](/System-Software/Formats/XCP) needs a full file format spec written up for it.
- [XCP](./System-Software/Formats/XCP.md) needs a full file format spec written up for it.
- halotroop2288 is working on this!
- https://gitlab.com/0x8081/libxcp/-/blob/main/src/xcp.h
- https://gitlab.com/0x8081/libxcp/-/blob/main/src/xcp.c
- [XConfig](/System-Software/Formats/XConfig)'s spec (Notes section) should be converted to a markdown table.
- [XConfig](./System-Software/XConfig.md)'s spec (Notes section) should be converted to a markdown table.
6 changes: 3 additions & 3 deletions docs/!Pages_with_missing_images.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Pages with missing images

- [DVD Drive](Hardware/Console/DVD_Drive)
- [NAND](Hardware/Console/NAND) "Atmel2.jpg"
- [Wifi Adapter](Hardware/Accessories/Wifi_Adapter.md)
- [DVD Drive](./Hardware/Console/DVD_Drive.md)
- [NAND](./Hardware/Console/NAND/index.md) "Atmel2.jpg"
- [Wifi Adapter](./Hardware/Accessories/Wifi_Adapter.md)
4 changes: 2 additions & 2 deletions docs/Category_Template_documentation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Category: Template documentation

[Old Main Page](/Old_Main_Page)
[Old Main Page](./Old_Main_Page.md)

[Other OS Loader](/Other_OS_Loader)
[Other OS Loader](./Other_OS_Loader.md)
12 changes: 6 additions & 6 deletions docs/Development/Cross_Compiler.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Cross Compiler

The Xbox 360 [CPU](../Xenon_(CPU)) is based on IBM's Power
The Xbox 360 [CPU](../Hardware/Console/Xenon_(CPU).md) is based on IBM's Power
Architecture. Unless you have a machine with PowerPC CPU and Linux
running (such as an older Mac or a PS3), you need to set up a cross
compiler toolchain in order to compile code like the [Linux Kernel](../Linux_Kernel)
compiler toolchain in order to compile code like the [Linux Kernel](../Linux/Linux_Kernel.md)
for your Xbox 360.

A typical cross compiler toolchain for the GNU compiler collection
Expand All @@ -21,7 +21,7 @@ well.

## Using the Xenon Toolchain

The easiest way to set up a complete cross compiler toolchain is the [Xenon Toolchain](../Xenon_Toolchain).
The easiest way to set up a complete cross compiler toolchain is the [Xenon Toolchain](./Xenon_Toolchain.md).
Its using current gcc and does not take as long as crossotool to compile.


Expand Down Expand Up @@ -70,7 +70,7 @@ cd crosstool-0.43/
./demo-powerpc-970.sh
```

4. **Get a drink**, go for a walk or use the time to remove the resistor [R6T3](../R6T3)
4. **Get a drink**, go for a walk or use the time to remove the resistor [R6T3](../Hardware/R6T3.md)
from the mainboard of your Xbox 360... Compilation of your cross compiler will just take a while.

5. **When finished**, you may want to add your cross compiler binaries to your PATH environment
Expand All @@ -80,6 +80,6 @@ variable.
export PATH=$PATH:/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc64-unknown-linux-gnu/bin
```

You're done. Feel free to configure and compile your [Linux Kernel](../Linux_Kernel).
You're done. Feel free to configure and compile your [Linux Kernel](../Linux/Linux_Kernel.md).


[Category: Development](/Development)
6 changes: 3 additions & 3 deletions docs/Development/Dumpana.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Dumpana

Dumpana is a tool made by tmbinc for dumping the Xbox's ANA Chip to
create new [Modesetting](../Modesetting) for additional
create new [Modesetting](../Modesetting.md) for additional
Video-Modes. It's a linux tool.

## Source

The source is available on the [free60 GIT Repository](../Free60_Git_Repository)
The source is available on the [free60 GIT Repository](./Free60_Git_Repository.md)
in the tools section.

[Category: Development](/Development)

2 changes: 1 addition & 1 deletion docs/Development/Finding_the_right_timing.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,4 @@ Make sure ... you got it ;)
PS: Those pseudo-code examples don't show the slowdown code for the sake
of clarity.

[Category: Development](/Development)

2 changes: 1 addition & 1 deletion docs/Development/Free60_Git_Repository.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ https://github.com/Free60Project
For LibXenon projects - check out the appropriate Github organization:
https://github.com/LibxenonProject

[Category: Development](Development)

6 changes: 3 additions & 3 deletions docs/Development/LibHomebrew.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ console to another. Please help making this idea real!

For every (hacked) hardware, there is a homebrew lib / toolchain:

- [Libxenon](LibXenon) for guess what ;)
- [Libxenon](./LibXenon/index.md) for guess what ;)
- [libogc](http://www.devkitpro.org/category/libogc/) for Wii,
GameCube
- [OpenXDK](https://sourceforge.net/projects/openxdk/) for Xbox 1
Expand Down Expand Up @@ -94,5 +94,5 @@ looks like a promising ground. It contains its own libc implementation,
whereas most homebrew projects are using newlib
instead.

[Category: Homebrew Software](/Homebrew)
[Category: Development](/Development)
[Category: Homebrew Software](../Homebrew/index.md)

6 changes: 3 additions & 3 deletions docs/Development/LibXenon/Examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Source Code (incl. Makefile): [Download](http://file.libxenon.org/free60/libxeno
### Compiling LibXenon Code

All of these samples/programs include a Makefile, so its easy to compile
them with the [Toolchain](../Compiling_the_Toolchain).
them with the [Toolchain](https://github.com/Free60Project/libxenon).

```sh
cd into_the_directory
Expand All @@ -73,5 +73,5 @@ move all the sourcecode-files of your project into a folder "source" so
the Makefile can find
them.

[Category: Homebrew Software](/Homebrew)
[Category: Development](/Development)
[Category: Homebrew Software](../../Homebrew/index.md)

14 changes: 7 additions & 7 deletions docs/Development/LibXenon/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Linux, which gives some advantages regarding system utilization.

## Getting libXenon

**libXenon** is work-in-progress, and is available from [Free60 Git Repository](../Free60_Git_Repository)
**libXenon** is work-in-progress, and is available from [Free60 Git Repository](../Free60_Git_Repository.md)

You can check out the source code using git with the following command:

Expand All @@ -20,24 +20,24 @@ You can check out the source code using git with the following command:

## Installing libXenon

To use **libXenon** you need a proper installation of [Xenon Toolchain](../Compiling_the_Toolchain) first.
To use **libXenon** you need a proper installation of [Xenon Toolchain](https://github.com/Free60Project/libxenon) first.
You just go into the toolchain-directory which holds `build-xenon-toolchain` and execute:

` ./build-xenon-toolchain libxenon`

This will download and install a fresh copy of **libXenon** Libraries to
the `$DEVKITXENON`-path (Which should be defined in your ~/.bashrc
already! - See bottom of [Xenon Toolchain](../Compiling_the_Toolchain)-page if it isn't!)
already! - See bottom of [Xenon Toolchain](https://github.com/Free60Project/libxenon)-page if it isn't!)

## Support

**libXenon** (or **devkitxenon**) stuff is best discussed in
the [IRC](/Support/IRC/) or [Discord](/Support/Discord/)
the [IRC](../../Support/IRC.md) or [Discord](../../Support/Discord.md)

## Sample Code

Example code illustrating **libXenon** use can be found on the [LibXenon Examples](/Development/LibXenon/Examples)
Example code illustrating **libXenon** use can be found on the [LibXenon Examples](./Examples.md)
page.

[Category: Homebrew Software](/Homebrew)
[Category: Development](/Development)
[Category: Homebrew Software](../../Homebrew/index.md)

Loading