Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library/runpath/bin directory #148

Open
jgharston opened this issue Nov 14, 2021 · 3 comments
Open

Library/runpath/bin directory #148

jgharston opened this issue Nov 14, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@jgharston
Copy link
Contributor

Many platforms have the concept of a "library" directory where runned programs can be searched for from a common central location.
eg Unix /bin, /usr/bin
eg DOS SET PATH=C:\DOS;C:\BIN
eg Acorn $.Library

So if a *command isn't built in, and can't be found in the current directory, it then looks in the central "library" directory.
Does the Apple have this concept? It would be useful to implement as when using subdirectories you currently have to *run the absolute path to something that's not in the current directory.

@bobbimanners
Copy link
Owner

ProDOS doesn't really have a concept of a library directory (or a path). We could implement something in HostFS though ... would be a *LIB command, I guess. I did think about this when I was doing HostFS.

Incidentally, while I think of it. I notice that if all eight ROMs are loaded, some star command like *DIR take a long time, even though they should be serviced by Applecorn itself. Not sure why this is. Other command like *CAT seem to be instantaneous.

@jgharston
Copy link
Contributor Author

"some star command like *DIR take a long time, even though they should be serviced by Applecorn itself. Not sure why this is. Other command like *CAT seem to be instantaneous."

That's 'cos *CAT is implemented by the MOS and passed to the filing system, *DIR is a filing system command, so it is first passed to all ROMs as with any other unrecognised command, and if no ROM recognises it, it is then passed to the filing system. The filing system always sees commands last, after everybody else has had a chance to get in.

Something I've been toying with is having a 'FileUtils' layer - I want to implement *DUMP, *LIST, etc.

@bobbimanners
Copy link
Owner

Makes sense. Figured it was something like that!

For FileUtils ... I would like *BUILD and *TYPE too eventually. And also *SPOOL and *EXEC (which we have a ticket for already.)

@bobbimanners bobbimanners added the enhancement New feature or request label Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants