2 *** OverviewQDOS is the QLs multi-tasking single-user operating system. It can run several programs, independently, while being connected to a single terminal.
There are several sub-systems, some of them indepently running in the background, themselves, using and probably even residing at different places in the memory (RAM addresses), controlling every entity of the system.
There is no such thing as "free memory", thus strictly inhibiting wild POKEs by the user. All "free memory", instead, will be used by the "slaving system" to chaching file data, which controls the memory areae not used by other programs or devices.
Qdos can be considered as a collection of Utilities,
Qdos is a system of objects by which the computer can be controlled. it is not a program by itself.
- QDOS-Traps: i/o routines, memory and device allocation, etc
- QDOS Vectors: simplified(?), accumulated trap calls.
- Scheduler: The program controlling the time slots of the QDOS jobs
- Cold Start: Initiating any system data, connecting the QL to the keyboard and display, invoking the initial SuperBASIC job, preparing any other programs and peripherals which are present at startup time.
The start up procedure:Functionality test up to the highest available RAM address.The QL will lock up if an error occurs (defective RAM),Programs, System Control:
MINERVA showing the test pattern and the address concerned. Extension ROM check at address $C000, and $C0000 to $100000 - the latter of wich due to a bug the JS system will leave off. Searching for and executing a device 'BOOT', otherwise loading and running 'mdv1_BOOT', or 'flp1_BOOT', if present, or just starting the empty SuperBASIC job.
There are basically four types of programs the QL can run:JOBsWhich are all differenly structured and maintained.
PROCEDURES and FUNCTIONS provided as resident extensions.
The Operating System or system extensions.
Resource allocation will be done by the Manager (1) and I/O Allocation (2) traps and data exchange managed by the I/O traps (3) and with several utility vectors.
The hardware is to a limited extent directly accesssible via several registers, and can be controlled by some of the QDOS traps and vectors.
MT.IPCOM (1/17) is designed to operate the coprocessor (IPC).
MT.RCLCK, MT.SCLCK and MT.ACLCK (3/19, 20 ,21) do the clock setting and reading.
The Microdrives can be controlled fairly directly by the means of four QDOS vectors, and otherwise be used as any i/o device, in a redirectable manner, with no substantial difference to a floppydisc drive, the printer, or other peripheral i/o devices.