mirror of
https://github.com/a2stuff/prodos-path.git
synced 2025-01-13 18:29:55 +00:00
CMD executable PATH for ProDOS's BASIC.SYSTEM
💾 Disk images can be found on the Releases page 💾
Build with ca65
Installation:
- Copy target to ProDOS disk
- From BASIC.SYSTEM prompt, run:
-PATH
from STARTUP (or by hand)
Usage:
PATH prefix - set search path(s) - colon delimited
PATH - view current search path(s)
cmdname - load and execute named CMD, if in PATH
Once set, binary files of type CMD
in the specified directories can be invoked by name.
- CMD file is loaded at $4000 and invoked; should return (
rts
) on completion. - The command line will be present at $200 (
GETLN
input buffer). - Supports multi-segment, colon-separated paths, e.g.
/hd/cmds:/hd2/more.cmds
Example:
] -/hd/path - install it
] PATH /hd/cmds:/h2/bin - set PATH
] PATH - verify path
/hd/cmds
] BELL - will invoke /hd/cmds/BELL if present
] HELLO - will invoke /hd/cmds/HELLO if present
] ONLINE - will invoke /hd/cmds/ONLINE if present
Notes:
- Search order when a command is typed:
- ProDOS BASIC.SYSTEM intrinsics (
CAT
,PREFIX
, etc) - BASIC keywords (
LIST
,PRINT
, etc) - CMD files in paths, in listed order
- ProDOS BASIC.SYSTEM intrinsics (
- Allocates a permanent buffer to store the code and path (2 pages)
PATH
can be invoked as lower case (e.g.path /DISK/CMDS
)- Commands can be invoked as lower case (e.g.
hello
) - Applesoft BASIC commands are unaffected (but can't be CMD names)
- Commands with BASIC keywords as prefixes are allowed as long as the command continues with an alphabetic character. For example,
ONLINE
is allowed despite conflicting with the valid BASIC statementONLINE GOTO10
which is short forON LINE GOTO 10
.
- Commands with BASIC keywords as prefixes are allowed as long as the command continues with an alphabetic character. For example,
Sample commands included:
BELL
- beeps the speakerHELLO
- shows a short messageONLINE
- lists online volumes (volume name, slot and drive)
Languages
Assembly
87.5%
PHP
9.2%
Makefile
1.2%
HTML
1.2%
Shell
0.9%