diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f5bdbd9..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..989feba --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: Build iOS + +on: + workflow_dispatch: + push: + branches: + - main + +jobs: + build: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: Show Xcode version + run: xcodebuild -version + + - name: List project + run: | + xcodebuild -project StosDebug.xcodeproj -list + + - name: Build + run: | + xcodebuild \ + -project StosDebug.xcodeproj \ + -scheme StosDebug \ + -configuration Release \ + -sdk iphoneos \ + -derivedDataPath build \ + CODE_SIGNING_ALLOWED=NO \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGN_IDENTITY="" + + - name: Create unsigned ipa + run: | + mkdir Payload + cp -R build/Build/Products/Release-iphoneos/*.app Payload/ + zip -r StosDebug.ipa Payload + + - name: Upload ipa + uses: actions/upload-artifact@v4 + with: + name: StosDebug.ipa + path: StosDebug.ipa diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/StosDebug.xcodeproj/project.pbxproj b/StosDebug.xcodeproj/project.pbxproj index 6d86007..22b40ac 100644 --- a/StosDebug.xcodeproj/project.pbxproj +++ b/StosDebug.xcodeproj/project.pbxproj @@ -30,7 +30,6 @@ scripts/classic_geode.js, scripts/classic.js, scripts/universal.js, - "scripts/universal+manic.jitrpl", ); target = 4E8D91592F76337600F5E970 /* StosDebug */; }; @@ -44,7 +43,6 @@ scripts/classic_geode.js, scripts/classic.js, scripts/universal.js, - "scripts/universal+manic.jitrpl", ); }; /* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ diff --git a/StosDebug/.DS_Store b/StosDebug/.DS_Store deleted file mode 100644 index 5e78ad3..0000000 Binary files a/StosDebug/.DS_Store and /dev/null differ diff --git a/StosDebug/Backend/.DS_Store b/StosDebug/Backend/.DS_Store deleted file mode 100644 index 471a5ea..0000000 Binary files a/StosDebug/Backend/.DS_Store and /dev/null differ diff --git a/StosDebug/Backend/Dependencies/.DS_Store b/StosDebug/Backend/Dependencies/.DS_Store deleted file mode 100644 index 2eafd85..0000000 Binary files a/StosDebug/Backend/Dependencies/.DS_Store and /dev/null differ diff --git a/StosDebug/Backend/ScriptSupport/Scripts.swift b/StosDebug/Backend/ScriptSupport/Scripts.swift index 4a0a0e8..d3401cd 100644 --- a/StosDebug/Backend/ScriptSupport/Scripts.swift +++ b/StosDebug/Backend/ScriptSupport/Scripts.swift @@ -18,7 +18,6 @@ struct Scripts: Equatable { static let classic = Scripts("classic") static let classic_geode = Scripts("classic_geode") static let universal = Scripts("universal") - static let `universal+manic` = Scripts("universal+manic") static func custom(name: String, url: URL) -> Scripts { Scripts(name, customURL: url) @@ -43,7 +42,6 @@ struct Scripts: Equatable { } enum Apps: String, CaseIterable { - case manic case melonx case amethyst case utm @@ -54,8 +52,6 @@ struct Scripts: Equatable { var script: Scripts { switch self { - case .manic: - return .`universal+manic` case .utm, .dolphin, .flycast: return .classic case .geode: diff --git a/StosDebug/scripts/universal+manic.jitrpl b/StosDebug/scripts/universal+manic.jitrpl deleted file mode 100644 index bbe6d26..0000000 --- a/StosDebug/scripts/universal+manic.jitrpl +++ /dev/null @@ -1,58 +0,0 @@ -// -// universal+manic.stosrpl -// StosDebug -// -// Created by Stossy11 on 28/3/2026. -// - -/* - Hello! - so essentially, to save on like making 700 scripts based on the same thing, - i have devised this .jitrpl (JIT replace) file format. it allows replacement of parts of a script ahead of time (AOT). - - syntax: - :RPL - function JIT26HandleBrk0x69(brkResponse) - :WITH - function COOLWOOWOW(brkResponse) - :ENDRPL - - now with RunJSViewModel.applyPatch, it will replace whats in :RPL with whats in :WITH and so saves on having to copy the entire script for nothing - - will eventually make it so then you could import +.jitrpl into StosDebug and will allow you to run the edited scripts - (scriptname being built-in scripts, yourscript being whatever you want your script to be called) - */ - -:RPL -function JIT26HandleBrk0x69(brkResponse) { - // in the old script we chose 0x69, so now we check here and return error - // if you wish to keep using this, you can set your own handler like `legacyCommands[0x69] = yourHandler;` using BreakSendJITScript - log(`Error: It seems you are using legacy breakpoint 0x69. Please set your legacy handler using \`legacyCommands[0x69] = yourHandler;\` or migrate to universal jitcalls to use this script. The function will now return 0xE0000069.`); - let putX0Response = send_command(`P0=E0000069;thread:${tid};`); - log(`putX0Response = ${putX0Response}`); -} -:WITH -function JIT26HandleBrk0x69(brkResponse) { - let jitPageAddress = x0; - // If x1 is 0, use the default size of 64KB (0x10000). - // Manic EMU's CodeBlock typically requests large memory chunks (tens of MB for CPU JIT) - // but also asks for smaller ones (like 4KB/16KB for SpinLock and Shader JIT). - let size = x1 > 0n ? x1 : 0x10000n; - - log(`[Manic EMU] ----------------------------------------`); - log(`[Manic EMU] JIT Request`); - log(`[Manic EMU] Address: 0x${jitPageAddress.toString(16)}`); - log(`[Manic EMU] Size: 0x${size.toString(16)}`); - - // Call prepare_memory_region to mark the memory as executable. - let prepareJITPageResponse = prepare_memory_region(Number(jitPageAddress), Number(size)); - log(`[Manic EMU] prepare_memory_region result: ${prepareJITPageResponse}`); - - // Set PC+4 to continue program execution - let pcPlus4 = numberToLittleEndianHexString(pc + 4n); - send_command(`P20=${pcPlus4};thread:${tid};`); - - log(`[Manic EMU] Resumed execution at PC=0x${(pc + 4n).toString(16)}`); - log(`[Manic EMU] ----------------------------------------`); -} -:ENDRPL