*COMDECK PMCOIN 
_$J+? 
_*****************************************
*                                        *
*             PMCOIN                     *
*      MUX COMMON  INTERFACE             *
* COMMON INTERFACE BETWEEN THE MUX SOFT- *
* WARE AND THE FIRMWARE                  *
*                                        *
*****************************************?
_$R-,G-,I-   LEVEL 1 PROCEDURE           ?
_?
_***********************************************************************
**OVERVIEW                                                             *
*  THIS PROCEDURE IS THE COMMON LINK BETWEEN THE COMMAND DRIVER AND THE*
*  FIRMWARE.IT CAN ALSO BE USED BY OTHER SOFTWARE USERS TO CLEAR THE   *
*  CLA,BUT WHEN USED DIRECTLY IT MUST BE FOLLOWED IMMEDIATELY WITH A   *
*  CLEAR COMMAND TO THE COMMAND DRIVER.                                *
*                                                                      *
**INPUTS                                                               *
*  THE INPUTS TO PMCOIN CONSIST OF 2 GLOBAL VARIABLES NGA AND NGQ BOTH *
*  OF TYPE NGAQLT. THE USER MUST PREPARE THESE VARIABLES PRIOR TO CALL-*
*  ING PMCOIN                                                          *
*  WHEN CLEARING A CLA DIRECTLY ONLY THE PORT AND THE COMMAND MUST BE  *
*  PREPARED IN NGA                                                     *
*                                                                      *
**OUTPUTS                                                              *
*  THE OUTPUT OF PMCOIN IS A SIX WORD PACKET (NQPACKET) AS FOLLOWS     *
*                                                                      *
*                   WORD 0 - PORT NUMBER IN LEFT BYTE                  *
*                            MUX. SUBSYSTEM COMMAND IN RITE BYTE       *
*                   WORD 1 - LINE TYPE IN LEFT BYTE                    *
*                            COMMAND COUNT IN RITE BYTE                *
*                   WORD 2 - CLA COMMAND WORD 1/2                      *
*                   WORD 3 - CLA COMMAND WORD 3/4                      *
*                   WORD 4 - CLA COMMAND RESET VALUE FROM NBLTY        *
*                   WORD 5 - CLA COMMAND LINE TYPE RESET VALUE         *
*                                                                      *
*                                                                      *
**REMARKS                                                              *
*  PMCOIN OBTAINS ITS OWN LINE TYPE WHEN NECESSARY,IT NEEDS THE ADDR-  *
*  ESS OF THE MICROSEQUENCE IN N1FIRMAD.                               *
*                                                                      *
***********************************************************************?
_?
PROCEDURE PMCOIN; 
BEGIN 
_ 
* * * * SET UP COMMAND PACKET FOR FIRMWARE EXECUTION
? 
  NGQ.NGLTYP := NAPORT'[NGA.NGPORT].NALTYP; _ GET LINE TYPE FROM NAPORT?
  
  WITH NBLTYT[NGQ.NGLTYP,NGA.NGCMD],NQPACKET DO 
  BEGIN 
    NQPWD0 := NGA.NGINT;                    _PORT AND CMD TO PACKET    ?
    NQPWD1 := NGQ.NGINT;                    _LINE TYPE AND COUNT TO PKT?
    NQPWD2 := NBINT1;                       _CMD 1/2 SET VALUE TO PKT  ?
    NQPWD3 := NAPORT'[NGA.NGPORT]           _CMD 3/4 TO PACKET         ?
                     .NAFCCST.NFINT2;       _FROM NAPORT WD 5          ?
    NQPWD4 := NBINT2;                       _CMD 1/2 RESET VALUE TO PKT?
    NQPWD5 := NBLTYT[NGQ.NGLTYP,1].NBINT2;  _LINE TYPE RESET TO PACKET ?
    INST ($C000,NQPACKET,                   _LOAD A WITH PACKET ADDRESS?
          $E400,N1FIRMADD,                  _LOAD Q WITH FIRM ADDRESS  ?
          $0BA2);                           _ESCAPE TO FIRMWARE        ?
  END;
END;
