Decmate_II_Specification_Jan83

                            DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





            REV.    DATE            MAJOR CHANGES           # OF PAGES
          ------------------------------------------------------------
         |       |          |                              |          |
         |   0   |16-Nov-81 | Originate                    |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |                              |          |
         |   1   |17-Nov-81 |Added CPU instruction list    |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |Changed instruction timings to|          |
         |   2   |30-Dec-81 |reflect 8/4 MHz. operation.   |          |
         |       |          |Added Z80 softcard to options.|   33     |
         |       |          |Added Index, changed name.    |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |                              |          |
         |   3   |10-Apr-82 |Added details of communication|          |
         |       |          |and user writeable characters |          |
         |       |          |Re-arranged sections.         |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |                              |          |
         |       |08-Aug-82 |Added environmental specns.,  |          |
         |       |          |dimensions and electrical     |          |
         |       |          |requirements. Added example of|          |
         |       |          |programming the communications|   59     |
         |       |          |port. Added to list of ESCape |          |
         |       |          |sequences supported.          |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |                              |          |
         |   4   |18-Jan-83 |Added ROM useage data, disk   |          |
         |       |          |useage for TRK 0 and 78, 79   |   71     |
         |       |          |Updated ESCape sequence list  |          |
         |       |          |                              |          |
          ------------------------------------------------------------
         |       |          |                              |          |
         |       |          |                              |          |
         |       |          |                              |          |
         |       |          |                              |          |
          ------------------------------------------------------------







                                                        JOHN KIRK



                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


        INDEX.

        Section            Contents                                Page

        1.              Physical                                    2

           1.1             Mechanical                               2
           1.2             Electrical                               2
           1.3             Environmental                            2

        2.              System Components

           2.1             CPU                                      3
           2.2             Memory                                   3
           2.3             Disk                                     4
           2.4             Display                                  4
           2.5             Keyboard                                 5
           2.6             Printer Controller                       5
           2.7             Clock                                    5
           2.8             Communications Port                      6

        3.              Options

           3.1             Graphics                                 6
           3.2             5.25" Winchester Disk Sub-system         6
           3.3             Z80 Softcard                             6
           3.4             RX01/02 Adaptor                          6

        4.              Detailed Description - Basic Machine

           4.1             CPU                                      7

           4.2             Display                                  7
           4.2.1              Screen Format and Modes               8
           4.2.2              Character Attributes                  8
           4.2.3              Character Types                       9
           4.2.4              Scrolling                            10
           4.2.4.1               Types of Scrolling                10
           4.2.4.2               Scrolling Regions                 10
           4.2.5              Display Control - ANSI Mode          10
           4.2.5.1               CPR                               10
           4.2.5.2               CUU                               10
           4.2.5.3               CUD                               11
           4.2.5.4               CUF                               11
           4.2.5.5               CUB                               11
           4.2.5.6               CUP                               12
           4.2.5.7               HVP                               12
           4.2.5.8               DSR                               12
           4.2.5.9               IND                               12
           4.2.5.10              NEL                               12
           4.2.5.11              RI                                12
           4.2.5.12              DA                                13
           4.2.5.13              ED                                13
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

           4.2.5.14              EL                                14
           4.2.5.15              DECKPNM                           14
           4.2.5.16              DECPAM                            14
           4.2.5.17              SM                                15
           4.2.5.18              RM                                15
           4.2.5.19              ANSI Specified SM/RM Parameters   15
           4.2.5.20              DEC Private SM/RM Parameters      16
           4.2.5.21              SCS                               17
           4.2.5.22              SGR                               20
           4.2.5.23              DECDWL                            20
           4.2.5.24              DECDHL                            21
           4.2.5.25              DECSWL                            21
           4.2.5.26              DECSTBM                           21
           4.2.5.27              HTS                               22
           4.2.5.28              TBC                               22
           4.2.5.29              DECSC                             22
           4.2.5.30              DECRC                             22
           4.2.5.31              DECPRS                            22
           4.2.5.32              DECLL                             22
           4.2.5.33              DECALN                            22
           4.2.5.34              IL                                23
           4.2.5.35              DL                                23
           4.2.5.36              DCH                               23

           4.2.6              Display Control - VT52 Mode

           4.2.6.1               Cursor Up                         23
           4.2.6.2               Cursor Down                       24
           4.2.6.3               Cursor Right                      24
           4.2.6.4               Cursor Left                       24
           4.2.6.5               Enter Graphics Mode               24
           4.2.6.6               Exit Graphics Mode                24
           4.2.6.7               Cursor Home                       24
           4.2.6.8               Reverse Linefeed                  24
           4.2.6.9               Erase to End of Screen            24
           4.2.6.10              Erase to End of Line              24
           4.2.6.11              Direct Cursor Address             25
           4.2.6.12              Identify                          25
           4.2.6.13              Enter Alternate Keypad Mode       25
           4.2.6.14              Exit Alternate Keypad Mode        25
           4.2.6.15              Enter ANSI Mode                   25

           4.3             Keyboard                                25

           4.3.1              Instruction List                     26

           4.4             RX50 Disk Controller                    26

           4.5             Printer Port                            29
           
           4.6             Communications Port                     30
           4.6.1              Instruction List                     30
           4.6.2              Internal Registers                   32
           4.6.2.1               Control Register - R0             32
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

           4.6.2.2               Control Register - R1             33
           4.6.2.3               Control Register - R2             33
           4.6.2.4               Control Register - R3             33
           4.6.2.5               Control Register - R4             34
           4.6.2.6               Control Register - R5             34
           4.6.2.7               Control Register - R6             35
           4.6.2.8               Control Register - R7             35
           4.6.2.9               Status Register 0                 36
           4.6.2.10              Status Register 1                 36
           4.6.3              Data Transfer
           4.6.3.1               Input                             37
           4.6.3.2               Output                            37

           4.7             Clock                                   37

        5.              Detailed Description - Options

           5.1             Identification                          38
           5.1.1           Z80 APU                                 38
           5.2             Graphics                                39
           5.3             Micro Winchester Disk Adaptor           39
           5.4             RX01/02 Adaptor                         39

        6.              Firmware Details                           39

           6.1             CRT Controller and Associated Logic     40
           6.1.1              80/132 Column Mode                   41
           6.1.2              Video Enable                         41
           6.1.3              Screen Mode                          41
           6.1.4              Cursor Mode                          41
           6.1.5              Erase Control                        41
           6.6.6              Extended Character Mode              42
           6.1.7              User Character Set Mode              42
           6.1.8              CRT Controller Registers             44
           6.1.9              Cursor Visibility                    46

           6.2             Panel Requests                          47
           6.2.1              PR0                                  47
           6.2.2              PRO                                  47
           6.2.3              PR2                                  47
           6.2.4              PR3                                  47

           6.3             Terminal Input Output                   50

        Appendix A.     Standard ROM Character Definitions         51
        Appendix B.     CPU Instruction Set                        52
        Appendix C.     Example of Communications-Port Use         56
        Appendix D.     Memory Allocation                          62
        Appendix E.     ROM Contents                               63
        Appendix F.     Disk Format Track 0, Tracks 78 and 79      68
        Appendix G.     Boot Block Standard                        71
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
















     General

        This document describes a single board computer system  having  a
        single RX50 drive as the basic mass storage device. A second RX50
        is optional.

        Together with the LK201 keyboard  and  the  VR201  monitor,  this
        forms a lower cost replacement for the existing DECmate I system.
        Features of this new system are compared and contrasted to  those
        of DECmate I.

        Options include Z80 auxiliary processing  unit,  bitmap  graphics
        card  and  interfaces  to  RX02(RX01)  disk drives and to a 5.25"
        Winchester disk.

        One stated goal is that existing software,  now  running  on  the
        DECmate  I,  will  run  unaltered with the exceptions relating to
        disk capacity differences and  the  programming  notes  given  in
        Sections  4.6  and  4.7.  The new machine has additional features
        over and above those of DECmate I which may be used  as  software
         is  developed, these will not, however, cause improper operation
        for those programs unaware of the new features.

        This specification describes what the combination of hardware and
        firmware   currently   do   (Firmware   Revision   0224).  Future
        enhancements to the firmware may add to what is described here.












        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 1      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     1. Physical

        The single board computer system  module, the  RX50  floppy  disk
        drive(s)  (RD50/51  Disk Drive) and  a power supply to supply the
        module, disk(s), monitor and keyboard are housed in  a small  box
        that  connects  to  the  AC  power  line  and to the monitor. The
        keyboard connects to the  monitor.  Provision  is  made  for  the
        addition  of one or more daughter boards to allow optional bitmap
        graphics, Z80 APU, RX01/02 adaptor and an interface  to  a  5.25"
        Winchester disk drive.

     1.1 Mechanical

     1.1.1 System Box

                Dimensions                6.5" (H) x 14.3" (D) x 19" (W)
                Weight (single RX50)      30 lbs.
                       (Dual RX50)        32 lbs.

     1.1.2 Monitor

                Dimensions                11.5" x13.75" x12.25"
                Weight                    14 lbs.

     1.1.3 Keyboard

                Dimensions                2" x6.75" x21"
                Weight                    4.5 lbs.

     1.2 Electrical

                Input voltage             95 - 128 VAC 1 phase or
                                          190 - 256 VAC 1 phase

                Frequency                 47 - 63 Hz.

                Power Consumption         218 watts (max.)
                                          3A @ 120 VAC.
                                          1.5A @ 240 VAC.

        The AC input voltage selection is made by a switch at the rear of
        the  system  box.  A  detachable linecord allows the system to be
        configured easily for operation in most countries of the world.

     1.3 Environmental

        Operating :

                 temperature range        59 - 90 F

                  humidity                20 - 80 % non condensing with a
                                          maximum  wet bulb of 77 F and a
                                          minimum dewpoint of 6 F.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 2      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        (Recommended operating range   65 - 75 F, 40 - 60% RH)

                Altitude                  0 - 10,000 feet.

     2.0 System Components

        The basic DECmate II configuration is as follows :

        .       CPU  -  6120 High Speed CMOS Processor
        .       32K words of user memory
        .       32K words of control memory used for
                        Internal diagnostics
                        Floppy disk bootstrap
                        Character display level 1 terminal emulation
                        Display buffer memory
                        Space available to user for fast overlays etc.
        .       Dual/quad 5.25" floppy disk controller
        .       Video display controller
        .       Keyboard controller
        .       Serial printer controller
        .       100 Hz. crystal controlled clock
        .       Multi-protocol communications line controller

      2.1 CPU

                                DECmate II      DECmate I

        CPU chip                6120            6120
        Speed                   8/4 MHz.        5 MHz.
        Interrupt Latency       < 250 usec.     < 1 msec.
        DMA overhead            ~10%            2.5%

     2.2 Memory

                                DECmate II      DECmate I

        User memory             32K words       32K words
        Control memory          32K words       4K words
        Startup & self-test     4K words        Included in control
                                                memory number.

        The startup ROM is loaded into control memory RAM  at  power  on.
        This   code   performs   self-test,  initialization  of  the  I/O
        controllers  and  CRT  controller.  When  this  is   successfully
        completed  the  disk bootstrap code is executed. The main part of
        control panel memory which defines the  terminal  characteristics
        is  then  loaded from the disk. Additional or replacement control
        memory code may be loaded from the disk as required to extend the
        function of the machine, e.g. support for multiple display pages,
        high speed overlays etc.



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 3      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     2.3 Disk

        The DECmate II has as standard a single RX50 disk  drive  with  a
        second  drive  optional.  Capacity differences from DECmate I are
        given below. All numbers are in decimal.
 
     2.3.1              DECmate II              DECmate I

                        RX50 drive(s)   RX02
        Basic   

        # of drives     1 - 5.25"               2 - 8"
        # of surfaces   2                       2
        Capacity/drive  408K 12-bit words       256K 12-bit words
                        816K bytes              512K bytes
        Basic capacity  408K 12-bit words       512K 12-bit words
                        816K bytes              1.024M bytes
        Expansion       Second drive within     Second RX02, requires
                        same system box.        additional box
        Total capacity  816K 12-bit words       1.024M 12-bit words
                        1.632M bytes            2.048M bytes

     2.3.2 Format

        # tracks         80                      77
        # sectors/track  10                      26
        Bytes/sector    512                     256
        Words/sector    256                     128
        Recording       MFM                     MFM with FM headers

        All the current  operating  systems  use  12-bit  mode  for  disk
        storage,  thus  capacity numbers are given for both this mode and 
        for 8-bit mode (byte).

     2.4 Display
                        DECmate II              DECmate I

        CRT                12" diagonal, P4 phosphor
        Format, normal  24 x 80                 24 x 80

        Format, wide    24 x 132                14 x 132

        Character       7 x 9 matrix    7 x 9 matrix
                        (within a 10 x 10 character cell)
        Character set   DEC Multi-national      94 ASCII subset plus
                        set plus Katakana       special graphics
                        and DECmate I foreign.
                        128 user defined        128 fixed (ROM) option
                                                for foreign language.
        Character       Bold                    Bold
        attributes      Blink                   Blink
                        Underline               Underline
                        Reverse                 Reverse
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 4      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Character type  Normal                  Normal
                        Double Height             -
                        Double Width              -

        Screen          Normal                  Normal
        attributes      Reverse                   -

        Scrolling       Jump or variable rate*  Jump only
                        smooth scrolling.

        Scroll region   Selectable scroll       Full page scroll region.
                                                only

        Windows         Multiple display pages  Single page only
                        horizontal scroll.**
        Performance     Full screen update      Full screen update
                        < 0.1 seconds.          < 2 seconds.

        *  Current firmware implements fixed rate smooth scroll only.
        **  Current  firmware  implements  single  page  only  with   no
           horizontal scrolling.

        The  CRT  controller  uses  a  buffer  area  in  control  memory,
        accessing  data by DMA using a single row buffer. Sequential list
        screen addressing is used, allowing all the features of the VT100
        to  be  implemented.  In  addition, multiple display pages may be
        used in some future revison of the  firmware,  giving  fast  page
        swaps  or  horizontal  scrolling  for those applications programs
        that  can  take  advantage  of  these  features.  (not  currently
        implemented).

     2.5 Keyboard

        This is a version of the LK201 keyboard with keycaps  appropriate
        for  the Word Processing Software. Initially only a subset of the
        keyboard capabilities will be supported, enough  to  perform  the
        functions  of  the  VT100/DECmate  I  keyboard.  The interface to 
        DECMate  II  is  by  a  full  duplex,  serial  asynchronous  line
        operating at 4800 baud.

     2.6 Printer controller

        A full duplex serial asynchronous line with EIA signalling levels
        and programmable speed, DECmate I compatible.

     2.7 Clock

        A 100  Hz.  clock,  crystal  controlled  as  on  DECmate  I,  the
        instruction set is, however, different - see Section 4.7




        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 5      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        
     2.8 Communications

                        DECmate II              DECmate I

        Standard        Single line, async/     None
                        sync., byte and bit
                        protocols
        Optional        None                    Two lines, async/sync.
                                                byte and bit protocols

        I/O levels      EIA only                EIA only

        The communications line  that  is  standard  on  the  DECmate  II
        supports  both  bit  and byte oriented synchronous communications
        protocols in addition to asynchronous operation.

     3.0 Options

     3.1 Graphics

        An optional daughter board provides bitmap graphics capabilities.
        Refer to the appropriate option description for full details:

        Resolution      768 (H) x 240 (V)

        # of planes     3 with a fourth optional

        Grey scale      8 levels

        Colour          R-G-B outputs  to  external  colour  monitor  via
                        colour  map,  16  colours  (with  optional fourth
                        plane).

        Performance     Medium, programmed I/O device

     3.2 Micro Winchester Disk System 

        A second option board allows connection  of  a  5.25"  Winchester
        disk  drive, capacity either 5 or 10 MBytes. This drive is housed
        in the system box, occupying the space normally reserved for  the
        second RX50 floppy disk drive.

     3.3 Z80 Auxiliary Processing Unit (APU)

        A third option module allows a Z80 processor and memory system to
        be  added  to  the DECmate II. Control code, executed by the 6120
        processor, allows the Z80 to be selected as the active  processor
        with the 6120 performing all the I/O operations for it.

     3.4 RX01/02 Adaptor

        Another option allows one or two RX01  or  RX02  8"  floppy  disk
        drives  to be attached to DECmate II. This allows for simple file
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 6      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        interchange between existing 8"  diskettes  and  5.25"  diskettes.
        This  option  card  and  the Micro Winchester Option are mutually
        exclusive.

     4.0 Detailed Description

     4.1 CPU

        The 6120 is a high speed, CMOS  processor  that  executes,  as  a
        subset,   the   instruction   set  of  the  PDP  8/A.  Additional
        instructions implement stack operations and provide  a  mechanism
        for  using  the dual address space feature of the processor. Each
        address space has  its  own  interrupt  mechanism,  allowing  the
        single  CPU  to  be  used  to  execute  a  user program and, in a
        completely  transparent  mode,  to  emulate  certain   peripheral
        devices  -  the keyboard and display portions of the machine - to
        allow program compatibility with older PDP 8 machines  where  the
        terminal was a separate device connected via a serial line.

        The emulation process is similar to that used with the DECmate  I
        and  although  the  hardware is significantly different, software
        compatibility is maintained.

     4.2 Display

        The DECmate I used a display buffer that could be switched to  be
        a part of the CPU control memory address space when an update was
        required. When the  CRT  controller  was  accessing  the  display
        buffer  it  was  no longer a part of the CPU memory and there was
        therefore no contention between the CRT controller and  the  CPU,
        nor  any  CPU  bus overhead. In this way all the bandwidth of the
        display buffer memory was available during the active portion  of
        the  display.  The  limitation of this scheme is that the display
        buffer is only available to the CPU for about 1.5 msec. per frame
        (16.67  msec.).  This meant that display buffer updates had to be
        performed  as  a  burst  operation,  during  this  1.5  msec.  In
        addition, as this was a control memory operation, user interrupts
        were locked out for the total duration of the update interval. It
        was thus necessary to limit the update time to less-than  l-msec.
        to  avoid  losing  data  coming in on the communications line, or
        limit the communications line speed to something less  than  9600
        baud.  The  result of these constraints was that the screen could
        not be  changed  faster  than  an  effective  rate  of  9K  baud.
        (effective  rate  compares  the  change to that of a conventional
        terminal connected over a serial asynchronous line)

        The DECmate II uses a  portion  of  the  control  memory  as  the
        display  buffer memory together with a single row buffer which is
        filled from control memory by DMA. The DMA filling process  is  a
        burst operation and locks out the CPU for one line time, 64usec.,
        every 640 usec. This is an overhead of about 10%, but distributed
        over  the  entire frame rather than lumped as is the 1 msec. with
        DECmate I. As the display buffer is available to the CPU  at  all
        times  other  than  during the DMA cycles, the screen data may be
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 7      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        changed very quickly.

        More memory space is available for the display  buffer  than  was
        possible  with DECmate I, giving the ability to maintain multiple
        display pages and switch between them very quickly or to use this
        additional  space  to  implement  horizontal scrolling. The space
        allocated for the display buffer allows for up to  three  display
        pages  in 80 column mode and, subject to certain constraints, two
        pages in 132 column mode.  An  added  advantage  of  the  display
        buffer  structure  adopted  is  that  the  screen contents may be
        preserved when changing from 80 column to  132  column  mode  and
        vice versa.

     4.2.1 Screen Format and Modes

        The display has 24 rows of characters, selectable for 80  or  132
        characters per row on a screen basis.

        Characters may be  displayed  as  white  on  a  black  background
        (Normal Mode) or black on a white background (Reverse Mode).

     4.2.2 Character Attributes

        For both formats and modes the following  attributes,  selectable
        on a character basis are allowed :

        Normal Screen Mode

                BLINK - the selected character is  displayed  alternating
                between two intensities, normal (as modified by attribute
                BOLD) and lower than normal.

                BOLD - the selected character is displayed  at  a  higher
                than normal intensity.

                UNDERLINE - the selected character has a continuous  line
                added  below  the  lowest  character element for an upper
                case character  or  through  the  first  element  of  the
                descender for characters with descenders.

                REVERSE -  the  selected  character  is  displayed  as  a
                reverse  image,  i.e.  the  cell background is white, the
                character information is black. This  attribute  modifies
                the  action  of  attributes BLINK and BOLD such that they
                operate  on  the  cell  background  rather  than  on  the
                character  data,  e.g. REVERSE and BOLD results in a cell
                background that is brighter than  normal,  the  character
                itself remains black.

        Reverse Screen Mode

                BLINK - the cell background of the selected character  is
                displayed alternating between two intensities, normal (as
                modified by attribute BOLD) and lower than normal.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 8      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                BOLD - the cell background of the selected  character  is
                displayed at a higher than normal intensity.

                UNDERLINE -  the  selected  character  has  a  continuous
                (black) line added below the lowest character element for
                an upper case character or through the first  element  of
                the descender for characters with descenders.

                REVERSE -  the  selected  character  is  displayed  as  a
                reverse  image,  i.e.  the  cell background is black, the
                character information is white.  This attribute  modifies
                the action of attributes BLINK and BOLD in Reverse SCreen
                Mode such that they operate on the character data  rather
                than on the cell background e.g. REVERSE and BOLD results
                in a character that is white and  brighter  than  normal,
                the cell background being black.

     4.2.3 Character Types

                Character type may be selected on a row basis to be :

                Normal - the character row is 80 or 132  characters  each
                defined within a 10 dot x 10 dot cell as shown in Fig. 1

                Double Width - the character row is 40 or  66  characters
                each defined within a double width cell.

                Double Height - the character row is 40 or 66  characters
                each  defined  within  a  double  height and double width
                cell, thus a double height  character  row  occupies  two
                normal row positions.

                                Dot Position

                (9)0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
        L 0      . . . . . . . . . . . . . . . . . . . . . .
        i 1      . * * * * * * * . . . * * * * * * * . . . *
        n 2      . * * * * * * * . . . * * * * * * * . . . *
        e 3      . * * * * * * * . . . * * * * * * * . . . *
          4      . * * * * * * * . . . * * * * * * * . . . *
        N 5      . * * * * * * * . . . * * * * * * * . . . *
        u 6      . * * * * * * * . . . * * * * * * * . . . *
        m 7      . * * * * * * * . . . * * * * * * * . . . *
        b 8      # = = = = = = = # # # = = = = = = = # # # =
        e 9      . + + + + + + + . . . + + + + + + + . . . +
        r 0     | |                 | |
                | |<---Character----->|
                | |       Cell      | |
                |<-----Attribute--->|
                |         Cell      |



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 9      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        
        * Upper case, lower case or Special Graphics
        = Lower case, Underline or Special Graphics
        + Lower case or Special Graphics 
        . Special Graphics

                FIGURE 1 - Character Cell Dot Placement

     4.2.4 Scrolling

     4.2.4.1 Types

        Scrolling may be set to be Jump or Smooth.  In  Jump  scroll  the
        display advances by a complete character row at a time, in Smooth
        scroll it advances by one or more lines of a row at a time,  with
        the default of two lines at a time. (every 16 msec.)

     4.2.4.2 Regions

        The normal mode of operation of the display is for the entire  24
        rows  to be considered as a scrolling region. The display control
        also allows the scroll region to be set to be only a part of  the
        screen,  e.g.  rows 5 to 12 may be set to scroll with rows 1 to 4
        and 13 to 24 remaining fixed.

     4.2.5 Display Control

        To control the features of the display portion  of  the  machine,
        the following ESCAPE sequences are defined as the user interface.
        The convention in the descriptions that follow is that the ESCAPE
        sequence,  when  issued by the user, causes the effect indicated.
        ESCAPE sequences generated  by  the  display  emulation  code  in
        response  to  an  ESCAPE  sequence  received  from  the  user are
        explicity noted.

     4.2.5.1 CPR - Cursor Position Report

             ESC [ Pv ; Ph R    033 133 ** 073 *** 122

                                Generated  by   the   display   emulation
                                firmware as a reply to the user generated
                                sequence  "DSR"  asking  for  a  position
                                report. 
                        Pv      the  current  cursor  vertical  position,
                                expressed as a decimal string.
                        Ph      the current cursor  horizontal  position,
                                expressed as a decimal string.

        A response with no parameters, or parameters  of  0;0,  indicates
        that the cursor is at the HOME position.

     4.2.5.2 CUU - Cursor Up


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 10     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

             ESC [ Pn A         033 133 ** 101

                                Moves the cursor up by the number of rows
                                specified by the parameter Pn, given as a
                                decimal  string.  No   parameter   or   a
                                parameter of 0 or 1 indicate a single row
                                move. If  an  attempt  is  made  to  move
                                cursor  above  the top margin, the cursor
                                is positioned  at  the  top  margin.  The
                                cursor   horizontal   position  does  not
                                change.

     4.2.5.3 CUD - Cursor Down

             ESC [ Pn B         033 133 ** 102

                                Moves the cursor down by  the  number  of
                                rows specified by the parameter Pn, given
                                as a decimal string. No  parameter  or  a
                                parameter  of  0  or 1 indicates a single
                                row move. If an attempt is made  to  move
                                the  cursor  below the bottom margin, the
                                cursor  is  positioned  at   the   bottom
                                margin.  The  cursor  horizontal does not
                                change.

     4.2.5.4 CUF - Cursor Forward

             ESC [ Pn C         033 133 ** 103

                                Moves the cursor right by the  number  of
                                columns  specified  by  the parameter Pn,
                                given as a decimal string.  No  parameter
                                or  a  parameter  of  0  or 1 indicates a
                                single column move. If an attempt is made
                                to  move  the  cursor  beyond  the  right
                                margin, the cursor is positioned  at  the
                                right   margin.   The   cursor   vertical 
                                position does not change.

     4.2.5.5 CUB - Cursor Backwards

             ESC [ Pn D         033 133 ** 104 

                                Moves the cursor left by  the  number  of
                                columns  specified  by  the parameter Pn,
                                given as a decimal string.  No  parameter
                                or  a  parameter  of  0  or 1 indicates a
                                single column move. If an attempt is made
                                to   move  the  cursor  beyond  the  left
                                margin, the cursor is positioned  at  the
                                left margin. The cursor vertical position
                                does not change.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 11     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     4.2.5.6 CUP - Cursor Position

             ESC [ Pv ; Ph H    033 133 ** 073 *** 110

                                Moves  the   cursor   to   the   position
                                specified  by  the  parameters Pv and Ph.
                                Out of range parameters cause the  cursor
                                to be positioned at the respective screen 
                                extremity. See "Origin Mode", 4.2.5.20

                                Pv - cursor vertical position,  expressed
                                as a decimal string.

                                Ph  -   cursor    horizontal    position,
                                expressed as a decimal string.

     4.2.5.7 HVP - Horizontal and Vertical Position     

             ESC [ Pv ; Ph f    033 133 ** 073 *** 146

                                Same effect as CUP - see 4.2.5.6

     4.2.5.8 DSR - Device Status Report

             ESC [ 6 n          033 133 66 156

                                A  request  to  the   display   emulation
                                firmware   to  report  back  the  current
                                cursor position using a CPR sequence, see 
                                Section 4.2.5.1

     4.2.5.9 IND - Index

             ESC D              033 104

                                Moves the cursor position down  one  row,
                                scrolling   if   necessary.   The  cursor
                                horizontal position is unchanged.

     4.2.5.10 NEL - New Line 

             ESC E              033 105

                                Moves the cursor to the first  column  of
                                the   next   row   down,   scrolling   if
                                necessary.

     4.2.5.11 RI - Reverse Index

             ESC M              033 115

                                Moves the  cursor  up  one  row,  reverse
                                scrolling   if   necessary.   The  cursor
                                horizontal position is unchanged.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 12     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     4.2.5.12 DA - Device Attributes

             ESC [ Pn c         033 133 * 143

                                Pn - 0  or  not  present  is  used  as  a
                                sequence generated by the user program to
                                request  that   the   display   emulation
                                firmware    report    back   the   device
                                characteristics, using a DA  sequence  as
                                defined below.

             ESC [ ? 61;1 c     033 133 077 066 061 073 061 143

                                Defines the  DECmate  II  as  a  Level  1
                                Terminal   with   132  column  extension.
                                Having been identified as such, the  user
                                program  may  request more information by
                                use of  the  Secondary  Device  Attribute
                                Request.

             ESC [ > Pn c       033 133 076 * 143

                                Pn - 0 or not present is a  request  from
                                the user program for transmission back of
                                the Secondary Device Attribute  Response.
                                The  resposnse for a DECmate II operating
                                with its own internal  terminal  Firmware
                                is:

             ESC [ > 3 c        033 133 076 63 143

     4.2.5.13 ED - Erase in Display

             ESC [ Pn J         033 133 * 112

                                Pn  -  a  parameter  defining  the  erase
                                function.

             Pn                 Erase Function

             0 (060) or none    Erase from the current cursor position to 
                                the end of the screen, inclusive.

             1 (061)            Erase from the start of the screen to the
                                current cursor position, inclusive.

             2 (062)            Erase the entire screen.

        In all cases  the  cursor  position  is  unchanged  when  the  ED
        function has been completed.



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 13     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     4.2.5.14 EL - Erase in Line

             ESC [ Pn K         033 133 * 113

                                Pn  -  a  parameter  defining  the  erase
                                function.

             Pn                 Erase Function

              0 (060) or none   Erase from the current cursor position to
                                the end of the current row, inclusive.

              1 (061)           Erase from the start of the  current  row
                                to the cursor, inclusive.

              2 (062)           Erase the entire current row.

        "Current row" refers to that row on which the cursor is displayed
        when the EL command is given. In all cases the cursor position is
        unchanged when the EL function has been completed.

     4.2.5.15 DECKPNM - Keypad Numeric Mode

             ESC >              033 076

                                In this mode  of  operation,  the  keypad
                                keys  transmit  codes  that correspond to
                                the symbols shown on the keys,  with  the
                                exception   of  PF1-4.  The  cursor  keys
                                transmit  ANSI  cursor  movement   ESCAPE
                                sequences - see 4.2.5.20

     4.2.5.16 DECPAM - Keypad Application Mode

             ESC =              033 075

                                In this mode the codes transmitted by the
                                keypad keys change to the sequences shown
                                below.

        Key             Keypad Numeric          Keypad Application
                        Mode                    Mode

        0               0       (060)           ESC O p (033 117 160)
        1               1       (061)           ESC O q (033 117 161)
        2               2       (062)           ESC O r (033 117 162)
        3               3       (063)           ESC O s (033 117 163)
        4               4       (064)           ESC O t (033 117 164)
        5               5       (065)           ESC O u (033 117 165)
        6               6       (066)           ESC O v (033 117 166)
        7               7       (067)           ESC O w (033 117 167)
        8               8       (070)           ESC O x (033 117 170)
        9               9       (071)           ESC O y (033 117 171)
        -               -       (055)           ESC O m (033-117 155)
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 14     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ,               ,       (054)           ESC O 1 (033 117 154)
        ENTER           RET     (015)           ESC O M (033 117 115)
        PF1             ESC O P (033 117 120)   ESC O P (033 117 120)
        PF2             ESC O Q (033 117 121)   ESC O Q (033 117 121)
        PF3             ESC O R (033 117 122)   ESC O R (033 117 122)
        PF4             ESC O S (033 117 123)   ESC O S (033 117 123)

     4.2.5.17 SM - Set Mode

        ESC [ PS ; Ps ; ..... h        033 133 * 073 * ..... 154

        Set one or more operating parameters, specified by the  parameter
        string  Ps....,  as  defined  in  Section  4.2.5.19.  DEC Private
        parameters are specified by adding the character "?"  immediately
        after the CSI introducer (ESC [).

        i.e. the SM sequence for a DEC Private parameter is :

        ESC [ ? ;Ps ; Ps ; ...... l


     4.2.5.18 RM - Reset Mode

        ESC [ Pr ; Pr ; ...... l       033 133 * 073 * 073 ... 150

        Reset  one  or  more  operating  parameters,  specified  by   the
        parameter  string  Pr....,  as  defined  in Section 4.2.5.19. DEC
        Private parameters are specified  by  adding  the  character  "?"
        immediately after the CSI introducer (ESC [).

        i.e. the RM sequence for a DEC private parameter is :

        ESC [ ? Pr ; Pr ; ..... l

     4.2.5.19 ANSI Specified Parameters Applicable to SM and RM

        Parameter               Function                Mnemonic

           2 (062)      SET - turns OFF the keyboard    KAM     
                        RESET - enables the keyboard    

           4 (064)      SET-- selects insertion mode    IRM
                        RESET - selects replacment mode 

          12 (061 062)  SET - turns OFF local echo      SRM
                        RESET - turns ON local echo

          20 (062 060)  SET - enables Newline mode      LNM
                        RESET - disable Newline mode

          IRM           When  Insertion  Mode  is  set  to  Insert  (SM),
                        characters  sent  to  the  screen for display are
                        inserted  at  the  current  cursor  position  and
                        characters to the right of the cursor position
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 15     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        are pushed towards the  right  hand  end  of  the
                        current  row.  As  characters moved right in this
                        fashion move beyond the right  margin,  they  are
                        lost.  When  Insertion  Mode is set to Replace, a
                        character sent to the screen for display replaces
                        any character at the current cursor position.

        SRM             When local echo is turned ON, characters typed on
                        the  keyboard  are  displayed  on  the screen and
                        transmitted to the application program. When this
                        mode  is  turned  OFF  (normal),  the application
                        program is responsible for echoing characters.

        LNM             When this mode is  enabled  (SET),  pressing  the
                        RETURN  key  causes  both CR (015) and a LF (012)
                        codes to be passed to  the  application  program.
                        When  this mode is disabled (RESET), pressing the
                        RETURN  key  causes  a  CR  code   only   to   be
                        transmitted.

     4.2.5.20 DEC Private Parameters Applicable to SM and RM

        Parameter               Function                Mnemonic

           1 (061)      SET - enables Cursor Key Mode   DECCKM
                        RESET - disables "    "   "

           2 (062)      SET - enables ANSI mode         DECANM
                        RESET - enables VT52 mode

           3 (063)      SET - enables 132 column mode   DECCOLM
                        RESET - enables 80 column mode

           4 (064)      SET - enables smooth scroll     DECSCLM
                        RESET - enables jump scroll

           5 (065)      SET - gives white background    DECSCNM
                        RESET - gives black background

           6 (066)      SET - enables Origin Mode       DECOM
                        RESET - disables Origin Mode

           7 (067)      SET - enables auto-wrap         DECAWM
                        RESET - disables auto-wrap

           8 (070)      SET - keyboard keys auto-repeat DECARM
                        RESET - no auto-repeat

          25 (062 065)  SET - the cursor is visible     DECCUR
                        RESET - the cursor is invisible

         Cursor key mode - the  four  cursor  keys  may  be  selected  to
                        transmit  either  ANSI cursor key movement ESCAPE
                        sequences or Application ESCAPE sequences by this
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 16     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                        SM/RM parameter if Keypad Application Mode is SET
                        -  see  4.2.5.16.  If  Keypad Application Mode is
                        SET, the  alternative  code  sequences  that  the
                        cursor keys can transmit are as follows :

        Cursor Key      Cursor Key Mode         Cursor Key Mode
                        RESET                   SET

         UP arrow       ESC [ A (033 133 101)   ESC O A (033 117 101)
         DOWN arrow     ESC [ B (033 133 102)   ESC O B (033 117 102)
         RIGHT arrow    ESC [ C (033 133 103)   ESC O C (033 117 103)
         LEFT arrow     ESC [ D (022 133 104)   ESC O D (033 117 104)

        ANSI/VT52 Mode -If  ANSI  Mode  is  SET,  the  display  interface
                        responds  to  the  ANSI  set  of ESCAPE sequences
                        defined in Section 6.6

                        If ANSI  Mode  is  RESET,  i.e.  VT52  Mode,  the
                        display  interface  responds  to  the VT52 set of
                        ESCAPE sequences defined in Section 7.

        Origin Mode -   If this mode  is  RESET,  the  screen  origin  is
                        always  located  at  the upper left corner of the
                        screen and cursor addressing is absolute  wrt  to
                        screen  physical location. If Origin Mode is SET,
                        the screen origin is relative to the start of the
                        current scrolling region and the cursor cannot be
                        positioned outside of the scrolling region.  When
                        the  Mode  is changed, the cursor is repositioned
                        at the new origin.

        Autowrap -      If this Mode is RESET,  characters  sent  to  the
                        display  when  the  cursor  is  positioned at the
                        rightmost column  of  a  row  overwrite  previous
                        data,  if  any, at that location. If this Mode is
                        SET, sending new characters at  this  point  will
                        cause an automatic NEWLINE to occur.

     4.2.5.21 SCS - Select Character Set

        The DECmate II  is  able  to  display  characters  and  character
        graphics from data stored in a character generator ROM or in RAM.
        The ROM provides the bit patterns for the  standard USASCII,  UK,
        DEC  Multinational, Special Graphics and Katakana character sets.
        The RAM may be loaded by the user to provide a  wide  variety  of
        other  Foreign  Language  characters  or extensions to the normal
        display capabilities, e.g. scientific symbols.

        DECmate II can support both 7-bit and 8-bit codes for display. In
        its  normal  mode  of  operation,  codes received for display are
        assumed to be 7-bit and are masked to 7-bit prior to any  display
        translation  occurring.  If  DEC 8-bit mode is selected, the full 
        8-bits of an input code have significance *.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 17     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        In interpreting input codes  for  display,  there  are  two  code
        groups  defined:-  GL, codes in the range 041 - 176 and GR, codes
        in the range 241 - 376. At any time GL may be invoked to  be  any
        one  of four sets G0, G1, G2 or G3 and GR to any one of G1, G2 or
        G3. In turn G0 - G3 may be  designated  to  be  any  one  of  the
        possible  character  reportoires. Character reportoires supported
        by DECmate II at present are :

        * Current firmware implements ONLY Terminal Level 1, any  attempt
        to change to 8-bit display mode is ignored.

                USACSII
                LINE DRAWING (SPECIAL GRAPHICS)
                DEC MULTINATIONAL SUPPLEMENTAL

        These are the reportoires recommended for future use. UK  is  now
        considered a part of DEC Multinational Supplemental.

                UK
                FRENCH
                FRENCH-CANADIAN
                DUTCH
                GERMAN

        These are included (together with  any  other  Foreign  Languages
        that may be added) for compatibility with DECmate I and any other
        software that uses the obsolete language mapping of the VTl00W.

                JIS ROMAN
                KATAKANA

        These are extensions to the  DEC  8-bit  Multinational  character
        representation (see DEC Std. 169)

                ALTERNATE ROM A
                ALTERNATE ROM SPECIAL GRAPHICS
                USER DEFINED (RAM)

        The  first  two  of  these  are  again  included  for   backwards
        compatibility,  the  User  defined RAM is a new feature whose use 
        and designation is TBD.

        For further details on the future use of character sets and those
        to be supported in future DEC products, refer to DEC Std. 169.

        Following self test, G0, G1 and G3 are set to USASCII and  G2  is
        set  to  DEC  Multinational  Supplemental. The loadable character
        generator RAM is cleared.

        The G0 - G3 sets  may  be  designated  by  the  following  ESCape
        sequences :


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 18     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ESC ( Fx        033 050 Fx      Designate the G0 set

        ESC ) Fx        033 051 Fx      Designate the G1 set

        ESC * Fx        033 052 Fx      Designate the G2 set

        ESC + Fx        033 053 Fx      Designate the G3 set

        Where Fx is a parameter defining one of the  available  character
        reportoires as follows :

                Fx              Character reportoire

                A (101)         UK set
                B (102)         USASCII
                I (111)         JIS KATAKANA
                J (112)         JIS Roman Graphic
                K (113)         German
                R (122)         French
                0 (060)         Special graphics
                1 (061)         Alternate character ROM
                2 (062)         Alternate character ROM, special graphics
                3 (063)         French-Canadian 
                4 (064)         Dutch
                < (074)         DEC 8-bit Multinational Supplemental

        GL and GR may be invoked as G0 - G3 in  either  Single  Shift  or
        Locking  Shift.  In  Single  Shift,  the  next  graphic character
        received following the receipt of the Single Shift Code  will  be
        displayed  using  the  newly  selected  character  reportoire, in
        Locking Shift, all graphic characters received following  receipt
        of  the  Locking  Shift code will be displayed using the selected
        character reportoire.

        Single Shift Invokation

        SS2  -  ESC N   (033 116)       Invoke GL to G2 
        SS3  -  ESC O   (033 117)       Invoke GL to G3

        There are no Single Shift invokation ESCape sequences for GR, nor
        for  GL  to G0 or G1. In 8-bit mode GL may be invoked as a single
        shift to G2 or G3 on receipt of the following :-

        SS2             (216)           Invoke GL to G2
        SS3             (217)           Invoke GL to G3

        Locking Shift Invokation

        LS2  - ESC n    (033 156)       Invoke GL to G2
        LS3  - ESC o    (033 157)       Invoke GL to G3

        LS1R - ESC ~    (033 176)       Invoke GR to Gl
        LS2R - ESC }    (033 175)       Invoke GR to G2 
        LS3R - ESC |    (033 174)       Invoke GR to G3
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 19     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        There is no ESCape sequence to Invoke GL to  G0  or  G1,  instead
        this function is performed by Control Codes :

        LS0  -  SI      (017)           Invoke GL to G0 
        LS1  -  SO      (016)           Invoke GL to G1

        Appendix A defines the standard character patterns.

     4.2.5.22 SGR - Select Graphic Rendition

        ESC [ Pn ; Pn ;..... m          033 133 * 073 * 073 ... 155

        Establishes  the  attributes  to  be   appended   to   subsequent
        characters according to the parameter string Pn .., as follows :

                Pn      Action

                0 (060) All attributes OFF, normal character display
                1 (061) Display at increased intensity
                4 (064) Display with underline
                5 (065) Display blinking
                7 (067) Display as a negative (reverse) image

        There are four display intensity levels for  a  given  brightness
        setting,  these  are  0  or  no  display  and  1,  2,  3  - being
        sequentially increasing  levels  of  intensity.  Combinations  of
        attributes result in displays as defined below :

                Pn      Character/Underscore    Background

                0       Level 2                 Level 0
                1       Level 3                 Level 0
                4       Level 2  *              Level 0
                5       Level 2/level 1         Level 0
                1;4     Level 3  *              Level 0
                1;5     Level 3/level 2  *      Level 0
                4;5     Level 2/level 1  *      Level 0
                1;4;5   Level 3/level 2         Level 0
                7       Level 0                 Level 2 
                1;7     Level 0                 Level 3
                4;7     Level 0                 Level 2  *
                5;7     Level 0                 Level 2/level 1
                1;4;7   Level 0                 Level 3  *
                1;5;7   Level 0                 Level 3/level 2  *
                4;5;7   Level 0                 Level 2/level 1  *
                1;4;5;7 Level 0                 Level 3/level 2

        * these display levels alternate at the character BLINK rate.

     4.2.5.23 DECWDL - Double Width Row

        ESC $ 6         033 043 066

                        This causes the  row  containing  the  cursor  to
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 20     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        become  a  double  width   character   row.   All
                        characters  to  the  right  of  the centre of the
                        screen are lost, the display becomes either 40 or
                        66 columns wide. The cursor position is unchanged
                        unless it was previously  to  the  right  of  the
                        screen  centre, in which case it is positioned at
                        the new right margin.

     4.2.5.24 DECDHL - Double Height Row

        ESC # 3         033 043 063

                        This causes the  row  containing  the  cursor  to
                        become  the  top  half of a double height, double
                        width character row.

        ESC # 4         033 043 064

                        This causes the  row  containing  the  cursor  to
                        become the bottom half of a double height, double
                        width row.

                        These sequences must be used  in  pairs  and  the
                        same  character  data  must be placed in the same
                        positions on each of the  rows  to  form  correct
                        double height characters. An attempt to display a
                        standalone top half or bottom half  of  a  double
                        height   row  will  result  in  an  unpredictable
                        display. If the row was previously single  width,
                        all  characters to the right of the centre of the
                        screen are lost. The cursor position is unchanged
                        unless  it  was  previously  to  the right of the
                        screen centre, in which case it is positioned  at
                        the new right margin.

     4.2.5.25 DECSWL - Single Width Row

        ESC # 5         033 043 065

                        This causes the  row  containing  the  cursor  to
                        become  single  width,  single height. The cursor
                        position is unchanged, i.e.  it  remains  at  the
                        same column number.

     4.2.5.26 DECSTBM - Set Top and Bottom Margins

        ESC [ Pn ; Pm r 033 133 ** 073 ** 162

                        This sets the top and bottom  screen  margins  to
                        define   the  scrolling  region.  Parameters  are
                        expressed as decimal strings.

                        Pn - the number of the top row in  the  scrolling
                             region.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 21     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                        Pm  -  the  number  of  the  bottom  row  in  the
                               scrolling region.

        The minimum scrolling region is two rows, the top row number must
        be lower than the bottom, see Origin Mode - 4.2.5.20

     4.2.5.27 HTS - Horizontal Tab Set

        ESC H           033 110

        Set one horizontal stop at the current cursor position.

     4.2.5.28 TBC - Tab Clear

        ESC [ Pc g      033 133 *** 147

        Clear horizontal tab stop(s), defined by parameter Pc.

                Pn      Action

                0 (060) Clear  horizontal  tab  at  the  current   cursor
                        position, the default case with no parameter.

                3 (063) Clear all horizontal tabs.

     4.2.5.29 DECSC - Save Cursor (DEC Private)

        ESC 7           033 067

                        This sequence causes the current cursor position,
                        graphic  rendition and active character set to be
                        saved.

     4.2.5.30 DECRC - Restore Cursor (DEC Private)

        ESC 8           033 070

                        This sequence causes the previously saved  cursor
                        position,  graphic rendition and character set to
                        be restored.

     4.2.5.31 DECPRS - Print Screen (DEC Private)

        ESC [ i         033 133 151

                        This sequence is ignored.

     4.2.5.32 DECLL - Load LEDS (DEC Private)

        ESC [ Ps q      This sequence has no effect on DECmate II.

     4.2.5.33 DECALN - Screen Alignment Display (DEC Private)

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 22     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        ESC g 8         033 043 070

                        This sequence fills the entire  screen  with  the
                        screen alignment pattern.

     4.2.5.34 IL - Insert Line

        ESC [ Pn L      033 133 *** 114

                        This sequence causes Pn (expressed as  a  decimal
                        string)  lines of blanks to be inserted below the
                        current line. Lines below the  current  line  are
                        scrolled down. This sequence has no effect if the
                        cursor is positioned outside the scrolling region.

     4.2.5.35 DL - Delete Line

        ESC [ Pn M      033 133 *** 115

                        This sequence causes Pn (expressed as  a  decimal
                        string)  lines  to  be  deleted below the current
                        line. As lines are deleted, blank lines scroll in
                        from  the  botton. This sequence has no effect if
                        the cursor is  positioned  outside  the  scroiing
                        region.

     4.2.5.36 DCH - Delete Character

        ESC [ Pn P      033 133 *** 120

                        This sequence causes P characters  (expressed  as
                        a  decimal  string)  to te deleted, starting with
                        the character at the cursor position and deleting
                        towards  the right hand margin. As characters are
                        deleted, characters to the right  of  the  cursor
                        move to the left to fill the space created by the
                         deletion.   See  Set/Reset  Mode  for  Character
                        Insertion. 

     4.2.6 VT52 Mode ESCAPE sequences

        When the DECmate II is placed into VT52 Mode - see  4.2.5.20  for
        details  of  this  SM  parameter,  the  following  set  of ESCAPE
        sequences become recognised, replacing those  listed  in  Section
        4.2.5.*

     4.2.6.1 Cursor Up

        ESC A           The cursor is move up by one row. If  an  attempt
                        is  made  to move the cusor above the top margin,
                        it is positioned at the top  margin.  The  cursor
                        horizontal position does not change.

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 23      Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     4.2.6.2 Cursor Down

        ESC B           The cursor is move down by one row. If an attempt 
                        is  made  to  move  the  cursor  below the bottom
                        margin, it is positioned at  the  bottom  margin.
                        The cursor horizontal position does not change.

     4.2.6.3 Cursor Right

        ESC C           The cursor is moved one column to the  right.  If
                        an  attempt is made to move the cursor beyond the
                        right margin,  it  is  positioned  at  the  right
                        margin.  The  cursor  vertical  position does not
                        change.

     4.2.6.4 Cursor Left

        ESC D           The cursor is moved one column to the left. If an
                        attempt is made to move the cursor byond the left
                        margin, it is positioned at the left margin.  The
                        cursor vertical position does not change.

     4.2.6.5 Enter Graphics Mode

        ESC F           The  special  graphics  character  set   of   the
                        standard  character  ROM  are  selected - see the
                        ANSI SCS sequence ESC ( 0 - Section 4.2.5.20

     4.2.6.6 Exit Graphics Mode

        ESC G           The character set reverts to the standard USASCII
                        -  see  ANSI  SCS  sequence  ESC  (  B  - Section
                        4.2.5.20

     4.2.6.7 Cursor to Home

        ESC H           The cursor is positioned at HOME,  the  top  left
                        corner of the screen.

     4.2.6.8 Reverse Line Feed

        ESC I           Moves the cursor up one row without changing  the
                        horizontal    position,   reverse   scrolling  if
                        necessary.

     4.2.6.9 Erase to End of Screen

        ESC J           Erases all character positions from  the  current
                        cursor  position  to the end of screen inclusive.
                        The cursor position remains unchanged.

     4.2.6.10 Erase to End of Line

        ESC K           Erases all character positions from  the  current
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 24     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        cursor position to the end of  the  current  row.
                        The cursor position remains unchanged.

     4.2.6.11 Direct Cursor Address

        ESC Y Pr Pc     The cursor is moved to the screen location  given
                        by  the  two  ASCII character codes following the
                        Direct  Cursor  Addressing   delimiter   (Y)   as
                        follows:

                        the row  and  column  parameters  are  formed  by
                        adding  037 to the actual row and column numbers,
                        and sending that  pair  of  ASCII  characters  so
                        formed  as  the next two characters following the
                        upper case Y, e.g.  to  position  the  cursor  at
                        screen  position  2;5  the sequence sent would be 

                        ESC Y     !     $
                                (041=2 044=5)

     4.2.6.12 Identify

        ESC Z           This causes the  display  emulation  firmware  to
                        return  the  following identification sequence to
                        the user program :

                        ESC / Z

                        indicating  that  it  is  a  VT100  type   device
                        emulating a VT52.

     4.2.6.13 Enter Alternate Keypad Mode

        ESC =           This causes the auxiliary keypad keys to transmit 
                        ESCAPE   sequences   for   Application  Dependent 
                        Purposes.

     4.2.6.14 Exit Alternate Keypad Mode

        ESC >           This causes the auxiliary keypad to transmit  the
                        ASCII  codes  for  the  functions  or  characters 
                        engraved on the keys.

     4.2.6.15 Enter ANSI Mode

        ESC <           This causes the display emulation firmware to  go
                        into  ANSI  mode  and  interpret ESCAPE sequences 
                        defined in Section 4.2.5.* (VT100 Mode).

     4.3 Keyboard

        The LK2XX keyboard implements the functions of keyboard scanning,
        debouncing,  autorepeat  etc.  and  transmits  key  codes  to the
        DECmate II to indicate keydown conditions. Following decoding  in
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 25     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Control Panel Memory, the resulting keyboard  character  code  is
        passed  to the user program. Data transmission to the keyboard is
        provided to allow certain keyboard parameters to be set up,  e.g.
        keyclick  loudness. The following list of instructions is for use
        by the keyboard handling code in Panel Memory  and  not  for  the
        user.  The  characteristics  of this interface are fixed with the
        following parameters :

        Speed           4800 baud       Character       8 data bits

     4.3.1 Instruction List

        Instruction     Description

        6050            Set keyboard input flag.
        6051            Skip on keyboard input flag, clear it if set.   
        6052            Clear the AC.
        6053            NOP
        6054            Inclusive OR keyboard input data  with  AC<4:11>,
                        result to AC<4:11>, AC<0:3> undefined.
        6055            Set/clear keyboard input  interrupt  enable  with
                        AC. AC unchanged following this instruction.
        6056            Clear  AC,  then  read  keyboard  input  data  to
                        AC<4:11>, AC<0:3> undefined.
        6057            NOP
        6110            Set keyboard output flag.
        6111            Skip on keyboard output flag, clear it if set.
        6112            NOP
        6113            NOP
        6114            AC<4:11> to the keyboard, AC unchanged.
        6115            Set/clear keyboard output flag  interrupt  enable
                        with   AC.   AC   unchanged   following  this
                        instruction.
        6116            AC<4:11> to the keyboard, AC cleared.
        6117            NOP

     4.4 Disk Interface

        The disk storage integral to the DECmate  II  is  a  single  RX50
        floppy  disk  drive  with a second RX50 optional, see Section 2.3
        for capacity details.

        The disk may be used in either 8 or 12 bit modes. In  both  modes
        the  disk  format  is  the  same,  the  differences  are  in  the
        utilization of the available capacity  and  the  format  of  data
        transfer  between  the  user  program and the disk controller. In
        8-bit mode the transfers are as 8-bit bytes to/from AC<4:ll>  and
        the full disk capacity is available. In 12-bit mode the transfers
        are full word transfers with an  effective  sector  size  of  256
        12-bit words, the disk controller still reads and writes 512 byte
        sectors, reformatting the 12-bit data as it is received from  the
        user and creating 12-bit words prior to transferring read data to
        the user. The unused bits in each sector are discarded.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 26     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Instruction     Function

        SEL - 6750      Select a disk pair.

                If the RX02 Adaptor is not present (see section 5.4)

                        AC 11
                            0   Select RX50 drive pair A
                            1   Select RX50 drive pair B

                If the RX02 Adaptor is present (see section 5.4)

                        AC 00   11
                            0   0/1     Select RX50 drive pair A/B
                            1    0      Select RX02 drive pair A/B
                                        (See RX02 adaptor description for
                                        details)

                        The  first  pair  of  RX50  drives  (pair  A)  is
                        selected  by  CAF and following self test. The AC
                        is unchanged by this IOT.

        LCD - 6751      Load the Command Register.

                        This instruction must only be issued when DONE is
                        true.  The  contents of the AC are transferred to
                        the disk controller to be used as a command.  The
                        AC is cleared following this instruction.

                        AC(5)=0 selects 12-bit mode of operation.
                        AC (5)=1 selects 8-bit mode of operation.
                        12-bit  mode  is  selected  by  CAF,  RXINIT  and
                        following self test.

                        AC(7)=0 selects the left drive (drive 0 - RX50).

                        AC(7)=1 selects the right drive (drive 1 - RX50).

                        AC<8:10> define the command to be executed by the
                        disk controller as follows :

                        Command                 AC 8  9  10     

                        Read Sector                0  1   1
                        Write Sector               0  1   0
                        Fill Buffer                0  0   0
                        Empty Buffer               0  0   1
                        Read Status                1  0   1
                        Read Error Code            1  1   1
                        Write Sector with
                        Deleted Data mark          1  1   0
                        No Operation               1  0   0
                        AC have no effect.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 27     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        XDR - 6752      Transfer Data.

                        This IOT performs data interchange between the AC
                        and  the  disk controller, the transfer direction
                        is controlled by the disk controller depending on
                        the  command  being  executed  which controls the
                        data direction line OUT, and  the  state  of  the
                        DONE interface signal.

                        1. DONE false and OUT Low (data from disk)

                           12-bit  Mode  :  the  next  word  of  data  is
                           transferred   from   the  disk  controller  to
                           AC<0:11>, the  AC  is  cleared  prior  to  the
                           transfer.
                           8-bit  Mode  :  the  next  byte  of  data   is
                           transferred   from  the  disk  controller,  an
                           inclusive OR is performed  with  AC<4:11>  and
                           the  result  placed  in  AC<4:11>. AC<0:3> are
                           unchanged.

                        2. DONE false and OUT High (transfer to disk)

                           12-bit Mode : AC<0:11> are transferred to  the
                           disk   controller.   The   AC   is  unchanged.
                           8-bit Mode : AC<4:11> are transferred  to  the
                           disk controller. The AC is unchanged.

                        3. DONE true

                           This IOT now performs a  transfer  to  the  AC
                           from   the   disk  controller.  8/12-bit  Mode
                           determines whether an 8  or  12  bit  transfer
                           occurs.

        STR - 6753      Skip on Transfer Request transition.

                        If  the  Transfer  Request  interface  line   has
                        changed  from  false  to  true since this IOT was
                        last issued, the next sequential instruction will
                        be skipped. If the skip does occur the transition
                        detector will be reset. The AC  is  unchanged  by
                        this IOT.

        SER - 6754      Skip on Error transition.

                        If the Error  interface  line  has  changed  from
                        false to true since this IOT was last issued, the
                        next sequential instruction will be  skipped.  If
                        the skip does occur, the transition detector will
                        be reset. The AC is unchanged by this IOT.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 28     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        SDN - 6755      Skip on Done transition.

                        If the Done interface line has changed from false
                        to  true since this IOT was last issued, the next
                        sequential instruction will be  skipped.  If  the
                        skip  does occur, the transition detector will be
                        reset. The AC is unchanged by this IOT.

        INTR - 6756     Set/clear Interrupt Enable.

                        If AC(11)=0, the Interrupt Enable  for  the  DONE
                        transition detector to cause an interrupt will be
                        cleared. If AC(ll)=l, it will be set. The  AC  is
                        unchanged by this IOT.

                        Power-on and CAF clear the Interrupt Enable.

        RXINIT - 6757   Initialize.

                        The following are cleared :

                                Done transition flag
                                Transfer Request transition flag 
                                Error transition flag
                                Done Interrupt Enable

                        Drive pair select is set to Unit A.
                        All drives are caused  to  initialize,  the  disk
                        controller is reset.
                        At the end  of  drive  initialization,  the  Done
                        transition   flag   will   be   set  to  indicate
                        completion.

     4.5 Printer

        The  printer  interface  is  a  standard,  full  duplex,   serial
        asynchronous  port. The receive capability is provided to support
        printers that use an XON-XOFF protocol to signal  when  they  are
        able/unable to accept new data from the DECmate II.

        Instruction     Description
        6320            Set printer port input flag
        6321            Skip on printer port input flag, clear it if set
        6322            Clear the AC 
        6323            NOP
        6324            Inclusive OR the printer  input  port  data  with
                        AC<4:11>,  place  the result in AC<4:11>. AC<0:3>
                        are unchanged. 
        6325            Set/clear printer  port  input  interrupt  enable
                        with AC(ll).
        6326            Clear the AC then transfer the printer port input
                        data to AC<4:11>.
        6327            NOP
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 29     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        6330            Set printer port output flag
        6331            Skip on printer port output  flag,  clear  it  if
                        set.
        6332            NOP
        6333            Set the printer port baud rate for both input and 
                        output as follows:

        AC<8:11>        Baud Rate       AC<8:11>        Baud Rate

           0                50            10              1800
           1                75            11              2000
           2               110            12              2400
           3               134.5          13              3600
           4               150            14              4800
           5               300            15              7200
           6               600            16              9600
           7              1200            17             19200

        6334            Transfer AC<4:11> to the printer, leaving the  AC
                        unchanged.
        6335            Set/clear interrupt enable for the  printer  port
                        output with AC(11). The AC is unchanged.
        6336            Transfer AC<4:11> to the printer, then clear  the
                        AC.
        6337            NOP

     4.6 Communications

        The communications controller  provides  a  single,  full  duplex
        serial port  for either asynchronous or synchronous operation. In
        the synchronous mode of operation either  bit  or  byte  oriented
        protocols may be selected. Full modem control is provided.

     4.6.1 Instruction List

        Three device codes are used to control the  communications  port,
        30,  31  and  36. 30 is associated with transferring receive data
        from the communications controller chip to the AC, 31 with moving
        data   from   the   AC   to  the  communications  controller  for
        transmission and 36 for modem control functions.

        The communications controller chip has several internal registers
        which  must be initialised prior to using the communications port
        in a particular mode. Following self-test, the  port  is  set  to
        asynchronous mode, with parameters as shown below:

                Baud Rate       -       1200
                Data elemenets  -       8
                Stop bit(s)     -       1
                Parity          -       None



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 30     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Instruction     Description

        6360    Set Modem Change Flag.          Note 1. 
        6361    Skip on Modem Change Flag, clear it if set. 
        6362    Load Modem Control Register from AC<4,7:11>

        AC Bit  Function                        Circuit #       Note 2

          04    Enable Terminal Timing          103/116
          05    Select Internal/External Timing                 Note 3
          07    Set Request to Send             105
          08    Set Data Terminal Ready         108.2
          09    SR                              111
          10    Enable Local Loopback           141
          11    Enable Remote Loopback

        6363            Set Baud Rate from AC<4:11> as shown  in  4.5  in
                        the printer description (6333 definition)

        6364            Read Modem Status to AC<7:11>

                AC Bit  Modem Line                      Circuit #. Note 2
                  07
                  08                                    125
                  09                                    109
                  10                                    107
                  11                                    106

        6365            Set/clear Modem Change Flag Interrupt Enable with
                        AC. The AC is unchanged by this instruction.
        6366            Access   Communications    Controller    Internal
                        Register

        Following power-on or after a RESET,  this  instruction  is  used
        together  with  the  Data Field to write the communicatiions chip
        Control Register R0 and in so doing may specify another  internal
        register  for  access,  Control  Registers <0:7>, which are write
        only and Status Registers <0:1> which are  read  only.  Whichever
        register is specified will be the register accessed the next time
        that  this  instruction  is  issued,  following  access  to   the
        specified register, access reverts to Control Register R0.

     Note 1. This flag is set if any one of the following signals changes
                state :
                        Signal          Circuit #

                        Carrier         109
                        Ring            125
                        Data Set Ready  107
                        Clear to Send   106

          2. Circuit numbers refer to CCITT circuits.
          3. Internal timing must always be selected for asynchronous
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 31     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        operation, send and receive baud rates are controlled by the  IOT
        6363, as described above.

     4.6.2 Internal Registers

     4.6.2.1 Control Register R0

        This register has three fields, used as follows :

        Field A - Register Pointer.

        AC<9:11>  specify  the  register  to  be  accessed  on  the  next
        execution  of  this  instruction.  If the register specified is a
        WRITE register, AC<00> must be set to 0 for this instruction.  If
        the register is a READ register, AC<00> must be set to 1 for this
        instruction.

        Field B - Command

        AC<6:8> specify one of a set of  commonly  used  commands  to  be
        executed :

        AC<6:8>         Command
           000          No operation
           001          Send ABORT - used when operating  in  SDLC  mode,
                        causes  the  SDLC  ABORT  code to be transmitted,
                        destroying any data  currently  in  the  transmit
                        buffer.  Following transmission of the ABORT, the
                        transmitter reverts to the IDLE phase.
           010          Unused 
           011          Communications  Port  Reset.  The  communications
                        controller and Modem control lines are set to the
                        same initial state as following power-on.
           100          Enable  Interrupt   on   next   character.   When
                        operating   in   Interrupt   on   First  Received
                        Character Mode,  this  command  may  be  used  to
                        re-enable  the  interrupt  for  the next received
                        character (generally at the end of amessage)
           101          Reset Pending Transmitter Interrupt.  Clears  the
                        interrupt  condition  caused  by  the transmitter
                        buffer becoming empty.
           110          Error Reset, used to reset an interrupt caused by
                        detection of a parity error or overrun error.
           111          End  of  Interrupt,  resets  the   communications
                        controller  chip  internal  priority  network  to
                        allow for a lower priority interrupt.

        Field C - CRC control commands

        AC<4:5> specify the operating mode of the CRC generator/checker.



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 32     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        AC<4:5>         CRC Mode
           0 0          No operation
           0 1          Reset CRC receiver check logic
           1 0          Reset CRC transmitter generator logic
           1 1          Reset Idle/CRC latch, allows transmission of  the
                        CRC   field   when  transmitter  underrun  occurs,
                        followed by idle characters.

     4.6.2.2 Control Register R1

        This register is loaded from the AC as follows :

        AC <4:6>        0
           <7:8>
            0 0         Disable Receive Data interrupts
            0 1         Interrupt  only  on  the  first   data  character
                        received following this instruction
            1 0         Interrupt on all data characters received and  on
                        errors
            1 1         Interrupt on received data characters

        AC <9>          0
        AC <10>         Enable interrupts on  transmit  buffer  empty  or
                        when the transmitter enters the Idle phase.
        AC <11>         Enable interrupts on the following :
                        SDLC ABORT detection or termination
                        Idle/CRC latch ebcoming set (CRC being sent)
                        Entering or leaving synchronous Hunt Phase break
                        detection or termination

     4.6.2.3 Control Register 2

                        This register has no relevant bits for DECmate II
                        operation  of the communications controller chip,
                        if it is ever written, it must  be  written  with
                        all zeroes.

     4.6.2.4 Control Register 3

        Loaded from AC<4:11> as follows :

        AC <4:5>        Select data bits per character for receive data

            0 0         5 bits
            0 1         7 bits
            1 0         6 bits  
            1 1         8 bits
        AC <6>          0
        AC <7>          Enter Sync Hunt Phase
        AC <8>          Enable receiver CRC. Used in  character  oriented
                        protocols    to   selectively   exclude   certain
                        characters from the CRC calculation.  There is  a
                        one  character  delay between a receive character
                        becoming available  for  reading  and  its  being
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 33     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                        presented to  the  CRC  logic,  allowing  a  full
                        character time to decide whether to exclude it or
                        not.
        AC <9>          Enable Address Search Mode. In SDLC Mode, setting
                        this  bit  inhibits  character assembly until the
                        8-bit   character   (secondary   address   field)
                        following  the starting flag of a message matches
                        either  the  address  programmed   into   Control
                        Register R6 or the global address 11111111.
        AC <10>         Sync Character Load Inhibit. In synchronous mode,
                        setting  this  bit  prevents sync characters from
                        being loaded into the receiver buffer.
        AC <11>         Receiver Enable, starts  the  receiver  following
                        all initialization.

     4.6.2.5 Control Register 4

        Loaded from AC<4:11> as follows :

        AC <4>          0
        AC <5>          1
        AC <6:7>        Select operating mode for synchronous operation

            0 0         8-bit    internal    synchronisation    character
                        (MONOSYNC)
            0 1         16-bit   internal    synchronisation    character
                        (BISYNC)
            1 0         SDLC
            1 1         Illegal

        AC <8:9>        Select synchronous/asynchronous mode

            0 0         Synchronous mode, see AC <6:7>
            0 1         Asynchronous mode, 1 stop bit
            1 0         Asynchronous mode, 1.5 stop bits
            1 1         Asynchronous mode, 2 stop bits
                        Note: the  above  stop  selections  are  for  the
                        transmitter  only, the receiver always checks for
                        a single stop bit.

        AC <10:11>      Parity select

            0 0         No parity check or generate.
            O 1          "    "     "    "    "
            1 0         Check/generate odd parity
            1 1         Check/generate even parity

     4.6.2.6 Control Register 5

        loaded from AC <4:11> as follows :

        AC <4>          0

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 34     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        AC <5:6>        Select transmit data bits/character
            0 0         5 bits or less - see Table II
            0 1         7 bits
            1 0         6 bits
            1 1         8 bits
                        For 5 bits per character or less, the  format  of
                        the  data  loaded into the transmitter determines
                        the actual data word length as below :

        AC 4 5 6 7 8 9 10 11    Data bits/character

           1 1 1 1 0 0  0  D            1
           1 1 1 0 0 0  D  D            2
           1 1 0 0 0 D  D  D            3
           1 0 0 0 D D  D  D            4
           0 0 0 D D D  D  D            5

        AC <7>          Set the transmit data line to the spacing  state,
                        used to send the BREAK condition.
        AC <8>          Enable   the   transmitter,   set    after    all
                        initialization has been completed.
        AC <9>          Select CRC polynomial
                                    16    12    5
            0           CRC-CCITT (x   + x   + x  + 1)
                                 16    15    2
            1           CRC-16 (X   + x   + x  + 1)
        AC <10>         0
        AC <11>         Enable/disable CRC  generation  on  the  transmit
                        data stream.

     4.6.2.7 Control Register 6

        loaded from AC <4:11> with SYNC byte 1, used as follows :

        MONOSYNC        the 8-bit SYNC character that is  transmitted  in
                        the Idle phase 
        BISYNC          the least  significant  (first)  8  bits  of  the
                        16-bit   receive   and  transmit  synchronisation
                        field.
        SDLC            the  secondary  address  value  matched  to   the
                        Secondary Address Field of the SDLC frame when in
                        Addresss Search Mode.

     4.6.2.8 Control register 7

        loaded from AC <4:11> with SYNC byte 2, used as follows :

        MONOSYNC        8-bit SYNC character matched by the-receiver
        BISYNC          the most  significant  (second)  8  bits  of  the
                        16-bit   receive   and  transmit  synchronisation
                        field.
        SDLC            the AC value must be set to 01111110.

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 35     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     4.6.2.9 Status Register 0

        The following information is loaded to AC <4:11> :

        AC <4>          If operating in asynchronous mode, indicates that
                        a  BREAK  has  been  received.  If  operating  in
                        synchronous SDLC mode, that an ABORT sequence has
                        been received.
        AC <5>          Indicates the state of the Idle/CRC latch used in
                        synchronous modes.
        AC <6)          0
        AC <7>          If operating in asynchronous mode - 0
                        If operating in synchronous mode a zero indiactes
                        that the receiver is in the receive data phase, a
                        one indicates the sync hunt phase.
        AC <8>          0       
        AC <9>          Transmit buffer empty
        AC <10>         Interrupt pending
        AC <11>         Received character avalilable
        AC <0:3 >       Undefined

     4.6.2.10 Status Register 1

        the following information is loaded into AC <4:11> :

        AC <4>          End of  SDLC  Frame;  when  in  SDLC  Mode,  this
                        indicates  that  the  End  OF Frame flag has been
                        received and that the CRC error flag and  residue
                        code  are  valid, This flag is reset on the first
                        character of the next message frame.
        AC <5>          In  asynchronous  mode,  this  flag  is  set   to
                        indicate  that  a framing error has been detected
                        on the received data. In synchronous modes,  this
                        bit indicates the current result of comparsion of
                        the computed CRC value and the appropriate  check
                        value. It is usually set to a one. 
        AC <6>          A receive overrun has occurred.
        AC <7>          Parity check is  enabled  and  a  receive  parity
                        error has been detected.
        AC <8:10>       SDLC Residue Code. The data portion  of  an  SDLC
                        message   is   terminated  by  an  End  of  Frame
                        character. It may consist of any number  of  bits,
                        not  necessarily an integral number of characters,
                        thus  when  the  End  of   Frame   condition   is
                        indicated,  these  three  bits indicate where the
                        data field terminated.
        AC <11>         When operating in  asynchronous  mode,  this  bit
                        indicates  when  the  transmitter  buffer and the
                        output  shift  register  are   both   empty.   In
                        synchronous mode, it is always set to a one.
        AC <0:3>        Undefined


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 36     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     4.6.3 Data Transfer

     4.6.3.1 Input

        6300            Set this device code flag
        6301            Skip on any  communications  flag  condition  and
                        clear the flag, if set. Flag conditions are :
                        Transmit buffer empty
                        Receive character available
                        Errors; parity, overrun, framing
                        Special synchronous conditions, if enabled
        6302            NOP
        6303            NOP
        6304            Transfer the contents of the receive buffer to AC
                        <4:11>
        6305            Enable interrupts for this device code, using  AC
                        <11>
        6306            Transfer the contents of the receive buffer to AC
                        <4:11>
        6307            NOP

     4.6.3.2 Output

        6310            Set this (dummy) flag
        6311            Skip on dummy flag
        6312            NOP
        6313            NOP
        6314            Transfer AC <4:11> to the transmit buffer
        6315            Enable interrupts for this device code, using  AC
                        <11>
        6316            Transfer AC <4:11> to the transmit buffer
        6317            NOP

        As can be seen from the set of  instructions  given  above,  this
        communications   controller  has  a  quite  different  method  of
        operation from that of the DP278. An example of how to initialize
        and service this device for the asynchronous mode of operation is
        given in Appendix C. For more details, refer to the DEC  Purchase
        Specification for the controller chip (7201).

     4.7 Clock

        The clock provides a periodic interrupt at a 100  Hz.  rate.  The
        clock  frequency  source  is  crystal controlled, thus cumulative
        errors should be expected. As the basic accuracy of  the  crystal
        is  0.01%,  these  errors  should not account to greater than +-3 
        seconds in an 8 hour period.






        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 37     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Instruction     Description

        6130            Set clock flag.
        6131            Skip on clock flag, clear it if set.
        6132            NOP
        6133            NOP
        6134            NOP
        6135            Set/clear clock interrupt enable with AC(ll).
        6136            NOP
        6137            NOP

        The clock interrupt enable is cleared following self test.

        Note that the clock instruction set is different from that of the
        DECmate I and the VT78.

     5. Detailed Description - Options

     5.1 Identification

        The LAS instruction allows a user to determine which options  are
        present on DECmate II :

                AC

                08      0       -       APU present
                        1       -       No APU present

                09      0       -       RX78 or RD51 controller present*
                        1       -       No additional storage adaptor
                                        present

                10      0       -       Graphics Controller present
                        1       -       No graphics Controller present

                AC<00:07>, <11> -       undefined

        * Which of these is present may be tested  by  issuing  the  RD51
        controller instruction 6707 with the AC set non-zero. If the RD51
        controller is present, the AC will be cleared.

     5.1.1 Z80 Softcard

        A daughter module may be added to the basic single board computer
        module  to  allow the execution of applications written for a Z80
        microprocessor. This added module has a Z80  processor  with  its
        own 64 K bytes of memory and an interface to the 6120 CPU system.
        The 6120  performs  all  the  actual  I/0  operations  for  disk,
        keyboard, screen, printer and communications.

        A sequence  (TBD)  will  allow  operation  to  be  switched  from
        executing  applications programs using the PDP-8 CPU to using the
        Z80 CPU, supporting CP/M(TM) file structure.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 38     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        For more details refer  to  the  Z80  Auxiliary  Processing  Unit
        Specification.

     5.2 Graphics

        Refer to the Option Engineering Specification.

     5.3 Micro Winchester Disk Adaptor

        Refer to the Option Engineering Specification.

     5.4 RX01/RX02 Adaptor

        This daughter module may be added to the base machine in place of
        the  Micro Winchester Adaptor to allow one or two RX01 or RX02 8"
        floppy disk units to be attached to the DECmate II. An  extension
        to  the  SEL IOT allows the external 8" disk(s) to be selected in
        place of the internal 5.25" disk(s) - see Section  4.4.  In  this
        way  the  same IOTs may be used to control either the internal or
        external disk unit(s).

        The adaptor has a 37-pin subminiature D  connector  allowing  the
        same  cable  to  be  used  to  connect to one or two RX01/02 disk
        drives as is used with DECmate I.

        The selection of the external adaptor using the SEL IOT has  some
        limitations  in  the selection of the subsequently active pair of
        RX01/02 drives.  As  the  external  adaptor  cannot  perform  any
        operations  until  after  it  has been selected, the SEL IOT that
        changes disk selection from one  of  the  internal  units  to  an
        external unit cannot also change which pair of external drives is
        active. Drive pair  "A"  of  the  external  drive  controller  is
        selected  on  power-on  or  following  a  CAF/RXINIT instruction.
        Subsequently issuing a SEL  IOT  with  AC=400X  will  select  the
        external  drive  pair  "A"  regardless of AC. To select drive
        pair "B",  a  second  SEL  must  be  issued  with  AC=4001.  When
        switching back to the internal drives, the setting of AC will
        determine  which  of  the  external  drive  pairs  will  be  left
        "selected". This "selected" drive pair will be the pair activated
        when the next SEL with AC=400X is issued.

     6. Firmware Details

        In general, the information given in this section, relates to how
        Control  Panel Code, invisible to the user, accesses the hardware
        to perform some function requested by  a  user  generated  Escape
        Sequence.

        The section on the User Defined Character Set which  is  included
        gives  information on how a user may directly modify the contents
        of the User Defined Character Generator Memory.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 39     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     6.1 CRTC and Associated Logic Programming

        The CRT Controller for the VT 278 (DECmate  I)  occupied  control
        panel  memory  address space. As all control panel memory is used
        with DECmate II, the CRT registers are now programmed by IOTs. It
        is  necessary to set a register number with one IOT and then read
        or write this register with another IOT. Note that registers  are
        pre-defined  as  READ  or WRITE, thus two IOTs are needed, one to
        Read a specified register and the other to Write. Issuing a  Read
        IOT  to a WRITE register will give unpredictable results, issuing
        a Write IOT to a READ register will result in  a  bus  contention
        situation, again with unpredictable results.

        It is also necessary  to  be  able  to  establish  the  following
        parameters :

        80/132 column mode              - Section 6.1.1
        Video Enable                    - Section 6.1.2
        Screen mode, normal or reverse  - Section 6.1.3
        Cursor mode, block or underline - Section 6.1.4
        Erase control bits 0 and 1      - Section 6.1.5
        Extended Character Set Mode     - Section 6.1.6
        User Character Set Mode         - Section 6.1.7

     IOT list - Device Code 12

        6121    Skip on End of Frame Interrupt, clear the flag if set and
                the skip occurs.
        6122    Load the CRT Controller register  number  from  AC<6:11>.
                Load  the  cursor visibility enable with AC<01>, load the
                cursor visibility disable with AC<00>. - Section
        6123    If the DF is odd:
                Load   User   Character   RAM   Character   number   from
                AC<1:7>, Line number from AC<8:11>.
                If the DF is even:
                Load User Character RAM Data from AC<4:11> - Section
        6124    Write selected CRT controller  register  from  AC<4:11> -       
                Section
        6126    Load control register
                AC  00  - Erase bit 0
                    01  - Erase bit 1
                    04  - 80/132 column mode (0 = 80 column)
                    05  - Video Enable (0 = disable)
                    08  - Extended Character Set Mode
                    09  - User Character Set Mode
                    10  - Cursor mode:  0 = block
                                        1 = underline
                    11 - Screen Mode:   0 = white on black
                                        1 = black on white
        6127    Read selected CRT controller register, used to clear  End
                of Frame Interrupt.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 40     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     6.1.1 80/132 Column Mode

        This bit is changed when the DEC Private ESCape Sequence  ESC [ 3
        l/h is received, the SM final character (Lower Case "H") sets 132
        column mode, the RM final character  (Lower  Case  "L")  sets  80
        column  mode.  Changing  column  mode  leaves  the display in the
        following condition :

        Screen cleared - all memory locations in the visible  region  set
        to contain 0000.
        All display rows-set to single-width, single height.
        Origin Mode cleared.
        Scroll region set to 24 rows (default).
        Scroll mode unchanged.
        Cursor placed at the HOME position.
        Cursor Mode unchanged.
        Screen Mode unchanged.
        Character sets for GO and G1 unchanged.
        Character attributes cleared.

     6.1.2 Video Enable

        This bit is used to blank the  display  and  to  allow  the  User
        Character Set RAM to be altered - see Section 6.1.7

     6.1.3 Screen Mode

        Changing Screen Mode (white characters on a black ground  =  mode
        cleared,  black  characters on a white ground = mode set), alters
        no other display parameters.

     6.1.4 Cursor Mode

        Changing cursor mode (block  cursor  =  mode  cleared,  underline
        cursor = mode set), alters no other display parameters.

     6.1.5 Erase Control

        To minimize CPU overhead,  certain  long  duration  screen  erase
        functions are executed by hardware, these are listed below :

          EL0 - Erase in Line from current cursor position to end of line
          EL1 - Erase in Line, entire line
          ES0 - Erase in Screen from current cursor position  to  end  of
                screen
          ES1 - Erase in Screen, entire screen

        The  particular  erase  function  is  initiated  by   loading   a
        combination of Erase Bits 0 and 1 :

                        ERBIT 0         ERBIT 1
        EL0, ES1 *        1               0
        ES0, ES1 *        1               1
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 41     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     *  for these functions, the  display  firmware  is  responsible  for
        setting  the  cursor  to the left margin before issuing the erase
        function request and then restoring the cursor when  the  display
        hardware indicates that the erase is complete.

        Erase functions are synchronised with the display timing  by  the
        Control  Panel  code waiting for an End of Frame interrupt before
        initiating an erase function and then waiting for the next End of
        Erame interrupt to indicate that the erase has been completed.

     6.1.6 Extended Character Set Mode

        DECmate I has two 2K x 8 character generator ROMs each  of  which
        allows  for  the display of up to 128 characters/symbols. One has
        the US/UK character set plus the  special  graphics  set  of  the
        VT100,  the  other  all  the  characters for the Foreign Language
        DECmate  I  variations  plus  some  additional  special  graphics
        symbols.  These  two  ROMs  together  provide the basic DEC 8-bit
        multinational character set. (See DEC Std. 138). DECmate II  adds
        to   this  the  ability  to  display  the  Katakana  set  of  the
        multinational character set and a  User  Defined  Character  Set.
        These  additional  characters/symbols  are accessed using a ninth
        character code bit.

        To be able to display  more  than  256  characters,  an  Extended
        Character  Set  Mode is provided for DECmate II. In this mode the
        internal representation of characters in the  display  buffer  is
        nine  bits,  rather  than  the  eight  bits  of  DECmate  I.  The
        additional bit is obtained by deleting  the  character  attribute
        "BLINK".  Section  6.1.7  gives details of this mode and the User 
        Character Set Mode.

     6.1.7 User Character Set Mode

        To provide even greater flexibilty for displaying characters  and 
        symbols  that  may be needed by a particular user program, a User
        Defined Character Generator is provided  with  DECmate  II.  This
        allows  a  further  128  characters,  defined  by the user, to be
        displayed. Display is controlled by the User Character  Set  Mode
        Enable bit, set on a page basis.

     6.1.7.1 Loading the User Defined Character Generator (UDCG)

        To enable writing the UDCG the Video Enable Bit must  be  cleared
        in  the  display  control word (AC<5>). This is done by issuing a
        PR3 Panel Call with the AC zero, the UDCG may  then  be  changed.
        The  entire  UDCG  may be altered or only specific locations, the
        order of changing the UDCG does not  matter.  Programming  is  as
        follows:

     A. Clear the AC, issue PR3 with the  following  location  containing
        (TBD)  -  the  function  number  of  the  Panel memory routine to
        disable the display and enable changing the UDCG.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 42     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     B. Load AC<1:7> with the 7-bit character code for the  character  to
        be  altered  and AC<8:11> with the first line number (000). (Line 
        numbers run from 0000 to 1001 : 0 - 9 decimal).

     C. Set the Data Field to an odd value (1, 3, 5, 7) 
        Issue the IOT 6123 (this does not clear the AC)

     D. Set the Data Field to an even value (0, 2, 4, 6).
        Load AC<4:11> with the character dot pattern  for  the  specified
        line.  The  character  dot  pattern is entered as it will appear,
        e.g. AC<4> is the leftmost dot of the character cell, see  Figure
        1,  Section  4.2.3,  note  that  if  a  character is defined with
        CD<7>=1, it will be a right filled character, i.e. dot  positions
        8 and 9 in Figure 1. will also be present.
        Issue the IOT 6123 (the AC is not cleared)

        Repeat steps B, C, D for each line of the character definition.

        Set the AC=7777, issue PRQ as in A. to re-enable the video.

     6.1.7.2 Accessing the Extended Character Set and the User Defined 
        Character Set.

        As noted earlier, the Extended Character Set and the User Defined 
        Character  Set are accessed by an Extended Character Set Mode bit
        (ECSM) and a User Character Set Mode Enable (UCSME) bit. The  way
        the  user  program  controls  these  bits is not yet defined. The
        combination of these bits results  in  access  to  the  character
        generators as shown below :

        ECSM = 1          Character Code |  Character Code
                            Bit 9 = 0    |    Bit 9 = 1
                  ------------------------------------------------
                 |          |            |           |            |
                 |UCSME = 0 | UCSME = 1  | UCSME = 0 |  UCSME = 1 |
                 |          |            |           |            |
        ----------------------------------------------------------
        Internal |          |            |           |            |
        Char.Code|  US/UK   | US/UK      |   US/UK   |User defined|
        Bit 8=0  |          |            |   with    | Characters |
                 |          |            | Yen mark  |            |
        ----------------------------------------------------------
        Internal |          |            |           |            |
        Character| Alternate| Alternate  |Katakana   |User defined|
        Code Bit | (Foreign)| (Foreign)  |           | Characters |
        Bit 8=1  |          |            |           |            |
        ----------------------------------------------------------
                 |<-These are the only-->|
                 |possibilities when not |
                 | in Extended Mode      |

        In this way arbitrary character substitutions may  be  made  from
        the user defined character set when displaying US/UK, any Foreign
        Language or Katakana.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 43     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    6.1.8 Loading and Reading the CRT Controller Registers

        The CRT Controller has one group of internal registers  that  are
        generally   only   changed   when  it  is  initially  programmed,
        parameters which affect the display format  and  a  second  group
        that must be modified continually, cursor position etc.

     6.1.8.1 R0 - Characters per horizontal period

        This register is  loaded  from  AC  <4:11>  with  the  number  of
        characters that make up one row of the display. This includes the
        visible area, non-visible areas and retrace time.

     6.1.8.2 R1 - Characters per data row

        This register is loaded  from  AC  <4:11>  with  the  (number  of
        displayed characters per row - 1).

     6.1.8.3 R2 - Horizontal delay

        This register is  loaded  from  AC  <6:11>  with  the  number  of
        character  times  which represents the time from the leading edge
        of horizontal sync to the trailing edge of horizontal blank.

     6.1.8.4 R3 - Horizontal sync width

        This register is  loaded  from  AC  <5:11>  with  the  number  of
        character  times  representing  the  width of the horizontal sync
        pulse.

     6.1.8.5 R4 - Vertical sync width

        This register is  loaded  from  AC  <5:11>  with  the  number  of
        horizontal  periods  representing  the width of the vertical sync
        pulse.

     6.1.8.6 R5 - Vertical delay

        This register is  loaded  from  AC  <4:11>  with  the  number  of
        horizontal periods representing the time between the leading edge
        of vertical sync and the trailing  edge  of  the  vertical  blank
        signal.

     6.1.8.7 R6 - Skew bits

        This register is loaded from AC <6:11> with a number of character
        times  that  define a skew between cursor and blank and the video
        signal going to the monitor.

     6.1.8.8 R7 - Visible data rows per frame

        This register is loaded from AC <4:11> with the (number  of  data
        rows  to  be  displayed - 1). For DECmate II this means 23(8) for 
        both 80 and 132 column modes of operation.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 44     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   6.1.8.9 R8 - Scan sines per data row/Scan lines per frame (MSB)

        This register is loaded from AC <7:11> with the (number  of  scan
        lines  that  make  up one data row -1), for DECmate II this means 
        11(octal). AC <4:6> define the most significant three bits of the 
        number of scan lines per frame.

     6.1.8.10 R9 - Scan lines per frame

        This register is loaded from AC <4:11> with the least significant
        8 bits that define the total number of scan lines per frame - see
        R8.

     6.1.8.11 ROA - DMA control register

        This  register  is  loaded  from  AC  <4:11>  with  DMA   control
        information as follows :

        AC <4>          DMA disable,  disables  all  CRT  controller  DMA
                        accesses.  As the CRT controller on DECmate II is
                        also the source of  memory  refreshes,  this  bit
                        must  never  be set to zero unless loss of memory
                        data can be tolerated.
        AC <5:7>        Define the delay between DMA bursts when the  CRT
                        controller  is  operating  in burst DMA mode. For
                        DECmate II DMA cycles for a given row occur as  a
                        single burst, so these three bits are set to 111.
        AC <8:11>       Define the number of DMA cycles in any one burst,
                        when  the  CRT  controller  is  operating  in the
                        burst DMA mode. The  number  loaded  here  is  N,
                        where the number of DMA cycles in a burst is then
                        4*(N+1).  This  mode is not applicable to DECmate
                        II.

     6.1.8.12 ROB - Control Register

        This register is loaded from AC <4:11> with the following :

        AC <4>          Unused
        AC <5>          0 - smooth scroll. This causes the smooth  scroll
                        offset  register  (R17)  to  define the number of
                        lines that will be scrolled per  frame.  This  is
                        the  only  mode  used  for  DECmate II, thus this
                        bit must be set to 0. 
        AC <6:7>        These two bits define interlace mode. DECmate  II
                        uses no interlace. These two bits are both set to
                        0.
        AC <8:10>       These three bits define the buffer  configuration
                        being  used  with  the CRT controller. DECmate II
                        uses a single row buffer, thus these  three  bits
                        must be set to 100.
        AC <11> 0

        Thus the programming word for ROB is X0 001 000 010(8).
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 45     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     6.1.8.13 ROC - Table start register, low byte

     6.1.9 Cursor Visibility

        The DECmate I attempted to "make the cursor do the correct thing"
        by  suppressing  the  cursor  whenever new data was output to the
        screen  at  greater  than  a  given  rate.  This  was   partially
        successful  in  that the cursor was not visible when updating the
        screen using Direct Cursor  Addressing  sequences,  unfortunately
        the  cursor was also not visible when doing things like moving it
        across a line when editing. DECmate II attempts  to  treat  these
        two  events separately, when the firmware detects that the cursor
        is being re-positioned by means of  a  Direct  Cursor  Addressing
        Sequence, it will clear the cursor visibility bit when it updates
        the cursor address register within the CRT controller. The effect
        of  this  is  to suppress the cursor (make it invisible) for half
        the cursor blink rate period (130 milliseconds), timed  from  the
        update, regardless of the previous state of the cursor visiblity.
        Then if another Direct Cursor Address command occurs within  this
        period, the cursor will remain invisible.

        If the cursor address register is being  updated  for  any  other
        reason,  the  firmware  will  set the cursor visibility bit, this
        causes the cursor to be visible for half the  cursor  blink  rate
        period   (130   milliseconds),   timed  from  the  update,  again
        regardless of the previous state of cursor visibility.  Thus,  in
        the  cases  of  normal  output  to the screen by echoing keyboard
        input and advancing through a piece  of  text,  the  cursor  will
        remain visible.

        Setting and clearing the cursor is done by loading one of two  AC
        bits  when  a  CRT  controller  register  is selected. AC<00> = 1
        clears the cursor visibility enable bit  and  would  be  selected
        prior  to  updating  the  cursor as the result of a direct cursor
        addressing sequence, AC<01> = 1 sets the  visibility  enable  and
        would  be  selected prior to updating the cursor position for any
        other reason. The effect of setting either of these bits (but not
        both)  is  that  when the selected CRT register is later written,
        the cursor will be set ON or OFF for the  time  specified  above.
        Care  must be taken to ensure that both AC<0:1> are set to 0 when
        no effect is intended on the normal alternating cursor display.

     6.2 Panel Requests

        There are four instructions which, when issued  in  user  memory,
        cause  some action to be performed by the control memory code. To
        maintain compatibility with DECmate I, the first three  of  these
        operate in the same way as with DECmate I. The fourth is modified
        and although the types of operations that may be performed  using
        this  fourth  instruction  are  similar  there  is  no  backwards
        compatibility.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 46     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     6.2.1 PR0 - Panel Request 0

        This instruction may be used to read the contents of a  specified
        screen location. Its use is as follows :

                        PR1     
                        Row Address     / Absolute, 0 - 27
                        Column Address  / Absolute, 0 - 117 (0 - 203)
                        XXXX            / Return made here with contents
                                        / of specified screen location in
                                        / the AC

     6.2.2 PR1 - Panel Request 1

        This instruction was used with DECmate I  to  allow  the  display
        buffer  memory  to  be  updated  quickly.  It  is not needed with
        DECmate II as the same screen update restrictions do not apply to
        this  new machine, it is retained for compatibility reasons only.
        To move data to  the  display  buffer  portion  of  memory,  this
        instruction is used in the following way :

                        PR1
                        Row Address     / Absolute, 0 - 27
                        Column Address  / Absolute, 0 - 117 (0 - 203)
                        Data            / 12 bits, includes attributes
                        ...             / group of three entries
                        ...             / repeated for as many screen
                        ...             / locations as to be changed
                        7777            / terminator
        Attributes :

                AC      00      -       Blink
                        01      -       Underline
                        02      -       Bold
                        03      -       Reverse

    6.2.3 PR2 - Panel Request 2

        For DECmate I this was equivalent to  entering  SET-UP  mode  and
        depressing a key, specified as :

                        PR2 
                        N               / The ASCII code for the  key  to
                                        / be "pressed"

        This Panel Request has no action on DECmate II. If it  is  issued,
        return will be made to CALL+2 for compatibility.

     6.2.4 PR3 - Panel Request 3

        This is a general call to execute a routine  in  control  memory.
        With  DECmate I  the absolute address in control memory had to be
        specified in the location following the PR3  instruction  and  no
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 47     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        validity checking was performed, calls to some arbitrary  address
        could,  therefore,  cause unpredictable results. The operation of
        this instruction for  DECmate  II  has  been  modified,  now  the
        routine  to  be  executed  in  control  memory  is specified by a
        function number in the location following the request. The format
        is as follows :

                        PR3 
                        FUNCT   /Function 
                        ARG1    /First argument (optional) 
                        ARG2    /Second argument (optional)
                        ..
                        ..
                        7777    /Terminator

        If a return is to be made, it is made to the  location  following
        the 7777 terminator.

        The following functions are implemented in the  current  firmware
        (Revision 216 or 224)

        Function        Action                          Argument(s)

        0000            Print the character             None
                        in the accumulator.

        0001            Select video enable             None
                        with AC.
                        0 = disable, 1 = enable

        0002            Select extended character
                        Mode with AC.
                        0 = disable, 1 = enable

        0003            Select User Charaacter Set      None
                        with AC.
                        0 = disable, 1 = enable

        0004            Select Cursor Style with AC None
                        0 = Block, 1 = Underline

        0005            Execute Power-on Clear          None
                        There is no return as self-test
                        is run.

        0006            Execute SET-UP Menu             None

        0007            Request Display Status          None
                        On return, AC = 0000 means the
                        display is not busy, AC =7777
                        it is busy.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 48     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Function        Action                          Argument(s)

        0010            Select Function Key Mode with   None
                        AC. 0 = transmit ESC/BS/LF
                        1 = transmit ESCape sequences
                        for these three keys.

        0011            Select Keyboard Case with       none
                        AC<11>. 0 = lower-case,
                        1 = upper-case.

        4000+10*N+M     Load data from user memory to
                        panel memory.
                        N - CP memory destination field
                        M - user memory source field

                                        Argument 1      User memory SA
                                        Argument 2      CP memory SA
                                        Argument 3      2's complement of
                                                        #   of  words  to
                                                        move

        5000+10*N+M     Load data from panel memory to
                        user memory.
                        N - user memory destination field
                        M - control panel source field

                                        Argument 1      CP memory SA
                                        Argument 2      User memory SA
                                        Argument 3      2's complement of
                                                        #   of  words  to
                                                        move

        6000+10*N       Transfer control to CP memory
                        field N.
                                        Argument 1      CP memory SA

        7000            Send data to the keyboard

                                        Argument(s)     data in bits
                                                        <4:11>. Bits
                                                        <0:3> must be
                                                        zero.
                        N.B. No check is made on the
                        data sent.

        7100+10*N       Transfer Screen Control Data
                        to a user buffer in Field N.

                                        Argument l      User Buffer SA



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 49     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                29  (decimal)  words   are   moved   to   the   specified
                user buffer. They are :

                Word 1 - Column Mode: 0 = 80, 7777 = 132
                Word 2 - Origin Mode: 0 = absolute, 7777 = relative
                Word 3 - The  number  of  the  top  row  of  the  current
                         scrolling region.
                Word 4 - The number of the  bottom  row  of  the  current
                         scrolling region.
                Word 5 - The control word for  the  CRT  Controller  Chip
                         (See Section 6.asdasdas)
                Word 6 - High Word of the Row Address Table for Row 1
                Word 7 -
                ....      -
                ....   -
                Word 29- High Word of the Row Address Table for Row 24.


     6.3 Terminal Input Output

        DECmate I had a physical register (TTI), through  which  keyboard
        input  data  was  transmitted  from the keyboard scan routines in
        Control Panel memory for the user  program  to  be  able  to  use
        normal  keyboard  instrcutions,  KRB,  KRS KCC. DECmate II has no
        such register, all keyboard data transfer  instructions  cause  a
        single  Control Panel Interrupt, control panel code then inspects
        the interrupting instruction and  modifies  the  AC  as  required
        prior to returning control to the user program.

        For output, TLS and other such instructions also cause a  Control
        Panel  interrupt  in  the same way as with DECmate I, the data in
        the AC is taken and interpreted by Control Panel Memory code.

        Instructions that cause Control Panel Interrupts are :

                6030, 6032, 6034, 6036
                6040, 6042, 6044, 6046

        Interrupts  from  any  of  these  user  issued  instructions  are
        identified by the single instruction 6071.

        The Skip and Interrupt Enable instructions,  (6031,  6035,  6041,
        6045) do not cause Control Panel Memory interrupts.










        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 50     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Appendix A - Standard ROM Character Definitions

                                 TBS


















































        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 51     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Appendix B - CPU Instruction Set

        All times are for operation at 8 MHz. (I/O at 4 MHz.)

     B1. Basic Instructions

     Mnemonic   Octal   Description             Execution Time
                                              Direct  Indirect  Autoindex
        AND     0XXX    Logical AND to AC       1.75    2.5      3.25
        TAD     lXXX    Two's complement ADD    1.75    2.5      3.25
        ISZ     2XXX    Increment & Skip if 0   2.26    3.00     3.76
        ISZ     2XXX    (When SKIP occurs)      2.76    3.51     4.26
        DCA     3XXX    Deposit & clear AC      1.75    2.5      3.25
        JMS     4XXX    Jump to subroutine      1.75    2.5      3.25
        JMP     5XXX    Jump                    1.00    1.75     2.47

     B2. Group 1 Operate Micro-instructions

        1.5 uSec if no BSW or double rotate, 1.9 uSec otherwise.(#)
                                                                  *
     Mnemonic   Octal   Description                       Sequence

        NOP     7000    No operation                            -
        CLA     7200    Clear AC                                1
        CLL     7100    Clear Link                              1
        CMA     7040    Complement AC                           2
        CML     7020    Complement Link                         2
        RAR     7010    Rotate AC & Link right                  4
        RAL     7004    Rotate AC & Link left                   4
        RTR#    7012    Rotate AC & Link two right              4
        RTL#    7006    Rotate AC & Link two left               4
        BSW#    7002    Swap AC<0:5> & AC<6:11>                 4
        R3L     7014    Rotate AC ONLY three left               4
        IAC     7001    Increment AC, carry to Link             3

     B3. Group 2 Operate Micro-instructions - 1.75 uSec.
                                                                  *
     Mnemonic   Octal   Description                       Sequence

        SMA     7500    Skip on minus AC                        1
        SZA     7440    Skip on zero AC                         1
        SPA     7510    Skip on positive AC                     1
        SNA     7450    Skip on non-zero AC                     1
        SNL     7420    Skip on non-zero Link                   1
        SZL     7430    Skip on zero Link                       1
        SKP     7410    Unconditional Skip                      1
        OSR+    7404    Inclusive OR status bits to AC          3
        HLT$    7402    Halt program in main memory             3
        CLA     7600    Clear AC                                2

        + Add 0.25 uSec.                $ NOP in Panel Memory.
        * Sequence indicates at which point in the instruction execution
        the operation occurs. 1 is before 2, 2 before 3, etc.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 52     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     B4. Group 3 Operate Micro-instructions - 1.5 uSec

     Mnemonic   Octal   Description

        NOP     7401    NO operation
        CLA     7601    CLear AC
        MQL     7421    Load AC to MQ then clear AC
        MQA     7501    Inclusive  OR  MQ  with  AC,  result  to  AC,  MQ
                        unchanged
        CAM     7621    Clear both AC and MQ
        SWP     7521    Swap AC and MQ
        ACL     7701    Load MQ to AC, MQ unchanged
        CLA SWP 7721    Load MQ to AC then clear MQ

     B5. Internal Control Instructions ( Panel Memory )

     Mnemonic   Octal   Description                 Execution Time, uSec.

        PRS     6000    Read Panel Status Word*                   2.01
        ION     6001    Enable Interrupt System                   1.5
        IOF     6002    Disable Interrupt System                  1.5
        PGO     6003    Reset HLTFLG                              1.5
        PEX     6004    Exit to main Memory after next
                        JMP or JMS                                1.5
        RTF     6005    Restore fields and flags from AC          2.01
        SGT     6006    Skip on GT flag                           1.75
        CAF     6007    Clear all flags                           1.75
        WSR     6246    I/O write                                 1.72
        GCF     6256    Get current fields and flags              2.26
        CPD     6266    Clear Panel Data Flag                     1.5
        SPD     6276    Set Panel Data Flag                       1.5

     B6. Internal Control Instructions ( Main Memory )

     Mnemonic   Octal   Description                 Execution Time, uSec.

        SKON    6000    Skip if Interrupt System ON,
                        turn it OFF                               1.75
        ION     6001    Turn ON Interrupt System                  1.5
        IOF     6002    Turn OFF Interrupt System                 1.5
        SRQ     6003    Skip on Interrupt Request                 1.75
        GTF     6004    Get Interrupt Flags                       2.26
        RTF     6005    Restore Flags and Fields from AC          2.00
        SGT     6006    Skip on GT flag                           1.75
        CAF     6007    Clear all flags                           1.75
        WSR     6246    I/O write                                 1.72
        GCF     6256    Get current fields and flags              2.26
        PR0     6206    Make Panel Request                        1.5
        PR1     6216    Make Panel Request                        1.5
        PR2     6226    Make Panel Request                        1.5
        PR3     6236    Make Panel request                        1.5


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 53     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     B7. Memory Extension Instructions 

     Mnemonic   Octal   Description                 Execution Time, uSec.

        CDF     62N1    Change to Data Field N                    1.5
        CIF     62N2    Change to Instruction Field N             1.5
        CDF CIF 62N3    Change both DF and IF to N                1.5
        RDF     6214    Read Data Field to AC<6:8>                1.5
        RIF     6224    Read Instruction Field to AC<6:8>         1.5
        RIB     6234    Read Interrupt Buffer to AC<6:11>         2.25
        RMF     6244    Restore Memory Fields                     1.5

     B8. Stack Instructions

     Mnemonic   Octal   Description                 Execution Time, uSec.

        PPC1    6205    Push (PC+1) to stack 1                   2.25
        PPC2    6245    Push (PC+1) to stack 2                   2.25
        PAC1    6215    Push AC to stack 1                       2.25
        PAC2    6255    Push AC to stack 2                       2.25
        RTN1    6225    Pop top of stack 1 to PC                 2.25
        RTN2    6265    Pop top of stack 2 to PC                 2.25
        POP1    6235    Pop top of stack 1 to AC                 2.25
        POP2    6275    Pop top of stack 2 to AC                 2.25
        RSP1    6207    Read stack 1 pointer to AC               1.25
        RSP2    6227    Read stack 2 pointer to AC               1.25
        LSP1    6217    Load stack 1 pointer from AC             1.25
        LSP2    6237    Load stack 2 pointer from AC             1.25

     B9. IOT instructions - External

        Of the form "6XYZ" where XY is not 00 nor in the range 20  -  27.
        They  require 4.0 uSec for Write only, 4.5 for Write followed by
        Read.

        Terminal I/O Instructions

        Input

     Mnemonic   Octal   Description                 Execution Time, uSec.

        KCF     6030    Set Keyboard Flag. *                      4.0
        KSF     6031    Skip on keyboard flag, clear
                        it if set. *                              4.0
        KCC     6032    Clear the AC. *                           4.0
        KRS     6034    "OR" keyboard buffer to AC.               4.5
        KIE     6035    Set/clear Keyboard Interrupt
                        Enable with ACll. *                       4.0
        KRB     6036    Load Keyboard buffer to AC.               4.5




        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 54     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Output

     Mnemonic   Octal   Description                 Execution Time, uSec.

        SPF     6040    Set output flag.                          4.0
        TSF     6041    Skip on output flag, clear
                        it if set. *                              4.0
        TCF     6042    Clear the AC. *                           4.0
        TIE     6045    Set/clear Output Interrupt
                        Enable with AC 11. *                      4.0
        TLS     6046    Load AC<4:11> to the screen.              4.0

        * These instructions execute differently from the PDP 8/A or VT78.








































        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 55     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Appendix C.

        Communications Controller Programming

        This example is  in  two  parts,  channel  initialization  and  a
        suggested way to handle interrupt service.

     C1. Communications Port Initialization

     Cl.l Defaults 

        Following the completion of Self-test,  the  communications  port
        will be left in the following state :

        Mode                    :       Asynchronous
        Baud rate               :       1200
        Character               :       8 data bits
        Parity                  :       NONE
        Stop Bit(s)             :       1

        Modem Lines
        Data Terminal Ready     :       ON
        Request To Send         :       OFF
        Local loopback          :       OFF
        Remote Loopback         :       OFF
        Clock Mode              :       Internal

     C1.2 Setting Communications Controller Chip Parameters

        The communications controller chip has two sets of internal 8-bit
        registers,  A  and B. Mostly the registers of set A are used, but
        to identify the cause of interrupt a register from the B set must
        be  read.  The  A set and B set are addressed using the same IOT,
        the Data Field determines which will be accessed. With  the  Data
        Field  set to an Even number (0, 2, 4, 6), register set A will be
        accessed, with the Data Field set to an ODD number, register  set
        B.  The  following shows how they must be set up for asynchronous
        mode operation.

        The general method of addressing a communications  chip  register
        is  to  define a register number in AC<9:11> and whether it is to
        be read or written, specified by AC<00>, issue the IOT 6366, then
        read or write the selected register with this same IOT, i.e. this
        IOT  sequentially  selects  a  register  then accesses it. If the
        register selected is Control Register 0,  which  is  Write  Only,
        then  this  sequence can be shortened to a single IOT with the AC
        specifying  the  register  number  (0)  in  AC<9:11>   and   also
        containing the data to be written into CR0 in AC<4:8>.





        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 56     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        e.g. Write Control Register 4A

                CDF     00      /or 20, 40, 60
                TAD     (4      /select CR4 for a write
                6366
                CLA
                TAD     (VAL    /data to be written into CR4
                6366            /Load CR4
                (CLA)
                CDF     XX      /back to user required value

             Read Status register 2B

                CDF     10      /or 30, 50, 70
                TAD     (4002   /select Status register 2 for
                                /READ, AC<00>=1 specifies READ
                6366            /select register
                CLA
                6366            /Status Register 2 -> AC
                AND     (177    /High order bits undefined
                CDF     XX      /back to user required value

             Write Control Register OA

                CDF     00
                TAD     (0XX0
                6366            /load CR0 from AC<4:8>
                (CLA)
                CDF     XX      /user value

     C1.3 Values to be used

        The chip must be initialized in the following sequence any  time;
        that any parameter involved is modified.

     C1.3.1 Issue chip reset    6367
     C1.3.2 Reset Channel
                                CDF     00
                                TAD     (30
                                6366            /Select CR0A, load with
                                CLA             /30 = RESET
     C1.3.3 Initialize CR2A
                                CDF     00
                                TAD     (2      /select register CR2A
                                6366
                                CLA
                                TAD     (20     /Fixed number
                                6366    /load into CR2A
                                CLA




        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 57     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     C1.3.4 Initialize CR2B
                                CDF     10
                                TAD     (2      /Select CR2B
                                6366
                                CLA
                                6366            /load CR2B with 000
     C1.3.5 Initialize CR4A
                                CDF     00
                                TAD     (4
                                6366            /select CR4A
                                CLA
                                TAD     CR4VAL
                                6366
                                CLA ....

           CR4VAL is loaded with the following:

                AC <4:5>        01 (Must not be-changed)
                   <6:7>        00 (Must not be changed)        
                   <8:9>        Define number of STOP bits
                                00 - Illegal
                                01 - 1 STOP bit
                                10 - 1.5 STOP bits
                                11 - 2 STOP bits
                    <10>        Parity - ignored if AC = 0
                                0 - ODD parity
                                1 - EVEN parity
                    <11>        Parity Enable
                                0 - no parity generated or checked
                                1 - generate and check parity, sense set
                                by AC<10>.

        e.g. 1 STOP bit, no parity, value loaded is 104

     C1.3.6 Initialize CR1A
                                CDF     00
                                TAD     (1
                                6366            /select CR1A
                                CLA
                                TAD     (26     /fixed, must not change
                                6366
                                CLA ...

     C1.3.7 Initialize CR2A
                                CDF     00
                                TAD     (2
                                6366
                                CLA
                                TAD     (26
                                CLA ....



        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 58     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     C1.3.8 Initialize CR3A
                                CDF     00
                                TAD     (3
                                6366
                                CLA
                                TAD     CR3VAL
                                6366
                                CLA 

                CR3VAL is loaded with the following :

                AC <4:5>        Number of data bits for receive
                                00 - 5 bits
                                01 - 7 bits
                                10 - 6 bits
                                11 - 8 bits
                AC <6:10>       00000
                AC <11>         1 - Enables Receiver

        e.g. 8 data bits for receive, receiver enabled, value  loaded  is
             301.

     C1.3.9 Initialize CR5A
                                CDF     00
                                TAD     (5
                                6366
                                CLA
                                TAD CR5VAL
                                6366
                                CLA 

                CR5VAL is loaded with the following ;

                AC <4>          0
                AC <5:6>        Number of data bits for transmit
                                00 - 5 bits (or less)
                                01 - 7 bits
                                10 - 6 bits
                                11 - 8 bits
                AC <7>          Send a BREAK
                AC <8>          1 - enables transmitter
                AC <9:11>       000

        The chip is now ready for transmit and receive.

     C1.3.10 Set Modem Status and clock mode

        For the simplest case, the only Modem line to be  asserted  would
        be  DTR.  In  all cases for asynchonous operation, internal clock
        must be selected, thus  the  Modem  Control  Register  should  be
        loaded with the value 0010 using IOT 6362.


        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 59     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     C2. Interrupt Service

     C2.1 Data Transfers

        As there is only one flag for Send, Receive  and  Errors,  it  is
        necessary  to  interrogate  the communications controller chip to
        identify the cause of a communications interrupt. There are three
        possible  interrupt  conditions,  Transmit  Buffer Empty, Receive 
        Data Available and Error (Overrun, Framing, Parity - if enabled).

                        6301            /Skip on Comm. port flag
                        JMP     NOTCOM
                IDENT,  CDF     10      /ODD to read Status Reg. 2B
                        TAD     (4002
                        6366
                        CLA
                        6366            /Perform read
                        AND     (7      /mask to three LS bits

        the AC now contains the following :

        AC      9       10      11      Condition

                0       0       0       Hardware malfunction
                0       0       1       Hardware malfunction
                0       1       0       Hardware malfunction
                0       1       1       Hardware malfunction
                1       0       0       Transmitter Buffer Empty
                1       0       1       Hardware malfunction
                1       1       0       Receive Data Available
                1       1       1       Parity, overrun or framing error
                                        OR Hardware malfunction

        To determine what caused the 111  result,  one  further  register
        must be read, Status register 1A

                        CDF     00
                        TAD     (4001   /select SRlA for reading
                        6366
                        CLA
                        6366            /read selected register
                        AND     (377

        the AC now contains the following :

                AC <0:4>        Undefined
                   <5>          Framing Error
                   <6>          Overrun Error
                   <7>          Parity Error
                   <8:11>       Undefined

        In addition status register  1A  should  be  read  following  any
        Receive Data interrupt to check for Errors.
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 60     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        When the cause of the  interrupt  has  been  determined  and  the
        appropriate  action taken, Read Receiver, transmit next character
        etc., the interrupt condition must be cleared. For a READ this is
        done by writing to Control Register 0A with a data pattern of 70.
        For a Transmit Buffer condition, the transmit done condition must 
        first  be  cleared by issuing a write to CR0A with a data pattern
        of 50.

           e.g. to dismiss the transmitter

                           CDF     00
                           TAD     (50     /select CR0A
                           6366            /and write 50 to it (dismisses
                                           /transmitter)

           and common exit for any interrupt condition

                           CDF     00
                           TAD     (70
                           6366            /select CR0A and write 70 to it
                                           /(common End Of Interrupt Exit)

     C2.2 Modem Interrupts

        The second interrupt associated with the communications  port  is
        the  Modem  Change  Flag. This may be identified by a normal flag
        test,

                           6361    /Skip on Modem Change Flag, clear flag
                                   /if found set

           The Modem status may then be read by the Read Modem Status IOT

                           6364    /Read Modem Status to AC<7:11>

                   AC <0:6>        Undefined
                        <7>        State of Analog Loopback
                        <8>        State of Calling Indicator (Ring)
                        <9>        State of Signal Detect
                        <10>       State of Data Set Ready
                        <11>       State of Clear to Send












        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 61     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Appendix D.

        Memory Allocation

        Of the 64K words of memory available with  DECmate  II,  32KW  is
        allocated  to the Application Program at all times - Main Memory. 
        The second 32KW - Control Panel Memory, is used as follows :

        Fields    Firmware,  loaded  from  disk   controlling   the
                        terminal emulation, keyboard handling etc.

        Fields    Display Buffer

        Fields    Not allocated, may be used  by  the  Applications
                        Program with certain limitations.

        Additionally, at power-on time, Field 0 of Control  Panel  Memory
        is  overlayed  by  ROM with program execution starting at address
        P07777. ROM or RAM  may  be  selected  as  being  the  source  of
        instructions  and indirect addresses or the source/destination of
        operands in way similar to that in which the  IF  and  DF  fields
        operate  with  the  normal memory extension. The ROM-RAM accesses
        are controlled by the WSR (6246) instruction as follows :

                    Instruction Fetch (Defer)   Operand Access

        AC<11>=0    Next cycle from ROM         No change
        AC=l    Next cycle from RAM         No change

        AC<00>=0        No change               ROM
        AC<00>=1        No change               RAM






















        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 62     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     Appendix E.

        ROM Useage.

        DECmate II has, as noted in Appendix D, 4K of ROM which  overlays
        Field  0  of  Control  Panel  Memory  at  power-on time. This ROM
        performs several functions:

     E1. Processor Initialization

        Dynamic RAM memory is initialized. 
        The I/O Controller chips are initialized 
        The CRT Controller Chip is initialized 
        The Communications Controller Channel is initialized

     E2. Self Test

        A very basic RAM memory test is performed. The machine will  loop
        forever if this test fails.
        A simple loader is then moved from  ROM  to  RAM,  Control  Panel
        Field  P0  and  executed  to  move  the  remainder of ROM to RAM,
        Control Panel Field P7.
        Execution of the loaded code begins  at  RAM  address  P70200  in
        Control Panel Memory.
        Fields P2 and P3 of Control Panel Memory are cleared.
        The CRT Controller chip is checked to ensure that it  is  causing
        interrupts.
        Fields  of Main Memory and Fields  of  Control  Panel
        Memory are then tested.
        Code is moved to Main Memory to allow the normal interrupt system
        to  be  checked  for the Real Time Clock and Printer Port. Checks
        are also made to ensure that the HLT instruction, Panel  Requests
        and Keyboard instructions cause Control Panel Interrupts.
        The Keyboard serial data path is then checked in  local  loopback
        mode.
        If there is an RD51 present on the system, a delay of 15  seconds
        is  initiated  to allow time for the RD51 motor current demand on
        the power supply to drop to its normal operating level. When this
        delay  is  over,  or  if  it  is determined that there is no RD51
        present, the RX50 controller is allowed to start  by  issuing  an
        initial LCD IOT. Data transfer to/from the RX50 controller buffer
        is then checked.

        Any errors detected during the self-test result in the display of
        an error number at the completion of the test.

     E3. Bootstrap Procedure

        At the end of self-test,a further check is made for the  presence
        of the RD51 disk.

        . RD51 Present:

        If the controller is found to be present,  a  further  10  second
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 63     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        delay is initiated to allow the disk to come fully up  to  speed. 
        During  this 10 second period, the RD Ready bit is tested. If the
        bit does not come true before the 10 second period is  over,  the
        timer  is  reset  and  the flag test made again. Once the flag is
        found to be set, the disk error flag is checked. If there  is  an
        error  condition  indicated by the RD51 controller, bootstrapping
        continues using the RX50. If no  error  is  indicated,  the  RD51
        Startup  Block is read into Control Panel Memory Field P7. At the
        completion of the read, the block is checked  for  validity.  The
        first 6 bytes must be as follows :

                        001     /Start of identifier sequence
                        122     /R
                        104     /D
                        065     /5
                        061     /1
                        002     /End of identifier sequence

        If the Startup Block verifies good, it is then executed. Refer to
        the  appropriate  RD51 controller specification(s) for details of
        the Startup Block format.  If  the  block  is  invalid  (by  this
        check), bootstrapping continues from the RX50.

        . RD51 Not present:

        A Read Status command is issued to the RX50 controller  and  a  4
        second timer established. If the RX50 controller does not set the
        Done flag within this period, the sequence is repeated. When  the
        Done  flag  is finally found, the drive status is read. If Unit 0
        (Drive A) is not ready, the DECMATE II logo  is  displayed  as  a
        double height , double width image, centred on the screen. If the
        drive is ready or when it does become ready (when a  diskette  is
        inserted in drive 0), the screen is cleared and Track 1 Sector 0,
        the Bootstrap Block for  all  operating  systems,  is  read  into
        memory  in  8-bit  mode. If a disk error is indicated during this
        read operation, a picture  of  a  diskette  is  displayed  as  an
        indication  to  try another system disk. If no error is indicated
        by the disk  controller,  the  data  read  is  then  checked  for
        validity.  A  valid  Boot  block  must  conform to the Boot Block
        Standard (See Appendix G).  If  the  validity  check  fails,  the
        diskette picture is displayed and the read operation repeated. If
        the Boot Block passes this check it is assumed good.

        The next area of  the  diskette  to  be  validated  is  the  Main
        Keyboard  Translation  Table. This is stored in sector 3 of Track
        0. This area of the diskette  is  read  in,  in  8-bit  mode,  to
        Control  Panel  Memory,  starting  at  address 15350. (The actual
        keyboard translation table data begins at 15360, the first  eight
        characters  read  which  are  used for validation are read into a
        buffer area). If a disk controller error is indicated during this
        read  operation,  the  diskette picture is displayed and the read
        repeated. If no controller error is indicated, the data read  can
        then be validated. The first bytes read must be :
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 64     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        001     /Start of identifier sequence
                        113     /K
                        102     /B
                        104     /D
                        102     /B
                        122     /R
                        104     /D
                        002     /End of identifier sequence

        If the data does not pass this check,  it  is  assumed  that  the
        keyboard  translation  table  is invalid, the diskette picture is
        displayed and the read operation repeated. If the validity  check
        is  passed, system initialization continues with reading the User
        Character Generator RAM data from the diskette, Track 0,  Sectors
        7  -  10,  into  memory. If no controller error is indicated, the
        data read in is  validated  in  the  same  way  as  the  Keyboard
        Translation Table. In this case the first words of data read must 
        be :

                        001     /Start of identifier sequence
                        125     /U
                        103     /C
                        107     /G
                        122     /R
                        101     /A
                        115     /M
                        002     /End of identifier sequence

        If the validity check fails, or if there was  a  disk  controller
        error  indicated  after  the  read  operation, the User Character
        Generator RAM is loaded with zero (all blank characters). If  the
        validity  check  is  passed,  the  data read from the diskette is
        loaded into the UCG RAM.

        This completes the loading of language  specific  data  from  the
        diskette,  the actual firmware is now loaded. All Track 78 is now
        read in 12-bit  mode  into  Control  Panel  Memory,  starting  at
        address  P00000.  If  a  controller  error  is  indicated  at the
        completion of the read, the diskette picture is displayed and the
        entire  diskette  readin  operation  restarted.  If no controller
        error is indicated, the remainder of Control Panel  Memory  Field
        P0  is  loaded  from Track 79, Sectors 1 - 6, with the same check
        made for controller error as with Track 78. Following  this,  the
        remainder of Track 79 is read into Control Panel Memory Field P1,
        starting at address P10000 with the same error check  made.  When
        all  the  firmware  has been read in, it is checked for validity,
        memory locations P00001 - P00003 must be :

                        P00001/6201
                        P00002/0033
                        P00003/0077

        (memory location P00000 contains the current  firmware  revision)
        If   the  validity  check  fails,  the  entire  diskette  read-in 
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 65     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        operation is restarted.  If  the  check  is  good,  execution  of
        firmware begins at Address P00200 in Control Panel Memory.



















































        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 66     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     E4. SETUP

        Code in ROM supports the "SETUP" feature of  the  DECmate  II  to
        allow  certain  screen  features  such  as  column mode (80/132),
        cursor style etc. to be changed by a user and  optionally  stored
        in  the  firmware  area  of the system diskette to be used as new
        defaults. SETUP is invoked by a  user  program  issuing  a  Panel
        Request  to the firmware which in turn loads a section of the ROM
        into Control Panel Memory Field P7 and then transfers control  to
        the  loaded code at address P00177, by means of a subroutine call
        to address P000176 with the AC = 0000. (See HLT processing)

        The ROM code then reads Track 0, Sectors 1 and 2 in  8-bit  mode.
        These two sectors contain the text file that results in the SETUP
        Menu being displayed. The text  file  is  validated  after  being
        read.  If there is an error on reading in these two sectors or if
        the validation check fails, return is  made  immediately  to  the
        firmware  and  hence  to the user program. The first bytes of the
        text file must be:

                        001     /Start of identifier sequence
                        123     /S
                        105     /E
                        124     /T
                        125     /U
                        120     /P
                        002     /End of identifier sequence

        The remainder of the file can contain any text  with  a  page  of
        text  starting  with  a  control  code  002 (^B), using any 8-bit
        character codes, but must refer in  sequence  to  the  selectable
        parameters  as listed below. The end of a text field and start of
        a parameter field is  defined  by  the  control  code  036  (^^),
        sub-fields  within a parameter field are separated by the control
        code 037 (^_). The end of the entire screen of text is defined by
        the  control  code  003  (^C). Subsequent pages are prefixed with
        another control code 002 (^B). See the  example  of  the  English
        Language  SETUP  file below, in particular refer to the operating
        instructions given below the row of "====".

        In  this  example,  the  following  representations  of   control
        characters are used:

                .       Space
                ^A      001
                ^B      002
                ^C      003
                ^^      036
                ^_      037

        All other codes are actual displayed characters.

        The second "page" of text "Are you sure etc..." is  displayed  in 
        response  to  the  user  pressing  the  "Do"  key to save the new 
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 67     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Selections on the  firmware  area  of  the  system  diskette.  It
        replaces  the  text  displayed below the row of "====". The third
        "page" of text is displayed in response to the user pressing  the
        "Re-move"  key  to  mount  a new system diskette. It replaces the
        entire page.

        English Language SETUP Text File Version 1.

        ^ASETUP^B......USER.SELECTIONS.MENU

        Screen.Width..........^^80......^_132
        Cursor.Style..........^^Block...^_Underline
        Cursor.Visibility.....^^Visible.^_Invisible
        Scrolling.............^^Fast....^_Slow
        Screen.Mode...........^^Normal..^_Reverse

        Keyboard.keyclick.....^^ON......^_OFF

        Terminal.Mode.........^^VT100...^_VT52

        Baud.rates

        .....Printer..........^^300^_600^_1200^_2400^_4800^_9600
        .....Communications...^^300^_600^_1200^_2400^_4800^_9600

        =======================================================================
        ....Press.:
        ...........'->'.to.Advance '<-'.to.Backup,.'Select'.to.fix.new.selection
        ...........'Do'.to.fix.new.selections.and.leave.Selections.Menu
        ...........'Return'.to.use.new.selections.and.leave.Selections.Menu
        ...........'Remove'.to.load.new.System.Disk
        ^C^BAre.you.sure.?..Press.'Do'.to.confirm
        ^C^BInsert.new.System.Disk.and.press.'Do'

        Any.other.key.will.return.to.User.Selections.Menu
        ^C

















        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 68     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     Appendix F.

        RX50 Disk Format/Useage.

        There are three tracks on a DECmate II floppy diskette  that  are
        reserved  and  may not be used by any operating system, tracks 0, 
        78 and 79.

        Track 0 :

        Sectors 1 and 2 contain the text file  that  supports  the  SETUP
        handler  part  of  ROM.  These  sectors are written (and read) in 
        8-bit mode.

        Sector 3 contains the main keyboard translation table, (the  main
        keyboard  comprises  all keys of the main array, but excludes the
        cursor pad, the application pad  and  the  function  keys).  This
        sector  is  written  (and  read in) in 8-bit mode and consists of
        four bytes per key location on the main key array, defining  what
        each key shall generate in the four possible modes :

        Normal, Shifted, Caps (or Shift) Lock and Control.

        The value stored in each location of  the  table  is  the  actual
        8-bit  value  to  be  generated  for  that combination of key and
        modifier. For any key and modifier that generates no  code,  that
        table entry is set to contain a zero.

        Example : Key address 194 is  the  key  labelled  "A",  the  four
        entries for this key address are :

                Normal  Shift   Caps Lock       Control

                141     101     101             001
                (a)     (A)     (A)             (Control code SOH)

        The key sequence is as follows :

                Key Address     Key definition for USASCII - WPS

                188             DELETE
                189             RETURN
                190             TAB
                191             GRAVE ACCENT- TILDE
                192             1 !
                193             Q
                194             A
                195             Z
                196             NO KEY AT THIS POSITION
                197             2 @
                198             W
                199             S
                200             X
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 69     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                201             < >
                202             NO KEY AT THIS POSITION
                203             3 #
                204             E
                205             D
                206             C
                207             NO KEY AT THIS POSITION
                208             4 $
                209             R
                210             F
                211             V
                212             "SPACE"
                213             "SPACE"
                214             5 %
                215             T
                216             G
                217             B
                218             NO KEY AT THIS POSITION
                219             6 ^
                220             Y
                221             H
                222             N
                223             NO KEY AT THIS POSITION
                224             7 &
                225             U
                226             J
                227             M
                228             NO KEY AT THIS POSITION
                229             8 *
                230             I
                231             K
                232             , ,
                233             NO KEY AT THIS POSITION
                234             9 (
                235             O
                236             L
                237             . .
                238             NO KEY AT THIS POSITION
                239             0 )
                240             P
                241             NO KEY AT THIS POSITION
                242             ; :
                243             / ?
                244             NO KEY AT THIS POSITION
                245             = +
                246             ] }
                247             \ |
                248             NO KEY AT THIS POSITION
                249             - _
                250             [ {
                251             ' "
                252             NO KEY AT TH IS POSITION
                253             NO KEY AT THIS POSITION
                254             NO KEY AT THIS POSITION
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 70     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                255             NO KEY AT THIS POSITION

        For keys required to generate a NULL (000) code, the  appropriate
        table  location  is  setup  to contain 377. (For the USASCII- WPS
        keyboard, there are three entries of this kind, the  two  "SPACE"
        key  addresses  and  the "2" key address, all three generate NULL
        for the CNTRL condition). The ROM loading program then performs a
        further  translation  on  this code to load a 4000 value into the
        actual keyboard translation table.

        Refer  to  LK201  Keyboard  Specification  for  Foreign  Language
        Variations.

        Sector 4 contains the text file that supports the HLT instruction
        part  of the ROM code. This file is specified in a similar way to
        the SETUP text file. When a HLT instruction is executed  in  user
        memory,  the  HLT  processor  present  in  panel memory moves the
        contents of ROM into control panel memory Field  7,  starting  at
        location  70100  and then transfers control to the loaded code by
        executing a JMS to location 70176. The HLT processing  code  then
        reads  Track 0 Sector 4 and performs a validity check on the text
        data. The first eight words read must be :

                                001     /Header
                                110     /H
                                114     /L
                                124     /T
                                106     /F
                                114     /L
                                107     /G
                                002     /Terminator

        If an error is made on reading the  sector  or  if  the  validity
        check  fails,  return  is made immediately to the firmware, which
        will in turn return to the user program at the location following
        the  HLT  instruction. If there is no read error and the validity
        check is passed, the CRT controller Row Address Table is reset so
        that  the  current  screen data may be preserved for the possible
        return from the HLT processing and the text file displayed.  This
        is  formatted  in  the same way as the SETUP text file but allows
        only the options of "Do" to continue from the HLT and "SETUP"  to
        enter  SETUP.  If the "Do" option is selected, the CRT Controller
        RAT is reset to restore the original screen data.

        Sectors 5 and 6 are currently unused.

        Sectors 7 - 10 contain the  data  to  be  loaded  into  the  User
        Defined  character  Generator RAM. This data is read in as a part
        of the Bootstrap process. If a disk read error occurs or the disk
        data  fails  a  validity  check, the User Charatcer RAM is filled
        with nulls. If there is no read error and the validity  check  is
        passed,  the  data read is loaded into the RAM. The data consists
        of 16 bytes  per  character,  one  byte  for  each  possible  RAM
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      16-January-1983
                                                      Page 71     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                           DECmate II  Specification
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        location allocated for a character. As only 10 lines are actually
        used  to  display a character, only the first 10 bytes of each 16
        have significance, the last 6 of a group of 16  should  be  zero.
        The validation check for this data is :

                        001     /Header
                        125     /U
                        103     /C
                        107     /G
                        122     /R
                        101     /A
                        115     /M
                        002     /Terminator

     Appendix G.

        The section of the RX50 Bootstrap Block Standard that applies  to
        DECmate  II  requires  that  The  Boot  Block (Track 1, Sector 1)
        contain the following at its beginning :

                Byte #          Contents

                0               0
                1               0
                2               N - an   offset    to    additional    ID
                                    information
                3               1 - System Disk (A non-system disk  would
                                    contain 0 here)
                4               0
                5               0

        Additional ID words begin here

                2*N+2           010 - PDP 8 Code on this diskette
                2*N+3           010 - RX278 Controller
                2*N+4           010 - WPS8 Diskette Structure
                                011 - OS8 Diskette Structure
                                012 - COS310 Diskette Structure
                                100 - CP/M Diskette Structure
                2*N+5           347 - WPS8  )
                                346 - OS8   ) computed check value
                                345 - COS310) for above data
                                257 - CP/M  )
                2*N+6           0   - always
                2*N+7           1   - Revision of this standard +  single
                                      sided diskette

        For greater detail refer to the actual standard.





        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                   16-January-1983
                                                   Page 72     Rev 4
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -