Contribute
Register

Native DSDT/AML IDE & Compiler: MaciASL Open Beta

Status
Not open for further replies.
If you open a draft, it should be force-autosaving a temp file periodically so long as iASL actually allows it; one thing I learned while fully implementing autosave was that even forcing iASL doesnt guarantee an output file, several checks were necessary. This is one reason why users may prefer the DSL format until theyre finished; in fact it's the default file type. But you've touched on something I didn't mention in the Easy IOReg thread, which is that basically any decompiling IDE will never give you the original file to work with, the copy of iASL you use to open it will alter what was originally intended. Only extracting the original data object and placing it in /Extra first before editing will give you the "true" history, and I could technically add such a feature, though it would break the general promise of untitled/draft documents.

--edit
pushed the commits, press Opt/Alt to presave a table, and the colorize default.

I'm not talking about a draft (I don't think so anyway...).

Here is a step-by-step repro for the "autosaved/can't revert bug..."
(I'm going from memory here)

- Download the 4530s DSDT patches/raw DSDT archive from: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/archive/master.zip
- Extract it
- Open dsdt4530s/dsdt_f40_hd3k.aml
- Apply patch 01_Compilation.txt
- Allow time (?) for autosave to happen
(At this point dsdt_f40_hd3k.aml has changed, as it has been patched enough to be compiled. It is now different from the original file you opened. If this was in a git repo you would see that it is a modified file)
- Try to use File -> Revert to revert to last opened (the original binary AML which when decompiled->compiled results in errors)

Bug: You cannot revert. And the file has been changed via autosave and there is no way to go back. MaciASL is trying to revert by compiling the text from the decompile instead of just restoring the binary that was opened.
 
sorry, but i wasnt able to reproduce this. I opened your f40 and checked the versions, there weren't any ("Browse all Versions"). Then i tried saving, compiler errors. I applied 01 and checked Revert, now Last Opened is in the list. I then changed app focus to a different app (surefire way of triggering autosave), and checked revert for additional entries, still the same. At this point I could either undo which is easier, or Revert to Last Opened, both worked fine. Closing after saving w/ changes, I'm free to switch between both versions (Last Opened and Previous Save), compiling reveals the truth: one has a few warnings, the other is full of errors. I'm not saying it's the best possible document versioning, but it does appear to work. With the new patch it's possible to presave the system table so the vanilla version is always at the bottom of the stack, instead of being stuck because iasl won't produce any output.

--edit
if you ever feel too limited by the binary format, working in DSL can prevent a few headaches, just tear off an AML when you want to test.
 
sorry, but i wasnt able to reproduce this. I opened your f40 and checked the versions, there weren't any ("Browse all Versions"). Then i tried saving, compiler errors. I applied 01 and checked Revert, now Last Opened is in the list. I then changed app focus to a different app (surefire way of triggering autosave), and checked revert for additional entries, still the same. At this point I could either undo which is easier, or Revert to Last Opened, both worked fine. Closing after saving w/ changes, I'm free to switch between both versions (Last Opened and Previous Save), compiling reveals the truth: one has a few warnings, the other is full of errors. I'm not saying it's the best possible document versioning, but it does appear to work. With the new patch it's possible to presave the system table so the vanilla version is always at the bottom of the stack, instead of being stuck because iasl won't produce any output.

--edit
if you ever feel too limited by the binary format, working in DSL can prevent a few headaches, just tear off an AML when you want to test.

OK, maybe the repro scenario is more complex than I remember. If it happens again, I'll try to pay more attention and let you know. It is also possible I was running a version prior to 1.1 when I saw this...
 
This project, your excellent work, is a must have and it looks great. Well done!

Can you add a preference, or tell me what I should change, so that I can use my own version of iasl instead of the patched copies of iasl4/5?
 
I wouldn't describe the included iasl4 and iasl5 as patched (no actual code is touched, only #includes and build scripts), the method for building them is published in the project's wiki, and is as simple as possible. Depending on which version you are building yourself you could simply replace the iasl* in Contents/MacOS, just dont click Update iASL later on.
 
I wouldn't describe the included iasl4 and iasl5 as patched (no actual code is touched, only #includes and build scripts), the method for building them is published in the project's wiki, and is as simple as possible. Depending on which version you are building yourself you could simply replace the iasl* in Contents/MacOS, just dont click Update iASL later on.
Ok got it. Thanks.

One more question. My self-compiled version of iasl resides in: /usr/bin/local
and I would love to use it instead of iasl4/iasl5 Can that be done already?
 
Ok got it. Thanks.

One more question. My self-compiled version of iasl resides in: /usr/bin/local
and I would love to use it instead of iasl4/iasl5 Can that be done already?

Hey Pike,

Search for 'pathForAuxiliaryExecutable' in iASL.m in the project source...
 
though perhaps the simplest route is a symlink.
 
pushed the commits, press Opt/Alt to presave a table, and the colorize default.

I see the additional option now for colorizing, but the theme is not loaded if "Code Coloring" is not checked. And upon restart MaciASL, you get the following strange looking Preferences/General:

Screen Shot 2013-04-10 at 8.10.14 AM.png

To repro:
- run MaciASL
- choose MaciASL Preferences/General tab, uncheck code coloring
- now attempt to change the theme. bug: you notice that the theme is not changing
- select a theme other than the default then exit MaciASL
- start MaciASL
- go into Preferences/General
- bug: notice the possible themes do not show as in the screen shot above
 
fixed in repo, please pull
 
Status
Not open for further replies.
Back
Top