ASMB,A,B,L,C HED SCE/1 91700-16160 * (C) HEWLETT PACKARD CO. 1976 ORG 0 SPC 1 ****************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976. 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. * ****************************************************************** SPC 2 ***************************************** * NAME: SCE/1 (PROTECTED BBL) * SOURCE TAPE: 91700-18160 REV 1621 * ABS TAPE: 91700-16160 REV 1621 ***************************************** * J.D. RHODES 31 MAY 1974 * MODIFIED BY CHUCK WHELAN 17 MAY 1976 * * THIS PROGRAM CONFIGURES AND INSTALLS THE SCE/1 IN THE * PROTECTED AREA OF CORE FOR 4,8,12,16,24, AND 32K CPU'S. * * OPERATING INSTRUCTIONS: * * 1. LOAD (OR DOWN-LOAD) THIS PROGRAM USING THE BBL, * SCE/1, OR SCE/2. * * 2. SET THE SWITCH REGISTER AS FOLLOWS: * * SWITCHES SET TO * """""""" """""" * * 5-0 SELECT CODE OF SERIAL INTERFACE CARD * * 14-12 0 FOR 4K CPU * 1 FOR 8K CPU * 2 FOR 12K CPU * 3 FOR 16K CPU * 5 FOR 24K CPU * 7 FOR 32K CPU * * 15 SET IF CORELOAD TO COME UP RUNNING * * ALL OTHER SWITCHES MUST BE SET TO 0. * * 3. SET P REGISTER TO 2B (STARTING ADDRESS). * * 4. PRESS 'INTERNAL PRESET', 'EXTERNAL PRESET', 'LOADER * ENABLE', AND 'RUN'. * * 5. HLT 77B (OR CORELOAD GO) INDICATES SUCCESSFUL INSTALLATION. * * HLT 22B INDICATES AN INVALID SWITCH REGISTER SETTING: * - SELECT CODE < 10B * - INVALID CPU SIZE * - EXTRANEOUS SWITCHES * * DURING DOWNLOAD THE FOLLOWING HALTS MAY OCCUR: * 102011 - ERROR STATUS RETURNED FROM CENTRAL * 102012 - LINE PROTOCOL FAILED * 102013 - BAD LENGTH RECEIVED * A EQU 0 B EQU 1 SUP * SKP ORG 2B * JMP 3,I DEF START HLT 4B POWER FAIL HALT * ORG 100B * START CLC 0,C TURN OFF EVERYTHING LIA 1 AND B77 GET SELECT CODE STA CHN SAVE SELECT CODE AND B7 VALIDATE CPA CHN JMP HLT22 INVALID SELECT CODE LIA 1 AND C77 CHECK FOR EXTRANEOUS SWITCHES SZA JMP HLT22 BAD SWITCH SETTINGS LDB HLT77 LIA 1 SSA SKIP IF HLT 77 AT END LDB JMP2 SETUP TO RUN IMMEDIATELY STB .STRT,I CONFIGURE SCE-1 FINAL INST. AND G70 GET CPU SIZE CPA G40 JMP HLT22 20K NO GOOD CPA G60 JMP HLT22 28K NO GOOD IOR C77 FORM FWBBL STA FWBBL * LDB IOTAB DEF TO I/O TABLES STB T2 CNFG1 LDB T2,I CONFIGURE THE I/O INSTRUCTIONS SZB,RSS JMP MOVE FINISHED. LDA B,I SSA,RSS SIMPLE I/O INSTRUCTION TEST HLT 63B NOT I/O INSTRUCTION XOR CHN AND B77 XOR B,I STA B,I STORE CONFIGURED INSTRUCTION ISZ T2 JMP CNFG1 * MOVE LDB .GO MOVE1 LDA B,I STA FWBBL,I ISZ FWBBL INB CPB .ENDR FINISHED ? JMP HLT77 YES. JMP MOVE1 NO. LOOP. * HLT22 HLT 22B INVALID SWITCH SETTINGS RSS HLT77 HLT 77B INSTALLATION COMPLETED. JMP 3,I RESTART * .STRT DEF GOHLT .GO DEF GO .ENDR DEF ENDR CHN NOP T2 NOP B7 OCT 7 B77 OCT 77 G70 OCT 70000 G40 OCT 40000 G60 OCT 60000 C77 OCT 7700 FWBBL NOP JMP2 JMP 2 * IOTAB DEF *+1 DEF TO I/O TABLE DEF GO DEF GO+1 DEF GO+2 DEF X DEF OUT+1 DEF GETWD+1 DEF GETWD+3 DEF IN+3 NOP TERMINATES TABLE * HED SCE/1 BBL CODE * (C) HEWLETT PACKARD CO. 1976 ORG 3700B SITUATE FOR TRANSPORTABILITY * SDI EQU 14B SATELLITE COMPUTER CHANNEL. * GO CLC SDI,C LIA SDI,C INITIALIZE CARD LIA SDI * LDA RC OUTPUT 1-WORD PARMB M2 JSB OUT PRECEEDED BY 3 OVERHEAD LDA MIN2 WORDS: RC, LENGTH, MODE. JSB OUT CMA,INA JSB OUT RAR,CLE,RAR SET BIT 15. MIA 1 MERGE CONTENTS OF SW REGISTER. JSB OUT * X OTA SDI RESPOND TO LAST TNW JSB IN READ FIRST WORD CPB RC REQUEST? JMP END YES (EOT). STB RL SAVE LENGTH SSB,RSS CHECK THAT LENGTH NEG. HLT 13B BAD LENGTH RECEIVED JSB IN READ START ADDRESS. STB ADDR SAVE. STB OUT INITIALIZE CHECKSUM OTB 1 FLASH ADDR IN SW REG Y JSB IN READ DATA WORD. MIN2 STB ADDR,I MOVE TO CORE ADDRESS. ISZ ADDR INCR. CORE POINTER. ADB OUT COMPUTE CHECKSUM STB OUT ISZ RL LAST DATA WORD? JMP Y NO. JSB GETWD READ CHECKSUM LDA RLW CPB OUT DOES CHECKSUM COMPARE LDA TNW YES, SEND TNW JMP X CONTINUE * OUT NOP OTA SDI OUTPUT WORD. JSB GETWD GET NEXT WORD CPB TNW TNW? JMP OUT,I YES. CPB RLW RLW? JMP *-5 YES. HLT 12B NEITHER * GETWD NOP SFS SDI NEW WORD RECEIVED? JMP *-1 NO. LIB SDI READ DATA WORD JMP GETWD,I * IN NOP JSB GETWD READ NEXT WORD LDA TNW OTA SDI ASK FOR NEXT WORD (SEND TNW) JMP IN,I RETURN. * END JSB IN THROW AWAY REQ LEN JSB IN THROW AWAY MODE JSB IN READ PROGL STATUS WORD. SZB ERROR IF NON-ZERO HLT 11B ERROR STATUS FROM CENTRAL, HALT GOHLT NOP CONFIGURED TO "HLT 77" OR "JMP 2" * TNW OCT 170360 TRANSMIT NEXT WORD. RLW OCT 007417 RE-TRANSMIT LAST WORD. RC OCT 170017 REQUEST COMING. ADDR NOP RL NOP * ENDR BSS 0 END