EXOS 2.1 Kernel Specification
Contents:
- 1.
Introduction
- 2.
Overview of the EXOS Environment
- 2.1
The EXOS Input / Output System
- 2.2
Memory Allocation
- 2.2.1
Memory Segments and Pages
- 2.2.2
User Segment Allocation
- 2.2.3
EXOS RAM usage and Channel RAM
- 2.3
System Extensions (ROM and RAM)
- 3.
System Initialization and Warm Reset
- 3.1
Cold Reset Sequence
- 3.2
Warm Reset Sequence
- 4.
Applications Program Interface
- 4.1
EXOS System Calls - General
- 4.2
Hardware and Software Interrupts
- 4.2.1
User Hardware Interrupt Routine
- 4.2.2
Software Interrupts
- 4.3
The STOP key
- 5.
Segment Allocation
- 5.1
User and Device / Extension Segments
- 5.2
System Segments and the EXOS Boundary
- 5.3
The Shared Segment and User Boundary
- 5.4
System Segment Usage
- 6.
Device Descriptors
- 6.1
The Device Chain
- 6.2
Details of Device Descriptors
- 6.3
Extension ROM Devices
- 6.4
User Devices
- 7.
Device Drivers
- 7.1
Device Driver Routines - General
- 7.2
Device Initialisation Routine
- 7.3
Channel RAM Allocation
- 7.4
The Buffer Moved Routine
- 7.5
Device Interrupt Routines
- 7.6
Device Channel Calls
- 7.6.1
Open Channel and Create Channel Routines
- 7.6.2
Block Read and Write Routines
- 8.
EXOS Variables
- 9.
System Extension Interface
- 9.1
Calling System Extensions - General
- 9.2
Action Codes
- 9.2.1
Action code 1 - Cold Reset
- 9.2.2
Action code 2 - Command string
- 9.2.3
Action code 3 - Help string
- 9.2.4
Action code 4 - EXOS variable
- 9.2.5
Action code 5 - Explain error code
- 9.2.6
Action code 6 - Load module
- 9.2.7
Action code 7 - RAM allocation
- 9.2.8
Action code 8 - Initialisation
- 9.3
Starting a New Applications Program
- 10.
Enterprise File Format and EXOS Loading Functions
- 10.1
Enterprise File Format
- 10.1.1
Module Header Types
- 10.2
Loading Enterprise Format Files
- 10.3
Relocatable Data Format
- 10.3.1
Location Counter and Run Time Page
- 10.3.2
Relocatable Words and Absolute Bytes
- 10.3.3
End of Module Item
- 10.4
User Relocatable Modules
- 10.5
Relocatable and Absolute System Extensions
- 10.6
New Applications Programs
- 11.
EXOS Function Calls in Detail
- 11.1
Device Name and Filename String Syntax
- 11.2
Function 0 - System Reset
- 11.3
Function 1 - Open Channel
- 11.4
Function 2 - Create Channel
- 11.5
Function 3 - Close Channel
- 11.6
Function 4 - Destroy Channel
- 11.7
Function 5 - Read Character
- 11.8
Function 6 - Read Block
- 11.9
Function 7 - Write Character
- 11.10
Function 8 - Write Block
- 11.11
Function 9 - Channel Read Status
- 11.12
Function 10 - Set and Read Channel Status
- 11.13
Function 11 - Special Function
- 11.14
Function 16 - Read, Write or Toggle EXOS Variable
- 11.15
Function 17 - Capture Channel
- 11.16
Function 18 - Redirect Channel
- 11.17
Function 19 - Set Default Device Name
- 11.18
Function 20 - Return System Status
- 11.19
Function 21 - Link Device
- 11.20
Function 22 - Read EXOS Boundary
- 11.21
Function 23 - Set User Boundary
- 11.22
Function 24 - Allocate Segment
- 11.23
Function 25 - Free Segment
- 11.24
Function 26 - Scan System Extensions
- 11.25
Function 27 - Allocate Channel Buffer
- 11.26
Function 28 - Explain Error Code
- 11.27
Function 29 - Load Module
- 11.28
Function 30 - Load Relocatable Module
- 11.29
Function 31 - Set Time
- 11.30
Function 32 - Read Time
- 11.31
Function 33 - Set Date
- 11.32
Function 34 - Read Date
David Bouman.
(dsbouma@cs.vu.nl)