ASMB,A,B,L,C
      HED CBL * (SPECIAL) * 24999-18178 REV 1750 771112 
* 
* 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
******************************************************************
* 
* 
*  THIS IS THE CODE USED IN THE CBL ROM FOR INITIATING
*  DOWNLOADS FROM A REMOTE COMPUTER.  ON ENTRY THE SWITCH 
*  REGISTER CONTAINS FIVE OCTAL DIGITS WHICH
*  ARE LATER CONCATENATED WITH AN ASCII "P" TO PRODUCE
*  THE FILE NAME OF THE CORE IMAGE TO BE DOWNLOADED.
*  IF BIT 15 IS "1", CBL PRESUMES IT IS A FORCED COLD 
*  LOAD REQUEST AND CLEARS MEMORY (EXCEPT FOR THE UPPERMOST 
*  64 WORDS) BEFORE REQUESTING A DOWNLOAD.
* 
      ORG 77700B
CBL   CCB 
      LDA MCALL     XE MACRO FOR CBL MICROCODE
      OCT 100060    CHECK MACHINE TYPE
      RSS           CAN GET HERE ONLY IF XE 
      LDA MX$       GET 21MX CBL MACRO
      STA MCALL     SET INTO IN-LINE CODE 
      LIA 1         GET PGM # 
      RAL,CLE,SLA,ERA SIGN SET? 
      JMP FCL       YES, IT'S AN FCL
* 
SETPG STA SWREG     SAVE PROGRAM #
IO    CLC 10B,C     INITIALIZE CARD (THIS GETS RECON'D) 
      LDA IO        GET I/O INSTRUCTION 
      AND B77       ISOLATE SELECT CODE 
      LDB 0         PASS IT IN B REG TO MICROCODE 
      LDA SWREG 
      OTA 1         ENSURE SW REG HAS PGM # 
*  EXECUTE CBL MICROCODE
MCALL OCT 105342    MODIFIED TO 105522 IF A 21MX
* 
      OTA 1         FAILED IF WE GOT HERE, SET
      LDA NCNTR      ERROR CODE IN SW REG AND 
      CLB             DELAY FOR 10 SECONDS (IF XE)
      INB,SZB          BEFORE HALTING 
      JMP *-1 
      INA,SZA       10 SECONDS UP?
      JMP *-3        NO, LOOP 
      HLT 55B        YES, HALT
*  IF OPERATOR PUSHES "RUN", DO A RETRY 
      JMP IO
* 
FCL   LDB HIAD      GET -(ADDR OF SCE.1)
      INB 
      CMB           B=ADDR(CBL)-2 
      CBX 
      CLB            FIRST ZERO ALL 
      SBX 1           OF CORE 
      DSX 
      JMP *-3 
      STA SWREG      SAVE PROGRAM NO. 
      LDA FCNTR      LOAD 5 SEC DELAY 
      CLB 
      INB,SZB        DELAY FOR 5 SEC. 
      JMP *-1 
      INA,SZA 
      JMP *-3 
      JMP IO         AND START THE DOWNLOAD.
* 
SWREG NOP 
NCNTR DEC -82       10 SECOND XE DELAY
FCNTR DEC -41        5 SECOND XE DELAY
B77   OCT 77
MX$   OCT 105522
HIAD  EQU CBL+77B 
* 
      END 
                                                                                                                                                                                                      