
The main editor windows allows the user to open a DSL file or extract the DSDT from IOReg. It has some useful resources, like syntax highlighting, navigation tree and some options that came with the text editor component it uses, like regex matching, auto completion, jump to pair, etc.
The patcher window parses a script-like language representing the patches. The user can preview the modifications before applying them. This "language" allows us to write dynamic patches that can be applied in various situations. More specific commands can be written as they become necessary.
For now these are the implemented commands (which can be stacked separated by ";")
QUOTE
syntax:
into <type> <property1> <property_argument1> [<property2> <property_argument2> ... <propertyN> <property_argumentN>] <action> begin [action_argument] end
(will be applied to the first occurrence)
into_all <type> <property1> <property_argument1> [<property2> <property_argument2> ... <propertyN> <property_argumentN>] <action> begin [action_argument] end
(will be applied to all occurrences)
where
type: DefinitionBlock, Scope, Method, Device, Processor, ThermalZone, All
property:
label -- first argument for the constructor of selected type
name_adr -- Name (_ADR) value
name_hid -- Name (_HID) value
code_regex -- regular expression to match the code of the selected type (not other types inside of it)
code_regex_not -- regular expression NOT to match the code of the selected type (not other types inside of it)
parent_label -- parent label
parent_type -- parent type
parent_adr -- parent _ADR value
parent_hid -- parent _HID value
action:
insert <code> -- inserts the provided code to the type
set_label <new_label> -- sets the label
replace_matched <code> -- replaces the matched code for the property with the provided code. Regex groups are inserted with %1, %2, ... up to %9
replaceall_matched <code> -- same as replace_matched but will affect all matches
remove_matched -- removes the matched code
removeall_matched -- removes all the ocurrencies of the matched code
remove_entry -- removes the entry and all children nodes
replace_content -- replaces the content of the object (everything inside its main brackets)
store_%8 -- stores the matched group 1 into %8
store_%9 -- stores the matched group 1 into %9
note: replacer will always consider the last provided value
into <type> <property1> <property_argument1> [<property2> <property_argument2> ... <propertyN> <property_argumentN>] <action> begin [action_argument] end
(will be applied to the first occurrence)
into_all <type> <property1> <property_argument1> [<property2> <property_argument2> ... <propertyN> <property_argumentN>] <action> begin [action_argument] end
(will be applied to all occurrences)
where
type: DefinitionBlock, Scope, Method, Device, Processor, ThermalZone, All
property:
label -- first argument for the constructor of selected type
name_adr -- Name (_ADR) value
name_hid -- Name (_HID) value
code_regex -- regular expression to match the code of the selected type (not other types inside of it)
code_regex_not -- regular expression NOT to match the code of the selected type (not other types inside of it)
parent_label -- parent label
parent_type -- parent type
parent_adr -- parent _ADR value
parent_hid -- parent _HID value
action:
insert <code> -- inserts the provided code to the type
set_label <new_label> -- sets the label
replace_matched <code> -- replaces the matched code for the property with the provided code. Regex groups are inserted with %1, %2, ... up to %9
replaceall_matched <code> -- same as replace_matched but will affect all matches
remove_matched -- removes the matched code
removeall_matched -- removes all the ocurrencies of the matched code
remove_entry -- removes the entry and all children nodes
replace_content -- replaces the content of the object (everything inside its main brackets)
store_%8 -- stores the matched group 1 into %8
store_%9 -- stores the matched group 1 into %9
note: replacer will always consider the last provided value
Changes in latest release:
- fixed bug which caused data loss if number of open and close brackets don't match
- fixed compile window to work with new IASL versions
- updated IASL to 20120420
Download: (last updated on 27/May/2012)
Mac OS:
DSDTEditor_Mac.zip ( 1.13MB )
Number of downloads: 208Linux and Windows:
DSDTEditor_Linux_Windows.zip ( 1.6MB )
Number of downloads: 217Screenshots:
Linux

Windows

Credits:
Editor component: jsyntaxpane (http://code.google.com/p/jsyntaxpane/)
IASL Copyright © Intel Corporation
Written in Java
This post has been edited by oldnapalm: May 18 2012, 01:18 PM





Jul 1 2010, 01:13 AM






