Execute() and internal commands on newer 68k AmigaOS versions

Report any Hollywood bugs here
Post Reply
User avatar
jPV
Posts: 392
Joined: Sat Mar 26, 2016 10:44 am
Location: RNO
Contact:

Execute() and internal commands on newer 68k AmigaOS versions

Post by jPV »

I'm not sure if this is a Hollywood's bug, but let's see how it turns up :)

I found out that if I try to Execute() shell commands that are internal commands in the Kickstart ROM on AmigaOS 3.2, they fail with an "Unknown command" error. These do work fine with a plain AmigaOS 3.1 (and KS 3.1) installation and other Amiga compatible platforms, so the problem seems to be with newer 68k operating systems. Users reported that this would also happen on 3.1.4 and maybe even on 3.9, but I can't test myself now.

I also tried to make a work-around by creating an external script file, which I would then launch with the Execute() from Hollywood... and that indeed worked with 3.2, but unfortunately it then fails on 3.1... so, it makes two issues which would be nice to know if there's anything that can be done :)

Here's a test script:

Code: Select all

@DISPLAY {Hidden=True}
Execute("failat") ; "Unknown command / failed returncode 10" on OS3.2, but works on OS3.1
Execute("alias")  ; "Unknown command / failed returncode 10" on OS3.2, but works on OS3.1
Execute("cd")     ; "Unknown command / failed returncode 10" on OS3.2, but works on OS3.1
Execute("info")   ; Works on both
Execute("dir t:") ; Works on both

; A work-around try changes the situation other way around :(
ConsolePrint("doing with a script")
StringToFile("failat\ncd", "T:script")
SetFileAttributes("T:script", {Flags=#FILEATTR_READ_USR | #FILEATTR_WRITE_USR | #FILEATTR_DELETE_USR | #FILEATTR_EXECUTE_USR | #FILEATTR_SCRIPT})
Execute("T:script") ; "EXECUTE: Can't open T:script / object not found / failed returncode 10" on OS3.1, but works on OS3.2

ConsolePrint("end")

Post Reply