From 276b0e89450fef9bcec964d22af0d5eb68687d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ca=C3=B1adas=20Mazo?= Date: Thu, 18 Aug 2022 23:26:29 +0200 Subject: [PATCH 1/4] exe2adf binary. --- bin/exe2adf.exe | Bin 0 -> 33294 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/exe2adf.exe diff --git a/bin/exe2adf.exe b/bin/exe2adf.exe new file mode 100644 index 0000000000000000000000000000000000000000..0d3d6898ce1c3d0c6cc796351084596618842401 GIT binary patch literal 33294 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 Date: Thu, 18 Aug 2022 23:26:51 +0200 Subject: [PATCH 2/4] Command to run exe2adf on EXE files. --- package.json | 15 ++++++++++-- src/extension.ts | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dfcf0af2..d846b9ab 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "onCommand:amiga.profileSize", "onCommand:amiga.shrinkler", "onCommand:amiga.disassembleElf", + "onCommand:amiga.exe2adf", "onCustomEditor:amiga.profile", "onCustomEditor:amiga.objdump", "onCustomEditor:amiga.savestate", @@ -95,7 +96,12 @@ "category": "Amiga", "command": "amiga.terminal", "title": "Open Terminal" - } + }, + { + "category": "Amiga", + "command": "amiga.exe2adf", + "title": "Amiga: convert EXE to ADF" + } ], "languages": [ { @@ -360,7 +366,12 @@ "command": "amiga.shrinkler", "group": "1_amiga", "when": "resourceExtname == '.exe'" - } + }, + { + "command": "amiga.exe2adf", + "group": "1_amiga", + "when": "resourceExtname == '.exe'" + } ] }, "views": { diff --git a/src/extension.ts b/src/extension.ts index ff21c87d..03921188 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -140,6 +140,7 @@ class AmigaDebugExtension { vscode.commands.registerCommand('amiga.bin-path', () => path.join(this.extensionPath, 'bin')), vscode.commands.registerCommand('amiga.initProject', this.initProject.bind(this)), vscode.commands.registerCommand('amiga.terminal', this.openTerminal.bind(this)), + vscode.commands.registerCommand('amiga.exe2adf', (uri: vscode.Uri) => this.exe2adf(uri)), // window vscode.window.registerTreeDataProvider('amiga.registers', this.registerProvider), @@ -364,6 +365,8 @@ class AmigaDebugExtension { private shrinklerTerminal: vscode.Terminal; private shrinklerFinished = false; + private exe2adfTerminal: vscode.Terminal; + private exe2adfFinished = false; private async shrinkler(uri: vscode.Uri) { if(uri.scheme !== 'file') { @@ -447,6 +450,65 @@ class AmigaDebugExtension { } } + private async exe2adf(uri: vscode.Uri) { + if(uri.scheme !== 'file') { + void vscode.window.showErrorMessage(`Error during exe2adf: Don't know how to open ${uri.toString()}`); + return; + } + const binPath = path.join(this.extensionPath, 'bin'); + + try { + const output = uri.fsPath + '.adf'; + const args = [ '-i', uri.fsPath, '-a', output ]; + const cmd = `${binPath}\\exe2adf.exe`; + + const writeEmitter = new vscode.EventEmitter(); + let p: cp.ChildProcess; + const pty: vscode.Pseudoterminal = { + onDidWrite: writeEmitter.event, + open: () => { + writeEmitter.fire(`\x1b[1m> Executing ${cmd} ${args.join(' ')} <\x1b[0m\r\n`); + writeEmitter.fire(`\x1b[31mPress CTRL+C to abort\x1b[0m\r\n\r\n`); + //p = cp.exec(cmd); + p = cp.spawn(cmd, args); + p.stderr.on('data', (data: Buffer) => { + writeEmitter.fire(data.toString()); + }); + p.stdout.on('data', (data: Buffer) => { + writeEmitter.fire(data.toString()); + }); + p.on('exit', (code: number, signal: string) => { + if(signal === 'SIGTERM') { + writeEmitter.fire('\r\nSuccessfully killed process\r\n'); + writeEmitter.fire('-----------------------\r\n'); + writeEmitter.fire('\r\n'); + } + this.exe2adfFinished = true; + }); + }, + close: () => { /**/ }, + handleInput: (char: string) => { + if(char === '\x03') // Ctrl+C + p.kill('SIGTERM'); + } + }; + + if(this.exe2adfTerminal && this.exe2adfFinished) { + this.exe2adfTerminal.dispose(); + this.exe2adfTerminal = null; + this.exe2adfFinished = false; + } + + this.exe2adfTerminal = vscode.window.createTerminal({ + name: 'Amiga', + pty + }); + this.exe2adfTerminal.show(); + } catch(error) { + void vscode.window.showErrorMessage(`Error during exe2adf: ${error.message}`); + } + } + private async examineMemory() { function validateValue(address: string) { if(/^0x[0-9a-f]{1,8}$/i.test(address)) { From 47b2ef42c07568f307ede188dfeff6168abdaf84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ca=C3=B1adas=20Mazo?= Date: Thu, 25 Aug 2022 20:27:30 +0200 Subject: [PATCH 3/4] Shrinkler & exe2adf commands unified. --- src/extension.ts | 150 +++++++++++++++++------------------------------ 1 file changed, 53 insertions(+), 97 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 906e3560..1cbdecb9 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -102,6 +102,8 @@ class AmigaCppConfigurationProvider implements CustomConfigurationProvider { } } +type OnOutputReadyFunction = (output: string) => void; + class AmigaDebugExtension { private registerProvider: RegisterTreeProvider; private outputChannel: vscode.OutputChannel; @@ -369,105 +371,55 @@ class AmigaDebugExtension { await vscode.commands.executeCommand("workbench.action.moveEditorToLeftGroup"); } - private shrinklerTerminal: vscode.Terminal; - private shrinklerFinished = false; - private exe2adfTerminal: vscode.Terminal; - private exe2adfFinished = false; - private async shrinkler(uri: vscode.Uri) { - if(uri.scheme !== 'file') { - void vscode.window.showErrorMessage(`Error during shrinkling: Don't know how to open ${uri.toString()}`); - return; - } const binPath = path.join(this.extensionPath, 'bin'); - + const workspaceFolder = vscode.workspace.workspaceFolders[0].uri.fsPath; + const jsonPath = path.join(workspaceFolder, ".vscode", "amiga.json"); + let config: AmigaConfiguration; try { - const workspaceFolder = vscode.workspace.workspaceFolders[0].uri.fsPath; - const jsonPath = path.join(workspaceFolder, ".vscode", "amiga.json"); - let config: AmigaConfiguration; - try { - config = JSON.parse(fs.readFileSync(jsonPath, 'utf-8')) as AmigaConfiguration; - } catch(e) { /**/ } - if(config === undefined || config.shrinkler === undefined || Object.keys(config.shrinkler).length === 0) { - void vscode.window.showErrorMessage(`No shrinkler configurations found in '.vscode/amiga.json'`); - return; - } - - const items: vscode.QuickPickItem[] = []; - - // eslint-disable-next-line guard-for-in - for(const key in config.shrinkler) { - items.push({ label: key, description: config.shrinkler[key] }); - } - - const result = await vscode.window.showQuickPick(items, { placeHolder: 'Select shrinkler configuration', matchOnDescription: true, ignoreFocusOut: true }); - if(result === undefined) - return; - const output = uri.fsPath + '.' + result.label + '.shrinkled'; - const args = [...result.description.split(' '), uri.fsPath, output]; - const cmd = `${binPath}\\shrinkler.exe`; - - const writeEmitter = new vscode.EventEmitter(); - let p: cp.ChildProcess; - const pty: vscode.Pseudoterminal = { - onDidWrite: writeEmitter.event, - open: () => { - writeEmitter.fire(`\x1b[1m> Executing ${cmd} ${args.join(' ')} <\x1b[0m\r\n`); - writeEmitter.fire(`\x1b[31mPress CTRL+C to abort\x1b[0m\r\n\r\n`); - //p = cp.exec(cmd); - p = cp.spawn(cmd, args); - p.stderr.on('data', (data: Buffer) => { - writeEmitter.fire(data.toString()); - }); - p.stdout.on('data', (data: Buffer) => { - writeEmitter.fire(data.toString()); - }); - p.on('exit', (code: number, signal: string) => { - if(signal === 'SIGTERM') { - writeEmitter.fire('\r\nSuccessfully killed process\r\n'); - writeEmitter.fire('-----------------------\r\n'); - writeEmitter.fire('\r\n'); - } else { - void vscode.commands.executeCommand("vscode.open", vscode.Uri.file(output + '.shrinklerstats'), { preview: false } as vscode.TextDocumentShowOptions); - } - this.shrinklerFinished = true; - }); - }, - close: () => { /**/ }, - handleInput: (char: string) => { - if(char === '\x03') // Ctrl+C - p.kill('SIGTERM'); - } - }; - - if(this.shrinklerTerminal && this.shrinklerFinished) { - this.shrinklerTerminal.dispose(); - this.shrinklerTerminal = null; - this.shrinklerFinished = false; - } - - this.shrinklerTerminal = vscode.window.createTerminal({ - name: 'Amiga', - pty - }); - this.shrinklerTerminal.show(); - } catch(error) { - void vscode.window.showErrorMessage(`Error during shrinkling: ${error.message}`); + config = JSON.parse(fs.readFileSync(jsonPath, 'utf-8')) as AmigaConfiguration; + } catch(e) { /**/ } + if(config === undefined || config.shrinkler === undefined || Object.keys(config.shrinkler).length === 0) { + void vscode.window.showErrorMessage(`No shrinkler configurations found in '.vscode/amiga.json'`); + return; } + + const items: vscode.QuickPickItem[] = []; + + // eslint-disable-next-line guard-for-in + for(const key in config.shrinkler) { + items.push({ label: key, description: config.shrinkler[key] }); + } + + const result = await vscode.window.showQuickPick(items, { placeHolder: 'Select shrinkler configuration', matchOnDescription: true, ignoreFocusOut: true }); + if(result === undefined) + return; + const output = uri.fsPath + '.' + result.label + '.shrinkled'; + const args = [...result.description.split(' '), uri.fsPath, output]; + const cmd = `${binPath}\\shrinkler.exe`; + return this.runExternalCommand(uri, cmd, args, output, () => { + void vscode.commands.executeCommand("vscode.open", vscode.Uri.file(output + '.shrinklerstats'), { preview: false } as vscode.TextDocumentShowOptions); + }); } private async exe2adf(uri: vscode.Uri) { + const binPath = path.join(this.extensionPath, 'bin'); + const output = uri.fsPath + '.adf'; + const args = [ '-i', uri.fsPath, '-a', output ]; + const cmd = `${binPath}\\exe2adf.exe`; + return this.runExternalCommand(uri, cmd, args, output, null); + } + + private externalCommandTerminal: vscode.Terminal; + private externalCommandFinished = false; + + private async runExternalCommand(uri: vscode.Uri, cmd: string, args: string[], output: string, onOutputReady: OnOutputReadyFunction) + { if(uri.scheme !== 'file') { - void vscode.window.showErrorMessage(`Error during exe2adf: Don't know how to open ${uri.toString()}`); + void vscode.window.showErrorMessage(`Error running external command: Don't know how to open ${uri.toString()}`); return; } - const binPath = path.join(this.extensionPath, 'bin'); - try { - const output = uri.fsPath + '.adf'; - const args = [ '-i', uri.fsPath, '-a', output ]; - const cmd = `${binPath}\\exe2adf.exe`; - const writeEmitter = new vscode.EventEmitter(); let p: cp.ChildProcess; const pty: vscode.Pseudoterminal = { @@ -488,8 +440,12 @@ class AmigaDebugExtension { writeEmitter.fire('\r\nSuccessfully killed process\r\n'); writeEmitter.fire('-----------------------\r\n'); writeEmitter.fire('\r\n'); + } else { + if (null !== onOutputReady) { + onOutputReady(output); + } } - this.exe2adfFinished = true; + this.externalCommandFinished = true; }); }, close: () => { /**/ }, @@ -499,21 +455,21 @@ class AmigaDebugExtension { } }; - if(this.exe2adfTerminal && this.exe2adfFinished) { - this.exe2adfTerminal.dispose(); - this.exe2adfTerminal = null; - this.exe2adfFinished = false; + if (this.externalCommandTerminal && this.externalCommandFinished) { + this.externalCommandTerminal.dispose(); + this.externalCommandTerminal = null; + this.externalCommandFinished = false; } - this.exe2adfTerminal = vscode.window.createTerminal({ + this.externalCommandTerminal = vscode.window.createTerminal({ name: 'Amiga', pty }); - this.exe2adfTerminal.show(); + this.externalCommandTerminal.show(); } catch(error) { - void vscode.window.showErrorMessage(`Error during exe2adf: ${error.message}`); + void vscode.window.showErrorMessage(`Error running external command: ${error.message}`); } - } + } private async examineMemory() { function validateValue(address: string) { From 6d1f543254c585a6ebf7b9235f1ca3c46715d8e0 Mon Sep 17 00:00:00 2001 From: Bartman/Abyss Date: Thu, 25 Aug 2022 21:23:34 +0200 Subject: [PATCH 4/4] unpacked exe2adf.exe, modified exe2adf to use 'a.adf' instead of 'a.exe.adf', README/CHANGELOG --- CHANGELOG.md | 1 + README.md | 2 ++ bin/exe2adf.exe | Bin 33294 -> 81934 bytes package.json | 2 +- src/extension.ts | 10 ++++------ 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7d7d8c6..1ec6eb21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to the "amiga-debug" extension will be documented in this fi - `Open Amiga Hardware Reference Manual`: opens the Amiga Hardware Reference Manual TOC hosted at amigadev.elowar.com. - NEW: you can set your Kickstart paths in settings Ctrl+, under `Extensions` > `Amiga C/C++ Compile, Debug & Profile` > `Rom-paths: A500, A1200, A4000` ([PR#117 by merry^Architect](https://github.com/BartmanAbyss/vscode-amiga-debug/pull/117)) - NEW: template project's output now in `out/a.elf`, `out/a.exe`. Can be changed in settings `amiga.program` ([PR#119 by merry^Architect](https://github.com/BartmanAbyss/vscode-amiga-debug/pull/119)) +- NEW: new command `Convert EXE to ADF` (right-click Amiga EXE files in the explorer) ([PR#122 by merry^Architect](https://github.com/BartmanAbyss/vscode-amiga-debug/pull/122)) ## 1.5.3 - FIX: fix missing cycle timings in assembly view (was broken since 1.4.7) diff --git a/README.md b/README.md index 9cf02079..bc81f301 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,8 @@ This extension contains binaries of: - License GPLv3+: GNU GPL version 3 or later - This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. - `cd`, `EndCLI`, `run`, `avail` from Workbench 1.3 +- unpacked [exe2adf](http://www.exe2adf.com/) + - Copyright (c) 2015-2022 Bonefish/Reality. All rights reserved. ## Caveats - sometimes when you're multiplying 2 WORDs together, `gcc` tries to use a (slow) 32-bit multiply. So if you have performance-critical multiplications, consider using the `muluw` and `mulsw` functions from `gcc8_c_support.h` diff --git a/bin/exe2adf.exe b/bin/exe2adf.exe index 0d3d6898ce1c3d0c6cc796351084596618842401..b96a797e347cc882c20e19b81092768b3fa903f0 100644 GIT binary patch literal 81934 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≦<1t3{ynqBOYE{erR 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 U9R3nJorF$j%f0R0^xh}?e`=N)Gynhq literal 33294 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