-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from brain-hackers/ci
Get ready
- Loading branch information
Showing
5 changed files
with
186 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
name: Build | ||
|
||
on: | ||
push: | ||
branches: 'ci*' | ||
tags: '*' | ||
|
||
jobs: | ||
create_release: | ||
name: Create release | ||
runs-on: ubuntu-latest | ||
outputs: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
submodules: false | ||
- name: Generate release name | ||
id: release_name | ||
# https://github.community/t/how-to-get-just-the-tag-name/16241/4 | ||
run: echo ::set-output name=name::${GITHUB_REF/refs\/*s\//} | ||
- name: Create release | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ steps.release_name.outputs.name }} | ||
release_name: ${{ steps.release_name.outputs.name }} | ||
body: '' | ||
draft: false | ||
prerelease: true | ||
|
||
build: | ||
name: Build | ||
runs-on: ubuntu-20.04 | ||
needs: [create_release] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- name: Make /opt writable | ||
run: sudo chown "$(whoami):$(whoami)" /opt | ||
- name: Install cegcc | ||
run: | | ||
wget -O cegcc.zip https://github.com/brain-hackers/cegcc-build/releases/download/2022-04-11-133546/cegcc-2022-04-11-133546.zip | ||
unzip -q cegcc.zip | ||
cp -r cegcc /opt/ | ||
- name: Build dumper | ||
run: make | ||
- name: Setup releases | ||
id: release_name | ||
run: | | ||
mkdir 'Version.txt Dumper' | ||
touch 'Version.txt Dumper/index.din' | ||
cp AppMain.exe 'Version.txt Dumper/AppMain.exe' | ||
zip -r version-txt-dumper.zip 'Version.txt Dumper' | ||
- name: Generate archive name | ||
id: archive_name | ||
run: echo ::set-output name=name::version-txt-dumper-${GITHUB_REF/refs\/*s\//} | ||
- name: Upload version-txt-dumper.zip | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ needs.create_release.outputs.upload_url }} | ||
asset_path: version-txt-dumper.zip | ||
asset_name: ${{ steps.archive_name.outputs.name }}.zip | ||
asset_content_type: application/zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
VERSION_MAJOR=1 | ||
VERSION_MINOR=0 | ||
VERSION_PATCH=0 | ||
|
||
PREFIX?=/opt/cegcc | ||
|
||
CC=$(PREFIX)/bin/arm-mingw32ce-gcc | ||
CXX=$(PREFIX)/bin/arm-mingw32ce-g++ | ||
LD=$(PREFIX)/bin/arm-mingw32ce-g++ | ||
STRIP=$(PREFIX)/bin/arm-mingw32ce-strip | ||
DLLTOOL=$(PREFIX)/bin/arm-mingw32ce-dlltool | ||
AS=$(PREFIX)/bin/arm-mingw32ce-as | ||
NM=$(PREFIX)/bin/arm-mingw32ce-nm | ||
WINDRES=$(PREFIX)/bin/arm-mingw32ce-windres | ||
|
||
OUTPUT=AppMain.exe | ||
|
||
CXXFLAGS= -DEV_PLATFORM_WIN32 -DUNICODE -D_UNICODE -DEV_UNSAFE_SWPRINTF -mwin32 \ | ||
-O0 -mcpu=arm926ej-s -D_WIN32_WCE=0x600 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 \ | ||
-D_FILE_OFFSET_BITS=64 -static | ||
|
||
.PHONY: all clean | ||
|
||
all: $(OUTPUT) | ||
|
||
clean: | ||
rm -f $(OUTPUT) | ||
|
||
AppMain.exe: main.cpp | ||
$(CXX) main.cpp -o AppMain.exe $(CXXFLAGS) | ||
$(STRIP) AppMain.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,12 @@ | ||
# version-txt-dumper | ||
Shows the body of version.txt in SHARP Brain and copies it to the external SD card | ||
Version.txt Dumper | ||
================== | ||
|
||
*Shows the body of version.txt in SHARP Brain and copies it to the external SD card* | ||
|
||
|
||
Install (using the pre-built binary) | ||
------------------------------------ | ||
|
||
1. Download the ZIP in [the latest release](https://github.com/brain-hackers/version-txt-dumper/releases) and unzip it | ||
2. Create `アプリ` directory in the SD card's root directory and copy `Version.txt Dumper` into it | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
#include <windows.h> | ||
|
||
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPTSTR lpCmd, int nShow) | ||
{ | ||
wchar_t msg[1024]; | ||
HANDLE file; | ||
DWORD fileSize; | ||
DWORD readSize; | ||
DWORD err; | ||
TCHAR errStr[32]; | ||
void* buf; | ||
|
||
file = CreateFile(L"\\NAND\\version.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); | ||
if (file == INVALID_HANDLE_VALUE) | ||
{ | ||
err = GetLastError(); | ||
switch (err) | ||
{ | ||
case 2: | ||
case 3: | ||
swprintf(errStr, L"File not found"); | ||
break; | ||
default: | ||
swprintf(errStr, L"Yabai error sorry"); | ||
break; | ||
} | ||
|
||
swprintf(msg, L"Failed to open version.txt\n%#010x: %s", err, errStr); | ||
MessageBox(NULL, msg, L"(X_X) < OMG", MB_ICONWARNING); | ||
return 1; | ||
} | ||
|
||
fileSize = GetFileSize(file, NULL); | ||
buf = LocalAlloc(LPTR, fileSize+1); | ||
if (buf == NULL) | ||
{ | ||
MessageBox(NULL, L"Failed to allocate memory", L"(X_X) < OMG", MB_ICONWARNING); | ||
goto disaster; | ||
} | ||
|
||
if (!ReadFile(file, buf, fileSize, &readSize, NULL)) | ||
{ | ||
MessageBox(NULL, L"Failed to read version.txt", L"(X_X) < OMG", MB_ICONWARNING); | ||
goto disaster; | ||
} | ||
|
||
CloseHandle(file); | ||
|
||
((char *)buf)[fileSize] = '\0'; | ||
mbstowcs(msg, (char *)buf, fileSize); | ||
MessageBox(NULL, msg, L"(>_O)b < My version.txt is...", MB_ICONINFORMATION); | ||
|
||
file = CreateFile(L"\\Storage Card\\version.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); | ||
if (file == INVALID_HANDLE_VALUE) | ||
{ | ||
MessageBox(NULL, L"Failed to create \\Storage Card\\version.txt", L"(X_X) < OMG", MB_ICONWARNING); | ||
return 1; | ||
} | ||
|
||
if (!WriteFile(file, buf, fileSize, NULL, NULL)) | ||
{ | ||
MessageBox(NULL, L"Failed to write \\Storage Card\\version.txt", L"(X_X) < OMG", MB_ICONWARNING); | ||
goto disaster; | ||
} | ||
|
||
CloseHandle(file); | ||
return 0; | ||
|
||
disaster: | ||
CloseHandle(file); | ||
return 1; | ||
} |