DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 8310 (0x2076) Types: TextFile Names: »RELDESCR.T«
└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII ) └─ ⟦this⟧ »CSP005_V0501.D!CSS302.D!RELDESCR.T«
«ff» ******************************************************* R E L E A S E D E S C R I P T I O N ******************************************************* Module id number: CSS/202 + 203 -------------------------- Module name: KERNEL ----------------------------------- Actual release: 06.04 Release date: 830808 ----------------------- -------------------- Previous release: 06.03 Release date: 830121 ----------------------- -------------------- New facilities: --------------- << VS0602 >> Floating point instructions can bee emulated externally. << VS0601 >> XAMOS supported. - New completion codes: #0104 : Bound violation (generated by F/W) A process is allowed to write only locations 0..BOUND when executing on monitor level 0. #010F : Bad level The process LEVEL is not in the range 0..15. Probable cause: AMOS monitor procedures are used, which do not return by RTM or RTMI instructions. - New monitor procedures RELBOUND and SETBOUND included. When a process writes outside its own data space, it must either be created with LEVEL = 1 (system level), as it will then have BOUND = #FFFF and be allowed to write anywhere (AMOS drivers run on level 1) or call RELBOUND before writing outside own memory, and SETBOUND after having done so (as does the PASCAL runtime system at call of COPY). - XAMOS instructions are emulated by the kernel, when executed on an AMOS CPU. When the instruction is first met, the CPU generates a local action. The instruction is then analyzed by the kernel, and, if possible, replaced with a corresponding AMOS instruction and re-executed together with preceeding modify instructions. The following XAMOS instructions cannot be replaced, and are considered illegal by the kernel: SSS X3 (system save status to memory) MMP X3 R3 (move monitor parameter) if the index register is not X2 (i.e. 4,5,6 or 7) or if the result register is not R2 (i.e. 0,1,2 or 3) The following XAMOS instruction cannot be replaced, but is emulated by the kernel when executed: SSS R3 (system save status to register) The following XAMOS instruction is replaced by the kernel and re-executed w i t h o u t preceeding modify instructions: JPZI P8 (jump to page 0 indirect) this instruction is generated by the PASCAL compiler as jump to the runtime system. It is often surrounded by constant parameters which may be mis-interpreted as modify instructions. - When IO interrupts occur during execution of alternative instructions, the ALT instruction as well as the alternative instruction is re-executed, in order to overcome weekness in F/W. Changes: -------- << VS0603 >> Type 2 CPUs are not supported in XAMOS. Special code used to emulate type 2 instructions is removed. << VS0602 >> Field 4 in CPUCB is now use to flag the existens of the CPU, which means that not all configurated CPU's must exist. CPECR 681. << VS0601 >> The parameter VMICRO in the CREATE PROCESS PARAMETER BLOCK has an additional significance in XAMOS: VMICRO = program page (0, 1, 2 or 3). VMICRO may still be used to specify a micro program load module, but it must then be greater than 3. The XMICRO field of the process control block is interpreted like VMICRO. Errors corrected: ----------------- << VS0604 >> An error causing KERNEL to fetch the address of FLOPP in the wrong page is corrected. << VS0603 >> An error causing system crash (XAMOS only) at jump to floating point module is corrected. << VS0602 >> A design error in emulating of XAMOS instructions on an AMOS CPU is corrected. (CPECR 693). An error causing zero event mask is corrected. CPECR 669. An error when emulating XAMOS instructions on a type 2 CPU is corrected. CPECR 682. << VS0501 >> Error in signal and parent signal (delivered) if sent when receiver suspended in INSPECT event. (cpecr 304). Reported errors, not corrected: ------------------------------- CPECRs implemented in current release: -------------------------------------- Comments: --------- << VS0601 >> New issue of the kernel manual is published. << VS0602 >> If floating point instructions are to be emulated, ensure that the FLOATING POINT package (FLOPP) is included in the boot module. ;----------------------------------------------------------------------- ; MONITOR PROCEDURE RELEASE BOUND PROTECTION ; INVOKATION: ; MON RELBOUND ; ; BOUND PROTECTION IS DISABLED, BY SETTING THE FIELD XBOUND IN THE ; PROCESS CONTEXT AND THE BOUND REGISTER IN THE CPU TO -1 (XAMOS ONLY). ; ; REGISTER CALL EXIT ; R4 - OLD BOUND ; R7 LINK DEST ;----------------------------------------------------------------------- ; ;----------------------------------------------------------------------- ; MONITOR PROCEDURE SET BOUND PROTECTION ; INVOKATION: ; MON SETBOUND ; ; BOUND PROTECTION IS ENABLED, BY SETTING THE FIELD XBOUND IN THE ; PROCESS CONTEXT AND THE BOUND REGISTER IN THE CPU (XAMOS ONLY). ; ; REGISTER CALL EXIT ; R4 BOUND OLD BOUND ; R7 LINK DEST ;----------------------------------------------------------------------- ; «ff» How to change to XAMOS: ======================= 1. Obtain new versions of standard system components: Kernel version 0601 Root 1001 IO system 0803 or 0703 File name util. 0102 Buffer proc 0102 Overlay 0102 Muldiv 0102 Pascal runtime 0203 Corutine monitor 0203 TOS 0801 TTY driver 0802 FMS 0403 Pascal compiler 0604 2. If you have other monitor components, make sure that they - fetch constant parameters by means of MMP rather than MVP, if they may be called from programs outside page 0 - return by RTM or RTMI - are marked as 'monitor' in the program header, so that they will not be placed outside page 0. 3. If you allocate memory by sending messages to the memory manager, remember to set word 5 (RANGE). 4. Drivers and other processes, which write outside their own memory, must either - be created with LEVEL = 1 (system level) - call MON RELBOUND before writing - use the Pascal prefix procedure COPY (which uses RELBOUND) If created with level = 1, you cannot use XBOUND to find out the size of the process (as it is #FFFF). Use XIOBASE instead: it is equal to process size + 1. When you have thus generated a new system, it should be able to run on XAMOS CPUs and AMOS CPUs, as well. Only, AMOS CPUs with loadable micro program, or with function submodule, cannot run XAMOS. To allow programs to be loaded outside page 0, you must 5a If a Pascal program then re-compile. and/or 5b If a linked program or an assembler program then patch program range (program header location 10 (#A)) to #3F00. Problems and questions may be addressed to Hans Peter Torp Petersen, CRI, tlf. 01-131166 lok 228 Erik Kliim-Hansen, CRI, tlf. 01-131166 lok 257 «ff» «a5»