Difference between revisions of "OSCLI"

From BeebWiki
Jump to: navigation, search
m (Added 68000.)
(Notes)
 
(3 intermediate revisions by the same user not shown)
Line 18: Line 18:
 
* Z80 Entry Address: &FFF7, vectors via &FFF8
 
* Z80 Entry Address: &FFF7, vectors via &FFF8
 
* 6809 Entry Address: &FFF7, vectors via &FFF8
 
* 6809 Entry Address: &FFF7, vectors via &FFF8
* 80x86 Entry Address: INT &4c, vectors via 0000:0130
+
* 80x86 Entry Address: INT &4C, vectors via 0000:0130
 
* 32000 Entry Address: SVC &08
 
* 32000 Entry Address: SVC &08
 
* PDP11 Entry Address: EMT 1
 
* PDP11 Entry Address: EMT 1
Line 24: Line 24:
 
* 68000 Entry Address: MOV #&06,A0:TRAP 12
 
* 68000 Entry Address: MOV #&06,A0:TRAP 12
 
* RISC-V Entry Address: ECALL &AC0001
 
* RISC-V Entry Address: ECALL &AC0001
 +
 +
==Notes==
 +
Some systems allow a command line to be prefixed to modify the action:
 +
* '''<code>|name</code>''' : comment
 +
* '''<code>/name</code>''' : run file, similar to '''<code>*RUN</code>'''
 +
* '''<code>%name</code>''' : bypass aliasing (eg RISC OS)
 +
* '''<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)
 +
 +
Additionally, systems 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>'''
 +
 +
The two can be combined, so - where supported - you could use:
 +
* '''<code>fscommand:/name</code>''' : temporarily select filing system and run file.
  
 
[[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)

Latest revision as of 01:11, 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, systems with a FileSwitch implement:

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

The two can be combined, so - where supported - you could use:

  • fscommand:/name : temporarily select filing system and run file.

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