Skip to content

Commit 030e1d9

Browse files
Batch upload to Tuna branch
0 parents  commit 030e1d9

297 files changed

Lines changed: 17753 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
Language: Cpp
3+
AccessModifierOffset: -4
4+
AlignAfterOpenBracket: Align
5+
AlignConsecutiveAssignments: false
6+
AlignConsecutiveBitFields: AcrossEmptyLinesAndComments
7+
AlignConsecutiveDeclarations: false
8+
AlignConsecutiveMacros: AcrossComments
9+
AlignEscapedNewlines: Left
10+
AlignOperands: Align
11+
AlignTrailingComments: true
12+
AllowAllArgumentsOnNextLine: false
13+
AllowAllConstructorInitializersOnNextLine: true
14+
AllowAllParametersOfDeclarationOnNextLine: true
15+
AllowShortBlocksOnASingleLine: Empty
16+
AllowShortCaseLabelsOnASingleLine: false
17+
AllowShortEnumsOnASingleLine: true
18+
AllowShortFunctionsOnASingleLine: All
19+
AllowShortIfStatementsOnASingleLine: Never
20+
AllowShortLambdasOnASingleLine: Empty
21+
AllowShortLoopsOnASingleLine: false
22+
AlwaysBreakAfterReturnType: None
23+
AlwaysBreakBeforeMultilineStrings: false
24+
AlwaysBreakTemplateDeclarations: true
25+
BinPackArguments: true
26+
BinPackParameters: true
27+
BitFieldColonSpacing : Both
28+
BreakBeforeBraces: Custom
29+
BraceWrapping:
30+
AfterCaseLabel: false
31+
AfterClass: true
32+
AfterControlStatement: false
33+
AfterEnum: false
34+
AfterFunction: true
35+
AfterNamespace: true
36+
AfterObjCDeclaration: false
37+
AfterStruct: true
38+
AfterUnion: true
39+
AfterExternBlock: false
40+
BeforeCatch: false
41+
BeforeElse: false
42+
BeforeLambdaBody: false
43+
BeforeWhile: false
44+
IndentBraces: false
45+
SplitEmptyFunction: true
46+
SplitEmptyRecord: true
47+
SplitEmptyNamespace: true
48+
BreakBeforeBinaryOperators: None
49+
BreakBeforeConceptDeclarations: true
50+
BreakBeforeTernaryOperators: false
51+
BreakConstructorInitializers: BeforeComma
52+
BreakStringLiterals: true
53+
ColumnLimit: 0
54+
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
55+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
56+
ConstructorInitializerIndentWidth: 4
57+
ContinuationIndentWidth: 4
58+
Cpp11BracedListStyle: true
59+
DeriveLineEnding: true
60+
DerivePointerAlignment: false
61+
DisableFormat: false
62+
EmptyLineBeforeAccessModifier: LogicalBlock
63+
FixNamespaceComments: true
64+
ForEachMacros: []
65+
IncludeBlocks: Preserve
66+
IndentExternBlock: NoIndent
67+
IndentCaseBlocks: false
68+
IndentCaseLabels: true
69+
IndentGotoLabels: true
70+
IndentWidth: 4
71+
IndentWrappedFunctionNames: false
72+
KeepEmptyLinesAtTheStartOfBlocks: true
73+
MacroBlockBegin: ''
74+
MacroBlockEnd: ''
75+
MaxEmptyLinesToKeep: 3
76+
NamespaceIndentation: None
77+
ObjCBlockIndentWidth: 2
78+
ObjCSpaceAfterProperty: false
79+
ObjCSpaceBeforeProtocolList: true
80+
PenaltyBreakAssignment: 80
81+
PenaltyBreakBeforeFirstCallParameter: 19
82+
PenaltyBreakComment: 300
83+
PenaltyBreakFirstLessLess: 120
84+
PenaltyBreakString: 1000
85+
PenaltyBreakTemplateDeclaration: 80
86+
PenaltyExcessCharacter: 1000000
87+
PenaltyIndentedWhitespace: 80
88+
PenaltyReturnTypeOnItsOwnLine: 60
89+
PointerAlignment: Right
90+
# uncomment below when clang >13 will be out
91+
# IndentPPDirectives: AfterHash
92+
# PPIndentWidth: 1
93+
ReflowComments: true
94+
SortIncludes: false
95+
SpaceAfterCStyleCast: false
96+
SpaceAfterLogicalNot: false
97+
SpaceAroundPointerQualifiers: Default
98+
SpaceBeforeAssignmentOperators: true
99+
SpaceBeforeCaseColon: false
100+
SpaceBeforeCpp11BracedList: true
101+
SpaceBeforeInheritanceColon: false
102+
SpaceBeforeParens: ControlStatements
103+
SpaceBeforeRangeBasedForLoopColon: true
104+
SpaceBeforeSquareBrackets: false
105+
SpaceInEmptyBlock: false
106+
SpaceInEmptyParentheses: false
107+
SpacesBeforeTrailingComments: 1
108+
SpacesInAngles: false
109+
SpacesInConditionalStatement: false
110+
SpacesInContainerLiterals: true
111+
SpacesInCStyleCastParentheses: false
112+
SpacesInParentheses: false
113+
SpacesInSquareBrackets: false
114+
Standard: Cpp11
115+
TabWidth: 4
116+
UseTab: Never

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
**README.txt text eol=crlf
2+
**README-installer.txt text eol=crlf
3+
**LEEME-instalador.txt text eol=crlf
4+
Changelog.MD text eol=crlf

.github/ISSUE_TEMPLATE/issue.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Issue report
2+
description: Create a report to help us improve
3+
title: "[ISSUE]: "
4+
labels: [bug]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
### Issue report form:
10+
11+
- type: checkboxes
12+
id: terms
13+
attributes:
14+
label: Checks
15+
description: "Check before posting"
16+
options:
17+
- label: I have checked [__existing issues__](https://github.com/israpps/FreeMcBoot-Installer/issues) for duplicates and found none
18+
- label: I am using a build downloaded from [this repository](https://israpps.github.io/FreeMcBoot-Installer/test/8_Downloads.html)
19+
20+
- type: textarea
21+
id: explanation
22+
attributes:
23+
label: Describe the issue
24+
description: A clear and concise description of what the issue is.
25+
placeholder: My issue is...
26+
validations:
27+
required: true
28+
29+
- type: markdown
30+
attributes:
31+
value: |
32+
### Program setup
33+
> (please complete the following information):
34+
35+
- type: input
36+
id: console
37+
attributes:
38+
label: Console model
39+
description: you can see it on the console sticker or inside OSDSYS (press triangle on main menu)
40+
placeholder: SCPH-????? | DTL-H????? | DESR-????
41+
validations:
42+
required: true
43+
44+
- type: dropdown
45+
id: fmcborfhdb
46+
attributes:
47+
label: "Where do you have the issue?"
48+
multiple: false
49+
options:
50+
- FreeMcBoot
51+
- FreeMcBoot for PSX-DESR
52+
- FreeHdBoot
53+
- Installer
54+
validations:
55+
required: true
56+
57+
- type: input
58+
id: oplver
59+
attributes:
60+
label: "Program version (if possible, also provide hash seen on installer used)"
61+
description: "Version of the software involved on issue"
62+
placeholder: "1.966"
63+
validations:
64+
required: true
65+
66+
- type: dropdown
67+
id: changes
68+
attributes:
69+
label: "System modifications"
70+
description: "Aditional non-standard changes that are applied to the console"
71+
multiple: true
72+
options:
73+
- Modchip
74+
- MechaPWN
75+
- LensChanger
76+
77+
- type: textarea
78+
id: context-and-data
79+
attributes:
80+
label: Context and extra information
81+
description: Information about affected features and expected behavior
82+
placeholder: "running an app in x circumstances cause z issue."
83+
validations:
84+
required: false

.github/workflows/compile-core.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build [All]
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'installer/**'
8+
- 'installer_res/**'
9+
- '.github/workflows/compile-core.yml'
10+
schedule:
11+
- cron: "0 15 1 * *"
12+
13+
jobs:
14+
build-packages:
15+
runs-on: ubuntu-latest
16+
container: ps2dev/ps2dev:v1.0
17+
steps:
18+
- name: Install dependencies
19+
run: apk add --no-cache build-base git zip p7zip
20+
21+
- uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
25+
- name: Generate build metadata
26+
run: |
27+
echo "SHA8=${GITHUB_SHA::8}" >> $GITHUB_ENV
28+
echo "BUILD_TS=$(date +'%Y-%m-%d_%H-%M-%S')" >> $GITHUB_ENV
29+
30+
- name: Compile
31+
run: |
32+
cd installer
33+
make rebuild FMCB_INSTALLER_VERSION=${{ env.SHA8 }} EE_BIN_DIR=../installer_res/
34+
make rebuild FMCB_INSTALLER_VERSION=${{ env.SHA8 }} EE_BIN_DIR=../installer_res/ EXFAT=1
35+
36+
- name: Prepare folder for Release
37+
run: |
38+
cd installer_res
39+
chmod +x ./pack.sh
40+
./pack.sh
41+
mkdir -p ../release_artifacts
42+
mv ../FMCB-1966.7z ../release_artifacts/OSDMenu-Installer-${{ env.BUILD_TS }}.7z
43+
44+
- name: Upload artifact
45+
if: success()
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: FMCB-${{ env.SHA8 }}
49+
path: release_artifacts/OSDMenu-Installer-${{ env.BUILD_TS }}.7z
50+
51+
- name: Generate changelog since last tag
52+
id: changelog
53+
run: |
54+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
55+
LAST_TAG=$(git describe --tags --abbrev=0 || echo "")
56+
echo "Last tag was: $LAST_TAG"
57+
58+
LOG_BODY=""
59+
if [ -n "$LAST_TAG" ]; then
60+
LOG_BODY="$(git log $LAST_TAG..HEAD --pretty=format:"- %s (%h) by %an")"
61+
else
62+
LOG_BODY="$(git log --pretty=format:"- %s (%h) by %an")"
63+
fi
64+
65+
echo 'RELEASE_BODY<<EOF' >> $GITHUB_ENV
66+
echo "$LOG_BODY" >> $GITHUB_ENV
67+
echo 'EOF' >> $GITHUB_ENV
68+
69+
- name: Create release
70+
uses: marvinpinto/action-automatic-releases@latest
71+
with:
72+
repo_token: "${{ secrets.GITHUB_TOKEN }}"
73+
automatic_release_tag: "OSDMenu"
74+
prerelease: true
75+
title: "OSDMenu Installer"
76+
files: |
77+
release_artifacts/OSDMenu-Installer-${{ env.BUILD_TS }}.7z
78+
body: |
79+
### Recent Changes:
80+
${{ env.RELEASE_BODY }}

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
1953/__Package/FMCBInstaller.elf
3+
1965/__Package/FMCBInstaller.elf
4+
1966/__Package/FMCBInstaller.elf
5+
**.o
6+
**.BAK
7+
MASS/APPS/APP_LIST.sh
8+
MASS/APPS/applist.ini
9+
MASS/APPS/ISR.ETL
10+
.vscode/*

Changelog.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Package made by Matias Israelson (AKA: El_isra)
2+
get the latest package here: https://github.com/israpps/FreeMcBoot-Installer/releases
3+
FreeMcBoot installer originally made by sp193
4+
5+
Changes:
6+
7+
- changed icon Flags:
8+
* `B?EXEC-SYSTEM` will be shown as "ps2 software"
9+
* `SYS-CONF` will be shown as "settings"
10+
- Changed icons:
11+
* `B?EXEC-SYSTEM` By SpaceCoyote
12+
* `SYS-CONF` By SpaceCoyote
13+
- added 1.965 version with:
14+
* Poweroff external utility bundled
15+
- changed background, font, and font color for all installers
16+
- Added 1.953 version fused inside 1.965 package to avoid old magicgate binding issues caused by the program
17+
- 1.965 and 1.953: replace original FSCK with 1.966 FSCK (updated), and removed old font, wose size was 16mb (thats a lot because FSCK goes to `__system` partition, wich is 128mb sized, (so that font took 1/8 of total size)
18+
- added manual HDD formatting feature
19+
- updated lang
20+
- normal install variants names made noob-friendly
21+
- installers can now detect and inform rare consoles and tell the user (ie: normal PS2 with `1.80` ROM)
22+
- blocked multi-install, no need for it
23+
- System update folders `B?EXEC-SYSTEM` will have icon.sys variations for easy identification. ie: japanese system update folder (`BIEXEC-SYSTEM`) will be shown on OSD as "FreeMcBoot (japan)"
24+
- OPL 1.0.0 bundled in package
25+
- replaced uLaunchELF 4.43x `41e4ebe` with uLaunchELF 4.43x_isr
26+
- add uLaunchELF 4.43x_isr_hdd on FreeHdBoot install pacakge
27+
- HDD APPS partition will hold OPL 1.0.0 and uLaunchELF 4.43x_isr in KELF format, ready to be executed from HDD-OSD
28+
- (related to previous entry) modified HDD APPS partition Header attributes to allow executiuon of uLaunchELF KELF
29+
- all the installers are rebuilt with ps2dev:v1.0

OpenTuna_Integration_Audit.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# 🧾 OpenTuna Integration Audit – PS2 Exploits Installer
2+
3+
## ✅ Objective
4+
Integrate a new menu option into the FreeMcBoot Installer called **Install OpenTuna Exploit Icon** that:
5+
- Detects ROM version and selects appropriate `.bin`
6+
- Installs `icon.icn` and `icon.sys` to `mc:/OPENTUNA/`
7+
- Applies timestamp `12/31/2099 11:59:59 PM`
8+
- Only operates if `mc:/BOOT/BOOT.ELF` is present
9+
- Fully integrated into existing GUI/menu without disrupting existing behavior
10+
11+
---
12+
13+
## 📁 Source Files Modified or Added
14+
15+
| File | Status | Description |
16+
|-----------------------|---------------|-----------------------------------------------------------|
17+
| `menu.c` | Modified | Added new menu item and event handler trigger |
18+
| `menu.h` | Modified | Added `EVENT_INSTALL_OPENTUNA` enum definition |
19+
| `main.c` | Modified | Dispatch logic for OpenTuna install event |
20+
| `main.h` | Modified | Header declarations for dispatch |
21+
| `lang.c` | Modified | Added `SYS_UI_LBL_OPENTUNA` and associated messages |
22+
| `lang.h` | Modified | Declared new language string index |
23+
| `opentuna_installer.c`| **New** | Full install routine logic for OpenTuna |
24+
| `opentuna_installer.h`| **New** | Header for OpenTuna installer logic |
25+
| `system.c` | Modified | Timestamp utility reused from existing code |
26+
| `system.h` | Modified | Header for timestamp utility |
27+
| `Makefile` | Modified | Added `opentuna_installer.o` to build objects |
28+
| `pack.sh` | Modified | Ensures INSTALL/OPENTUNA/ content gets packed in release |
29+
| `INSTALL/OPENTUNA/` | Resource added| Contains: `opentuna_fats.bin`, `opentuna_fat170.bin`, `opentuna_slims.bin`, `icon.sys` |
30+
| `UI.c/h` | Utilized | Prompting and messaging reuse for slot selection/errors |
31+
32+
---
33+
34+
## 🧠 Behavioral Changes
35+
36+
| Area | Behavior Change |
37+
|-------------------------|-----------------|
38+
| Menu Count | `MENU_ITEM_COUNT` incremented by 1 (if applicable) |
39+
| Menu Labels | `SYS_UI_LBL_OPENTUNA` added for labeling |
40+
| Event Dispatching | `EVENT_INSTALL_OPENTUNA` added to `main.c` |
41+
| Install Logic | `InstallOpenTuna()` handles ROM check, file copy, overwrite prompt, timestamp |
42+
| BOOT.ELF Validation | If not found → error message shown |
43+
| Folder Overwrite | If exists → prompt user to overwrite |
44+
45+
---
46+
47+
## 🧪 Confirmed Functional Flow
48+
49+
1. Launch installer
50+
2. OpenTuna option appears in Main Menu
51+
3. Select → memory card prompt appears
52+
4. If BOOT.ELF present:
53+
- Installs based on ROM version
54+
- Applies correct timestamps
55+
- Returns to Main Menu with confirmation
56+
5. If BOOT.ELF missing → installation aborts with error
57+
6. If folder exists → prompt to overwrite
58+
59+
---
60+

0 commit comments

Comments
 (0)