Difference between revisions of "OSCLI"

From BeebWiki
Jump to: navigation, search
(Added command prefix characters.)
m (Temporary filing system.)
Line 32: Line 32:
 
* '''<code>@name</code>''' : pass command to host system (eg HostFS)
 
* '''<code>@name</code>''' : pass command to host system (eg HostFS)
 
* '''<code>\name</code>''' : only check as filing system command, don't look for file (MDFS, HADFS)
 
* '''<code>\name</code>''' : only check as filing system command, don't look for file (MDFS, HADFS)
 +
 +
Additionally, system with a FileSwitch implement:
 +
* '''<code>fscommand:name</code>''' : temporarily select filing system '''<code>fscommand</code>''' while executing '''<code>name</code>'''
 +
* '''<code>-fscommand-name</code>''' : temporarily select filing system '''<code>fscommand</code>''' while executing '''<code>name</code>'''
  
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 20:33, 10 September 2023 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 20:33, 10 September 2023 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 02:51, 29 May 2024 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 02:51, 29 May 2024 (CEST)

Revision as of 01:07, 5 June 2024

OSCLI passes a command to the MOS, ROMs and filing system to execute.

Specification

6502 Z80 6809 PDP11 80x86 32016 ARM 68000 RISC-V On entry: On exit:
YX HL X R0 BX R1 R0 D0 A0 => command string, terminated with CR undefined

Calling from BBC BASIC

  • OSCLI and inline *commands call OSCLI

Entry points

  • BBC BASIC Entry Address: &FFF7
  • 6502 Entry Address: &FFF7, vectors via &0208
  • Z80 Entry Address: &FFF7, vectors via &FFF8
  • 6809 Entry Address: &FFF7, vectors via &FFF8
  • 80x86 Entry Address: INT &4C, vectors via 0000:0130
  • 32000 Entry Address: SVC &08
  • PDP11 Entry Address: EMT 1
  • ARM Entry Address: SWI &06 "OS_CLI", vector &05
  • 68000 Entry Address: MOV #&06,A0:TRAP 12
  • RISC-V Entry Address: ECALL &AC0001

Notes

Some systems allow a command line to be prefixed to modify the action:

  • |name : comment
  • /name : run file, similar to *RUN
  • %name : bypass aliasing (eg RISC OS)
  • @name : pass command to host system (eg HostFS)
  • \name : only check as filing system command, don't look for file (MDFS, HADFS)

Additionally, system with a FileSwitch implement:

  • fscommand:name : temporarily select filing system fscommand while executing name
  • -fscommand-name : temporarily select filing system fscommand while executing name

Jgharston (talk) 20:33, 10 September 2023 (CEST) Jgharston (talk) 02:51, 29 May 2024 (CEST)