This will give me some real implementations to look at and compare to what I made blindly just off a conversation with chr0m3 about me wanting ignition cut, didn't realise till now it's already got a beta out...
AI: holden vy-l36-060a-enhanced-asm-patches github public
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
I only just got pcmhacking a couple months ago and now I just got access and found the topic 8852 today and have downloaded the 2.04 dwell spark cut beta zip file.
This will give me some real implementations to look at and compare to what I made blindly just off a conversation with chr0m3 about me wanting ignition cut, didn't realise till now it's already got a beta out...
This will give me some real implementations to look at and compare to what I made blindly just off a conversation with chr0m3 about me wanting ignition cut, didn't realise till now it's already got a beta out...
-
Rhysk94
- Posts: 235
- Joined: Sun Mar 15, 2020 9:25 am
- cars: VE SS-V
VY V6 Turbo “Ecojet”
FG XR6 Turbo
VY V6 Stocker Farm Hack
VY V6 Turbo Competition Drift Car
VY V6 L67 Seat Time Drift Car
N80 Toyota Hilux
VZ SS - Location: Perth
-
antus
- Site Admin
- Posts: 10014
- Joined: Sat Feb 28, 2009 10:34 am
- cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007
Re: holden vy-l36-060a-enhanced-asm-patches github public
You can split it in to banks and hack around it bit to re-assemble the original, which I have done here as an example, but the PCM hardware is not publicly documented and it'll take work to create a way to follow bank switching. Best to use XDFs to identify memory variables and use references to those memory variables to figure out code.KingAustraliaggGG wrote: Sun Jan 18, 2026 7:19 pm i am having trouble with exporting within ghidra cause the .sla processors and the file being 128kb isnt letting it work. should i split the high and low banks and try that?
viewtopic.php?p=2260#p2260
You could try something like this to get AI to help with disassembly, but I've not tried it yet and can't help further. https://github.com/mrexodia/ida-pro-mcp
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
thanks mate, i will upload my dissasmbler for the full bins i made in python. paths are hardcoded just need to change them i will make a second copy with them unhardcoded to upload maybe instead, i also have a bunch of jython to autolabel outputs with analyzeheadless.bat in terminals with powershell or batch versions that work now. trying to make documents smallers without loosing infomation. .md can be turned into pdf and spreadsheets. pdf back to txt is a different story.
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
i will upload and explain in detail why it doesnt work. its bypassing the est basicly
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
please have a look at v38 in the .asm and then tell me what address are wrong or where i am wrong so i can correct it please. i am aiming for 6000rpm limiter for final bin patch and 3000rpm for the first tests so will be 8bit not 16 to go over 6375rpm
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
End goal is to have it sound and do this like my ms42 c166 ecu does. But more mooey cow
sound like a V6 commie.
https://vt.tiktok.com/ZSaY5gVJH/
https://vt.tiktok.com/ZSaY57Ndd/ ghost cam cold start. Cold start enrichment. 7500rpm rev limiter 5 minute video.
https://vt.tiktok.com/ZSaY5gVJH/
https://vt.tiktok.com/ZSaY57Ndd/ ghost cam cold start. Cold start enrichment. 7500rpm rev limiter 5 minute video.
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
viewtopic.php?t=8500antus wrote: Tue Jan 20, 2026 8:23 amYou can split it in to banks and hack around it bit to re-assemble the original, which I have done here as an example, but the PCM hardware is not publicly documented and it'll take work to create a way to follow bank switching. Best to use XDFs to identify memory variables and use references to those memory variables to figure out code.KingAustraliaggGG wrote: Sun Jan 18, 2026 7:19 pm i am having trouble with exporting within ghidra cause the .sla processors and the file being 128kb isnt letting it work. should i split the high and low banks and try that?
viewtopic.php?p=2260#p2260
You could try something like this to get AI to help with disassembly, but I've not tried it yet and can't help further. https://github.com/mrexodia/ida-pro-mcp
this explains what i thought. the pseudo vector ff 00 empty areas are not empty at all. i will add a docuemnt to the github of things that will be copy paste to the xdf. as i understand the format for older manual hand edited, the do not hand edit and the new european ones with x and y linking across multiple tables and scalars. e.g. rpm.
in vs code you can add your own mcp tools. i right click and then it decompiles. ilspy is a extension so .net is opensource. claude opus can read a full export from ghidra or ida pro in one shot. over 50000 lines i seen it do. cause its like a couple digits per line. doesnt even hit near context limits. chatgpt is shit, gemini is shit. does it in a second. reads line 1-50000 and tells you the info, saves alot of time.
right now trying to solve the problems here
Bank switching not handled
File offset ≠ CPU address translation unclear
0x101E1 translating to $01E1 (RAM area) doesn't make sense for code
Need proper 128KB-aware disassembly
for both the ghidra and python version of my dissasmblers so i can do the full bin at once. map out every thing to the bone, then we can add the x and y axis linking to 2.09a. with a simple run of a script hopefully. might have to start again but it will come out like a ms4x xdf which are linked and alot bigger than 2.09a and have seperate patchlists some actions non reversible but thats fine cause the holden delco people are used to reassmbly or patching with hex editors or ida/ghidra. but the 128kb does not decompile and dissassemble fully in these tools without extra custom scripts and xdf parsing of what we know so far to do this task, would take a human years and years... ghidra has jython to make this work for that, the whole software is open source and can add command lines to paths of them. or run a bat file with the paths right to do it all without ever opening a gui. ai costs me a dollar a day roughly on vs code using two gaming i9 pcs linked and two vs code open then a laptop for the third, to test in car things. just working out how to set it up perfect.
from what i can tell need the1 to correct me here
The1's v2.04c method (topic 8852):
Uses completely different approach - direct EST register control
Hooks at 0x056F4 (changes 0x00 → 0x60)
Uses RAM addresses $149E and $16FA for EST control
Has XDF-tunable threshold at $78B2
but from what i can tell it kills coils (literally).
atm but i still reading the hc11 resources thats like 300 pages or more.
My v38 method (3X period injection):
Hooks at file offset 0x101E1 (inside TIC3 ISR) (someone with knowledge confirm this)
Injects fake 3X period value ($0139 = ~313µs = ~8000 RPM equivalent)
This gives ~100µs dwell → coil can't charge → no spark
math might be off.
https://github.com/jefftranter/udis
but i just found this to compare to the other 10 dissasmblers for errors dis68hc is not right some of the opcodes flipped around. dont trust that one.
Last edited by KingAustraliaggGG on Wed Jan 21, 2026 7:00 am, edited 2 times in total.
-
KingAustraliaggGG
- Posts: 51
- Joined: Fri Nov 15, 2024 2:19 pm
- cars: 323i 1999 e46 sedan m52tub25 ms42 hx35w
328ci 1999 e46 coupe m52tub28 ms42
vy 2002 holden wagon executive l67 bottom end/36 top swap corn fed boost manifold ex44 external turbo hx40 holset
vs holden sedan turbo gt3582r
Re: holden vy-l36-060a-enhanced-asm-patches github public
below is my setting for workspace that lets you have 10000000+ files, i got damos packs, carproproductions. whole drives open at once. no lag on a shit laptop.
automaticly runs for ages. uses terminal to access everything. just make sure to tell it not to make new documents or new scripts. constantly.
i have put my hc11 instructions i converted from image based pdfs that are over 100 pages average, using ocr technology. so its not a photo of a hc11 book anymore.
{
"cmake.ignoreCMakeListsMissing": true,
"dotnet.preferCSharpExtension": true,
"vsicons.presets.angular": true,
"dotnet.defaultSolution": "disable",
"git.ignoreLimitWarning": true,
"python.testing.pytestArgs": ["."],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
// === PERFORMANCE: Prevent crashes with 22,883+ files ===
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/__pycache__/**": true,
"**/bower_components/**": true,
"**/.venv/**": true,
"**/venv/**": true,
"**/*.pyc": true,
"**/bin/**": true,
"**/obj/**": true,
"**/.vs/**": true,
"**/ghidra_output/**": true,
"**/VIDENT_*_EXTRACTION_*/**": true,
"**/EFILIVE_*/**": true,
"**/*_analysis_results/**": true,
"**/*_decompiled/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/*.code-search": true,
"**/.git": true,
"**/__pycache__": true,
"**/venv": true,
"**/bin": true,
"**/obj": true,
"**/ghidra_output": true
},
"files.exclude": {
"**/.git": false,
"**/__pycache__": true
},
// Limit Git to prevent OOM
"git.autoRepositoryDetection": "openEditors",
"git.scanRepositories": [],
"git.maxRepositoriesToDiscover": 3,
"git.autofetch": false,
"git.autorefresh": false,
"git.openRepositoryInParentFolders": "never",
// Memory limits
"search.maxResults": 5000,
"files.maxMemoryForLargeFilesMB": 8192,
"editor.largeFileOptimizations": true,
"editor.maxTokenizationLineLength": 5000,
"typescript.disableAutomaticTypeAcquisition": true,
"js/ts.implicitProjectConfig.checkJs": false,
"typescript.tsserver.maxTsServerMemory": 4096,
// Reduce extension load
"extensions.autoUpdate": "none",
"extensions.autoCheckUpdates": false,
"workbench.enableExperiments": false,
"telemetry.telemetryLevel": "off",
"update.mode": "manual",
"workbench.editor.limit.enabled": true,
"workbench.editor.limit.value": 15,
"workbench.editor.enablePreview": false,
"search.followSymlinks": false,
// === COPILOT AGENT MODE ===
"github.copilot.enable": {
"*": true,
"plaintext": true,
"markdown": true,
"python": true,
"powershell": true,
"scminput": true
},
"github.copilot.chat.executeImmediately": true,
"github.copilot.chat.allowRunningCommands": true,
"github.copilot.chat.commandExecution": "allow",
"github.copilot.chat.terminalExecution": "allow",
"github.copilot.chat.runCommand.enabled": true,
"github.copilot.chat.runCommand.autoApprove": true,
"github.copilot.chat.terminalChatLocation": "terminal",
"github.copilot.nextEditSuggestions.enabled": true,
"chat.agent.enabled": true,
"chat.agent.maxRequests": 500,
"chat.agent.maxTurns": 100,
"chat.agent.autoApprove": true,
"chat.commandCenter.enabled": true,
"chat.commandCenter.autoRun": true,
"chat.editor.wordWrap": "on",
"chat.tools.autoRun": true,
"chat.tools.autoApprove": true,
"chat.mcp.access": "all",
"chat.mcp.tools.autoApprove": true,
"chat.mcp.maxToolCalls": 500,
"github.copilot.chat.agent.autoFix": true,
"github.copilot.chat.agent.runTasks": true,
"github.copilot.chat.agent.thinkingTool": true,
"github.copilot.chat.tools.autoApprove": true,
"github.copilot.chat.scopeSelection": true,
"github.copilot.chat.tools.memory.enabled": true,
"github.copilot.chat.codesearch.enabled": true,
// === REMOTE ACCESS (Desktop ↔ Laptop) ===
"remote.SSH.connectTimeout": 90,
"remote.SSH.showLoginTerminal": true,
"remote.SSH.remotePlatform": {
"kingstuning-laptop": "windows",
"jasonspc": "windows"
},
"remote.tunnels.access.preventSleep": true,
"remote.tunnels.access.hostNameOverride": "jasonspc",
// === TERMINAL & EXECUTION ===
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.enablePersistentSessions": true,
"terminal.integrated.scrollback": 10000,
"code-runner.executorMap": {
"python": "python -u",
"powershell": "powershell -ExecutionPolicy ByPass -File",
"javascript": "node",
"typescript": "npx ts-node",
"bat": "cmd /c"
},
"code-runner.runInTerminal": true,
"code-runner.saveFileBeforeRun": true,
"code-runner.preserveFocus": false,
"code-runner.fileDirectoryAsCwd": true,
"python.terminal.executeInFileDir": true,
"python.terminal.activateEnvironment": true,
"python.createEnvironment.trigger": "off",
// === WORKSPACE PERSISTENCE ===
"window.restoreWindows": "all",
"workbench.startupEditor": "none",
"files.restoreUndoStack": true,
"files.hotExit": "onExitAndWindowClose",
"files.autoSave": "onFocusChange",
// === DECOMPILER PATHS ===
"vscode-decompiler.tool.ghidra.path": "A:\\repos\\ghidra_11.2.1_PUBLIC\\support\\analyzeHeadless.bat",
"vscode-decompiler.tool.jadx.path": "A:\\repos\\jadx-1.5.0\\bin\\jadx.bat",
"vscode-decompiler.tool.dnspy.path": "A:\\repos\\dnSpy\\dnSpy.Console.exe",
"ilspy.executablePath": "A:\\repos\\ILSpy",
// === MISC ===
"workbench.sideBar.location": "right",
"workbench.activityBar.location": "top",
"workbench.iconTheme": "vscode-icons",
"security.workspace.trust.enabled": true,
"appmod.enableMcpServer": true,
"[dart]": {
"editor.formatOnSave": true,
"editor.rulers": [80]
},
"workbench.editorAssociations": {
"*.ctv": "default"
},
"todo-tree.general.tags": ["TODO", "FIXME", "BUG", "NOTE"],
"chat.instructionsFilesLocations": {
".github/instructions": true,
"C:\\Users\\yourpathhere\\.aitk\\instructions\\": true
},
"chat.tools.terminal.autoApprove": {
"/.*/": true,
"python": true,
"pip": true,
"git": true
}
}
automaticly runs for ages. uses terminal to access everything. just make sure to tell it not to make new documents or new scripts. constantly.
i have put my hc11 instructions i converted from image based pdfs that are over 100 pages average, using ocr technology. so its not a photo of a hc11 book anymore.
{
"cmake.ignoreCMakeListsMissing": true,
"dotnet.preferCSharpExtension": true,
"vsicons.presets.angular": true,
"dotnet.defaultSolution": "disable",
"git.ignoreLimitWarning": true,
"python.testing.pytestArgs": ["."],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
// === PERFORMANCE: Prevent crashes with 22,883+ files ===
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/__pycache__/**": true,
"**/bower_components/**": true,
"**/.venv/**": true,
"**/venv/**": true,
"**/*.pyc": true,
"**/bin/**": true,
"**/obj/**": true,
"**/.vs/**": true,
"**/ghidra_output/**": true,
"**/VIDENT_*_EXTRACTION_*/**": true,
"**/EFILIVE_*/**": true,
"**/*_analysis_results/**": true,
"**/*_decompiled/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/*.code-search": true,
"**/.git": true,
"**/__pycache__": true,
"**/venv": true,
"**/bin": true,
"**/obj": true,
"**/ghidra_output": true
},
"files.exclude": {
"**/.git": false,
"**/__pycache__": true
},
// Limit Git to prevent OOM
"git.autoRepositoryDetection": "openEditors",
"git.scanRepositories": [],
"git.maxRepositoriesToDiscover": 3,
"git.autofetch": false,
"git.autorefresh": false,
"git.openRepositoryInParentFolders": "never",
// Memory limits
"search.maxResults": 5000,
"files.maxMemoryForLargeFilesMB": 8192,
"editor.largeFileOptimizations": true,
"editor.maxTokenizationLineLength": 5000,
"typescript.disableAutomaticTypeAcquisition": true,
"js/ts.implicitProjectConfig.checkJs": false,
"typescript.tsserver.maxTsServerMemory": 4096,
// Reduce extension load
"extensions.autoUpdate": "none",
"extensions.autoCheckUpdates": false,
"workbench.enableExperiments": false,
"telemetry.telemetryLevel": "off",
"update.mode": "manual",
"workbench.editor.limit.enabled": true,
"workbench.editor.limit.value": 15,
"workbench.editor.enablePreview": false,
"search.followSymlinks": false,
// === COPILOT AGENT MODE ===
"github.copilot.enable": {
"*": true,
"plaintext": true,
"markdown": true,
"python": true,
"powershell": true,
"scminput": true
},
"github.copilot.chat.executeImmediately": true,
"github.copilot.chat.allowRunningCommands": true,
"github.copilot.chat.commandExecution": "allow",
"github.copilot.chat.terminalExecution": "allow",
"github.copilot.chat.runCommand.enabled": true,
"github.copilot.chat.runCommand.autoApprove": true,
"github.copilot.chat.terminalChatLocation": "terminal",
"github.copilot.nextEditSuggestions.enabled": true,
"chat.agent.enabled": true,
"chat.agent.maxRequests": 500,
"chat.agent.maxTurns": 100,
"chat.agent.autoApprove": true,
"chat.commandCenter.enabled": true,
"chat.commandCenter.autoRun": true,
"chat.editor.wordWrap": "on",
"chat.tools.autoRun": true,
"chat.tools.autoApprove": true,
"chat.mcp.access": "all",
"chat.mcp.tools.autoApprove": true,
"chat.mcp.maxToolCalls": 500,
"github.copilot.chat.agent.autoFix": true,
"github.copilot.chat.agent.runTasks": true,
"github.copilot.chat.agent.thinkingTool": true,
"github.copilot.chat.tools.autoApprove": true,
"github.copilot.chat.scopeSelection": true,
"github.copilot.chat.tools.memory.enabled": true,
"github.copilot.chat.codesearch.enabled": true,
// === REMOTE ACCESS (Desktop ↔ Laptop) ===
"remote.SSH.connectTimeout": 90,
"remote.SSH.showLoginTerminal": true,
"remote.SSH.remotePlatform": {
"kingstuning-laptop": "windows",
"jasonspc": "windows"
},
"remote.tunnels.access.preventSleep": true,
"remote.tunnels.access.hostNameOverride": "jasonspc",
// === TERMINAL & EXECUTION ===
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.enablePersistentSessions": true,
"terminal.integrated.scrollback": 10000,
"code-runner.executorMap": {
"python": "python -u",
"powershell": "powershell -ExecutionPolicy ByPass -File",
"javascript": "node",
"typescript": "npx ts-node",
"bat": "cmd /c"
},
"code-runner.runInTerminal": true,
"code-runner.saveFileBeforeRun": true,
"code-runner.preserveFocus": false,
"code-runner.fileDirectoryAsCwd": true,
"python.terminal.executeInFileDir": true,
"python.terminal.activateEnvironment": true,
"python.createEnvironment.trigger": "off",
// === WORKSPACE PERSISTENCE ===
"window.restoreWindows": "all",
"workbench.startupEditor": "none",
"files.restoreUndoStack": true,
"files.hotExit": "onExitAndWindowClose",
"files.autoSave": "onFocusChange",
// === DECOMPILER PATHS ===
"vscode-decompiler.tool.ghidra.path": "A:\\repos\\ghidra_11.2.1_PUBLIC\\support\\analyzeHeadless.bat",
"vscode-decompiler.tool.jadx.path": "A:\\repos\\jadx-1.5.0\\bin\\jadx.bat",
"vscode-decompiler.tool.dnspy.path": "A:\\repos\\dnSpy\\dnSpy.Console.exe",
"ilspy.executablePath": "A:\\repos\\ILSpy",
// === MISC ===
"workbench.sideBar.location": "right",
"workbench.activityBar.location": "top",
"workbench.iconTheme": "vscode-icons",
"security.workspace.trust.enabled": true,
"appmod.enableMcpServer": true,
"[dart]": {
"editor.formatOnSave": true,
"editor.rulers": [80]
},
"workbench.editorAssociations": {
"*.ctv": "default"
},
"todo-tree.general.tags": ["TODO", "FIXME", "BUG", "NOTE"],
"chat.instructionsFilesLocations": {
".github/instructions": true,
"C:\\Users\\yourpathhere\\.aitk\\instructions\\": true
},
"chat.tools.terminal.autoApprove": {
"/.*/": true,
"python": true,
"pip": true,
"git": true
}
}
-
antus
- Site Admin
- Posts: 10014
- Joined: Sat Feb 28, 2009 10:34 am
- cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007
Re: holden vy-l36-060a-enhanced-asm-patches github public
you are posting a lot of stuff but no results. get something to work as a starting point then keep going. your signal to noise ratio is not good. quantity does not equal quality.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396