Contribute
Register

Native DSDT/AML IDE & Compiler: MaciASL Open Beta

Status
Not open for further replies.
i can't vouch for the first because you only provided the compiler warnings before. The second should be CreateQWordField. Byte = 8, Word = 16, DWord = 32, QWord = 64. There is also a DSDT subforum.
 
When I try running (the correct version) of MacIASL under ML 10.8.3 (4540s) I get a "Not Responding" error. Am I doing something wrong?
 
It depends on what you mean by "Not Responding". Is the Dock or Finder telling you this, or is it a popup? I know the Probook DSDTs and patches are complicated, so make sure you're giving MaciASL enough time to process.
 
To those of you interested in a command line DSDT patcher, I have built one based on MaciASL's patching functionality. It is called 'patchmatic' and has obvious command line usage:

Code:
Usage: patchmatic <dsl-input> <patches-file> <dsl-output>
 where:
   <dsl-input>     name of ASCII DSL input file (output from iasl -d)
   <patches-file>  name of file containing patches to apply to <dsl-input>
   <dsl-output>    name of patched output file (to be compiled with iasl)

You can use it from scripts to patch a DSDT automatically. We are using it in the ProBook Installer v6.1: http://www.tonymacx86.com/hp-probook/87816-hp-probook-installer-6-1-beta-ivy-bridge-support.html

You can find my repo here: https://github.com/RehabMan/OS-X-MaciASL-patchmatic

Read README.md for further information.
 
you may want to recommend users install to /usr/local/bin if they will be installing, that's FHS-compliant; you can also specify an installation location in the project itself and turn on Deployment Location. Since you are actually forking MaciASL, do you intend to suggest any patches?
 
you may want to recommend users install to /usr/local/bin if they will be installing, that's FHS-compliant; you can also specify an installation location in the project itself and turn on Deployment Location.

I don't know what FHS is, and I tend to put my own stuff in /usr/bin (iasl,etc) but if /usr/local/bin is in the path by default, I can certainly change the suggestion (and the makefile) to that.

Since you are actually forking MaciASL, do you intend to suggest any patches?

The only thing you might be interested in is my changes to 'entab'.
- I moved it from class Patcher to class Patch (Patcher isn't used at all in patchmatic, except for this method)
- I fixed some issues of dealing with patch lines with both '{' and '}' on the same line, and some other issues with lines that iasl -d generates (there was some negative indenting happening because of the way certain things are decompiled as far as indents).

I figured you'd look at my diffs with something like diffmerge and see what you want to pull, if anything...

Mostly I did this as a fork, just so it is easier for me to pull changes/bug fixes from you :)
 
the three "headlines" i saw were coloring, autosave (which I can't really discard, I think having full file history for something like a DSDT is a great improvement), and the rebuilt -entab. I finished a basic default for coloring, now in preferences, and will take a look at entab. With the number of projects I have I can't really follow all changes, IOJones is going to open beta tonight.
 
the three "headlines" i saw were coloring, autosave (which I can't really discard, I think having full file history for something like a DSDT is a great improvement), and the rebuilt -entab. I finished a basic default for coloring, now in preferences, and will take a look at entab. With the number of projects I have I can't really follow all changes, IOJones is going to open beta tonight.

While I understand your attachment to autosave (because it is the modern OS X way), the biggest problem with autosave is that it doesn't really work in a very common scenario. The biggest bug with it is that if you open an AML that does not compile, make some changes that cause it to compile successfully, you cannot revert to the version which you originally opened (because the decompiled version of it doesn't compile). If you can think of a way to solve that issue, then I think I could live without a disabled autosave (because Revert would work). Maybe it could be a preference much like you've added for syntax coloring?

I would welcome you pulling my changes to entab and think a preference for syntax coloring (on/off) would be great.

Nice work on the IOJones app. I haven't had much time to look at it, but hope to look at it soon. It would be great if we can make some improvements over IORegistryExplorer... one pet peeve of mine w/ IORegistryExplorer is how if you have a node expanded, that it closes the node after doing an update (either automatically or manually).
 
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.
 
Status
Not open for further replies.
Back
Top