DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦8481c1237⟧ TextFile

    Length: 8310 (0x2076)
    Types: TextFile
    Names: »RELDESCR.T«

Derivation

└─⟦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« 

TextFile

«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»