Jump to content

Open source cross-platform dsdt&ssdt IDE : Xiasl


ic005k
 Share

60 posts in this topic

Recommended Posts

https://github.com/ic005k/Xiasl

 

Basic features include but are not limited to:

* Automatically load the list of currently used SSDTs (under Windows and Mac)

* Smooth and efficient editing environment, tens of thousands or even hundreds of thousands of lines of code can be edited very smoothly

* grammar highlights

* code automatic prompt

* code folding

* Show indent edit lines

* Display case bracket matching

* Multilingual support (currently supports Chinese and English)

* you can freely define or select compilation parameters, and the compilation parameters are automatically saved. for specific compilation parameters, you can check iasl's help

* edit the scene automatically restored after the software is opened, accurate to the cursor position

* edit files with multiple labels, and the status of file editing will be displayed in real time (red dot and green dot on the label page)

* Support DSDT+SSDT decompilation and batch decompilation

* Support double-click to open files, drag and drop to the software interface to open files, and open the history of files

* If the currently opened file is modified by other software, it will automatically prompt whether to reload.

* humanized search function, and supports simple regular expressions

* Search box supports history list and input auto-complete

* Automatically mark all search results

* Search result counter

* Drag and drop tabs to form a new window

* Unlimited levels of revocation and recovery

* compile the wrong place, next to the line number with red dot to identify

* perfect information display window, which can display "basic information", "error", "warning" and so on. click the contents in the information window to locate the associated code line

......

 

Edited by ic005k
  • Like 14
  • Thanks 5
Link to comment
Share on other sites

  • 2 months later...

Nice application.

I have to note some mistake

Снимок экрана 2020-11-02 в 20.17.09.png

Tree level for the method is wrong as see at right screen.

 

Can we change iasl version to more recent when it happens?

Does the compiler take into account a whole folder DSDT+SSDT*5?

Link to comment
Share on other sites

12 hours ago, Slice said:

Nice application.

I have to note some mistake

Снимок экрана 2020-11-02 в 20.17.09.png

Tree level for the method is wrong as see at right screen.

 

Can we change iasl version to more recent when it happens?

Does the compiler take into account a whole folder DSDT+SSDT*5?

 

The problem has been fixed, please download the latest version V1.0.21, thanks for your feedback.
The compiler iasl can be upgraded, just replace the file. As shown below:

iasl.thumb.png.3dcb66ff78b4b4fe14e105726038c83a.png

 

"Does the compiler take into account a whole folder DSDT+SSDT*5?"
I'm very sorry, I don't understand what it means, can you elaborate on it?

 

Edited by ic005k
  • Like 1
Link to comment
Share on other sites

11 hours ago, ic005k said:

V1.0.21
1.Fix: A parsing error
2. Adjust the member list box to make the two-color background adaptive width

Thanks for the fix. Now the tree is good but...

Open DSDT-original.aml which contains errors and warnings I got a crash of the QtiASL see report

Date/Time:       2020-11-03 20:05:44 +0300
End time:        2020-11-03 20:05:46 +0300
OS Version:      Mac OS X 10.14.6 (Build 18G6032)
Architecture:    x86_64h
Report Version:  28

Data Source:     Stackshots
Shared Cache:    0x1bd7d000 4BE08AF8-B50D-3C32-B03C-CCFC34405D6B
Shared Cache:    0 2FE3A254-53C9-3679-A786-F55D1DD84CDA

Command:         QtiASL
Path:            UNKNOWN PATH
Version:         ??? (???)
PID:             34639

Event:           hang
Duration:        2.36s
Steps:           24 (100ms sampling interval)

Hardware model:  iMac17,1
Active cpus:     4
Boot args:       slide=0 darkwake=0 msgbuf=1048576 

Time Awake Since Boot: 21000s
Time Since Wake: 950s

Fan speed:       1038 rpm

--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------


Heaviest stack for the main thread of the target process:
  24  start + 1 (libdyld.dylib + 91093) [0x7fff736d63d5]
  24  ??? (<128C52E8-65B6-3269-B902-82AAA2423CAA> + 34265) [0x10c6275d9]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2065266) [0x10d725372]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2047503) [0x10d720e0f]
  24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 233935) [0x10f6e41cf]
  24  -[NSApplication run] + 699 (AppKit + 79240) [0x7fff44d1f588]
  24  -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361 (AppKit + 103531) [0x7fff44d2546b]
  24  _DPSNextEvent + 1135 (AppKit + 108413) [0x7fff44d2677d]
  24  _BlockUntilNextEventMatchingListInModeWithFilter + 64 (HIToolbox + 44150) [0x7fff4698ec76]
  24  ReceiveNextEventCommon + 355 (HIToolbox + 44525) [0x7fff4698eded]
  24  RunCurrentEventLoopInMode + 292 (HIToolbox + 45483) [0x7fff4698f1ab]
  24  CFRunLoopRunSpecific + 455 (CoreFoundation + 238930) [0x7fff47730552]
  24  __CFRunLoopRun + 1189 (CoreFoundation + 240713) [0x7fff47730c49]
  24  __CFRunLoopDoSources0 + 195 (CoreFoundation + 243327) [0x7fff4773167f]
  24  __CFRunLoopDoSource0 + 108 (CoreFoundation + 359609) [0x7fff4774dcb9]
  24  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 (CoreFoundation + 359699) [0x7fff4774dd13]
  24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 238952) [0x10f6e5568]
  24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 237056) [0x10f6e4e00]
  24  ??? (<5989F332-2058-304F-91A0-C4835E2C2B3D> + 130651) [0x10cf43e5b]
  24  ??? (<5989F332-2058-304F-91A0-C4835E2C2B3D> + 240805) [0x10cf5eca5]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2063716) [0x10d724d64]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 74870) [0x10c988476]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 69610) [0x10c986fea]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 430245) [0x10c9df0a5]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 436639) [0x10c9e099f]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 71952) [0x10c987910]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2063716) [0x10d724d64]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 81602) [0x10c989ec2]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 69610) [0x10c986fea]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 309181) [0x10c9c17bd]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 1030735) [0x10ca71a4f]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 1026201) [0x10ca70899]
  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 1026591) [0x10ca70a1f]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2273982) [0x10d7582be]
  24  ??? (<128C52E8-65B6-3269-B902-82AAA2423CAA> + 261454) [0x10c65ed4e]
  24  ??? (<128C52E8-65B6-3269-B902-82AAA2423CAA> + 83321) [0x10c633579]
  24  ??? (<128C52E8-65B6-3269-B902-82AAA2423CAA> + 79247) [0x10c63258f]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 1557865) [0x10d6a9569]
  24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 1575418) [0x10d6ad9fa]
  24  poll + 10 (libsystem_kernel.dylib + 37738) [0x7fff7381336a]
 *24  hndl_unix_scall64 + 22 (kernel + 1421718) [0xffffff800035b196]
 *24  unix_syscall64 + 637 (kernel + 8095085) [0xffffff80009b856d]
 *24  poll_nocancel + 1184 (kernel + 7282880) [0xffffff80008f20c0]
 *24  kqueue_scan + 415 (kernel + 6973839) [0xffffff80008a698f]
 *24  thread_block_reason + 175 (kernel + 1876351) [0xffffff80003ca17f]
 *24  ??? (kernel + 1882841) [0xffffff80003cbad9]
 *24  machine_switch_context + 195 (kernel + 2972051) [0xffffff80004d5993]


Process:         QtiASL [34639]
UUID:            128C52E8-65B6-3269-B902-82AAA2423CAA
Architecture:    x86_64
Footprint:       110.26 MB
Start time:      2020-11-03 20:05:44 +0300
End time:        2020-11-03 20:05:46 +0300
Num samples:     24 (1-24)
CPU Time:        0.010s (10.2M cycles, 3.5M instructions, 2.94c/i)
Note:            1 idle work queue thread omitted

  Thread 0x21b70            24 samples (1-24)         priority 47 (base 47)
  <process frontmost, thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [150], IO tier 0>
  24  start + 1 (libdyld.dylib + 91093) [0x7fff736d63d5] 1-24
    24  ??? (<128C52E8-65B6-3269-B902-82AAA2423CAA> + 34265) [0x10c6275d9] 1-24
      24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2065266) [0x10d725372] 1-24
        24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2047503) [0x10d720e0f] 1-24
          24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 233935) [0x10f6e41cf] 1-24
            24  -[NSApplication run] + 699 (AppKit + 79240) [0x7fff44d1f588] 1-24
              24  -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361 (AppKit + 103531) [0x7fff44d2546b] 1-24
                24  _DPSNextEvent + 1135 (AppKit + 108413) [0x7fff44d2677d] 1-24
                  24  _BlockUntilNextEventMatchingListInModeWithFilter + 64 (HIToolbox + 44150) [0x7fff4698ec76] 1-24
                    24  ReceiveNextEventCommon + 355 (HIToolbox + 44525) [0x7fff4698eded] 1-24
                      24  RunCurrentEventLoopInMode + 292 (HIToolbox + 45483) [0x7fff4698f1ab] 1-24
                        24  CFRunLoopRunSpecific + 455 (CoreFoundation + 238930) [0x7fff47730552] 1-24
                          24  __CFRunLoopRun + 1189 (CoreFoundation + 240713) [0x7fff47730c49] 1-24
                            24  __CFRunLoopDoSources0 + 195 (CoreFoundation + 243327) [0x7fff4773167f] 1-24
                              24  __CFRunLoopDoSource0 + 108 (CoreFoundation + 359609) [0x7fff4774dcb9] 1-24
                                24  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 (CoreFoundation + 359699) [0x7fff4774dd13] 1-24
                                  24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 238952) [0x10f6e5568] 1-24
                                    24  ??? (<84BF58A7-22B6-3C2E-8BC8-5EB6A39D55E0> + 237056) [0x10f6e4e00] 1-24
                                      24  ??? (<5989F332-2058-304F-91A0-C4835E2C2B3D> + 130651) [0x10cf43e5b] 1-24
                                        24  ??? (<5989F332-2058-304F-91A0-C4835E2C2B3D> + 240805) [0x10cf5eca5] 1-24
                                          24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C7609> + 2063716) [0x10d724d64] 1-24
                                            24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 74870) [0x10c988476] 1-24
                                              24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 69610) [0x10c986fea] 1-24
                                                24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 430245) [0x10c9df0a5] 1-24
                                                  24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 436639) [0x10c9e099f] 1-24
                                                    24  ??? (<337D3779-8507-33D3-B134-46BD148A7B3E> + 71952) [0x10c987910] 1-24
                                                      24  ??? (<AE40C3FB-88A8-3841-B641-37A1232C760

The problematic DSDT is here

DSDT-or.aml.zip

About DSDT+SSDT we will speak a little later.

Link to comment
Share on other sites

15 hours ago, Slice said:

Thanks for the fix. Now the tree is good but...

Open DSDT-original.aml which contains errors and warnings I got a crash of the QtiASL see report

The problematic DSDT is here

DSDT-or.aml.zip

About DSDT+SSDT we will speak a little later.

This file seems to be broken?

aml.thumb.png.630fa32b0d8dc5c2acf7107780cae547.png

15 hours ago, Slice said:

Where can I see decompilation log?

V1.0.22 adds decompilation log display, please download the latest version. More suggestions are welcome, thank you.

Link to comment
Share on other sites

On 11/4/2020 at 11:55 AM, ic005k said:

This file seems to be broken?

aml.thumb.png.630fa32b0d8dc5c2acf7107780cae547.png

V1.0.22 adds decompilation log display, please download the latest version. More suggestions are welcome, thank you.

It is not broken but it has wrong length. Can you make the program fix length instead of crashing?

DSDT-or.png

Link to comment
Share on other sites

2 hours ago, Slice said:

It is not broken but it has wrong length. Can you make the program fix length instead of crashing? 

There is a piece of invalid data in the file, and the problem lies here. iasl can't repair this file. Use HEX editor to remove this invalid data to repair this file.

But I don’t know, how was this file generated? Also, there is a plist data attached to the file, which is strange.

fixdsdt.thumb.png.d4c4ab6cb76fb5ecc79609120f445164.png

DSDT-fix.aml

DSDT-fix.dsl

Link to comment
Share on other sites

Yes, we can manually edit DSDT but what about to do this automatically?

First 8 bytes are 44534454 60820200

This is "DSDT" signature and length 028260.

For some error file length not equal to this value. Fix it?

Link to comment
Share on other sites

Now let speak about DSDT+SSDT.

Decompiling only DSDT we got these issue

    External (_GPE.AL6F, MethodObj)    // 0 Arguments
    External (_GPE.HLVT, MethodObj)    // 0 Arguments
    External (_GPE.P0L6, MethodObj)    // 0 Arguments
    External (_GPE.P1L6, MethodObj)    // 0 Arguments
    External (_GPE.P2L6, MethodObj)    // 0 Arguments
    External (_PR_.BGIA, UnknownObj)
    External (_PR_.BGMA, UnknownObj)
    External (_PR_.BGMS, UnknownObj)
    External (_PR_.CFGD, UnknownObj)
    External (_PR_.CPPC, IntObj)
    External (_PR_.CPU0.LPSS, PkgObj)
    External (_PR_.CPU0.TPSS, PkgObj)
    External (_PR_.DSAE, UnknownObj)
    External (_PR_.DTS1, UnknownObj)
    External (_PR_.DTS2, UnknownObj)
    External (_PR_.DTS3, UnknownObj)
    External (_PR_.DTS4, UnknownObj)
    External (_PR_.DTSE, UnknownObj)
    External (_PR_.DTSF, UnknownObj)
    External (_PR_.DTSI, IntObj)
    External (_PR_.ELNG, UnknownObj)
    External (_PR_.EMNA, UnknownObj)
    External (_PR_.EPCS, UnknownObj)
    External (_PR_.HWPI, IntObj)
    External (_PR_.PDTS, UnknownObj)
    External (_PR_.PKGA, UnknownObj)
    External (_PR_.POWS, UnknownObj)
    External (_PR_.TRPD, UnknownObj)
    External (_PR_.TRPF, UnknownObj)
    External (_SB_.IETM, DeviceObj)
    External (_SB_.PCI0.GFX0.ALSI, UnknownObj)
    External (_SB_.PCI0.GFX0.CBLV, UnknownObj)
    External (_SB_.PCI0.GFX0.CDCK, UnknownObj)
    External (_SB_.PCI0.GFX0.CLID, UnknownObj)
    External (_SB_.PCI0.GFX0.DD01, DeviceObj)
    External (_SB_.PCI0.GFX0.DD02, DeviceObj)
    External (_SB_.PCI0.GFX0.DD03, DeviceObj)
    External (_SB_.PCI0.GFX0.DD04, DeviceObj)
    External (_SB_.PCI0.GFX0.DD05, DeviceObj)
    External (_SB_.PCI0.GFX0.DD06, DeviceObj)
    External (_SB_.PCI0.GFX0.DD07, DeviceObj)
    External (_SB_.PCI0.GFX0.DD08, DeviceObj)
    External (_SB_.PCI0.GFX0.DD1F, DeviceObj)
    External (_SB_.PCI0.GFX0.GSCI, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.GFX0.GSSE, UnknownObj)
    External (_SB_.PCI0.GFX0.IUEH, MethodObj)    // 1 Arguments
    External (_SB_.PCI0.GFX0.STAT, UnknownObj)
    External (_SB_.PCI0.GFX0.TCHE, UnknownObj)
    External (_SB_.PCI0.HDAS.PPMS, MethodObj)    // 1 Arguments
    External (_SB_.PCI0.HDAS.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.HDAS.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.LPCB.H_EC.CHRG, DeviceObj)
    External (_SB_.PCI0.LPCB.H_EC.XDAT, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.PAUD.PUAM, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.PEG0.HPME, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.PEG1.HPME, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.PEG2.HPME, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.RP05.PWRG, UnknownObj)
    External (_SB_.PCI0.RP05.RSTG, UnknownObj)
    External (_SB_.PCI0.RP05.SCLK, UnknownObj)
    External (_SB_.PCI0.RP09.PWRG, UnknownObj)
    External (_SB_.PCI0.RP09.RSTG, UnknownObj)
    External (_SB_.PCI0.RP09.SCLK, UnknownObj)
    External (_SB_.PCI0.RP13.PWRG, UnknownObj)
    External (_SB_.PCI0.RP13.RSTG, UnknownObj)
    External (_SB_.PCI0.RP13.SCLK, UnknownObj)
    External (_SB_.PCI0.RP17.PWRG, UnknownObj)
    External (_SB_.PCI0.RP17.RSTG, UnknownObj)
    External (_SB_.PCI0.RP17.SCLK, UnknownObj)
    External (_SB_.PCI0.SAT0.NVM1.IR3E, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.NVM1.RAID, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.NVM2.IR3E, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.NVM2.RAID, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.NVM3.IR3E, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.NVM3.RAID, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.SAT0.SDSM, MethodObj)    // 4 Arguments
    External (_SB_.PCI0.XHC_.DUAM, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC_.RHUB.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.TPM_.PTS_, MethodObj)    // 1 Arguments
    External (_TZ_.ETMD, IntObj)
    External (_TZ_.TZ00, DeviceObj)
    External (_TZ_.TZ01, DeviceObj)
    External (ALSE, UnknownObj)
    External (BNUM, UnknownObj)
    External (BRTL, UnknownObj)
    External (CRBI, UnknownObj)
    External (DIDX, UnknownObj)
    External (FFTB, MethodObj)    // 0 Arguments
    External (GSMI, UnknownObj)
    External (IGDS, UnknownObj)
    External (LHIH, UnknownObj)
    External (LIDS, UnknownObj)
    External (LLOW, UnknownObj)
    External (M32B, UnknownObj)
    External (M32L, UnknownObj)
    External (M64B, UnknownObj)
    External (M64L, UnknownObj)
    External (MDBG, MethodObj)    // 1 Arguments
    External (MMRP, MethodObj)    // 0 Arguments
    External (MMTB, MethodObj)    // 0 Arguments
    External (P0WK, UnknownObj)
    External (P1GP, UnknownObj)
    External (P1WK, UnknownObj)
    External (P2GP, UnknownObj)
    External (P2WK, UnknownObj)
    External (PDC0, IntObj)
    External (PDC1, UnknownObj)
    External (PDC2, UnknownObj)
    External (PDC3, UnknownObj)
    External (PDC4, UnknownObj)
    External (PDC5, UnknownObj)
    External (PDC6, UnknownObj)
    External (PDC7, UnknownObj)
    External (RP05.PWRG, UnknownObj)
    External (RP05.RSTG, UnknownObj)
    External (RP05.SCLK, UnknownObj)
    External (RP09.PWRG, UnknownObj)
    External (RP09.RSTG, UnknownObj)
    External (RP09.SCLK, UnknownObj)
    External (RP13.PWRG, UnknownObj)
    External (RP13.RSTG, UnknownObj)
    External (RP13.SCLK, UnknownObj)
    External (RP17.PWRG, UnknownObj)
    External (RP17.RSTG, UnknownObj)
    External (RP17.SCLK, UnknownObj)
    External (SAT0.NVM1.VLPM, UnknownObj)
    External (SAT0.NVM2.VLPM, UnknownObj)
    External (SAT0.NVM3.VLPM, UnknownObj)
    External (SGGP, UnknownObj)
    External (SGMD, UnknownObj)
    External (TBTD, MethodObj)    // 1 Arguments
    External (TBTF, MethodObj)    // 1 Arguments
    External (VLPM, UnknownObj)

Unknown objects leads to wrong decompilation such as

Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Return (MDBG) /* External reference */
Arg0
}
Return (Zero)
}

Syntax error, unexpected ' } ' 

The error is because MDBG is unknown object and it should be a method with one arg. Corrected codes are

{
Return (MDBG(Arg0)) /* External reference */
}

To avoid such errors we must decompile DSDT and SSDTs in one namespace like

iasl -e SSDT*.aml -d DSDT.aml

or just

iasl -d *.aml

assuming we have the whole set DSDT+SSDT in one folder.

  • Like 1
Link to comment
Share on other sites

21 hours ago, Slice said:

To avoid such errors we must decompile DSDT and SSDTs in one namespace like

iasl -e SSDT*.aml -d DSDT.aml

or just

iasl -d *.aml

assuming we have the whole set DSDT+SSDT in one folder.

Good idea, V1.0.26 has completed this feature, please download the latest version.

V1.0.26
Added: DSDT+SSDT decompilation, batch decompilation

 

d1.thumb.png.ae02b6b26da9b300ab9fdf92f245b0f6.png

 

d2.thumb.png.79eee808b9f359d6b6748c46ee601251.png

Edited by ic005k
  • Thanks 1
Link to comment
Share on other sites

23 hours ago, Slice said:

Yes, we can manually edit DSDT but what about to do this automatically?

First 8 bytes are 44534454 60820200

This is "DSDT" signature and length 028260.

For some error file length not equal to this value. Fix it?

I will look into this issue later.

Link to comment
Share on other sites

  • 1 month later...

Hey,

Ignoring all errors, forcing AML file generation

Unhandled encoded type: 1B
Unhandled encoded type: 1B
ASL Input:     /Users/sergey/Downloads/ASROCK Z490 itx pre edit/NewACPI/DSDT-TB.dsl - 1955426 bytes  30962 keywords  62443 source lines
AML Output:    /Users/sergey/Downloads/ASROCK Z490 itx pre edit/NewACPI/DSDT-TB.aml -  277719 bytes  26089 opcodes    4873 named objects

Compilation successful. 16 Errors, 211 Warnings, 386 Remarks, 614 Optimizations

Successful???

Link to comment
Share on other sites

7 hours ago, Slice said:

Ignoring all errors, forcing AML file generation

Oh, this is determined by the -f compilation parameter, which will force the generation of alm files. It is recommended to change the compilation parameter to -tp to try.

Link to comment
Share on other sites

I encounter two missing features when I edit DSDT by Find/Replace

1. Absent of "Find next without replace".

2. Absent of "Replace all".

There are 262 replacements and I can't replace each one. I want to make batch replace.

  • Like 2
Link to comment
Share on other sites

V1.0.31

1. Added: Find but not replace
2. Added: Batch replacement (100 replacements each time)
3. The configuration file is standardized, and the .ini configuration file is placed in the .config/QtiASL directory
4. Added: update check (under the help menu)

 

On 12/10/2020 at 10:24 PM, Slice said:

Absent of "Replace all".

Please download the latest release. But this batch replacement is not good enough at present, I will spend time to optimize it later.

  • Thanks 2
Link to comment
Share on other sites

  • 4 weeks later...
 Share

×
×
  • Create New...