diff --git a/0readme_310.txt b/0readme_310.txt index 1eae0682..db3672f7 100644 --- a/0readme_310.txt +++ b/0readme_310.txt @@ -12,25 +12,55 @@ have been added to allow much closer convergence of the two streams. 1.1 SCP and libraries -- -n added in ATTACH, meaning "force new file" +- -n added in ATTACH, meaning "force empty file". 1.2 1401 -- option to read cards from the console terminal window -- option to print line printer output in the console terminal window +- Option to read cards from the console terminal window. +- Option to print line printer output in the console terminal window. 1.3 1620 -- tab stop support added to console terminal +- Tab stop support added to console terminal. +- Deferred IO added for console terminal and paper-tape reader/punch. 1.4 PDP-8 -- LOAD command now supports multi-segment binary tapes +- LOAD command now supports multi-segment binary tapes. 1.5 PDP11 -- added RS03/RS04 Massbus fixed head disk support - +- Added RS03/RS04 Massbus fixed head disk support. + +1.6 PDP10 + +- LOAD command now supports ITS RIM format. + +1.7 PDP15 + +- Added DR15/UC15 support for PDP15/76. + +1.8 UC15 + +- New simulator, variant on standard PDP11, for PDP15/76 configuration. + +1.7 HP3000 + +- New simulator (from Dave Bryan). + +1.8 HP2100 + +- Complete overhaul; essentially a new simulator (from Dave Bryan). + +1.9 AltairZ80, IBM 1130, SWTP 6800 + +- Removed. These sources have moved on to the 4.0 base. The versions + I had were too far removed from current source to be useful. + +1.10 Sigma + +- New simulator (moved out of beta). + 2. Bugs Fixed @@ -44,15 +74,15 @@ The main branch of SimH is maintained in a public repository https://github.com/simh/simh -under the general editorship of Dave Hittner and Mark Pizzolato. The -3.X branch provides a simpler environment for debugging, for my taste. +under the general editorship of Mark Pizzolato. The 3.10 branch provides +a simpler environment for debugging, for my taste. Because of divergences between 3.X and 4.0, certain features in 4.0 cannot work in 3.X and are not present: PDP11/VAX/PDP10 - DUP11 and DMC11 synchronous network interfaces -PDP10 - front- end keep-alive timer +PDP10 - front-end keep-alive timer H316 - IMP network interface diff --git a/0readme_39.txt b/0readme_39.txt deleted file mode 100644 index 62ae7d65..00000000 --- a/0readme_39.txt +++ /dev/null @@ -1,217 +0,0 @@ -Notes For V3.9 - - -The makefile now works for all *nix platforms and with cygwin and MinGW32 -on Windows. It will automatically detect the availability of libpcap -components and build network capable simulators if they are available. - - -1. New Features - -1.1 3.9-0 - -1.1.1 SCP and libraries - - - added *nix READLINE support (Mark Pizzolato) - - added "SHOW SHOW" and "SHOW SHOW" commands (Mark Pizzolato) - - added support for BREAK key on Windows (Mark Pizzolato) - - added ethernet support (Mark Pizzolato) - windows host <-> simulator NIC sharing - native tap interfaces on BSD, Linux and OSX - vde (Virtual Distributed Ethernet) networking - Large Send Offload support - UDP and TCP Checksum offload support - dynamic libpcap loading on *nix platforms - -1.1.2 PDP-8 - - - floating point processor is now enabled - -1.1.3 HP2100 (Dave Bryan) - - - added support for 12821A HP-IB disk controller, - 7906H/20H/25H disks - -1.1.4 PDP11 and VAX (Mark Pizzolato) - - - added DELQA-Plus device - -1.1.5 IA64 VMS Ethernet Support - - - identified compiler version issues and added IA64 support (Matt Burke) - - -2. Bugs Fixed - -Please see the revision history on http://simh.trailing-edge.com or -in the source module sim_rev.h. - - -3. Status Report - -This is the last release of SimH for which I will be lead editor. After this -release, the source is moving to a public repository: - - https://github.com/simh/simh - -under the general editorship of Dave Hittner and Mark Pizzolato. The status -of the individual simulators is as follows: - -3.1 PDP-1 - -Stable and working; runs available software. - -3.2 PDP-4/7/9/15 - -Stable and working; runs available software. - -3.3 PDP-8 - -Stable and working; runs available software. - -3.4 PDP-10 [KS-10 only] - -Stable and working; runs available software. The version on GitHub has extra -networking support that allows it to participate in a DECnet/ANF emulated -network. - -3.5 PDP-11 - -Stable and working; runs available system software. The emulation of individual -models has numerous errors of detail, which prevents many diagnostics from -running correctly. - -3.6 VAX-11/780 - -Stable and working; runs available software. - -3.7 MicroVAX 3900 (VAX) - -Stable and working; runs available software. Thanks to the kind generosity of -Camiel Vanderhoeven, this simulator has been verified with AXE, the VAX -architectural exerciser. - -3.8 Nova - -Stable and working; runs available software. - -3.9 Eclipse - -Stable and working, but not really supported. There is no Eclipse-specific -software available under a hobbyist license. - -3.10 Interdata 16b - -Stable and working, but no software for it has been found, other than -diagnostics. - -3.11 Interdata 32b - -Stable and working; runs 32b UNIX and diagnostics. - -3.12 IBM 1401 - -Stable and working; runs available software. - -3.13 IBM 1620 - -Runs diagnostics. - -3.14 IBM 7094 - -Stable and working as a stock system; runs IBSYS. The CTSS extensions -have not been debugged. - -3.15 IBM S/3 - -Stable and working, but not really supported. Runs available software. - -3.16 IBM 1130 - -Stable and working; runs available software. Supported and edited by -Brian Knittel. - -3.17 HP 2100/1000 - -Stable and working; runs available software. Supported and edited by -Dave Bryan. - -3.18 Honeywell 316/516 - -Stable and working; runs available software. IMP emulation is available -in the GitHub version. - -3.19 GRI-909/99 - -Hand debug only. No software for it has been found or tested. - -3.20 SDS-940 - -Hand debug only, and a few diagnostics. The version on GitHub has -received substantial additional debugging and is under development. - -3.21 LGP-30 - -Unfinished; hand debug only. Does not run available software, probably -due to my misunderstanding of the LGP-30 operational procedures. - -3.22 Altair (original 8080 version) - -Stable and working, but not really supported. Runs available software. - -3.23 AltairZ80 (Z80 version) - -Stable and working; runs available software. Supported and edited by -Peter Schorn. - -3.24 SWTP 6800 - -Stable and working; runs available software. Supported and edited by -Bill Beech - -3.25 Sigma 32b - -Incomplete; more work is needed on the peripherals for accuracy. -Included in the beta simulators package. - -3.26 Alpha - -Incomplete; essentially just an EV-5 (21164) chip emulator. Included -in the beta simulators package. - -3.27 SAGE - -Incomplete. Included in the beta simulators package. - -3.28 SC1 - -Internal simulator for SiCortex supercomputer; intended as an example -of implementing an SMP system in the current SimH structure. Included -in the beta simulators package. - - -4. Suggestions for Future Work - -4.1 General Structure - - - Multi-threading, to allow true concurrency between SCP and the simulator - - Graphics device support, particularly for the PDP-1 and PDP-11 - -4.2 Current Simulators - - - PDP-1 graphics, to run Space War - - PDP-11 GT40 graphics, to run Lunar Lander - - PDP-15 MUMPS-15 - - Interdata native OS debug, both 16b and 32b - - SDS 940 timesharing operating system debug - - IBM 7094 CTSS feature debug and operating system debug - - IBM 1620 debug and software - - GRI-909 software - - Sigma 32b completion and debug - - LGP-30 debug - -4.3 Possible Future Simulators - - - Data General MV8000 (if a hobbyist license can be obtained for AOS) - - Alpha simulator - - HP 3000 (16b) simulator with MPE diff --git a/H316/h316_stddev_old.c b/H316/h316_stddev_old.c deleted file mode 100644 index c358841e..00000000 --- a/H316/h316_stddev_old.c +++ /dev/null @@ -1,906 +0,0 @@ -/* h316_stddev.c: Honeywell 316/516 standard devices - - Copyright (c) 1999-2008, Robert M. Supnik - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of Robert M Supnik shall not be - used in advertising or otherwise to promote the sale, use or other dealings - in this Software without prior written authorization from Robert M Supnik. - - ptr 316/516-50 paper tape reader - ptp 316/516-52 paper tape punch - tty 316/516-33 teleprinter - clk/options 316/516-12 real time clocks/internal options - - 09-Jun-07 RMS Fixed bug in clock increment (Theo Engel) - 30-Sep-06 RMS Fixed handling of non-printable characters in KSR mode - 03-Apr-06 RMS Fixed bugs in punch state handling (Theo Engel) - 22-Nov-05 RMS Revised for new terminal processing routines - 05-Feb-05 RMS Fixed bug in OCP '0001 (Philipp Hachtmann) - 31-Jan-05 RMS Fixed bug in TTY print (Philipp Hachtmann) - 01-Dec-04 RMS Fixed problem in SKS '104 (Philipp Hachtmann) - Fixed bug in SKS '504 - Added PTR detach routine, stops motion - Added PTR/PTP ASCII file support - Added TTR/TTP support - 24-Oct-03 RMS Added DMA/DMC support - 25-Apr-03 RMS Revised for extended file support - 01-Mar-03 RMS Added SET/SHOW CLK FREQ support - 22-Dec-02 RMS Added break support - 01-Nov-02 RMS Added 7b/8b support to terminal - 30-May-02 RMS Widened POS to 32b - 03-Nov-01 RMS Implemented upper case for console output - 29-Nov-01 RMS Added read only unit support - 07-Sep-01 RMS Moved function prototypes - - The ASR-33/35 reader/punch logic, and the ASCII file support for all paper tape - devices, logic is taken, with grateful thanks, from Adrian Wise's H316 emulator. - - Teletype reader transitions: - - - SET TTY2 START puts the reader in RUN - - XOFF from keyboard/reader stops the reader after 1-2 more characters are read - - XON from program starts the reader - - Detach, SET TTY2 STOP, or end of file stops the reader - - Teletype punch transitions: - - - SET TTY3 START puts the punch in RUN - - XOFF from program stops the punch after 1 more character is punched - - TAPE from program starts the punch after 1 character delay - - Detach or SET TTY3 STOP stops the punch -*/ - -#include "h316_defs.h" -#include - -#define UNIT_V_ASC (TTUF_V_UF + 0) /* ASCII */ -#define UNIT_V_UASC (TTUF_V_UF + 1) /* Unix ASCII */ -#define UNIT_ASC (1 << UNIT_V_ASC) -#define UNIT_UASC (1 << UNIT_V_UASC) -#define STA u3 /* state bits */ -#define LF_PEND 01 /* lf pending */ -#define RUNNING 02 /* tape running */ - -#define XON 0021 -#define TAPE 0022 -#define XOFF 0023 -#define RUBOUT 0377 - -extern uint16 M[]; -extern int32 PC; -extern int32 stop_inst; -extern int32 C, dp, ext, extoff_pending, sc; -extern int32 dev_int, dev_enb; -extern int32 sim_switches; -extern UNIT cpu_unit; - -uint32 ptr_motion = 0; /* read motion */ -uint32 ptr_stopioe = 0; /* stop on error */ -uint32 ptp_stopioe = 0; -uint32 ptp_power = 0; /* punch power, time */ -int32 ptp_ptime; -uint32 ttr_stopioe = 0; -uint32 tty_mode = 0; /* input (0), output (1) */ -uint32 tty_buf = 0; /* tty buffer */ -uint32 ttr_xoff_read = 0; -uint32 ttp_tape_rcvd = 0; -uint32 ttp_xoff_rcvd = 0; -int32 clk_tps = 60; /* ticks per second */ - -int32 ptrio (int32 inst, int32 fnc, int32 dat, int32 dev); -t_stat ptr_svc (UNIT *uptr); -t_stat ptr_reset (DEVICE *dptr); -t_stat ptr_boot (int32 unitno, DEVICE *dptr); -int32 ptpio (int32 inst, int32 fnc, int32 dat, int32 dev); -t_stat ptp_svc (UNIT *uptr); -t_stat ptp_reset (DEVICE *dptr); -int32 ttyio (int32 inst, int32 fnc, int32 dat, int32 dev); -t_stat tti_svc (UNIT *uptr); -t_stat tto_svc (UNIT *uptr); -t_stat tty_reset (DEVICE *dptr); -t_stat ttio_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc); -t_stat ttrp_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc); -t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, char *cptr, void *desc); -int32 clkio (int32 inst, int32 fnc, int32 dat, int32 dev); -t_stat clk_svc (UNIT *uptr); -t_stat clk_reset (DEVICE *dptr); -t_stat clk_set_freq (UNIT *uptr, int32 val, char *cptr, void *desc); -t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, void *desc); -t_stat pt_attach (UNIT *uptr, char *cptr); -t_stat pt_detach (UNIT *uptr); -t_stat tto_write (int32 c); -t_stat ttp_write (int32 c); - -/* PTR data structures - - ptr_dev PTR device descriptor - ptr_unit PTR unit descriptor - ptr_mod PTR modifiers - ptr_reg PTR register list -*/ - -DIB ptr_dib = { PTR, IOBUS, 1, &ptrio }; - -UNIT ptr_unit = { - UDATA (&ptr_svc, UNIT_SEQ+UNIT_ATTABLE+UNIT_ROABLE, 0), - SERIAL_IN_WAIT - }; - -REG ptr_reg[] = { - { ORDATA (BUF, ptr_unit.buf, 8) }, - { FLDATA (READY, dev_int, INT_V_PTR) }, - { FLDATA (ENABLE, dev_enb, INT_V_PTR) }, - { FLDATA (MOTION, ptr_motion, 0) }, - { DRDATA (POS, ptr_unit.pos, T_ADDR_W), PV_LEFT }, - { DRDATA (TIME, ptr_unit.wait, 24), PV_LEFT }, - { ORDATA (RSTATE, ptr_unit.STA, 2), REG_HIDDEN }, - { FLDATA (STOP_IOE, ptr_stopioe, 0) }, - { NULL } - }; - -MTAB pt_mod[] = { - { UNIT_ATT+UNIT_ASC+UNIT_UASC, UNIT_ATT+UNIT_ASC, "ASCII", NULL }, - { UNIT_ATT+UNIT_ASC+UNIT_UASC, UNIT_ATT+UNIT_ASC+UNIT_UASC, "Unix ASCII", NULL }, - { 0 } - }; - -DEVICE ptr_dev = { - "PTR", &ptr_unit, ptr_reg, pt_mod, - 1, 10, 31, 1, 8, 8, - NULL, NULL, &ptr_reset, - &ptr_boot, &pt_attach, &pt_detach, - &ptr_dib, 0 - }; - -/* PTP data structures - - ptp_dev PTP device descriptor - ptp_unit PTP unit descriptor - ptp_mod PTP modifiers - ptp_reg PTP register list -*/ - -DIB ptp_dib = { PTP, IOBUS, 1, &ptpio }; - -UNIT ptp_unit = { - UDATA (&ptp_svc, UNIT_SEQ+UNIT_ATTABLE, 0), SERIAL_OUT_WAIT - }; - -REG ptp_reg[] = { - { ORDATA (BUF, ptp_unit.buf, 8) }, - { FLDATA (READY, dev_int, INT_V_PTP) }, - { FLDATA (ENABLE, dev_enb, INT_V_PTP) }, - { FLDATA (POWER, ptp_power, 0) }, - { DRDATA (POS, ptp_unit.pos, T_ADDR_W), PV_LEFT }, - { ORDATA (PSTATE, ptp_unit.STA, 2), REG_HIDDEN }, - { DRDATA (TIME, ptp_unit.wait, 24), PV_LEFT }, - { DRDATA (PWRTIME, ptp_ptime, 24), PV_LEFT }, - { FLDATA (STOP_IOE, ptp_stopioe, 0) }, - { NULL } - }; - -DEVICE ptp_dev = { - "PTP", &ptp_unit, ptp_reg, pt_mod, - 1, 10, 31, 1, 8, 8, - NULL, NULL, &ptp_reset, - NULL, &pt_attach, NULL, - &ptp_dib, 0 - }; - -/* TTY data structures - - tty_dev TTY device descriptor - tty_unit TTY unit descriptor - tty_reg TTY register list - tty_mod TTy modifiers list -*/ - -#define TTI 0 -#define TTO 1 -#define TTR 2 -#define TTP 3 - -DIB tty_dib = { TTY, IOBUS, 1, &ttyio }; - -UNIT tty_unit[] = { - { UDATA (&tti_svc, TT_MODE_KSR, 0), KBD_POLL_WAIT }, - { UDATA (&tto_svc, TT_MODE_KSR, 0), SERIAL_OUT_WAIT }, - { UDATA (NULL, UNIT_SEQ+UNIT_ATTABLE+UNIT_ROABLE, 0) }, - { UDATA (NULL, UNIT_SEQ+UNIT_ATTABLE, 0) } - }; - -REG tty_reg[] = { - { ORDATA (BUF, tty_buf, 8) }, - { FLDATA (MODE, tty_mode, 0) }, - { FLDATA (READY, dev_int, INT_V_TTY) }, - { FLDATA (ENABLE, dev_enb, INT_V_TTY) }, - { DRDATA (KPOS, tty_unit[TTI].pos, T_ADDR_W), PV_LEFT }, - { DRDATA (KTIME, tty_unit[TTI].wait, 24), REG_NZ + PV_LEFT }, - { DRDATA (TPOS, tty_unit[TTO].pos, T_ADDR_W), PV_LEFT }, - { DRDATA (TTIME, tty_unit[TTO].wait, 24), REG_NZ + PV_LEFT }, - { ORDATA (RXOFF, ttr_xoff_read, 2), REG_HIDDEN }, - { ORDATA (RSTATE, tty_unit[TTR].STA, 2), REG_HIDDEN }, - { DRDATA (RPOS, tty_unit[TTR].pos, T_ADDR_W), PV_LEFT }, - { ORDATA (PTAPE, ttp_tape_rcvd, 2), REG_HIDDEN }, - { ORDATA (PXOFF, ttp_xoff_rcvd, 2), REG_HIDDEN }, - { ORDATA (PSTATE, tty_unit[TTP].STA, 2), REG_HIDDEN }, - { DRDATA (PPOS, tty_unit[TTP].pos, T_ADDR_W), PV_LEFT }, - { FLDATA (STOP_IOE, ttr_stopioe, 0) }, - { NULL } - }; - -MTAB tty_mod[] = { - { TT_MODE, TT_MODE_KSR, "KSR", "KSR", &ttio_set_mode }, - { TT_MODE, TT_MODE_7B, "7b", "7B", &ttio_set_mode }, - { TT_MODE, TT_MODE_8B, "8b", "8B", &ttio_set_mode }, - { TT_MODE, TT_MODE_7P, "7p", "7P", &ttio_set_mode }, - { UNIT_ATTABLE+UNIT_ASC+UNIT_UASC, UNIT_ATTABLE, NULL, "BINARY", - &ttrp_set_mode }, - { UNIT_ATTABLE+UNIT_ASC+UNIT_UASC, UNIT_ATTABLE+UNIT_ASC, "ASCII", "ASCII", - &ttrp_set_mode }, - { UNIT_ATTABLE+UNIT_ASC+UNIT_UASC, UNIT_ATTABLE+UNIT_ASC+UNIT_UASC, "Unix ASCII", "UASCII", - &ttrp_set_mode }, - { MTAB_XTD|MTAB_VUN|MTAB_NMO, 1, NULL, "START", &ttrp_set_start_stop }, - { MTAB_XTD|MTAB_VUN|MTAB_NMO, 0, NULL, "STOP", &ttrp_set_start_stop }, - { 0 } - }; - -DEVICE tty_dev = { - "TTY", tty_unit, tty_reg, tty_mod, - 4, 10, 31, 1, 8, 8, - NULL, NULL, &tty_reset, - NULL, &pt_attach, &pt_detach, - &tty_dib, 0 - }; - -/* CLK data structures - - clk_dev CLK device descriptor - clk_unit CLK unit descriptor - clk_mod CLK modifiers - clk_reg CLK register list -*/ - -DIB clk_dib = { CLK_KEYS, IOBUS, 1, &clkio }; - -UNIT clk_unit = { UDATA (&clk_svc, 0, 0), 16000 }; - -REG clk_reg[] = { - { FLDATA (READY, dev_int, INT_V_CLK) }, - { FLDATA (ENABLE, dev_enb, INT_V_CLK) }, - { DRDATA (TIME, clk_unit.wait, 24), REG_NZ + PV_LEFT }, - { DRDATA (TPS, clk_tps, 8), PV_LEFT + REG_HRO }, - { NULL } - }; - -MTAB clk_mod[] = { - { MTAB_XTD|MTAB_VDV, 50, NULL, "50HZ", - &clk_set_freq, NULL, NULL }, - { MTAB_XTD|MTAB_VDV, 60, NULL, "60HZ", - &clk_set_freq, NULL, NULL }, - { MTAB_XTD|MTAB_VDV, 0, "FREQUENCY", NULL, - NULL, &clk_show_freq, NULL }, - { 0 } - }; - -DEVICE clk_dev = { - "CLK", &clk_unit, clk_reg, clk_mod, - 1, 0, 0, 0, 0, 0, - NULL, NULL, &clk_reset, - NULL, NULL, NULL, - &clk_dib, 0 - }; - -/* Paper tape reader: IO routine */ - -int32 ptrio (int32 inst, int32 fnc, int32 dat, int32 dev) -{ -switch (inst) { /* case on opcode */ - - case ioOCP: /* OCP */ - if (fnc & 016) /* only fnc 0,1 */ - return IOBADFNC (dat); - ptr_motion = fnc ^ 1; - if (fnc) /* fnc 1? stop */ - sim_cancel (&ptr_unit); - else sim_activate (&ptr_unit, ptr_unit.wait); /* fnc 0? start */ - break; - - case ioSKS: /* SKS */ - if (fnc & 013) /* only fnc 0,4 */ - return IOBADFNC (dat); - if (((fnc == 000) && TST_INT (INT_PTR)) || /* fnc 0? skip rdy */ - ((fnc == 004) && !TST_INTREQ (INT_PTR))) /* fnc 4? skip !int */ - return IOSKIP (dat); - break; - - case ioINA: /* INA */ - if (fnc) /* only fnc 0 */ - return IOBADFNC (dat); - if (TST_INT (INT_PTR)) { /* ready? */ - CLR_INT (INT_PTR); /* clear ready */ - if (ptr_motion) /* if motion, restart */ - sim_activate (&ptr_unit, ptr_unit.wait); - return IOSKIP (ptr_unit.buf | dat); /* ret buf, skip */ - } - break; - } /* end case op */ - -return dat; -} - -/* Unit service */ - -t_stat ptr_svc (UNIT *uptr) -{ -int32 c; - -if ((uptr->flags & UNIT_ATT) == 0) /* attached? */ - return IORETURN (ptr_stopioe, SCPE_UNATT); -if (uptr->STA & LF_PEND) { /* lf pending? */ - uptr->STA &= ~LF_PEND; /* clear flag */ - c = 0212; /* insert LF */ - } -else { - if ((c = getc (uptr->fileref)) == EOF) { /* read byte */ - if (feof (uptr->fileref)) { - if (ptr_stopioe) - printf ("PTR end of file\n"); - else return SCPE_OK; - } - else perror ("PTR I/O error"); - clearerr (uptr->fileref); - return SCPE_IOERR; - } - if ((uptr->flags & UNIT_UASC) && (c == '\n')) { /* Unix newline? */ - c = 0215; /* insert CR */ - uptr->STA |= LF_PEND; /* lf pending */ - } - else if ((uptr->flags & UNIT_ASC) && (c != 0)) /* ASCII? */ - c = c | 0200; - uptr->pos = ftell (uptr->fileref); /* update pos */ - } -SET_INT (INT_PTR); /* set ready flag */ -uptr->buf = c & 0377; /* get byte */ -return SCPE_OK; -} - -/* Paper tape attach routine - set or clear ASC/UASC flags if specified */ - -t_stat pt_attach (UNIT *uptr, char *cptr) -{ -t_stat r; - -if (!(uptr->flags & UNIT_ATTABLE)) - return SCPE_NOFNC; -if (r = attach_unit (uptr, cptr)) - return r; -if (sim_switches & SWMASK ('A')) /* -a? ASCII */ - uptr->flags |= UNIT_ASC; -else if (sim_switches & SWMASK ('U')) /* -u? Unix ASCII */ - uptr->flags |= (UNIT_ASC|UNIT_UASC); -else if (sim_switches & SWMASK ('B')) /* -b? binary */ - uptr->flags &= ~(UNIT_ASC|UNIT_UASC); -uptr->STA = 0; -return r; -} - -/* Detach routine - stop motion if not restore */ - -t_stat pt_detach (UNIT *uptr) -{ -if (!(sim_switches & SIM_SW_REST)) sim_cancel (uptr); /* stop motion */ -uptr->STA = 0; -return detach_unit (uptr); -} - -/* Reset routine */ - -t_stat ptr_reset (DEVICE *dptr) -{ -CLR_INT (INT_PTR); /* clear ready, enb */ -CLR_ENB (INT_PTR); -ptr_unit.buf = 0; /* clear buffer */ -ptr_unit.STA = 0; -ptr_motion = 0; /* unit stopped */ -sim_cancel (&ptr_unit); /* deactivate unit */ -return SCPE_OK; -} - -/* Paper tape reader bootstrap routine */ - -#define PBOOT_START 1 -#define PBOOT_SIZE (sizeof (pboot) / sizeof (int32)) - -static const int32 pboot[] = { - 0010057, /* STA 57 */ - 0030001, /* OCP 1 */ - 0131001, /* READ, INA 1001 */ - 0002003, /* JMP READ */ - 0101040, /* SNZ */ - 0002003, /* JMP READ */ - 0010000, /* STA 0 */ - 0131001, /* READ1, INA 1001 */ - 0002010, /* JMP READ1 */ - 0041470, /* LGL 8 */ - 0130001, /* READ2, INA 1 */ - 0002013, /* JMP READ2 */ - 0110000, /* STA* 0 */ - 0024000, /* IRS 0 */ - 0100040 /* SZE */ - }; - -t_stat ptr_boot (int32 unitno, DEVICE *dptr) -{ -int32 i; - -for (i = 0; i < PBOOT_SIZE; i++) /* copy bootstrap */ - M[PBOOT_START + i] = pboot[i]; -PC = PBOOT_START; -return SCPE_OK; -} - -/* Paper tape punch: IO routine */ - -int32 ptpio (int32 inst, int32 fnc, int32 dat, int32 dev) -{ -switch (inst) { /* case on opcode */ - - case ioOCP: /* OCP */ - if (fnc & 016) /* only fnc 0,1 */ - return IOBADFNC (dat); - if (fnc) { /* fnc 1? pwr off */ - CLR_INT (INT_PTP); /* not ready */ - ptp_power = 0; /* turn off power */ - sim_cancel (&ptp_unit); /* stop punch */ - } - else if (ptp_power == 0) /* fnc 0? start */ - sim_activate (&ptp_unit, ptp_ptime); - break; - - case ioSKS: /* SKS */ - if ((fnc & 012) || (fnc == 005)) /* only 0, 1, 4 */ - return IOBADFNC (dat); - if (((fnc == 000) && TST_INT (INT_PTP)) || /* fnc 0? skip rdy */ - ((fnc == 001) && /* fnc 1? skip ptp on */ - (ptp_power || sim_is_active (&ptp_unit))) || - ((fnc == 004) && !TST_INTREQ (INT_PTP))) /* fnc 4? skip !int */ - return IOSKIP (dat); - break; - - case ioOTA: /* OTA */ - if (fnc) /* only fnc 0 */ - return IOBADFNC (dat); - if (TST_INT (INT_PTP)) { /* if ptp ready */ - CLR_INT (INT_PTP); /* clear ready */ - ptp_unit.buf = dat & 0377; /* store byte */ - sim_activate (&ptp_unit, ptp_unit.wait); - return IOSKIP (dat); /* skip return */ - } - break; - } - -return dat; -} - -/* Unit service */ - -t_stat ptp_svc (UNIT *uptr) -{ -int32 c; - -SET_INT (INT_PTP); /* set flag */ -if (ptp_power == 0) { /* power on? */ - ptp_power = 1; /* ptp is ready */ - return SCPE_OK; - } -if ((uptr->flags & UNIT_ATT) == 0) /* attached? */ - return IORETURN (ptp_stopioe, SCPE_UNATT); -if (uptr->flags & UNIT_ASC) { /* ASCII? */ - c = uptr->buf & 0177; /* mask to 7b */ - if ((uptr->flags & UNIT_UASC) && (c == 015)) /* cr? drop if Unix */ - return SCPE_OK; - else if (c == 012) /* lf? cvt to nl */ - c = '\n'; - } -else c = uptr->buf & 0377; /* no, binary */ -if (putc (c, uptr->fileref) == EOF) { /* output byte */ - perror ("PTP I/O error"); - clearerr (uptr->fileref); - return SCPE_IOERR; - } -uptr->pos = ftell (uptr->fileref); /* update pos */ -return SCPE_OK; -} - -/* Reset routine */ - -t_stat ptp_reset (DEVICE *dptr) -{ -CLR_INT (INT_PTP); /* clear ready, enb */ -CLR_ENB (INT_PTP); -ptp_power = 0; /* power off */ -ptp_unit.buf = 0; /* clear buffer */ -ptp_unit.STA = 0; -sim_cancel (&ptp_unit); /* deactivate unit */ -return SCPE_OK; -} - -/* Terminal: IO routine */ - -int32 ttyio (int32 inst, int32 fnc, int32 dat, int32 dev) -{ -switch (inst) { /* case on opcode */ - - case ioOCP: /* OCP */ - if (fnc & 016) /* only fnc 0,1 */ - return IOBADFNC (dat); - if (fnc && (tty_mode == 0)) { /* input to output? */ - if (!sim_is_active (&tty_unit[TTO])) /* set ready */ - SET_INT (INT_TTY); - tty_mode = 1; /* mode is output */ - } - else if ((fnc == 0) && tty_mode) { /* output to input? */ - CLR_INT (INT_TTY); /* clear ready */ - tty_mode = 0; /* mode is input */ - } - break; - - case ioSKS: /* SKS */ - if (fnc & 012) /* fnc 0,1,4,5 */ - return IOBADFNC (dat); - if (((fnc == 000) && TST_INT (INT_TTY)) || /* fnc 0? skip rdy */ - ((fnc == 001) && /* fnc 1? skip !busy */ - (!tty_mode || !sim_is_active (&tty_unit[TTO]))) || - ((fnc == 004) && !TST_INTREQ (INT_TTY)) || /* fnc 4? skip !int */ - ((fnc == 005) && (tty_mode || /* fnc 5? skip !xoff */ - ((tty_buf & 0177) != XOFF)))) /* input & XOFF char */ - return IOSKIP (dat); - break; - - case ioINA: /* INA */ - if (fnc & 005) /* only 0,2 */ - return IOBADFNC (dat); - if (TST_INT (INT_TTY)) { /* ready? */ - if (tty_mode == 0) /* inp? clear rdy */ - CLR_INT (INT_TTY); - return IOSKIP (dat | - (tty_buf & ((fnc & 002)? 077: 0377))); - } - break; - - case ioOTA: - if (fnc & 015) /* only 0,2 */ - return IOBADFNC (dat); - if (TST_INT (INT_TTY)) { /* ready? */ - tty_buf = dat & 0377; /* store char */ - if (fnc & 002) { /* binary mode? */ - tty_buf = tty_buf | 0100; /* set ch 7 */ - if (tty_buf & 040) - tty_buf = tty_buf & 0277; - } - if (tty_mode) { - sim_activate (&tty_unit[TTO], tty_unit[TTO].wait); - CLR_INT (INT_TTY); - } - return IOSKIP (dat); - } - break; - } /* end case op */ - -return dat; -} - -/* Input service - keyboard and reader */ - -t_stat tti_svc (UNIT *uptr) -{ -int32 out, c; -UNIT *ruptr = &tty_unit[TTR]; - -sim_activate (uptr, uptr->wait); /* continue poll */ -if ((c = sim_poll_kbd ()) >= SCPE_KFLAG) { /* character? */ - out = c & 0177; /* mask echo to 7b */ - if (c & SCPE_BREAK) /* break? */ - c = 0; - else c = sim_tt_inpcvt (c, TT_GET_MODE (uptr->flags) | TTUF_KSR); - uptr->pos = uptr->pos + 1; - } -else if (c != SCPE_OK) /* error? */ - return c; -else if ((ruptr->flags & UNIT_ATT) && /* TTR attached */ - (ruptr->STA & RUNNING)) { /* and running? */ - if (ruptr->STA & LF_PEND) { /* lf pending? */ - c = 0212; /* char is lf */ - ruptr->STA &= ~LF_PEND; /* clear flag */ - } - else { /* normal read */ - if ((c = getc (ruptr->fileref)) == EOF) { /* read byte */ - if (feof (ruptr->fileref)) { /* EOF? */ - ruptr->STA &= ~RUNNING; /* stop reader */ - if (ttr_stopioe) - printf ("TTR end of file\n"); - else return SCPE_OK; - } - else perror ("TTR I/O error"); - clearerr (ruptr->fileref); - return SCPE_IOERR; - } - if ((ruptr->flags & UNIT_UASC) && (c == '\n')) { - c = 0215; /* Unix ASCII NL? */ - ruptr->STA |= LF_PEND; /* LF pending */ - } - else if ((ruptr->flags & UNIT_ASC) && (c != 0)) - c = c | 0200; /* ASCII nz? cvt */ - ruptr->pos = ftell (ruptr->fileref); - } - if (ttr_xoff_read != 0) { /* reader stopping? */ - if (c == RUBOUT) /* rubout? stop */ - ttr_xoff_read = 0; - else ttr_xoff_read--; /* else decr state */ - if (ttr_xoff_read == 0) /* delay done? */ - ruptr->STA &= ~RUNNING; /* stop reader */ - } - else if ((c & 0177) == XOFF) /* XOFF read? */ - ttr_xoff_read = 2; - out = c; /* echo char */ - } -else return SCPE_OK; /* no char */ -if (tty_mode == 0) { /* input mode? */ - tty_buf = c & 0377; /* put char in buf */ - SET_INT (INT_TTY); /* set flag */ - } -tto_write (out); /* echo to printer */ -return ttp_write (out); /* and punch */ -} - -/* Output service - printer and punch */ - -t_stat tto_svc (UNIT *uptr) -{ -uint32 c7b; -UNIT *ruptr = &tty_unit[TTR]; -UNIT *puptr = &tty_unit[TTP]; -t_stat r; - -c7b = tty_buf & 0177; -if (ttp_tape_rcvd != 0) { /* prev = tape? */ - ttp_tape_rcvd--; /* decrement state */ - if ((ttp_tape_rcvd == 0) && (puptr->flags & UNIT_ATT)) - puptr->STA |= RUNNING; /* start after delay */ - } -else if (c7b == TAPE) /* char = TAPE? */ - ttp_tape_rcvd = 2; -if (ttp_xoff_rcvd != 0) { /* prev = XOFF? */ - ttp_xoff_rcvd--; /* decrement state */ - if (ttp_xoff_rcvd == 0) /* stop after delay */ - puptr->STA &= ~RUNNING; - } -else if (c7b == XOFF) /* char = XOFF? */ - ttp_xoff_rcvd = 2; -if ((c7b == XON) && (ruptr->flags & UNIT_ATT)) { /* char = XON? */ - ruptr->STA |= RUNNING; /* start reader */ - ttr_xoff_read = 0; /* cancel stop */ - } -if ((r = tto_write (tty_buf)) != SCPE_OK) { /* print; error? */ - sim_activate (uptr, uptr->wait); /* try again */ - return ((r == SCPE_STALL)? SCPE_OK: r); /* !stall? report */ - } -if ((r = ttp_write (tty_buf)) != SCPE_OK) /* punch; error? */ - return r; -SET_INT (INT_TTY); /* set done flag */ -return SCPE_OK; -} - -/* Output to printer */ - -t_stat tto_write (int32 c) -{ -UNIT *tuptr = &tty_unit[TTO]; - -c = sim_tt_outcvt (c, TT_GET_MODE (tuptr->flags) | TTUF_KSR); -tuptr->pos = tuptr->pos + 1; -if (c >= 0) - return sim_putchar_s (c); -else return SCPE_OK; -} - -/* Output to punch */ - -t_stat ttp_write (int32 c) -{ -uint32 p, c7b; -UNIT *puptr = &tty_unit[TTP]; - -if ((puptr->flags & UNIT_ATT) && /* TTP attached */ - (puptr->STA & RUNNING)) { /* and running? */ - c7b = c & 0177; - if (!(puptr->flags & UNIT_UASC) || (c7b != 015)) { - if (puptr->flags & UNIT_ASC) { /* ASCII? */ - if (c7b == 012) p = '\n'; /* cvt LF */ - else p = c7b; /* else 7b */ - } - else p = c; /* untouched */ - if (putc (p, puptr->fileref) == EOF) { /* output byte */ - perror ("TTP I/O error"); - clearerr (puptr->fileref); - return SCPE_IOERR; - } - puptr->pos = ftell (puptr->fileref); /* update pos */ - } - } -return SCPE_OK; -} - -/* Reset routine */ - -t_stat tty_reset (DEVICE *dptr) -{ -CLR_INT (INT_TTY); /* clear ready, enb */ -CLR_ENB (INT_TTY); -tty_mode = 0; /* mode = input */ -tty_buf = 0; -ttr_xoff_read = 0; /* clr TTR, TTP flags */ -ttp_tape_rcvd = 0; -ttp_xoff_rcvd = 0; -tty_unit[TTR].STA = 0; -tty_unit[TTP].STA = 0; -sim_activate (&tty_unit[TTI], tty_unit[TTI].wait); /* activate poll */ -sim_cancel (&tty_unit[TTO]); /* cancel output */ -return SCPE_OK; -} - -/* Set keyboard/printer mode - make sure flags agree */ - -t_stat ttio_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc) -{ -if (uptr->flags & UNIT_ATTABLE) /* not TTR, TTP */ - return SCPE_NOFNC; -tty_unit[TTO].flags = (tty_unit[TTO].flags & ~TT_MODE) | val; -if (val == TT_MODE_7P) - val = TT_MODE_7B; -tty_unit[TTI].flags = (tty_unit[TTI].flags & ~TT_MODE) | val; -return SCPE_OK; -} - -/* Set reader/punch mode */ - -t_stat ttrp_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc) -{ -if (!(uptr->flags & UNIT_ATTABLE)) /* TTR, TTP only */ - return SCPE_NOFNC; -if (!(val & UNIT_UASC)) - uptr->STA &= ~LF_PEND; -return SCPE_OK; -} - -/* Set reader/punch start/stop */ - -t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, char *cptr, void *desc) -{ -if (!(uptr->flags & UNIT_ATTABLE)) /* TTR, TTP only */ - return SCPE_NOFNC; -if (!(uptr->flags & UNIT_ATT)) /* must be attached */ - return SCPE_UNATT; -if (val) /* start? set running */ - uptr->STA |= RUNNING; -else uptr->STA &= ~RUNNING; /* stop? clr running */ -if (uptr->flags & UNIT_ROABLE) /* TTR? cancel stop */ - ttr_xoff_read = 0; -else ttp_tape_rcvd = ttp_xoff_rcvd = 0; /* TTP? cancel all */ -return SCPE_OK; -} - -/* Clock/options: IO routine */ - -int32 clkio (int32 inst, int32 fnc, int32 dat, int32 dev) -{ -switch (inst) { /* case on opcode */ - - case ioOCP: /* OCP */ - if (fnc & 015) /* only fnc 0,2 */ - return IOBADFNC (dat); - CLR_INT (INT_CLK); /* reset ready */ - if (fnc) /* fnc = 2? stop */ - sim_cancel (&clk_unit); - else { /* fnc = 0? */ - if (!sim_is_active (&clk_unit)) - sim_activate (&clk_unit, /* activate */ - sim_rtc_init (clk_unit.wait)); /* init calibr */ - } - break; - - case ioSKS: /* SKS */ - if (fnc == 000) { /* clock skip !int */ - if (!TST_INTREQ (INT_CLK)) - return IOSKIP (dat); - } - else if ((fnc & 007) == 002) { /* mem parity? */ - if (((fnc == 002) && !TST_INT (INT_MPE)) || - ((fnc == 012) && TST_INT (INT_MPE))) - return IOSKIP (dat); - } - else return IOBADFNC (dat); /* invalid fnc */ - break; - - case ioOTA: /* OTA */ - if (fnc == 000) /* SMK */ - dev_enb = dat; - else if (fnc == 010) { /* OTK */ - C = (dat >> 15) & 1; /* set C */ - if (cpu_unit.flags & UNIT_HSA) /* HSA included? */ - dp = (dat >> 14) & 1; /* set dp */ - if (cpu_unit.flags & UNIT_EXT) { /* ext opt? */ - if (dat & 020000) { /* ext set? */ - ext = 1; /* yes, set */ - extoff_pending = 0; - } - else extoff_pending = 1; /* no, clr later */ - } - sc = dat & 037; /* set sc */ - } - else return IOBADFNC (dat); - break; - } - -return dat; -} - -/* Unit service */ - -t_stat clk_svc (UNIT *uptr) -{ - -M[M_CLK] = (M[M_CLK] + 1) & DMASK; /* increment mem ctr */ -if (M[M_CLK] == 0) /* = 0? set flag */ - SET_INT (INT_CLK); -sim_activate (&clk_unit, sim_rtc_calb (clk_tps)); /* reactivate */ -return SCPE_OK; -} - -/* Reset routine */ - -t_stat clk_reset (DEVICE *dptr) -{ -CLR_INT (INT_CLK); /* clear ready, enb */ -CLR_ENB (INT_CLK); -sim_cancel (&clk_unit); /* deactivate unit */ -return SCPE_OK; -} - -/* Set frequency */ - -t_stat clk_set_freq (UNIT *uptr, int32 val, char *cptr, void *desc) -{ -if (cptr) - return SCPE_ARG; -if ((val != 50) && (val != 60)) - return SCPE_IERR; -clk_tps = val; -return SCPE_OK; -} - -/* Show frequency */ - -t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, void *desc) -{ -fprintf (st, (clk_tps == 50)? "50Hz": "60Hz"); -return SCPE_OK; -} diff --git a/H316/tests/c-listing-ps.txt b/H316/tests/c-listing-ps.txt deleted file mode 100644 index 1241aa8d..00000000 --- a/H316/tests/c-listing-ps.txt +++ /dev/null @@ -1,13422 +0,0 @@ - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 1 IMP,3050,IMP 7:20 PM 9/16/1973 - - IMP SYSTEM - - .VERS.=3050 - - DCA=0 - - PRINTX /NETWORK VERSION / - PNTNUM .VERS. - PRINTX / - / - - REPEAT 1IF VZ DCA,[ - PRINTX /ARPA NET SYSTEM - - / ] - - REPEAT 0IF VZ DCA,[ - PRINTX /DCA NET SYSTEM - - / ] - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 2 IMP,3050,IMP 7:20 PM 9/16/1973 - - ACA=141216 - ADD=14000 /516 OPCODES - ANA=6000 - AOA=141206 - CAL=141050 - CAR=141044 - CAS=22000 - CHS=140024 - CMA=140401 - CRA=140040 - CSA=140320 - DXA=11 - .ENB=401 - ERA=12000 - EXA=13 - HLT=0 - IAB=201 - ICA=141340 - ICL=141140 - ICR=141240 - IMA=26000 - .INH=1001 - INK=43 - IRS=24000 - JMP=2000 - JST=20000 - LDA=4000 - LDX=72000 - NOP=101000 - OTK=171020 - RCB=140200 - SCB=140600 - SKP=100000 - SLN=101100 - SLZ=100100 - SMI=101400 - SNZ=101040 - SPL=100400 - SRC=100001 - SR1=100020 - SR2=100010 - SR3=100004 - SR4=100002 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 3 IMP,3050,IMP 7:20 PM 9/16/1973 - - SSC=101001 - SSM=140500 - SSP=140100 - SS1=101020 - SS2=101010 - SS3=101004 - SS4=101002 - STA=10000 - STX=32000 - SUB=16000 - SZE=100040 - TCA=140407 - - IRP [I,,ALS,ARS,ALR,ARR,LGL,LGR,LLS,LRS,LLR,LRR,LLL,LRL], [N,, - 415,405,416,406,414,404,411,401,412,402,410,400] - - DEFINE I C - 0 0 N'00+100-C"A"77 - TERMINATE - - ENDIRP - - - IRP [I,,INA,OCP,OTA,SKS,SMK],[N,,13,3,17,7,17] - - DEFINE I C - 0 0 N'0000 C - TERMINATE - - ENDIRP - - - X=40000 - I=100000 - XI=140000 - - DEFINE BSS N - 200000 - 0 0 . N-1/ - TERMINATE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 4 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SKS'S, OCP'S, ETC FOR PRODUCTION MACHINES - - IRP [NUM,,1,2,3,4,5] - - M'NUM'OUT=OCP 7'NUM - M'NUM'UNXP=OCP 17'NUM - M'NUM'LXP=OCP 27'NUM - M'NUM'IXP=OCP 37'NUM - M'NUM'IN=OCP 47'NUM - - M'NUM'ERR=SKS 47'NUM - - M'NUM'INIL=63 NUM - M'NUM'OTIL=70 NUM - - M'NUM'INBP=16 NUM NUM - M'NUM'OTBP=30 NUM NUM - - ENDIRP - - - IRP [NUM,,1,2,3] - - H'NUM'ROUT=OCP 100-[10"T"NUM] - H'NUM'IN=OCP 200-[10"T"NUM] - H'NUM'FOUT=OCP 300-[10"T"NUM] - H'NUM'XP=OCP 400-[10"T"NUM] - H'NUM'UNXP=OCP 500-[10"T"NUM] - H'NUM'ENAB=OCP 600-[10"T"NUM] - - H'NUM'ERR=SKS 100-[10"T"NUM] - H'NUM'RDY=SKS 200-[10"T"NUM] - H'NUM'EOM=SKS 300-[10"T"NUM] - H'NUM'FULL=SKS 500-[10"T"NUM] - - H'NUM'OTIL=75 NUM - H'NUM'INIL=77 NUM - - H'NUM'OTBP=42 NUM NUM - H'NUM'INBP=46 NUM NUM - - ENDIRP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 5 IMP,3050,IMP 7:20 PM 9/16/1973 - - H3OTIL=M5INIL /HOST 3 IS A LITTLE STRANGE - H3INIL=M5OTIL - H3OTBP=54 - H3INBP=56 - H4OTIL=M4INIL /HOST 4 IS YET STRANGER - H4INIL=M4OTIL - H4OTBP=M5INBP - H4INBP=M5OTBP - H4ROUT=OCP 51 - H4IN=OCP 151 - H4FOUT=OCP 251 - H4XP=OCP 351 - H4UNXP=OCP 451 - H4ENAB=OCP 551 - H4ERR=SKS 51 - H4RDY=SKS 151 - H4EOM=SKS 251 - H4FULL=SKS 451 - - CLKON=OCP 40 - CLKOFF=OCP 1040 - RDCLOK=INA 1040 - CLOKIL=102 - - TASK=OCP 41 - TASKIL=103 - - WDT=OCP 26 - WDTIL=62 - PFIL=60 - SWDTIL=61 - - LITES=OTA 26 - RDIMPN=INA 1041 - - AMIMLC=SKS 42 - - AMI516=SKS 26 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 6 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SKS'S AND OCP'S NATIVE TO THE 516 - - STDIL=63 /STANDARD INTERRUPT LOCATION - TTSIM=OCP 4 /SELECT INPUT MODE - TTSOM=OCP 104 /SELECT OUTPUT MODE - TTSRDY=SKS 4 - TTSNBZ=SKS 104 - TTSNSC=SKS 504 - TTINA=INA 4 - TTINB=INA 204 - TTINAC=INA 1004 - TTINBC=INA 1204 - TTOTA=OTA 4 - TTOTB=OTA 204 - - INTM=120 /SMK TO SET THE PRIORITY INTERRUPT 1 - JUNK=1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 7 IMP,3050,IMP 7:20 PM 9/16/1973 - - EQUALS R,REPEAT - EQUALS D,DEFINE - EQUALS T,TERMINATE - EQUALS P,PRINTX - EQUALS PR,PRINT - - /MACROS TO TYPE OUT INTERESTING LOCATIONS - - D DEFPLC TX - .TA.=. 100201/ - .TA. .ASCII /TX'"Z"/ - .TA./ - T DEFPLC - - D RELOAD TX - .TA.=. 100301/ - .TA.+1 .ASCII /TX'"Z"/ - .TA./ - T RELOAD - - D DEFHLT TX - .TA.=. 100101/ - .TA.+1 .ASCII /TX'"Z"/ - .TA./ - T DEFHLT - - /TITLES FOR DUMPED TEXTS - 100200/ - .ASCII /USEFUL LOCATIONS - "Z"/ - 100100/ - .ASCII /HALT LOCATIONS - "Z"/ - 100000/ - .ASCII / PATCH BEG END BUFS"Z"/ - 100300/ - .ASCII /CRASH-RELOAD LOCATIONS - "Z"/ - 100400/ - .ASCII / IMP BUFFERS ASSIGNED - PAGE - "Z"/ - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 8 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MACROS TO SET UP STATISIICS TABLES - - NSTATS=0 - MAXSTAT=22. - - /CALL DEFSTAT , - D DEFSTAT A,B - .TA.=. - .TB.=A A - R 1IF P,[ - SW1+NSTATS/ B - SB1+NSTATS/ .TA. - SC1+NSTATS/ .TB. - .TA.+1/ - ] - NSTATS=NSTATS+1 - R 1IF VP NSTATS-MAXSTAT,[ - PR "TOO MANY STATISTICS" - NSTATS=NSTATS-1 - ] - T DEFSTAT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 9 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MACROS FOR IMP/TIP INITIALIZATION - NITB=0 - MAXITB=20.+4 /SATDEF USES 4 - /CALL TIPDEF , - - D TIPDEF A,B - .TA.=. - .TB.=A BSS 1 - .TC.=B - R 1IF P,[ - ITBLOC+NITB/ .TA. - ITBIMP+NITB/ .TB. - ITBTIP+NITB/ .TC. - .TA.+1/ - ] - NITB=NITB+1 - R 0IF VP MAXITB-NITB,[ - PR "TOO MANY IMP/TIP INSTRS" - NITB=NITB-1 - ] - T TIPDEF - - R 1IF P,[ - ITBLOC/ - R MAXITB,[ - 1 - ] -02236 000001 ] -02237 000001 -02240 000001 -02241 000001 -02242 000001 -02243 000001 -02244 000001 -02245 000001 -02246 000001 -02247 000001 -02250 000001 -02251 000001 -02252 000001 -02253 000001 -02254 000001 -02255 000001 -02256 000001 -02257 000001 -02260 000001 -02261 000001 -02262 000001 -02263 000001 -02264 000001 -02265 000001 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 10 IMP,3050,IMP 7:20 PM 9/16/1973 - - / VDH/IMP DEF MACRO - D VDHD LOC,VDH,IMP - .TA.=. - LOC/ - .TC.=VDH - .TB.=IMP - BSS 1 - ITBVDH+ITBVP/ .TC. - ITBNVD+ITBVP/ .TB. - ITBVDL+ITBVP/ LOC - ITBVP=ITBVP+1 - R 0IF VP MAXVDH-ITBVP,[ - PR "TOO MANY IMP/VDH INSTRS" - ITBVP=ITBVP-1 - ] - 0+0+.TA./ - T - /SAT/IMP DEF (RESTORE) MACRO - D SATDEF A - TIPDEF A,A - T SATDEF - - /MACRO TO COMPUTE 16 BIT ADD CHECKSUM - /FOR ROUTING CODE, USED BY I2MLT AND RTGO - - D K ARG - .TA.=ARG - CHK=0 0 177777"A"[CHK+0+.TA.] - ARG - T K - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 11 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THE STANDARD IMP INTERRUPT LEVELS - M2I=0 /MODEM-TO-IMP RUNS LOCKED - I2M=M2I+2 /IMP-TO-MODEM - SKIP VDI - I2H=I2M+1 /IMP-TO-HOST - H2I=I2H+1 /HOST-TO-IMP - T.O=H2I+1 /TIMEOUT - TSK=T.O+1 /TASK - BCK=TSK+1 /BACKGROUND - - /SOME OTHER LEVEL 0 TYPES - INI=0 /INITIALIZATION - TTY=0 /TELETYPE INTERRUPT - WDI=0 /WATCH DOG TIMER INTERRUPT - RSI=0 /POWER FAIL INTERRUPT - SIN=0 /SOFTWARE INTERRUPT CALLS - ALL=0 /UNINTERRUPTABLE CODE LIKE DXA JMP SEQUENCE - FRE=0 /REFERENCES TO FREE LIST AND COUNT - MSK=0 /REFERENCES TO INTERRUPT MASK - - /VDH LEVELS - VDI=M2I+1 /INPUT INTERRUPT - VDO=I2M /OUTPUT INTERRUPT - VDB=I2H /BACKGROUND RUNS AT IMP-TO-HOST LEVEL - - /TIP LEVELS - TPO=0 /OUTPUT INTERRUPT - TPC=H2I /CLOCK INTERRUPT - TPB=BCK /BACKGROUND - - /MISCELLANEOUS - VAR=75 /VARIABLES - CON=76 /CONSTANTS - UND=77 /UNDEFINED - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 12 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MACROS TO ESTABLISH INTERRUPT LEVELS FOR CODE AND DATA - /XLEV IS HARDWARE LEVEL ESTABLISHED BY SMK INSTRUCTIONS - /YLEV IS SOFTWARE LEVEL ESTABLISHED BY INH INSTRUCTIONS - - XLEV=0 - YLEV=0 - - /MACROS WHICH ASSEMBLE CODE - INT,INH,ENB - - /DECLARE HARDWARE INTERRUPT ENTRANCE ON LEVEL N - D INT N - XLEV=N - YLEV=0 - WORD 0 0 300000+XLEV"T"100+YLEV - 0 - T INT - - /INHIBIT INTERRUPTS FROM LEVELS IN LIST - D INH LIST - R 0IF P,[ - IRP [Q,,LIST] - R 1IF VP 0 0 Q-YLEV, [ - PRINTX /REDUNDANT INH AT / - PNTNUM . - PRINTX / - / ] - ENDIRP - ] - - YLEV=100 - IRP [Q,,LIST] - R 1IF VP 0 0 YLEV-Q,YLEV=Q - ENDIRP - - .INH - WORD 0 0 300000+XLEV"T"100+YLEV - T INH - - /ENABLE HIGHER INTERRUPTS FROM LEVEL N - D ENB N - R 0IF P,[ - R 0IF VZ 0 0 XLEV-N, [ - PRINTX /INCORRECT ENB AT / - PNTNUM . - PRINTX / - / ] - ] - YLEV=N - .ENB - WORD 0 0 300000+XLEV"T"100+YLEV - T ENB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 13 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MORE INTERRUPT LEVEL MACROS - /MACROS WHICH DO NOT ASSEMBLE CODE - LEV,LCK,RET - - /DECLARE CODE OR DATA TO BE AT LOGICAL LEVELS IN LIST - D LEV LIST - XLEV=100 - IRP [Q,,LIST] - R 1IF VP 0 0 XLEV-Q,XLEV=Q - ENDIRP - YLEV=XLEV - WORD 0 0 300000+XLEV"T"100+YLEV - T LEV - - /DECLARE AN IMPLICIT INH IN CODE - D LCK LIST - R 0IF P,[ - IRP [Q,,LIST] - R 1IF VP 0 0 Q-YLEV, [ - PRINTX /REDUNDANT LCK AT / - PNTNUM . - PRINTX / - / ] - ENDIRP - ] - - YLEV=100 - IRP [Q,,LIST] - R 1IF VP 0 0 YLEV-Q,YLEV=Q - ENDIRP - - WORD 0 0 300000+XLEV"T"100+YLEV - T LCK - - /DECLARE AN IMPLICIT ENB IN CODE - D RET N - R 0IF P,[ - R 0IF VZ 0 0 XLEV-N, [ - PRINTX /INCORRECT RET AT / - PNTNUM . - PRINTX / - / ] - ] - YLEV=N - WORD 0 0 300000+XLEV"T"100+YLEV - T RET - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 14 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SOME SYSTEM PARAMETERS - NH=4 /NO OF REAL HOSTS - FH=4 /NO OF FAKE HOSTS - TH=NH+FH - BH=6 /NO OF BACK HOSTS - CH=5 /NO OF PHONE LINES - NIMP=64. /NO OF IMPS - NACH=8 /NO OF ACK CHANNELS PER LINE - R 0IF VZ DCA, BBNIMP=1 /DCA NCC IMP - R 1IF VZ DCA, BBNIMP=5 /ARPA NCC IMP - BBNTIP=30. /IMP NO OF BBN TIP - PDP1D=305 /HOST PDP-1D AT BBN IMP - DIAGTT=47. /DESTINATION FOR DIAG MESSAGES - H.N=1 /NUMBER OF VDH HOST - M.N=2 /NUMBER OF VDH MODEM (UCSB) - PTCK=60. /NUMBER OF TICKS TO PROP ROUTING - 30SEC=47. /NUMBER OF TICKS IN 30 SECS - MAXH=22. /MAX NO OF HOPS IN NET - NSPD=4 /= OF DIFFFRENT LINE SPDS WE HANDLE - - /WORDS IN BUFFER - IT=1 /INPUT TIME - ST=1 /SENT TIME - PTRT=2 /PNTR TO TRACE BLOCK - INCH=3 /INPUT CHANNEL - ACKH=4 /ACKNOWLEDGE HEADER - HEAD=5 /HEADER - 4 WORDS - HEAD1=6 - CNTL=7 - HEAD2=7 - HEAD3=8 - MINPL=HEAD3 - DATA=9 /BEGINNING OF DATA STORAGE - BUFE=73. /PNTR TO END OF DATA - - /WORDS IN TRACE BLOCK - TIT=1 /TRACE INPUT TIME - TTT=2 /TRACE TASK TIME - TST=3 /TRACE OUTPUT TIME - TAT=4 /TRACE ACKNOWLEDGE TIME - THED=5 /TRACE HEADER (4 WORDS) - TQUE=9 /TRACE QUEUE - TDONE=10. /TRACE DONE (100000=DONE) - - /WORDS IN REASSEMBLY BLOCK - RID=1 /ID # MESS NO + IMP NO - RMAX=2 /NO OF PCKTS MAX - REAS=3 /BLOCK OF 8 PCKT PNTRS - RSF=11. /NO OF PCKTS SO FAR - USED AS 9TH P - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 15 IMP,3050,IMP 7:20 PM 9/16/1973 - - /BITS IN INCH - HSTMOD=100000 /1 IF FROM HOST, 0 IF FROM MODEM - INPCHN=17 /INPUT CHANNEL - - /BITS IN ACKH - ODEVEN=100000 - QUADAC=60000 /WHICH QUADRANT WE ARE ACKING - CHANUM=17400 /CHANNEL NO FOR THIS PKT - ACKBTS=377 /MAX OF 8 ACKS - - /BITS IN HEAD (REG MESSAGE) - MESSNO=177400 - ONEOR8=200 /1= ONE-PACKET - REQALL=100 /TRANSMIT ONLY - RFNM=100 /REPLY ONLY - ORDNO=60 - INCTRN=10 /1= INC (ALSO SET ON RFNM FOR GVB) - TRNREP=4 /1=TRANS, 0=REPLY - GVBALL=2 /TRANSMIT ONLY - ALLOC=2 /REPLY ONLY - LINETS=1 - /BITS IN RUTHED (ROUTING MESSAGE) - SNDCOR=100000 - RUTIMP=37400 /IMPNO TO IDENTIFY LOOPED LINES - IHERDU=20 - RUTDMP=10 /1=CORE DUMP ON FIRST HOP FROM DEAD - GETCOR=4 /1=DEMAND THE IMP TO RELOAD - NULPKT=2 /1=NULL PKT WITH ACKS ONLY - LINETS=1 /1=ROUTING MESSAGE - - /BITS IN HEAD1 - PRIBIT=100000 - FORIMP=40000 - TRACE=20000 - FOROCT=10000 - PKTNO=3400 /TRANSMIT ONLY - PKTN1=400 /LOW ORDER BIT OF PACKET NUMBER - REPDED=400 /REPLY ONLY - DEST DEAD - DESTH=300 - DESTI=77 - DESTHI=377 - - /BITS IN HEAD2 - LSTPKT=100000 - FRMIMP=40000 - FRMOCT=10000 - IHCODE=7400 - HICODE=7400 - ENDBIT=1000 /1=PKT FROM HI NO IMP ON LINE - SRCEH=300 - SRCEI=77 - SRCEHI=377 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 16 IMP,3050,IMP 7:20 PM 9/16/1973 - - /BITS IN HEAD3 - LINKNO=177760 - SUBCOD=7 /IMP-TO-HOST SUB-CODES - - /BITS IN BUFE - TWOQ=100000 /1 = ON TWO QUEUES (IN PPT) - - /BITS IN TMESS - MESSNO=177400 /LAST MESS NO TRANSMITTED - MESS1=400 /LOW ORDER BIT - MSTO2=200 - MSTO1=100 /2 TIMEOUT BITS - ORDNO=60 /LAST ORDER NO TRANSMITTED - MESBTS=17 /1= MESS ANSWERED - - /BITS IN RMESS - MESSNO=177400 /OLDEST INCOMPLETE MESS NO + 3 - ORDNO=60 /NEXT ORDER NO WE WANT - MESBTS=17 /1= MESS COMPLETE - - /BITS IN AMESS - MESSNO=177400 /NEXT MESS NO TO REPLY TO - - /BITS IN TALLY - SRCEI=77 /FOREIGN IMP WHO ALLOCATED US 8 - - /BITS IN RALLY - ONEOR8=200 - RFNM=100 - - /WORDS IN PPT - PPT0=0 - PPT1=PPTL /HOST STAT TIME SENT - /BITS IN PPT0 - RETRAN=100000 /1= GOT AN ALLOCATE FOR HIM, MUST R - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 17 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /WORDS IN PLT - PLT0=0 - PLT1=PLTL - PLT2=PLTL+PLTL - PLT3=PLTL+PLTL+PLTL /HOST STAT TIME SENT - - /BITS IN PLT0 - MESSNO=177400 - PLTUSE=200 /1 = THIS PLT ENTRY IN USE - REQALL=100 /USEFUL FOR INC TRN - PLTHST=7 /LOCAL HOST NO - - /BITS IN PLT1 - PRIBIT=100000 - FORIMP=40000 - TRACE=20000 - FOROCT=10000 - DESTHI=377 - - /BITS IN RLT2 - LINKNO=177760 - SUBCOD=7 /IMP-TO-HOST SUB-CODES - - /BITS IN TSEX - ACKTAB=377 - - /BITS IN RSEX - ACKTAB=377 - - /IH CODES - CREG=0 /REG - CERRLD=400 /ERROR IN HI LEADER - CERR32=0 /ERROR IN FIRST 32 BITS - CSHORT=1 /LESS THAN 32 BITS IN MESSAGE - CILLGL=2 /ILLEGAL HI CODE - CIMPDN=1000 /IMP GOING DOWN - /BLOCKED LINK - CNOP=2000 /NOP - CRFNM=2400 /RFNM - /LINK TABLE FULL - CDESTD=3400 /DESTINATION DEAD - CIMPD=0 /DEST IMP DEAD - CHSTD=1 /DEST HOST DEAD - CERRDT=4000 /ERROR IN HI DATA - CINCTR=4400 /INCOMPLETE TRANS - CSLOWD=0 /DEST HOST TOOK >30 SECS - CLONG=1 /MORE THAN 8095 BITS - CSLOWS=2 /SOURCE HOST TOOK >15 SECS - CLOST=3 /LOST IN SUBNET - CBLOCK=4 /SOURCE IMP TOOK > 15 SECS - CERROR=4 /ERROR BIT SET (BECOMES CERRDT) - CRESET=5000 /IMP-TO-HOST RESET - READY LINE FLA - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 18 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MACROS TO COLLECT FREE SPACE AND PRINT TABLES - PAGES=32. - BUFL=BUFE+1 - - NBUFS=-1 - - - D PAGEND A,U,E - P /PAGE / PNTNUM A P / - / - FB=0 0 .+0'E - NB=0 - R 1IF VZ A+0-FB"Q"1000, [ - NB=1+0+[0 0 1000"T"[A+1]+0-FB]"Q"BUFL - NBUFS=NBUFS+NB] - 0 0 SPAR+A-2/ FB"A"777-[NB+1]"T"1000 - .TA.=FB+0+NB"T"BUFL - 100004/ - U - FB - .TA. - NB - .ASCII /"Z"/ - 100400+NB+1/ .TB.=FB A - R NB, .TB. .TB.=.TB.+0+BUFL - .ASCII /"Z"/ - .TA./ - T PAGEND - - /FB IS THE ADDRESS OF THE FIRST BUFFER ON THE PAGE - /NB IS THE NUMBER OF BUFFERS BETWEEN THIS PAGE AND THE NEXT - /FORMAT OF SPAR: - /HI 7 BITS = -(NB+1) - /LO 9 BITS = LO 9 BITS OF FB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 19 IMP,3050,IMP 7:20 PM 9/16/1973 - - 104/ - / CONSTANTS - THESE FIRST FEW MUST NOT MOVE - LEV CON -00104 023033 C DDSAI: DDSA /DDT S.A. START ADDRESS -00105 003050 C VERS: .VERS. /VERSION NUMBER -00106 C MINE: BSS 1 /MY IMP NUMBER - /TIME CONSTANTS IN TERMS OF 640 MS TICKS -00107 177721 C M30SEC: -30SEC /30 SECONDS -00110 177704 C PTICKS: -PTCK /ROUTING PROPAGATION TIME -00111 C ADDRET: BSS 1 /CHKSM ADDER RETURN -00112 100000 C SIGN: 100000 -00113 000000 C ZERO: 0 -00114 000001 C ONE: 1 -00115 000002 C TWO: 2 -00116 000003 C THREE: 3 -00117 000004 C FOUR: 4 -00120 000007 C SEVEN: 7 -00121 177777 C MINUS1: -1 -00122 177776 C MINUS2: -2 -00123 177775 C MINUS3: -3 -00124 177774 C MINUS4: -4 -00125 177773 C MINUS5: -5 -00126 177772 C MINUS6: -6 -00127 177773 C MICH: -CH -00130 000004 C PLNH: NH -00131 177770 C MITH: -TH - MIN100: -00132 177700 C MINIMP: -NIMP -00133 000000 C RSFLAG: 0 /FLAG TO DETECT WDT AND RELOADS - /0=NONE, 1=RESTART, 2=RELOAD, 3=WDT, 4=POWER FAIL - LEV VAR -00134 V PRIM: BSS 1 /PRIORITY INTERRUPT MASK - - /NCC OPERATIONS LOCATIONS 135-157 MUST NOT MOVE! - LEV CON - DEFPLC [DDT STAND ALONE ENTRY] -00135 102104 C DDT: JMP DDSAI I -00136 000000 C TIPRSF: 0 /ASSEMBLE IN A ZERO - DEFPLC [NICE-STOP AND RELOAD FLAG] -00137 C SW3FG: BSS 1 /ZERO=NICE STOP, THEN RELOAD - />0=SPECIFIC LINE - DEFPLC [NICE-STOP AND RESTART FLAG] -00140 C NRSTF: BSS 1 /ZERO=NICE STOP, THEN RESTART - /ONE=VDH RESTART - DEFPLC [HOST & MODEM INTERFACE CONTROL] -00141 C HTPAR: BSS 1 /MODEM TEST FLAG - DEFPLC [HOST INTERFACE TEST ENABLE AND TEST WORD] -00142 C HLNM: BSS 1 /# OF INTERFACE BEING TESTED -00143 177400 C HL2WD: 177400 /SECOND WORD OF DATA - ONLY LEFT HA - DEFPLC [VDH RESTART FLAG] -00144 000000 C VDHRSF: 0 /SET NON-ZERO TO RESTART VDH - DEFPLC [SAT RESTART FLAG] -00145 000000 C SATRSF: 0 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 20 IMP,3050,IMP 7:20 PM 9/16/1973 - - PG0FIX=160 /START OF 2ND INVARIANT AREA - .TA.=. - 100002/ .TA. PG0FIX - .ASCII /"Z"/ PG0FIX/ - LEV VAR - ZEROB: /START ZEROING HERE - DEFPLC [NEIGHB] - /USED BY [M2I,TSK,BCK] -00160 V NEIGHB: BSS CH /IMP NUMBER OF ADJACENT IMP - DEFPLC [RUT] - /USED BY [H2I,T.O,TSK,BCK] -00165 V RUT: BSS NIMP /ROUTE USE TABLE - DEFPLC [SLT] - /USED BY [M2I,I2M,T.O,BCK] -00265 V SLT: BSS CH /SEND LINE TEST (USED FOR RELOAD [ - - QUEUEB: /QUEUE START POINTERS - /MUST PRECEDE COUNTA - /USED BY [I2H,TSK] -00272 V SHQ: BSS TH /REG HOST -00302 V SHPQ: BSS TH /PRI HOST - /USED BY [I2M,T.O,TSK] -00312 V SMQ: BSS CH /REG MODEM -00317 V SMPQ: BSS CH /PRI MODEM - /USED BY FRE -00324 V FREE: BSS 1 /FREE BUFFERS - /USED BY [TSK,BCK] -00325 V TTF: BSS 1 /FREE TRACE BLOCKS - /USED BY [T.O,TSK] -00326 V RASF: BSS 1 /FREE REASSEMBLY BLOCKS -00327 V MESSTK: BSS 1 /STACK OF COMPLETE REG MESSAGES - /USED BY [M2I,H2I,TSK,BCK] -00330 V STQ: BSS 1 /TASK - /USED BY [T.O,TSK,BCK] -00331 V SRQ: BSS 1 /REPLY,REROUTE,DEST DEAD - /USED BY [I2H,H2I,T.O.TSK,BCK] -00332 V SHWQ: BSS NH+1 /HOST WORD -00337 V SHBQ: BSS 1 /HOST ONE WORD BUFFERS - /USED BY [T.O,TSK] -00340 V SHRQ: BSS 1 /REASSEMBLY BLOCKS - /USED BY [TSK,BCK] -00341 V STRQ: BSS 1 /TRACE BLOCKS - /USED BY [ALL] -00342 V DIAGQ: BSS 1 /DIAG PACKET QUEUE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 21 IMP,3050,IMP 7:20 PM 9/16/1973 - - QUEUEE: /QUEUE END POINTERS - /USED BY [I2H,TSK] -00343 V EHQ: BSS TH -00353 V EHPQ: BSS TH - /USED BY [I2M,T.O,TSK] -00363 V EMQ: BSS CH -00370 V EMPQ: BSS CH -00375 V BSS 4 /SPARE - /USED BY [M2I,H2I,TSK,BCK] -00401 V ETQ: BSS 1 - /USED BY [T.O,TSK,BCK] -00402 V ERQ: BSS 1 - /USED BY [I2H,H2I,T.O,TSK,BCK] -00403 V EHWQ: BSS NH+1 -00410 V BSS 4 /SPARE - - QUEUEL=QUEUEE-QUEUEB - /USED BY [TSK,BCK] -00414 V TTO: BSS 1 /TRACE TABLE OVERFLOW - /USED BY ALL -00415 V TIME: BSS 1 /TIME IN FAST T1CKS - /USED BY [I2H,T.O,TSK] -00416 V TIMES: BSS 1 /TIME IN SLOW TICKS - /USED BY [T.D,BCK] -00417 V SYNC: BSS 1 /TIME FOR STAT ROUTINES - /USED BY [M2I,T.O] -00420 V THD: BSS 1 /CHANNEL TO MAX NO IMP - /USED BY [I2M,TSK] -00421 V SIHY: BSS CH /SEND I HEARD YOU IF NOT ZERO - /USED BY [T.O,TSK] -00426 V LAC: BSS CH /LINE ALIVE COUNT - /USED BY [M2I,T.O,TSK] -00433 V LINE: BSS CH /LINE ALIVE-DEAD STATUS - /USED BY [I2M,T.O,TSK] -00440 V NONE: BSS CH /MODEM IDLE IF ZERO - /NEGATIVE= -(M30SEC-NO OF SLOW TICKS SINCE LAST OUTPUT) -00445 V SNULL: BSS CH /SEND NULL PKT IF NON-ZERO - /USED 5Y [M2I,T.O,TSK] -00452 V LUUP: BSS 1 /NON-ZERO=SOME MODEM IS LOOPED - /USED BY [H2I,TSK,BCK] - TSKFLG: /TASK-HOST COMMUNICATION - DEFPLC [HILO] -00453 V HILO: BSS TH /RETURN ADDRESSES WHERE HI LEFT OFF -00463 V BSS BH /0=NO ACTION, 1=NACK, 2=ACK - /USED BY BCK -00471 V BSS 1 /TO PRESERVE P0 LOCATIONS -00472 V DDTI: BSS 1 /DDT INTERRUPT FLAG -00473 V OVRDF: BSS 1 /SS4 IS OVERRIDDEN IF THIS IS NON, - /USED BY [TTY,BCK] -00474 V TTFG: BSS 1 /TTY COMMUNICATION SWITCH - /USED BY VD5 -00475 V VD.OT: BSS 1 /VDH TYPE OF OUTPUT FLAG - /USED BY T.O -00476 V VD.RDY: BSS 1 /NON-ZERO=VDH READY LINE FLAPPED - /USED BY [I2H,T.O,TSK,BCK] -00477 V RALLCF: BSS 1 /RALLY COMMUNICATION FLAG FOR PUT-G - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 22 IMP,3050,IMP 7:20 PM 9/16/1973 - - /USED BY MSK -00500 V IHM: BSS 1 /IH MASK -00501 V HIM: BSS 1 /HI MASK -00502 V MOM: BSS 1 /MODEM OUT MASK - /USED BY [T.O,I2H(OWP)] -00503 V WDTIME: BSS 1 /SOFTWARE W.D.T. - /USED BY [H2I,I2H.T.O,TSK,BCK] -00504 V HIHD: BSS TH /HOST STATUS - HSTUP=0 /HOST IS UP - HSTGDN=1 /GOT A HOST-GOING-DOWN MESSAGE - HSTTRD=2 /HOST WAS TARDY IN ACCEPTING AN IMP MESSAGE - HSTOFF=3 /HOST READY LINE IS DOWN - HSTIDN=4 /IMP IS COMING UP OR GOING DOWN - /USED BY TSK -00514 V THIS: BSS 1 /CURRENT TASK BUFFER - /USED BY FRE -00515 V TWDP: BSS 1 /SECOND WORD IN TWO WORD PUT - /USED BY I2H -00516 V TWDG: BSS 1 /SECOND WORD IN TWO WORD GET - - COUNTA: /ADDITIVE COUNTS - KEEP IN ORDER - /USED BY [I2H,TSK] -00517 V NHA: BSS TH /REG HOST QUEUE -00527 V BSS TH /PRI HOST QUEUE - /USED BY FRE -00537 V NFA: BSS 1 /FREE LIST - /USED BY [M2I,I2M,T.O,TSK] -00540 V NSFA: BSS 1 /STORE-AND-FORWARD COUNT - /USED BY [I2H,T.O,TSK] -00541 V NREA: BSS 1 /REASSEMBLY COUNT - /USED BY [T.O,TSK,5CK] -00542 V NALA: BSS 1 /ALLOCATE COUNT - - COUNTS: /SUBTRACTIVE COUNTS - /USED BY [I2H,TSK] -00543 V NHS: BSS TH -00553 V BSS TH - /USED BY FRE -00563 V NFS: BSS 1 - /USED BY [M2I,I2M,T.O,TSK] -00564 V NSFS: BSS 1 - /USED BY [I2H,T.O,TSK] -00565 V NRES: BSS 1 - /USED BY [T.O,TSK,BCK] -00566 V NALS: BSS 1 - COUNTL=COUNTS-COUNTA - - /USED BY [BCK] -00567 V VDHUPF: BSS 1 /VDH UP/DOWN FLAG - ZEROE: - ZEROL=ZEROE-ZEROB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 23 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -00570 000004 C MINF: CH-1 /MIN NUMBER OF FREE BUFFERS -00571 C MAXS: BSS 1 /MAX NUMBER OF S/F PACKETS -00572 C MAXR: BSS 1 /MAX NUMBER OF REASSEMBLY PACKETS -00573 C MAXSI: BSS 1 /S&F LIMIT USED BY MODEM TASK -00574 C SW1: BSS MAXSTAT /ADDRES OF STAT GATHERING SUBRS - -00622 032030 C I2MTAB: I2MB0 /START ADDR OF BLOCK OF CHANNEL PNT -00623 032040 C I2MB1 -00624 032050 C I2MB2 -00625 032060 C I2MB3 -00626 032070 C I2MB4 - LEV VAR -00627 V I2MEND: BSS CH /END ADDRESS OF EACH BLOCK -00634 V I2MNXT: BSS CH /PKT PNTR FOR LATEST OUTPUT - /0=ROUTE,NULL,OR NO OUTPUT, SIGN ON=ACK RECEIVED WHILE PKT O - DEFPLC [TSEX - TRANSMIT ODD-EVEN BITS] -00641 V TSEX: BSS CH /ODD-EVEN BIT TO USE FOR NEXT OUTF - DEFPLC [RSEX - RECEIVE ODD-EVEN BITS] -00646 V RSEX: BSS CH /COMP OF ODD-EVEN BIT WE EXPECT NEX - /USED BY [M2I,TSK] -00653 V CHFREE: BSS CH -00660 V RST.O: BSS 1 /PTR TO RM OUTPUT AREA -00661 V RST.F: BSS 1 / " " " FREE " -00662 V RST.N: BSS 1 / " " " NEW " -00663 V RST.C: BSS 1 / " " " COMPARE " - - LEV CON /ADDRESS CONSTANTS -00664 013210 C JAM: GAM /GIVE A WORD FROM FAKE HOST TO IMP -00665 003234 C DOZE: BKX /JAM WAIT -00666 017347 C SUCK: SUC /GET A WORD FOR FAKE HOST FROM IMP -00667 003240 C WAIT: BKW /SUCK WAIT -00670 015371 C OWP: OWPE /ENTRY INTO ONE WORD PUT -00671 005373 C FLUSHI: FLUSH /PNTR TO SUBR TO FREE BUFFER -00672 017343 C DODXA: .DODXA /ENTRY INTO DO DXA SUBROUTINE - DEFPLC [HOST SIMULATOR FLAG] -00673 000000 C HSFG: 0 /NON-ZERO = START UP HOST SIMULATOR - - LEV VAR -00674 V MP: BSS 1 /MODEM-TO-IMP CURRENT MODEM NO -00675 V HIP: BSS 1 /HOST-TO-IMP CURRENT HOST NO -00676 V IHP: BSS 1 /IMP-TO-HOST CURRENT HOST NO - LEV CON -00677 053333 C HIXX: HISP 0 X /HOST-TO-IMP INDEXED SAVE PNTR -00700 056155 C IHXX: IHSP 0 X /IMP-TO-HOST INDEXED SAVE PNTR - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 24 IMP,3050,IMP 7:20 PM 9/16/1973 - - TIPCON=745 - .TA.=. - 100002/ .TA. TIPCON - .ASCII /"Z"/ - - /LINKS TO TIP PROGRAM - TIPHST=2 /THE TIP TAKES THE HOST 2 SLOT - TIPBKG=40001 - TIPVER=40000 - - TIPCON/ -00745 022404 C HLTNCC: HLTWRD /PNTR TO HALT REPORTING SUBR -00746 000000 C HLTLOC: 0 /PC OF LAST HALT -00747 C HLTA: BSS 1 /A REG AT LAST HALT -00750 C HLTX: BSS 1 /X REG AT LAST HALT - 8PKTS: /NO OF PKTS PER MESSAGE - CMINPL: /MIN PKT LENGTH -00751 000010 C TEN: 10 0"A"MINPL -00752 000077 C C77: 77 -00753 000100 C C100: 100 -00754 C BSS 9. /SOME ROOM FOR TIP CONSTANTS -00765 000000 C TPOPEN: 0 /COUNT OF NO OF OPEN CONNECTIONS ON -00766 016177 C IHLSTP+TIPHST /MINUS IF LAST IMP-TO-TIP PKT -00767 021664 C TIPSKP /SKP IF TIP UP, NOP IF TIP DOWN -00770 C TIPLNK: BSS 1 /IMP-TO-TIP DMC DUTPUT PNTR -00771 C BSS 1 /IMP-IO-TIP OMC OUTPUT END PNTR -00772 C BSS 1 /TIP-TO-IMP DMC INPUT PNTR -00773 C BSS 1 /TIP-TO-IMP DMC INPUT END PNTR -00774 000000 C 0 /(IMP-TO-TIP PKT RNTR) -00775 013315 C EMFH+TIPHST /SKP IF LAST TIP-TO-IMP PKT, ELSE -00776 013141 C HITT+TIPHST /TIP-TO-IMP INTERFACE TIMER -00777 C BSS 1 /LOC 777 USED BY RELOAD CODE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 25 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /WATCHDOG TIMER AND POWER FAIL ROUTINES - - /THESE 2 INSTRS FOLLOW A COMPUTED SKS MODEM ERROR IN PAGE 0 - LEV WDI -01000 003111 0 JMP LD10 -01001 003031 0 JMP WDLUP -01002 001177 0 WDC4: WDT1 -01003 003021 0 JMP WDTM2 /START HERE TO LOAD FROM THE NET -01004 003022 0 JMP WDLOD /START HERE TO LOAD FROM A LINE - - DEFPLC [HOST34 SWITCH] -01005 0 HOST34: BSS 1 /MEANING OF BITS 1&2 FOLLOWS - /0 FOR 5 MODEMS - />0 FOR 4 MODEMS, 3 HOSTS - /<0 FOR 3 MODEMS, 4 HOSTS - /USE >0 FOR TIP/MLC - /BIT 16 ZERO MEANS PAGE 27 IS BUFFERS - /BIT 16 NON-ZERO MEANS PAGE 27 IS NOT TO BE OVERLAID WITH BU] - /VDHF INDICATES WHETHER VDH CODE IS ACTUALLY PRESENT - -01006 0 BSS 3 /FOR COMPATIBILITY WITH IMPLOD 2513 - - /** THIS IS THE CRITICAL CODE WHICH MUST NOT CHANGE ** - /** BOTH LOCATION AND CONTENTS MUST STAY CONSTANT ** - /** IN ORDER THAT ONE IMP VERSION MAY RELOAD ANOTHER ** -01011 010045 0 LWAIT: STA 45 /**THIS IS WHERE THE IMP WAITS -01012 024045 0 IRS 45 /**AFTER SENDING A REQUEST FOR CORE -01013 003012 0 JMP .-1 /**THIS CODE IS OVERLAID WITH THE -01014 024044 0 IRS 44 /**NEW CORE IMAGE WHILE IT IS RUN: -01015 003011 0 JMP LWAIT /**SO IT MUST BE INVARIANT ITSELF -01016 003102 0 JMP LD7 - - CORELO=60 - COREHI=33000 - /CORE IMAGE IS LOADED STARTING AT CORELO - /AND ENDING AT COREHI-1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 26 IMP,3050,IMP 7:20 PM 9/16/1973 - - WDTM: -00062 001017 0 WDTIL/ WDTM -01017 000000 0 WDTM/ INT WDI -01020 024133 0 IRS RSFLAG -01021 140040 0 WDTM2: CRA /ENTER HERE FOR RANDOM RELOAD - LEV BCK /COME HERE FROM NICE STOP CODE -01022 001001 7 WDLOD: INH ALL /ENTER HERE WITH LINE # (1-4) IN AC -01023 030040 7 0 CLKON -01024 017560 7 0 SUB (1) -01025 041577 7 0 ALS 1 -01026 010047 7 0 STA 47 -01027 005005 7 0 LDA HOST34 /SAVE HOST CONFIGURATION -01030 010046 7 0 STA 46 /SHOULD BE 51 - /LDA RSFLAG /SAVE RESTART-RELOAD FLAG - /STA 43 -01031 005037 7 0 WDLUP: LDA LD8 -01032 101000 7 0 NOP /FOR FILLER -01033 000201 7 0 IAB -01034 005561 7 0 LDA (-23) /DON'T LET CLOCK INTS IN -01035 000011 7 0 DXA -01036 003154 7 0 JMP CLEA -01037 001040 7 0 LD8: .+1 -01040 004047 7 0 LDA 47 -01041 101400 7 0 SMI /RANDOM RELOAD? -01042 003046 7 0 JMP LD11 /NO -01043 131040 7 0 RDCLOK /YES -01044 003043 7 0 JMP .-1 -01045 007562 7 0 ANA (6) /GET TWO BIT NUMBER -01046 010000 7 0 LD11: STA 0 -01047 005563 7 0 LDA (SENDC) /SET UP REQUEST FOR CORE -01050 050032 7 0 STA M1OTBP X -01051 015564 7 0 ADD (4) -01052 050033 7 0 STA M1OTBP+1 X -01053 005565 7 0 LDA (CORELO 0 I) /SET UP CORE IMAGE BOUNDS -01054 050020 7 0 STA M1INBP X -01055 005566 7 0 LDA (COREHI 0 I) -01056 050021 7 0 STA M1INBP+1 X -01057 143137 7 0 JMP LDT XI -01060 030071 7 0 LD1: M1OUT /SEND OUT REQUEST FOR CORE -01061 003213 7 0 JMP LD12 -01062 003073 7 0 JMP LD5 -01063 030072 7 0 LD2: M2OUT -01064 003213 7 0 JMP LD12 -01065 003073 7 0 JMP LD5 -01066 030073 7 0 LD3: M3OUT -01067 003213 7 0 JMP LD12 -01070 003073 7 0 JMP LD5 -01071 030074 7 0 LD4: M4OUT -01072 003213 7 0 JMP LD12 -01073 005567 7 0 LD5: LDA (-3000.) -01074 010044 7 0 STA 44 - /JMP LWAIT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 27 IMP,3050,IMP 7:20 PM 9/16/1973 - - /NOP /TO KEEP LOC OF LD6 CONSTANT - /THE NEXT 5 REGS CAN COME OUT AFTER COMPATIBILITY WITH 2634 -01075 010045 7 0 LD6: STA 45 -01076 024045 7 0 IRS 45 -01077 003076 7 0 JMP .-1 -01100 024044 7 0 IRS 44 -01101 003075 7 0 JMP LD6 -01102 044020 7 0 LD7: LDA M1INBP X -01103 013566 7 0 ERA (COREHI 0 I) -01104 100040 7 0 SZE -01105 003031 7 0 JMP WDLUP -01106 045140 7 0 LDA LDERR X -01107 010777 7 0 STA 777 -01110 002777 7 0 JMP 777 - -01111 031040 7 0 LD10: CLKOFF -01112 004046 7 0 LDA 46 /SHOULD BE 51 /RESTORE HOST C -01113 011005 7 0 STA HOST34 - /LDA 43 /RESTORE RESTART-RELOAD FLAG - /STA RSFLAG -01114 073570 7 0 LDX (56-104) /SAVE INTERRUPT ENTRANCES -01115 044104 7 0 LDA 104 X -01116 111571 7 0 STA (30000 0 X) I -01117 024000 7 0 IRS 0 -01120 003115 7 0 JMP .-3 -01121 005127 7 0 LDA LD9 -01122 000201 7 0 IAB -01123 005572 7 0 LDA (-21) -01124 070042 7 0 AMIMLC -01125 005573 7 0 LDA (-1) -01126 003154 7 0 JMP CLEA -01127 001130 7 0 LD9: .+1 -01130 073570 7 0 LDX (56-104) /RESTORE INTERRUPT ENTRANCES -01131 105571 7 0 LDA (30000 0 X) I -01132 050104 7 0 STA 104 X -01133 024000 7 0 IRS 0 -01134 003131 7 0 JMP .-3 -01135 024133 7 0 IRS RSFLAG -01136 103574 7 0 JMP (INIT) I -01137 001060 7 0 LDT: LD1 -01140 070471 7 0 LDERR: M1ERR -01141 001063 7 0 LD2 -01142 070472 7 0 M2ERR -01143 001066 7 0 LD3 -01144 070473 7 0 M3ERR -01145 001071 7 0 LD4 -01146 070474 7 0 M4ERR - -01147 040001 7 0 SENDC: 40001 -01150 100001 7 0 SNDCOR 0 LINETS -01151 000000 7 0 0 -01152 000000 7 0 0 -01153 040001 7 0 -[40001 0 SNDCOR LINETS -3] - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 28 IMP,3050,IMP 7:20 PM 9/16/1973 - -01154 170120 7 0 CLEA: SMK 120 - LEV BCK LCK ALL -01155 073575 7 0 LDX (STDIL-0-TASKIL) -01156 005002 7 0 LDA WDC4 -01157 050104 7 0 STA TASKIL+1 X /RESET ALL INTERRUPT ENTRANCES -01160 024000 7 0 IRS 0 -01161 003157 7 0 JMP .-2 -01162 073576 7 0 LDX (-2) /MUST UNPATCH TWICE 1? -01163 030171 7 0 WDT2: M1UNXP -01164 030172 7 0 M2UNXP -01165 030173 7 0 M3UNXP -01166 030174 7 0 M4UNXP -01167 030175 7 0 M5UNXP -01170 030470 7 0 HUNXPT: H1UNXP /THESE MUST BE IN ORDER11 -01171 030460 7 0 H2UNXP -01172 030450 7 0 H3UNXP -01173 030451 7 0 H4UNXP -01174 024000 7 0 IRS 0 -01175 003163 7 0 JMP WDT2 -01176 021177 7 0 JST WDT1 /AND WAIT - -01177 000000 7 0 WDT1: 0 /NULL INTERRUPT ENTRY -01200 000011 7 0 DXA /ALL INTERRUPTS COME HERE TO DIE -01201 003202 7 0 JMP . 1 -01202 000401 7 0 ENB BCK -01203 073577 7 LDX (0) -01204 024000 7 IRS 0 -01205 003204 7 JMP .-1 /WAIT 600 MS -01206 000201 7 IAB /5=>X -01207 026000 7 IMA 0 /0=>A -01210 170120 7 SMK 120 /NOW WE BLOCK ALL FUTURE INTERRUPTS - LEV WDI -01211 001001 0 INH ALL -01212 042000 0 JMP 0 X /GO TO LD8+1 -01213 005600 0 LD12: LDA (-533.) -01214 010044 0 STA 44 -01215 010045 0 LD13: STA 45 -01216 024045 0 IRS 45 -01217 003216 0 JMP .-1 -01220 024044 0 IRS 44 -01221 003215 0 JMP LD13 -01222 043223 0 JMP .+1 X -01223 030471 0 M1IN -01224 003073 0 JMP LD5 -01225 030472 0 M2IN -01226 003073 0 JMP LD5 -01227 030473 0 M3IN -01230 003073 0 JMP LD5 -01231 030474 0 M4IN -01232 003073 0 JMP LD5 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 29 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -01233 000001 C BITTAB: 1 /BITS FOR ACK AND MESSAGE STUFF -01234 000002 C 2 -01235 000004 C 4 -01236 000010 C 10 -01237 000020 C 20 -01240 000040 C 40 -01241 000100 C 100 -01242 000200 C SWCHB: 200 -01243 000400 C 400 -01244 001000 C 1000 -01245 002000 C 2000 - -01246 000010 C MBITS: 10 -01247 000004 C 4 -01250 000002 C 2 -01251 000001 C 1 - - SWDT: -00061 001252 C SWDTIL/ SWDT /SOFTWARE W-D-T INTERRUPT CALL - SWDT/ -01252 000000 0 INT WDI -01253 001001 0 INH ALL -01254 111601 0 STA (37775) I /SAVED A -01255 133602 0 STX (37776) I /SAVED X -01256 005252 0 LDA SWDT /IF NOT MEM PROTECT (MAY NEED TO BE -01257 111603 0 STA (37774) I /SAVED P/Y -01260 120062 0 JST WDTIL I - - RSTR: /POWER FAIL COMES HERE -00060 001261 0 PFIL/ RSTR -01261 000000 0 RSTR/ INT RSI -01262 030026 0 WDT /POKE WATCHDOG TIMER SO WE DON'T ( -01263 140040 0 CRA -01264 010324 0 STA FREE /COPY SOME PROGRAM INTO PAGE 0 -01265 005604 0 LDA (3) -01266 010133 0 STA RSFLAG /SO THAT RESTART WILL INDICATE POWE -01267 005273 0 LDA RST2A /THESE ARE FOR WHEN THE POWER COMES -01270 010517 0 STA NHA -01271 073274 0 LDX RST3 -01272 002324 0 JMP FREE /GO LOCK UP THE MACHINE -01273 002000 0 RST2A: 2000 -01274 102517 0 RST3: JMP NHA I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 30 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /CORE DUMP TO PDP-1D AT BBN - /COPY EACH 100-WORD BLOCK OF CORE INTO CORBUF=>CORBUF+77 - /SEND BLOCK 1 FROM ITSELF, THEN 2-277 (OR HIGHER), THEN BLOC. - /USE CORBUF-4=>CORBUF-1 AS HEADER AND TEMP STORE - CORBUF=100 - CORCNT=CORBUF-4 /ACKH - USE AS TEMP - CORHED=CORBUF-3 /HEAD - FIXED HEADER, GOES AS ROUTI1 - CORPUT=CORBUF-2 /HEAD1 - USE AS TEMP - CORGET=CORBUF-1 /HEAD2 - FIRST LOCATION OF BLOCK BE - /HEAD3 THRU BUFE-1 ARE 100 DATA WOR] - - LEV BCK - DEFPLC [CORE DUMP] -01275 001001 7 CORE: INH ALL -01276 000013 7 0 EXA -01277 030451 7 0 H4UNXP -01300 030551 7 0 H4ENAB -01301 030251 7 0 H4FOUT -01302 000201 7 0 IAB /ENTER WITH LINE NO 1-5 IN AC -01303 073605 7 0 LDX (-104) -01304 044200 7 0 LDA CORCNT+104 X -01305 051551 7 0 STA CORSAV+104 X /SAVE CORBUF-4=>CORBUF+77 -01306 024000 7 0 IRS 0 -01307 003304 7 0 JMP .-3 -01310 024000 7 0 IRS 0 -01311 003310 7 0 JMP .-1 /WAIT FOR READY LINE -01312 000201 7 0 IAB -01313 041577 7 0 ALS 1 -01314 010000 7 0 STA 0 /SAVE 2*MODEM NO -01315 131041 7 0 RDIMPN -01316 003315 7 0 JMP .-1 -01317 013606 7 0 ERA (BBNIMP) -01320 101040 7 0 SNZ /ARE WE THE BBN IMP? -01321 010000 7 0 STA 0 /YES, THEN WE SEND CORE OUT TO HOST -01322 005607 7 0 LDA (RUTDMP 0 LINETS) -01323 010075 7 0 STA CORHED /SET UP FIXED HEADER -01324 005610 7 0 LDA (CORBUF) -01325 010077 7 0 STA CORGET /SET UP BLOCK TO COPY FROM - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 31 IMP,3050,IMP 7:20 PM 9/16/1973 - -01326 004000 7 0 CORNXT: LDA 0 -01327 100040 7 0 SZE /ARE WE SENDING TO A HOST? -01330 005611 7 0 LDA (CORPUT-CORCNT) /NO, NEED FULL HEADER FC -01331 015612 7 0 ADD (CORCNT) /NEED ONLY LEADER TO HOST -01332 050030 7 0 STA H4OTBP X /SET UP DMC PNTRS -01333 005613 7 0 LDA (CORBUF+77) -01334 050031 7 0 STA H4OTBP+1 X -01335 005610 7 0 LDA (CORBUF) -01336 010076 7 0 STA CORPUT /SET UP BLOCK TO COPY INTO -01337 140407 7 0 TCA -01340 010074 7 0 STA CORCNT /SET UP COPY COUNT -01341 004077 7 0 LDA CORGET -01342 100040 7 0 SZE /ARE WE DOING BLOCK 0? -01343 003347 7 0 JMP CORCOP /NO -01344 024077 7 0 IRS CORGET /YES, START WITH REG 1 -01345 024076 7 0 IRS CORPUT /SINCE CORBUF HAS HIGHEST CORE BLOC1 -01346 024074 7 0 IRS CORCNT -01347 104077 7 0 CORCOP: LDA CORGET I /DO THE COPY -01350 110076 7 0 STA CORPUT I -01351 024077 7 0 IRS CORGET -01352 024076 7 0 IRS CORPUT -01353 024074 7 0 IRS CORCNT -01354 003347 7 0 JMP CORCOP -01355 043356 7 0 JMP COROCP X /DO OCP OUTPUT - -01356 030251 7 0 COROCP: H4FOUT -01357 003371 7 0 JMP CORWAT -01360 030071 7 0 M1OUT -01361 003371 7 0 JMP CORWAT -01362 030072 7 0 M2OUT -01363 003371 7 0 JMP CORWAT -01364 030073 7 0 M3OUT -01365 003371 7 0 JMP CORWAT -01366 030074 7 0 M4OUT -01367 003371 7 0 JMP CORWAT -01370 030075 7 0 M5OUT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 32 IMP,3050,IMP 7:20 PM 9/16/1973 - -01371 004077 7 0 CORWAT: LDA CORGET -01372 013610 7 0 ERA (CORBUF) -01373 101040 7 0 SNZ /DID WE JUST SEND BLOCK 0? -01374 003426 7 0 JMP COREND /YES -01375 005614 7 0 LDA (100000) -01376 010074 7 0 STA CORCNT -01377 024074 7 0 IRS CORCNT -01400 003377 7 0 JMP .-1 /WAIT -01401 030026 7 0 WDT /JUST IN CASE -01402 004077 7 0 LDA CORGET -01403 017615 7 0 SUB (30000) -01404 100400 7 0 SPL /HAVE WE DONE FIRST 12K YET? -01405 003326 7 0 JMP CORNXT /NO, KEEP GOING -01406 104077 7 0 LDA CORGET I /YES, NOW WE MUST CHECK FOR PRESENC1 -01407 140401 7 0 CMA /ABOVE 12K MINIMUM -01410 126077 7 0 IMA CORGET I -01411 122077 7 0 CAS CORGET I -01412 100000 7 0 SKP -01413 003416 7 0 JMP .+3 /NO TRANSITION, NO MORE MEMORY -01414 110077 7 0 STA CORGET I /RESTORE TEST CELL -01415 003326 7 0 JMP CORNXT /AND KEEP GOING -01416 140040 7 0 CRA -01417 026077 7 0 IMA CORGET /RESET PTR TO BLOCK 0 -01420 010100 7 0 STA CORBUF /SAVE HIGHEST CORE BLOCK IN CORBUF -01421 131041 7 0 RDIMPN -01422 003421 7 0 JMP .-1 -01423 012100 7 0 ERA CORBUF /PUT IMP NO IN RIGHT PART OF REG C -01424 010100 7 0 STA CORBUF -01425 003326 7 0 JMP CORNXT /GO BACK AND SEND BLOCK 0 - -01426 073616 7 0 COREND: LDX (-4) -01427 045451 7 0 LDA CORSAV+4 X -01430 050200 7 0 STA CORCNT+CORBUF+4 X -01431 024000 7 0 IRS 0 /RESTORE CORBUF-4=>CORBUF-1 IN THE -01432 003427 7 0 JMP .-3 -01433 024000 7 0 IRS 0 -01434 003433 7 0 JMP .-1 /WAIT -01435 073605 7 0 LDX (-104) -01436 045551 7 0 LDA CORSAV+104 X -01437 050200 7 0 STA CORCNT+104 X /RESTORE CORBUF-4=>CORBUF -01440 024000 7 0 IRS 0 -01441 003436 7 0 JMP .-3 -01442 030026 7 0 WDT -01443 000000 7 0 HLT /DONE -01444 003442 7 0 JMP .-2 - CORSAV: /SAVE SPACE FOR CORBUF-4=>CORBUF+77 - /NEXT 104 LOCS USED BY COR DMP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 33 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THIS CODE IS THE ADD CHAIN WHICH COMPUTES PACKET CHECKSUMS - /IT IS RE-ENTRANT AND IS CALLED BY DIFFERENT INTERRUPTS - LEV ALL -01445 054115 0 ADDTOP: ADD BUFE+4 X -01446 054114 0 ADD BUFE+3 X -01447 054113 0 ADD BUFE+2 X -01450 054112 0 ADD BUFE+1 X -01451 054111 0 ADD BUFE X -01452 054110 0 ADD BUFE-1 X -01453 054107 0 ADD DATA+76 X -01454 054106 0 ADD DATA+75 X -01455 054105 0 ADD DATA+74 X -01456 054104 0 ADD DATA+73 X -01457 054103 0 ADD DATA+72 X -01460 054102 0 ADD DATA+71 X -01461 054101 0 ADD DATA+70 X -01462 054100 0 ADD DATA+67 X -01463 054077 0 ADD DATA+66 X -01464 054076 0 ADD DATA+65 X -01465 054075 0 ADD DATA+64 X -01466 054074 0 ADD DATA+63 X -01467 054073 0 ADD DATA+62 X -01470 054072 0 ADD DATA+61 X -01471 054071 0 ADD DATA+60 X -01472 054070 0 ADD DATA+57 X -01473 054067 0 ADD DATA+56 X -01474 054066 0 ADD DATA+55 X -01475 054065 0 ADD DATA+54 X -01476 054064 0 ADD DATA+53 X -01477 054063 0 ADD DATA+52 X -01500 054062 0 ADD DATA+51 X -01501 054061 0 ADD DATA+50 X -01502 054060 0 ADD DATA+47 X -01503 054057 0 ADD DATA+46 X -01504 054056 0 ADD DATA+45 X -01505 054055 0 ADD DATA+44 X -01506 054054 0 ADD DATA+43 X -01507 054053 0 ADD DATA+42 X -01510 054052 0 ADD DATA+41 X -01511 054051 0 ADD DATA+40 X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 34 IMP,3050,IMP 7:20 PM 9/16/1973 - -01512 054050 0 ADD DATA+37 X -01513 054047 0 ADD DATA+36 X -01514 054046 0 ADD DATA+35 X -01515 054045 0 ADD DATA+34 X -01516 054044 0 ADD DATA+33 X -01517 054043 0 ADD DATA+32 X -01520 054042 0 ADD DATA+31 X -01521 054041 0 ADD DATA+30 X -01522 054040 0 ADD DATA+27 X -01523 054037 0 ADD DATA+26 X -01524 054036 0 ADD DATA+25 X -01525 054035 0 ADD DATA+24 X -01526 054034 0 ADD DATA+23 X -01527 054033 0 ADD DATA+22 X -01530 054032 0 ADD DATA+21 X -01531 054031 0 ADD DATA+20 X -01532 054030 0 ADD DATA+17 X -01533 054027 0 ADD DATA+16 X -01534 054026 0 ADD DATA+15 X -01535 054025 0 ADD DATA+14 X -01536 054024 0 ADD DATA+13 X -01537 054023 0 ADD DATA+12 X -01540 054022 0 ADD DATA+11 X -01541 054021 0 ADD DATA+10 X -01542 054020 0 ADD DATA+7 X -01543 054017 0 ADD DATA+6 X -01544 054016 0 ADD DATA+5 X -01545 054015 0 ADD DATA+4 X -01546 054014 0 ADD DATA+3 X -01547 054013 0 ADD DATA+2 X -01550 054012 0 ADD DATA+1 X -01551 054011 0 ADD DATA X -01552 054010 0 ADD HEAD3 X -01553 054007 0 ADD HEAD2 X -01554 054006 0 ADD HEAD1 X -01555 054005 0 ADD HEAD X -01556 054004 0 ADDBOT: ADD ACKH X -01557 102111 0 JMP ADDRET I /RETURN TO CALLING INTERRUPT ROUTIN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 35 IMP,3050,IMP 7:20 PM 9/16/1973 - - -01560 000001 C LEV CON CONSTANTS -01561 177755 C -01562 000006 C -01563 001147 C -01564 000004 C -01565 100060 C -01566 133000 C -01567 172110 C -01570 177752 C -01571 070000 C -01572 177757 C -01573 177777 C -01574 002000 C -01575 177760 C -01576 177776 C -01577 000000 C -01600 176753 C -01601 037775 C -01602 037776 C -01603 037774 C -01604 000003 C -01605 177674 C -01606 000005 C -01607 000011 C -01610 000100 C -01611 000002 C -01612 000074 C -01613 000177 C -01614 100000 C -01615 030000 C -01616 177774 C -01777 000000 C 1777/ 0 /LOC 1777 USED IN SWCH CODE - /FOR MEM PROTECT TEST - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 36 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /INITIALIZATION - LEV BCK -02000 120672 7 INIT: JST DODXA I RET BCK -02001 001001 7 INH INI -02002 140040 7 0 CRA -02003 170120 7 0 SMK INTM /LOCK OUT INTERRUPTS FOR INIT -02004 010134 7 0 STA PRIM -02005 026133 7 0 IMA RSFLAG -02006 141206 7 0 AOA -02007 111465 7 0 STA (RSFNCC) I /SET UP RSTART INDICATOR FOR NCC -02010 022114 7 0 CAS ONE /RESTART -02011 022116 7 0 CAS THREE /OR POWERFAIL (4) -02012 003202 7 0 JMP INIVDH /==>SEE IF VDH GETS RESTARTED -02013 101000 7 0 NOP / (MUST COME BEFORE ZEROING 0-AF -02014 140040 7 0 CRA -02015 010145 7 0 STA SATRSF -02016 010136 7 0 INIVDR: STA TIPRSF -02017 010765 7 0 STA TPOPEN -02020 073466 7 0 LDX (-MAXITB) /MUST PRECEDE ZEROING -02021 045346 7 0 INIT1: LDA ITBTIP+MAXITB X /SO THAT APPROPRIATE INT'I -02022 070042 7 0 AMIMLC /ENTRIES ARE CLEARED -02023 045316 7 0 LDA ITBIMP+MAXITB X -02024 151266 7 0 STA ITBLOC+MAXITB XI /INIT TIP-HOST3 LOCS -02025 024000 7 0 IRS 0 -02026 003021 7 0 JMP INIT1 -02027 073467 7 0 LDX (-MAXVDH) -02030 045361 7 0 LDA ITBNVD+MAXVDH X -02031 151374 7 0 STA ITBVDL MAXVDH XI -02032 024000 7 0 IRS 0 -02033 003030 7 0 JMP .-3 -02034 073470 7 0 LDX (-INITZN) /INIT THE ZERO STORAGE AREAS -02035 045221 7 0 INIT0: LDA INITZB+INITZN X -02036 011212 7 0 STA IT1 -02037 045226 7 0 LDA INITZL+INITZN X -02040 011213 7 0 STA IT2 -02041 140040 7 0 CRA /MUST PRECED QUEUE INIT -02042 111212 7 0 STA IT1 I -02043 025212 7 0 IRS IT1 -02044 025213 7 0 IRS IT2 -02045 003042 7 0 JMP .-3 -02046 024000 7 0 IRS 0 -02047 003035 7 0 JMP INIT0 -02050 010144 7 0 STA VDHRSF /VDH WILL NOT RESTART -02051 131041 7 0 RDIMPN -02052 003051 7 0 JMP .-1 -02053 010106 7 0 STA MINE /INIT MINE -02054 005471 7 0 LDA (NS1) -02055 111472 7 0 STA (NSRR) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 37 IMP,3050,IMP 7:20 PM 9/16/1973 - -02056 073473 7 0 LDX (-QUEUEL) -02057 005474 7 0 LDA (QUEUEB) /INIT QUEUE PNTRS -02060 050414 7 0 INIT3: STA QUEUEE+QUEUEL X -02061 141206 7 0 AOA -02062 024000 7 0 IRS 0 -02063 003060 7 0 JMP INIT3 -02064 005475 7 0 LDA (ZERO) -02065 010324 7 0 STA FREE -02066 105476 7 0 LDA (HOST34) I -02067 006115 7 0 ANA TWO -02070 100040 7 0 SZE -02071 004116 7 0 LDA THREE -02072 111477 7 0 STA (SATNO) I -02073 105476 7 0 LDA (HOST34) I -02074 006114 7 0 ANA ONE -02075 010000 7 0 STA 0 -02076 101040 7 0 SNZ -02077 010144 7 0 STA VDHRSF /JUST IN CASE -02100 100040 7 0 SZE -02101 005500 7 0 LDA (-CH 0 M.N) /SET VDHNO FOR VDH IMPS.. -02102 111501 7 0 STA (VDHNO) I /...0 FOR NON-VDH -02103 045405 7 0 LDA P36END X -02104 011445 7 0 STA SPAR+36-2 /SET UP END OF P36 FOR VDH OR NOT -02105 045407 7 0 LDA P37END X -02106 011446 7 0 STA SPAR+37-2 /SET UP END OF P37 AND BEYOND -02107 004115 7 0 LDA TWO /START COLLECTING BUFFERS ON P2 -02110 011212 7 0 STA IT1 -02111 073502 7 0 LDX (-PAGES+2) -02112 045447 7 0 INIT4: LDA SPAR+PAGES-2 X -02113 040167 7 0 LRS 9. /PICK UP NUMBER OF BUFFERS ON THI[ - /NOTE THAT NO MORE THAN 64 8UFFERS CAN BE CLAIMED PER ENTRY -02114 011213 7 0 STA IT2 -02115 005212 7 0 LDA IT1 /PICK UP PAGE NUMBER -02116 025212 7 0 IRS IT1 -02117 041167 7 0 LLS 9. /PICK UP START OF BUFFER STORAGE -02120 003126 7 0 JMP INIT6 - -02121 024537 7 0 INIT5: IRS NFA /COUNT ANOTHER FREE BUFFER -02122 026324 7 0 IMA FREE -02123 110324 7 0 STA FREE I /ADD TO FREE LIST -02124 004324 7 0 LDA FREE -02125 015503 7 0 ADD (BUFL) -02126 025213 7 0 INIT6: IRS IT2 /HAVE WE TAKEN ALL THE BUFFERS -02127 003121 7 0 JMP INIT5 /NO, MORE ON THIS PAGE -02130 024000 7 0 IRS 0 /YES, GO ON TO NEXT PAGE -02131 003112 7 0 JMP INIT4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 38 IMP,3050,IMP 7:20 PM 9/16/1973 - -02132 005504 7 0 LDA (4"T"CH) -02133 010571 7 0 STA MAXS -02134 010573 7 0 STA MAXSI -02135 140407 7 0 TCA -02136 014537 7 0 ADD NFA -02137 014751 7 0 ADD 8PKTS -02140 040575 7 0 ARS 3 -02141 041575 7 0 ALS 3 -02142 014115 7 0 ADD TWO -02143 010572 7 0 STA MAXR -02144 072122 7 0 LDX MINUS2 /INIT THE FREE REAS+TRACE LISTS -02145 045230 7 0 INIT7: LDA INIBLK+2 X -02146 011212 7 0 STA IT1 -02147 045232 7 0 LDA INIQUE+2 X -02150 151234 7 0 STA INISTR+2 XI -02151 011213 7 0 STA IT2 -02152 055236 7 0 INIT8: ADD INILNG+2 X -02153 111213 7 0 STA IT2 I -02154 011213 7 0 STA IT2 -02155 025212 7 0 IRS IT1 -02156 003152 7 0 JMP INIT8 -02157 140040 7 0 CRA -02160 111213 7 0 STA IT2 I -02161 024000 7 0 IRS 0 -02162 003145 7 0 JMP INIT7 -02163 004132 7 0 LDA MINIMP -02164 011212 7 0 STA IT1 -02165 072113 7 0 LDX ZERO -02166 021374 7 0 INIT9: JST MESINI /INIT TMESS,RMESS -02167 024000 7 0 IRS 0 -02170 025212 7 0 IRS IT1 -02171 003166 7 0 JMP INIT9 -02172 005505 7 0 LDA (TALLY) -02173 111506 7 0 STA (TALLYI) I -02174 073507 7 0 LDX (0 0-2"T"FH-BH) -02175 045465 7 0 INIT13: LDA TTOI+FH+FH+BH X -02176 111510 7 0 STA (DZTB+FH+FH+BH 0 X) I -02177 024000 7 0 IRS 0 -02200 003175 7 0 JMP INIT13 -02201 103511 7 0 JMP (INITNP) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 39 IMP,3050,IMP 7:20 PM 9/16/1973 - -02202 004567 7 0 INIVDH: LDA VDHUPF /PWR FAIL OR PLAIN RESTART -02203 010144 7 0 STA VDHRSF /THEN RESTART VDH IF IT WAS UP -02204 004145 7 0 LDA SATRSF -02205 140100 7 0 SSP -02206 010145 7 0 STA SATRSF -02207 004136 7 0 LDA TIPRSF -02210 140100 7 0 SSP /0=>0, -=>+ -02211 003016 7 0 JMP INIVDR - - LEV VAR -02212 V IT1: BSS 1 -02213 V IT2: BSS 1 - LEV CON -02214 000160 C INITZB: ZEROB -02215 032030 C I2MB0 -02216 032030 C TABZB -02217 030434 C PARAMT -02220 100063 C STDIL 0 I /IN CASE NON-EXA IMP RELOADS FROM -02221 177370 C INITZL: -ZEROL -02222 177730 C -[CH"T"NACH] -02223 176201 C -TABZL -02224 177740 C -PARAML -02225 177760 C STDIL-0-TASKIL - INITZN=INITZL-0-INITZB -02226 177771 C INIBLK: -NREAB+0+1 -02227 177771 C -NTRCB+0+1 -02230 033317 C INIQUE: REASQ -02231 032131 C TRACEQ -02232 000326 C INISTR: RASF -02233 000325 C TTF -02234 000014 C INILNG: REASL -02235 000013 C TRACEL - - -02236 C ITBLOC: BSS MAXITB -02266 C ITBIMP: BSS MAXITB -02316 C ITBTIP: BSS MAXITB - MAXVDH=11. -02346 C ITBNVD: BSS MAXVDH -02361 000001 C ITBVDL: REPEAT MAXVDH,JUNK -02362 000001 C -02363 000001 C -02364 000001 C -02365 000001 C -02366 000001 C -02367 000001 C -02370 000001 C -02371 000001 C -02372 000001 C -02373 000001 C - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 40 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [INI,T.O] -02374 000000 0 MESINI: 0 -02375 005512 0 LDA (0 0 177777"X"MSTO1"X"MSTO2) -02376 111513 0 STA (TMESS 0 X) I -02377 005514 0 LDA (0 0 3"T"400) 0"A"MESSNO -02400 111515 0 STA (RMESS 0 X) I -02401 140040 0 CRA -02402 111516 0 STA (AMESS 0 X) I -02403 111517 0 STA (RALLY 0 X) I -02404 103374 0 JMP MESINI I - - LEV CON -02405 170067 C P36END: P36FB"A"777-[P36NB+1]"T"1000 -02406 171067 C P36FB"A"777-[P36NB]"T"1000 -02407 172075 C P37END: P37FB"A"777-[P37NB]"T"1000 -02410 177777 C VDHEND"A"777-[0+1]"T"1000 - -02411 C SPAR: BSS PAGES-2 /TABLE OF ENDS-OF-PAGES - /FORMAT IS HI 7 BITS = -(NUMBER OF BUFFS ON PAGE+1) - /LO 9 BITS = STARTING ADDRESS OF FIRST BUFFER - - /FAKE HOST OUTPUT (JAM) SLOTS IN DZTB -02447 025117 C TTOI: TTYI /FH0 (TTY) OUTPUT FROM IMP TO FH -02450 023066 C DOTI /FH1 (DDT) OUTPUT FROM IMP TO FH -02451 030477 C BTRE /FH2 (TRACE) OUTPUT FROM IMP TO FH -02452 030056 C STTI /FH3 (STAT) OUTPUT FROM IMP TO FH - /FAKE HOST INPUT (SUCK) SLOTS IN WTTB -02453 025310 C TTO0 /FH0 (TTY) INPUT TO IMP FROM FH -02454 024012 C DIN4 /FH1 (DDT) INPUT TO IMP FROM FH -02455 030414 C BEST /FH2 (PARAM CHANGE) INPUT TO IMP E -02456 030474 C STXY /FH3 (DISCARD) INPUT TO IMP FROM FH - /BACK HOST SLOTS IN SLTB -02457 004101 C BACK0 /BH0 (SEND RFNMS+ALLOCATES) -02460 004206 C BACK1 /BH1 (SEND INCOMPLETE TRANSMISSIONS -02461 004302 C BACK2 /BH2 (SEND GIVE BACKS) -02462 004347 C BACK3 /BH3 (RETRANSMIT FROM PPT) -02463 004356 C BACK4 /BH4 (SEND OUT-OF-RANGE REPLIES) - / (REROUTE DEAD LINE STUFF) - / (RETURN DESTINATION DEADS) -02464 004365 C BACK5 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 41 IMP,3050,IMP 7:20 PM 9/16/1973 - -02465 003560 C LEV CON CONSTANTS -02466 177750 C -02467 177765 C -02470 177773 C -02471 003452 C -02472 003450 C -02473 177727 C -02474 000272 C -02475 000113 C -02476 001005 C -02477 005153 C -02500 177775 C -02501 020544 C -02502 177742 C -02503 000112 C -02504 000024 C -02505 032261 C -02506 015155 C -02507 177762 C -02510 043433 C -02511 003074 C -02512 177477 C -02513 072271 C -02514 001400 C -02515 072371 C -02516 072471 C -02517 072571 C -02411 174524 C PAGEND 2,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 42 IMP,3050,IMP 7:20 PM 9/16/1973 - - /CONSTANTS, VARIABLE FOR NEW INIT PAGE - - LEV VAR -03062 V IT3: BSS 1 - - LEV CON -03063 010047 C M2IIT: M2I1A -03064 010073 C M2I2A -03065 010117 C M2I3A -03066 010143 C M2I4A -03067 010167 C M2I5A - -03070 C HIM.I: TIPDEF 177660,177664 -02236 003070 C -02266 177660 C -02316 177664 C -03071 C HIM.I4: TIPDEF 177460,177464 -02237 003071 C -02267 177460 C -02317 177464 C -03072 C IHM.I: TIPDEF 173600,173624 -02240 003072 C -02270 173600 C -02320 173624 C -03073 C IHM.I4: TIPDEF 163400,163424 -02241 003073 C -02271 163400 C -02321 163424 C - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 43 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK LCK INI -03074 105561 7 0 INITNP: LDA (HOST34) I /THIS IS <>0 IF 3 OR 4 HOSTS -03075 006124 7 0 ANA MINUS4 - /=0 FOR 5 MODEMS, 2 HOSTS - />0 FOR 4 MODEMS, 3 HOSTS - /<0 FOR 3 MODEMS, 4 HOSTS -03076 072132 7 0 LDX MIN100 /5M,2H -03077 100040 7 0 SZE -03100 073072 7 0 LDX IHM.I /4M,3H -03101 100400 7 0 SPL -03102 073073 7 0 LDX IHM.I4 /3M,4H -03103 032500 7 0 STX IHM /* -03104 073562 7 0 LDX (-20) /5M,2H -03105 100040 7 0 SZE -03106 073070 7 0 LDX HIM.I /4M,3H -03107 100400 7 0 SPL -03110 073071 7 0 LDX HIM.I4 /3M,4H -03111 032501 7 0 STX HIM /* -03112 073563 7 0 LDX (-4000) /5M,2H -03113 100040 7 0 SZE -03114 073564 7 0 LDX (-10000) /4M,3H -03115 100400 7 0 SPL -03116 073565 7 0 LDX (-20000) /3M,4H -03117 032502 7 0 STX MOM /* -03120 072113 7 0 LDX ZERO /5M,2H -03121 100040 7 0 SZE -03122 072121 7 0 LDX MINUS1 /4M,3H -03123 100400 7 0 SPL -03124 072122 7 0 LDX MINUS2 /3M,4H -03125 133566 7 0 STX (MODNO) I /* -03126 073567 7 0 LDX (M2I5) /5M -03127 100040 7 0 SZE -03130 073570 7 0 LDX (IH2E) /4M OR 3M -03131 032070 7 0 STX M5INIL /* -03132 073571 7 0 LDX (M2I4) /5M OR 4M -03133 100400 7 0 SPL -03134 073572 7 0 LDX (IH3E) /3M -03135 032067 7 0 STX M4INIL /* -03136 073573 7 0 LDX (I2M5) /5M -03137 100040 7 0 SZE -03140 073574 7 0 LDX (HI2E) /4M OR 3M -03141 032075 7 0 STX M5OTIL /* -03142 073575 7 0 LDX (I2M4) /5M OR 4M -03143 100400 7 0 SPL -03144 073576 7 0 LDX (HI3E) /3M -03145 032074 7 0 STX M4OTIL /* - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 44 IMP,3050,IMP 7:20 PM 9/16/1973 - -03146 121577 7 0 JST (RUTINI) I /INIT ROUTING TABLES -03147 121600 7 0 JST (TOI) I /INITIALIZE TIMEOUT -03150 131040 7 0 RDCLOK -03151 003150 7 0 JMP .-1 /WAIT 3 SECONDS -03152 101400 7 0 SMI -03153 003150 7 0 JMP .-3 /BEFORE STARTING INTERRUPT PROGRAF' -03154 121601 7 0 JST (SWCH) I /FIRE OFF A TRBL REPT NOW - FOLLOWS - /START MODEM INPUT - MUST FOLLOW TOI -03155 073602 7 0 LDX (-[2"T"CH]) -03156 005603 7 0 LDA (I 0 1) -03157 050032 7 0 INIT17: STA M1INBP+2"T"CH X -03160 024000 7 0 IRS 0 -03161 003157 7 0 JMP INIT17 -03162 005604 7 0 LDA (M1IN) -03163 011174 7 0 STA INIT19 -03164 072127 7 0 LDX MICH -03165 005605 7 0 INIT18: LDA (JMP+0+1000+M2II"A"777) -03166 151070 7 0 STA M2IIT+CH XI /FIRST IN WILL BE DISCAF -03167 105606 7 0 LDA (VDHNO) I /SKIP FOR VDH'S MODEM -03170 016000 7 0 SUB 0 -03171 100040 7 0 SZE -03172 117607 7 0 SUB (SATNO) I /ENTERING AC IS -C(0) -03173 100040 7 0 SZE -03174 7 0 INIT19: BSS 1 /STARTUP MODEM INS -03175 025174 7 0 IRS INIT19 -03176 024000 7 0 IRS 0 -03177 003165 7 0 JMP INIT18 - /START THE HOST/IMP AND IMP/HOST ROUTINES -03200 004131 7 0 LDA MITH -03201 011062 7 0 STA IT3 /COUNTING ON X=0 AT THIS POINT -03202 004117 7 0 INIT15: LDA FOUR 0"A"HSTIDN /HOSTS ARE DOWN WHILE IMP -03203 050504 7 0 STA HIHD X -03204 121610 7 0 JST (IHIN) I /** MUST BE IN THIS ORDER -03205 121611 7 0 JST (HIST) I /** -03206 024000 7 0 IRS 0 -03207 025062 7 0 IRS IT3 -03210 003202 7 0 JMP INIT15 -03211 004121 7 0 LDA MINUS1 -03212 010137 7 0 STA SW3FG -03213 010140 7 0 STA NRSTF -03214 010134 7 0 STA PRIM -03215 170120 7 0 SMK INTM -03216 000401 7 0 ENB BCK -03217 131040 7 RDCLOK /ALLOW ALL T/O PROGRAMS TO RUN -03220 003217 7 JMP .-1 -03221 100400 7 SPL -03222 003217 7 JMP .-3 /BEFORE BACK BEGINS - /FALL INTO BACKST ----- - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 45 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /BACKGROUND LOOP - LEV BCK -03223 005612 7 BACKST: LDA (BBNIMP) /1ST REPORT MUST GO TO NCC -03224 111613 7 BACK: STA (TRBD) I -03225 005614 7 LDA (-FH) -03226 011410 7 STA BT1 -03227 005410 7 BKV: LDA BT1 -03230 017614 7 SUB (-FH) -03231 010000 7 STA 0 -03232 011412 7 STA FAKENO /FOR DEBUG -03233 143415 7 JMP DZTB XI /RESUME WHERE JAM LEFT OFF - -03234 000000 7 BKX: 0 /JAM WAIT (DOZE) -03235 005234 7 LDA BKX -03236 051415 7 STA DZTB X -03237 143421 7 JMP WTTB XI /RESUME WHERE SUCK LEFT OFF - -03240 000000 7 BKW: 0 /SUCK WAIT (WAIT) -03241 005240 7 LDA BKW -03242 051421 7 STA WTTB X -03243 000401 7 ENB BCK -03244 025410 7 IRS BT1 -03245 003227 7 JMP BKV -03246 005615 7 LDA (-BH) -03247 011410 7 STA BT1 -03250 072113 7 LDX ZERO -03251 133616 7 BKY: STX (BACKNO) I -03252 072114 7 LDX ONE -03253 001001 7 INH ALL -03254 143260 7 0 DXATS1: JMP DXATST XI /ARE WE EXA OR DXA? - DEFHLT [BACKGROUND IN EXA MODE (BACK0)!] -03255 021262 7 0 JST DXABUG /DXA -03256 173616 7 0 DXATS2: LDX (BACKNO) I /EXA -03257 143425 7 0 JMP SLTB XI /RESUME WHERE BACK HOSTS LEFT OFF - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 46 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -03260 003254 C DXATST: DXATS1 -03261 003256 C DXATS2 - LEV BCK LCK ALL -03262 000000 7 0 DXABUG: 0 -03263 120745 7 0 JST HLTNCC I -03264 000011 7 0 DXA -03265 103262 7 0 JMP DXABUG I - - RET BCK -03266 000000 7 BKZ: 0 /BACK HOST WAIT (SLEEP) -03267 000401 7 ENB BCK -03270 173616 7 LDX (BACKNO) I -03271 005266 7 LDA BKZ -03272 051425 7 STA SLTB X -03273 024000 7 B5Z: IRS 0 -03274 025410 7 IRS BT1 -03275 003251 7 JMP BKY -03276 140040 7 CRA -03277 100004 7 SR3 -03300 010137 7 STA SW3FG /DO NICE STOP IF SS3 -03301 004137 7 LDA SW3FG /REMOTE NICE-STOP+RELOAD -03302 100400 7 SPL -03303 004140 7 LDA NRSTF -03304 101400 7 SMI -03305 021446 7 JST NSRT /NICE-STOP IF SW3FG>=0 OR NRSTF>=0 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 47 IMP,3050,IMP 7:20 PM 9/16/1973 - -03306 004415 7 LDA TIME -03307 027413 7 IMA WDTOLD /IS T.O RUNNING? -03310 013413 7 ERA WDTOLD -03311 100040 7 SZE -03312 003316 7 JMP BKT /TIME CHANGED...YES -03313 025414 7 IRS WDTBAK -03314 003320 7 JMP BKU /DON'T GIVE UP YET - RELOAD [BACKGROUND SAW TIMEOUT STOP] -03315 120061 7 JST SWDTIL I - -03316 005617 7 BKT: LDA (-10000.) /GIVE T.O A LONG TIME TO RUN -03317 011414 7 STA WDTBAK /AND RESET BACK-WDT -03320 000401 7 BKU: ENB BCK -03321 7 TIPDEF [JMP BKS],[LDA TIPRSF] -02242 003321 7 -02272 003334 7 -02322 004136 7 -03322 101040 7 SNZ -03323 003331 7 JMP BKR -03324 000013 7 EXA -03325 121620 7 JST (TIPBKG) I -03326 001001 7 INH ALL -03327 120672 7 0 JST DODXA I RET BCK -03330 003334 7 JMP BKS -03331 004063 7 BKR: LDA STDIL -03332 010101 7 STA H2INIL -03333 010077 7 STA H2OTIL -03334 073621 7 BKS: LDX (-LITN) /LIGHTS DISPLAY -03335 145446 7 LIT2: LDA LITT+LITN XI -03336 100040 7 SZE -03337 140500 7 SSM -03340 041277 7 LLR 1 -03341 024000 7 IRS 0 -03342 003335 7 JMP LIT2 -03343 140040 7 CRA -03344 040267 7 LRR LITN -03345 012452 7 ERA LUUP -03346 011434 7 STA LITS -03347 001001 7 INH ALL -03350 000013 7 0 EXA -03351 105433 7 0 LDA LITP I -03352 120672 7 0 JST DODXA I RET BCK -03353 100020 7 SR1 -03354 004121 7 LDA MINUS1 /LAMP TEST -03355 170026 7 LITES -03356 101000 7 NOP -03357 000201 7 IAB -03360 025411 7 IRS BACKX /KEEP COUNT OF BACK LOOPS -03361 101000 7 NOP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 48 IMP,3050,IMP 7:20 PM 9/16/1973 - -03362 140040 7 CRA -03363 026144 7 IMA VDHRSF /CHECK AND RESET VDH RESTART FLAG -03364 100040 7 SZE -03365 121622 7 JST (VD.I) I /YES, RESTART -03366 101000 7 VDH2: NOP /VDH BACKGROUND CALL -03367 004172 7 LDA RUT+BBNIMP -03370 101400 7 SMI 0"A"RUTDED /IS NCC IMP UP? -03371 003223 7 JMP BACKST /YES -03372 072132 7 LDX MINIMP /MUST FIND RANDOM IMP UP -03373 044265 7 BKWD1: LDA RUT+NIMP X -03374 101400 7 SMI 0"A"RUTDED /DEAD? -03375 101040 7 SNZ 0"A"RUTUS -03376 003403 7 JMP BKWD2 /DON'T USE OURSELVES EXCEPT AS A LA1 -03377 004000 7 LDA 0 /GOT ONE -03400 016132 7 SUB MINIMP -03401 013623 7 BKWD3: ERA (DESTH 0 FORIMP) /TO DISCARD -03402 003224 7 JMP BACK -03403 024000 7 BKWD2: IRS 0 -03404 003373 7 JMP BKWD1 -03405 004106 7 LDA MINE /EVERYONE IS DEAD, USE OURSELVES -03406 003401 7 JMP BKWD3 -03407 037511 7 VDH2.: VD.B - - LEV VAR -03410 V BT1: BSS 1 -03411 V BACKX: BSS 1 /NO OF BACK LOOPS -03412 V FAKENO: BSS 1 -03413 V WDTOLD: BSS 1 /OLD TIME READING -03414 V WDTBAK: BSS 1 /BACK WDT TIMER - /THESE 3 TABLES MUST STAY IN ORDER11 - DEFPLC [DZTB - GOES WITH JAM] -03415 V DZTB: BSS FH - DEFPLC [WTTB - GOES WITH SUCK] -03421 V WTTB: BSS FH - DEFPLC [SLTB - GOES WITH SLEEP (BACK HOSTS)] -03425 V SLTB: BSS BH - - DEFPLC [LIGHT DISPLAY POINTER AND NOMINAL DISPLAY WORD] -03433 003434 V LITP: LITS -03434 V LITS: BSS 1 - - /LIGHTS TABLE AND CONDITION INDICATED BY LIT LIGHT - LEV CON -03435 000433 C LITT: LINE /1 - 100000 1ST CHANNEL DEAD -03436 000434 C LINE+1 /2 - 40000 2ND CHANNEL DEAD -03437 000435 C LINE+2 /3 - 20000 3RD CHANNEL DEAD -03440 000436 C LINE+3 /4 - 10000 4TH CHANNEL DEAD -03441 000504 C HIHD /5 - 4000 HOST 1 DEAD -03442 000505 C HIHD+1 /6 - 2000 HOST 2 DEAD -03443 000506 C HIHD+2 /7 - 1000 HOST 3 DEAD -03444 000507 C HIHD+3 /8 - 400 HOST 4 DEAD -03445 000765 C TPOPEN /9 - 200 TIP HAS OPEN CONNECTION - LITN=0 0 .-LITT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 49 IMP,3050,IMP 7:20 PM 9/16/1973 - - / NICE STOP ROUTINE - LEV BCK -03446 000000 7 NSRT: 0 -03447 103450 7 JMP NSRR I -03450 000000 7 NSRR: 0 -03451 103446 7 JMP NSRT I -03452 004137 7 NS1: LDA SW3FG /SET UP RSFNCC WORD FOR NICE STOP -03453 006120 7 ANA SEVEN -03454 041675 7 ALR 3 -03455 012140 7 ERA NRSTF -03456 007624 7 ANA (177770) -03457 012140 7 ERA NRSTF -03460 012752 7 ERA C77 -03461 041675 7 ALR 3 -03462 101004 7 SS3 /DO NOT SET RSFNCC FOR SS3 -03463 011560 7 STA RSFNCC -03464 140040 7 CRA /SEND IMP GOING DOWN IN 30 SEC -03465 021525 7 JST IHDOWN LCK FRE -03466 000401 7 0 ENB BCK -03467 021543 7 JST NSWT /WAIT 5 SECONDS -03470 004117 7 LDA FOUR 0"A"HSTIDN -03471 010504 7 STA HIHD /STOP NET TRAFFIC TO AND FROM HOSTS -03472 010505 7 STA HIHD+1 /MARK HOSTS DEAD, IMP NOT UP -03473 010506 7 STA HIHD+2 -03474 010507 7 STA HIHD+3 -03475 021543 7 JST NSWT /WAIT 5 SECONDS -03476 004121 7 LDA MINUS1 /STOP STORE-AND-FORWARD TRAFFIC BI -03477 010573 7 STA MAXSI /MAKING MAXS COPY SMALL -03500 021543 7 JST NSWT /WAIT 5 SECONDS -03501 004127 7 LDA MICH -03502 011556 7 STA BT2 /STOP EXCHANGE OF ROUTING AND ACKNO -03503 072113 7 LDX ZERO /TURNING OFF ALL LINES -03504 001001 7 INH [M2I,T.O,TSK] -03505 121625 7 0 NS3: JST (KILLIN) I /KILL LINE AT ONCE -03506 024000 7 0 IRS 0 -03507 025556 7 0 IRS BT2 -03510 003505 7 0 JMP NS3 -03511 000401 7 0 ENB BCK -03512 021543 7 JST NSWT /WAIT 5 SECONDS -03513 021543 7 JST NSWT /WAIT UNTIL SLT DELAY OVER -03514 004140 7 LDA NRSTF -03515 101400 7 SMI /RESTART? -03516 103626 7 JMP (INIT) I /GO TO 2000 -03517 004137 7 LDA SW3FG /FOR VDH OR NON-VDH -03520 101004 7 SS3 /STOP OR RELOAD? -03521 103627 7 JMP (WDLOD) I -03522 030026 7 WDT -03523 000000 7 HLT -03524 003522 7 JMP .-2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 50 IMP,3050,IMP 7:20 PM 9/16/1973 - -03525 000000 7 IHDOWN: 0 /NOTIFY ALL HOSTS OF IMP DOWN -03526 001001 7 INH FRE -03527 010515 7 0 STA TWDP -03530 004131 7 0 LDA MITH -03531 011556 7 0 STA BT2 -03532 005556 7 0 NS2: LDA BT2 -03533 016131 7 0 SUB MITH -03534 010000 7 0 STA 0 -03535 005630 7 0 LDA (CIMPDN) /IMP GOING DOWN MESSAGE -03536 120670 7 0 JST OWP I -03537 101000 7 0 NOP -03540 025556 7 0 IRS BT2 -03541 003532 7 0 JMP NS2 -03542 103525 7 0 JMP IHDOWN I - -03543 000000 7 0 NSWT: 0 /WAIT 5 SECONDS -03544 030026 7 0 WDT -03545 004415 7 0 LDA TIME -03546 011557 7 0 STA NSTM -03547 021450 7 0 NS5: JST NSRR -03550 004415 7 0 LDA TIME -03551 017557 7 0 SUB NSTM -03552 141044 7 0 CAR /WAIT FIVE SECONDS -03553 101040 7 0 SNZ -03554 003547 7 0 JMP NS5 -03555 103543 7 0 JMP NSWT I - - LEV VAR -03556 V BT2: BSS 1 /TEMP -03557 V NSTM: BSS 1 /FOR STOP -03560 V RSFNCC: BSS 1 /RESTART PLACE FOR NCC -FORMAT FOLL - /RSFNCC HAS THE FORM 000XYZ WHERE X,Y,Z ARE OCTAL DIGITS - /X IS RELOAD REQUEST INDICATOR, X=0 NO REQUEST - /X=7 RANDOM RELOAD, X=6 RELOAD FOR LINE 1, X=5 LINE 2, X=4 L - /X=3 LINE 4, X=2 LINE 5 - /Y IS RESTART REQUEST INDICATOR, Y=0 NO REQUEST - /Y=7 RESTART AT 2000 - NON-VDH, X=6 RESTART AT 2001 - VDH - /Z IS PROGRAM INITIALIZATION INDICATOR, Z=0 NO INIT - /Z=1 RESTARTED, Z=2 RELOADED, Z=3 WATCH DOG TIMER RELOADED - /Z=4 POWER FAIL RESTARTED - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 51 IMP,3050,IMP 7:20 PM 9/16/1973 - -03561 001005 C LEV CON CONSTANTS -03562 177760 C -03563 174000 C -03564 170000 C -03565 160000 C -03566 020545 C -03567 010163 C -03570 016020 C -03571 010137 C -03572 016012 C -03573 012107 C -03574 013064 C -03575 012113 C -03576 013056 C -03577 026070 C -03600 020075 C -03601 022320 C -03602 177766 C -03603 100001 C -03604 030471 C -03605 003207 C -03606 020544 C -03607 005153 C -03610 016217 C -03611 013256 C -03612 000005 C -03613 030456 C -03614 177774 C -03615 177772 C -03616 004420 C -03617 154360 C -03620 040001 C -03621 177767 C -03622 037025 C -03623 040300 C -03624 177770 C -03625 011133 C -03626 002000 C -03627 001022 C -03630 001000 C -02412 175637 C PAGEND 3,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 52 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SEND OFF ALLOCATED RFNMS AND ALLOCATES AND RFNMS - LEV BCK -04063 140040 7 B0AA: CRA -04064 011157 7 STA BALLOC -04065 121417 7 B0A: JST SLEEP I -04066 021372 7 B0B: JST GETFRE LCK FRE /GET A BUFFER FOR OUR AL 1 -04067 003065 7 0 JMP B0A /NOT NOW, WAIT -04070 005155 7 0 LDA BRALLY 0"A"DESTI /GET OUR RALLY -04071 007603 7 0 ANA (DESTI) -04072 050006 7 0 STA HEAD1 X /SAVE IN HEADER -04073 013155 7 0 ERA BRALLY 0"A"[MESSNO 0 ONEOR8 RFNM] -04074 013157 7 0 ERA BALLOC 0"A"TRNREP /SET ALLOC BIT OR NOT -04075 013160 7 0 ERA BREPIN 0"A"INCTRN -04076 050005 7 0 STA HEAD X -04077 021435 7 0 JST GIVTSK RET BCK /GIVE RALLY TO TASK -04100 121417 7 B0C: JST SLEEP I -04101 021473 7 BACK0: JST RALLYG /GET NEXT RALLY TO GO -04102 003100 7 JMP B0C -04103 100000 7 SKP /GOOD RETURN -04104 003100 7 JMP B0C /GOT A DESTINATION DEAD, SENT ALREA -04105 011155 7 STA BRALLY /SAVE RALLY -04106 007604 7 ANA (ONEOR8 0 RFNM) -04107 013604 7 ERA (ONEOR8 0 RFNM) -04110 101040 7 SNZ /IS THIS JUST A 1-PKT RFNM? -04111 003063 7 JMP B0AA /YES, NO ALLOC NECESSARY -04112 005155 7 LDA BRALLY -04113 007605 7 ANA (ONEOR8) -04114 100040 7 SZE -04115 005606 7 LDA (-7) 0"A"8PKTS -04116 014751 7 ADD 8PKTS -04117 011157 7 STA BALLOC -04120 004415 7 LDA TIME -04121 011156 7 STA BALLTO -04122 121417 7 B0D: JST SLEEP I -04123 004415 7 LDA TIME -04124 017156 7 SUB BALLTO -04125 017607 7 SUB (40.) -04126 100400 7 SPL /HAVE WE BEEN WAITING 1 SEC? -04127 003134 7 JMP B0F /NOT YET -04130 005155 7 LDA BRALLY -04131 007610 7 ANA (RFNM) -04132 100040 7 SZE /ARE WE SENDING AN ALLOCATED RFNMT -04133 003063 7 JMP B0AA /YES, SEND IT OFF WITHOUT ALLOC - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 53 IMP,3050,IMP 7:20 PM 9/16/1973 - -04134 001001 7 B0F: INH [T.O,TSK] -04135 004542 7 5 LDA NALA -04136 016566 7 5 SUB NALS -04137 014541 7 5 ADD NREA -04140 016565 7 5 SUB NRES -04141 015157 7 5 ADD BALLOC -04142 022572 7 5 CAS MAXR /CAN WE HAVE THE ROOM? -04143 003122 7 5 JMP B0D /NOT YET -04144 003122 7 5 JMP B0D -04145 005611 7 5 LDA (ALLOC) -04146 027157 7 5 IMA BALLOC /SET ALLOC BIT IN OUR REPLY -04147 014542 7 5 ADD NALA -04150 010542 7 5 STA NALA /YES, SO TAKE IT -04151 004107 7 5 LDA M30SEC /2 MINUTES BEFORE WE ARE IDLE -04152 041576 7 5 ALS 2 -04153 011161 7 5 STA SNTALL -04154 003066 7 5 JMP B0B - - LEV VAR -04155 V BRALLY: BSS 1 /OUR ALLOCATE TO MAKE -04156 V BALLTO: BSS 1 /TIME WE STARTED TO TRY FOR ALLOC -04157 V BALLOC: BSS 1 /NO OF BUFFERS WE NEED TO ALLOC -04160 V BREPIN: BSS 1 /BIT ON IF INC TRN REPLY -04161 V SNTALL: BSS 1 /TIMER FOR GARBAGE COLLECTION OF 1 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 54 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK - /SEND OFF INCOMPLETE TRASMISSIONS IF ANY TMESS NO OVERDUE - LCK [H2I,T.O,TSK] -04162 121612 7 4 B1A: JST (PPTGET) I /GET THE PPT ENTRY -04163 003257 7 4 JMP B1F /NOT IN PPT OR PLT, SO ITS A GVB -04164 044111 7 4 LDA BUFE X -04165 140100 7 4 SSP 0"A"TWOQ -04166 011262 7 4 STA BACK1T /SAVE PTR TO PKT CKSUM -04167 044010 7 4 LDA HEAD3 X -04170 007613 7 4 ANA (0 0 177777"X"SUBCOD) -04171 013614 7 4 ERA (CLOST) /MARK MESS AS LOST IN NET -04172 066010 7 4 IMA HEAD3 X -04173 056010 7 4 SUB HEAD3 X -04174 115262 7 4 ADD BACK1T I /ADJUST CKSUM -04175 111262 7 4 STA BACK1T I -04176 005605 7 4 LDA (ONEOR8) /MARK AS INC TRN FOR ONE-PKT -04177 073430 7 4 B1B: LDX HOLD+1 /GET OUR PKT -04200 052005 7 4 ERA HEAD X -04201 050005 7 4 STA HEAD X -04202 021435 7 4 JST GIVTSK RET BCK /AND GIVE TO TASK -04203 005261 7 B1C: LDA BACK1P /LOOK AT NEXT TMESS ENTRY -04204 141206 7 AOA -04205 023615 7 CAS (TMESS 0 NIMP) -04206 005615 7 BACK1: LDA (TMESS 0 NIMP) /SHOULDNT HAPPEN -04207 014132 7 ADD MINIMP /WRAPAROUND TMESS TABLE -04210 011261 7 STA BACK1P /SAVE PNTR TO TMESS -04211 121417 7 B1D: JST SLEEP I -04212 001001 7 INH [H2I,T.O,TSK] -04213 105261 7 4 LDA BACK1P I -04214 007604 7 4 ANA (MSTO1 0 MSTO2) -04215 013604 7 4 ERA (MSTO1 0 MSTO2) -04216 100040 7 4 SZE /HAS THIS MESS NO TIMED OUT? -04217 003203 7 4 JMP B1C /NO -04220 011262 7 4 STA BACK1T /INIT TEMP COUNTER. USED LATER -04221 021372 7 4 JST GETFRE /YES, GET A BUFFER FOR OUR INC TRN -04222 003211 7 4 JMP B1D /NOT NOW, TRY AGAIN -04223 033430 7 4 STX HOLD+1 -04224 005261 7 4 LDA BACK1P -04225 017616 7 4 SUB (TMESS) /SET UP OUR DEST -04226 050006 7 4 STA HEAD1 X 0"A"DESTI -04227 105261 7 4 LDA BACK1P I -04230 007617 7 4 ANA (0 0 177777"X"MSTO1"X"MSTO2) -04231 111261 7 4 STA BACK1P I /CLEAR TIMEOUT BITS -04232 025262 7 4 B1E: IRS BACK1T /1 MEANS OLDEST, 2 NEXT OLDEST ... -04233 040677 7 4 ARR 1 -04234 100400 7 4 SPL /IS THE OLDEST POSSIBLE MESS INC? -04235 003232 7 4 JMP B1E /NO, COUNT ONE MORE BACKWARDS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 55 IMP,3050,IMP 7:20 PM 9/16/1973 - -04236 005262 7 4 LDA BACK1T -04237 141240 7 4 ICR /GET NO OF MESS NOS TO ROLL BACK -04240 115261 7 4 ADD BACK1P I -04241 141044 7 4 CAR 0"A"MESSNO -04242 015620 7 4 ADD (INCTRN 0 -2000 TRNREP 0"A"LINETS) -04243 050005 7 4 STA HEAD X /SET UP INC TRN WITH RIGHT MESS N( -04244 141044 7 4 CAR 0"A"MESSNO -04245 052006 7 4 ERA HEAD1 X /SET UP MESS NO + IMP NO -04246 121621 7 4 JST (PLTGET) I /GET THE PLT ENTRY -04247 003162 7 4 JMP B1A /NOT IN PLT, TRY PPT -04250 044030 7 4 LDA PLT2 X -04251 007613 7 4 ANA (0 0 177777"X"SUBCOD) -04252 013614 7 4 ERA (CLOST) /MARK MESS AS LOST IN NET -04253 050030 7 4 STA PLT2 X -04254 044000 7 4 LDA PLT0 X -04255 007610 7 4 ANA (REQALL) -04256 003177 7 4 JMP B1B - -04257 005622 7 4 B1F: LDA (GVBALL 0 ONEOR8) -04260 003177 7 4 JMP B1B /MAKE UP AN INC GVB - LEV VAR -04261 V BACK1P: BSS 1 /PNTR TO TMESS ENTRY -04262 V BACK1T: BSS 1 /COUNT OF NO OF MESS NOS TO GO BACK - - /SEND OFF GIVE BACKS WHEN ALLOCATES TIME OUT - LEV BCK -04263 121417 7 B2A: JST SLEEP I -04264 021372 7 B2B: JST GETFRE LCK FRE /GET A BUFFER FOR OUR GIV -04265 003263 7 0 JMP B2A /NOT NOW, WAIT -04266 033431 7 0 STX HOLD+2 -04267 121417 7 0 B2C: JST SLEEP I RET BCK -04270 073431 7 LDX HOLD+2 -04271 005314 7 LDA BACK2D 0"A"PRIBIT /GET OUR DEST -04272 050006 7 STA HEAD1 X /PUT IN PKT (NOT PRI) -04273 001001 7 INH H2I -04274 121623 7 4 JST (MESGET) I -04275 003267 7 4 JMP B2C /CANT HAVE MESS NO -04276 013622 7 4 ERA (GVBALL 0 ONEOR8 0"A"LINETS"A"INCTRN) -04277 050005 7 4 STA HEAD X /SET UP GVB -04300 021435 7 4 JST GIVTSK RET BCK /GIVE THE GVB TO TASK -04301 121417 7 B2D: JST SLEEP I -04302 001001 7 BACK2: INH [H2I,T.O] -04303 004126 7 4 LDA MINUS6 /ALLOCATES TIME OUT IN 125 MS -04304 115624 7 4 ADD (TALLYC) I -04305 100400 7 4 SPL /IS ALLOC TOO OLD? -04306 003301 7 4 JMP B2D /NOT USED UP YET -04307 105625 7 4 LDA (TALLY) I /GET TOP TALLY ENTRY -04310 121626 7 4 JST (TALLYG) I /PULL IT OFF -04311 003301 7 4 JMP B2D /NOT THERE? -04312 011314 7 4 STA BACK2D /SAVE OUR DEST -04313 003264 7 4 JMP B2B - LEV VAR -04314 V BACK2D: BSS 1 /DEST OF GIVE BACK - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 56 IMP,3050,IMP 7:20 PM 9/16/1973 - - /DO RETRANSMISSSIONS OF REQ1 IN PPT THAT HAS GOT ALL1 IN RET1 - LEV BCK -04315 121417 7 B3B: JST SLEEP I -04316 173353 7 LDX BACK3P I -04317 044111 7 LDA BUFE X -04320 100400 7 SPL 0"A"TWOQ /IS THIS PKT STILL ON 2 QUEUES? -04321 003315 7 JMP B3B /YES, NEED TO DELAY WHILE ACK IS PR1 -04322 011354 7 STA B3T1 /TEMP CKSUM POINTER -04323 140500 7 SSM 0"A"TWOQ -04324 050111 7 STA BUFE X /PPT ENTRY GOES ON 2 QUEUES AGAIN -04325 044005 7 LDA HEAD X -04326 007627 7 ANA (0 0 177777"X"REQALL) -04327 050005 7 STA HEAD X /TURN OFF REQ BIT, KEEP SAME MESS N1 -04330 105353 7 LDA BACK3P I -04331 140100 7 SSP 0"A"RETRAN -04332 111353 7 STA BACK3P I -04333 105354 7 LDA B3T1 I -04334 015610 7 ADD (REQALL) /NOW ADJUST CHECKSUM -04335 111354 7 STA B3T1 I -04336 140040 7 CRA /GIVTSK WON'T MAKE CHECKSUM -04337 021435 7 JST GIVTSK /GIVE TO TASK -04340 121417 7 B3C: JST SLEEP I -04341 105353 7 LDA BACK3P I /LOOK AT NEXT PPT ENTRY -04342 100400 7 SPL 0"A"RETRAN /MUST WE RETRANSMIT IT? -04343 003315 7 JMP B3B /YES -04344 005353 7 LDA BACK3P -04345 141206 7 AOA /GET NEXT PPT SLOT -04346 023630 7 CAS (PPT+0+PPTL) -04347 005630 7 BACK3: LDA (PPT+0+PPTL) /SHOULDNT HAPPEN -04350 017631 7 SUB (PPTL) /WRAPAROUND PPT -04351 011353 7 STA BACK3P /SAVE PPT SLOT -04352 003340 7 JMP B3C - LEV VAR -04353 V BACK3P: BSS 1 /PNTR TO PPT ENTRY -04354 V B3T1: BSS 1 /PNTR TO CHKSM IN PKT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 57 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SEND OFF PACKETS FROM A LINE WHICH JUST DIED - REROUTE - /SEND OFF DESTINATION DEAD MESSAGES TO SOURCE - LEV BCK -04355 121417 7 B4A: JST SLEEP I -04356 073632 7 BACK4: LDX (SRQ) /GET NEXT REPLY -04357 001001 7 INH [I2H,T.O] -04360 121633 7 3 JST (GETQ) I -04361 003355 7 3 JMP B4A /NONE, SO SLEEP -04362 140040 7 3 CRA /TELL GIVTSK NOT TO CKSUM -04363 021435 7 3 JST GIVTSK RET BCK /GIVE THE REPLY TO TASK -04364 003355 7 JMP B4A - - /SATELLITE BACK HOST - LEV BCK -04365 004145 7 BACK5: LDA SATRSF -04366 7 B5A: SATDEF SZE -02243 004366 7 -02273 100040 7 -02323 100040 7 -04367 121634 7 JST (SATBCK) I -04370 121417 7 JST SLEEP I -04371 003365 7 JMP BACK5 - - SATBCK=37700 - - LEV [VDB,BCK] -04372 000000 3 GETFRE: 0 /GET A FREE BUFFER FOR A BACK HOSI -04373 001001 3 INH FRE -04374 004537 3 0 LDA NFA -04375 016563 3 0 SUB NFS -04376 016570 3 0 SUB MINF -04377 100400 3 0 SPL -04400 103372 3 0 JMP GETFRE I /NOT ENOUGH BUFFERS FOR MODEM INP1 -04401 104324 3 0 LDA FREE I -04402 101040 3 0 SNZ -04403 103372 3 0 JMP GETFRE I -04404 026324 3 0 IMA FREE -04405 010000 3 0 STA 0 -04406 024563 3 0 IRS NFS -04407 014751 3 0 ADD CMINPL 0"A"TWOQ -04410 050111 3 0 STA BUFE X -04411 004106 3 0 LDA MINE -04412 050007 3 0 STA HEAD2 X /SET UP SOURCE IMP -04413 140040 3 0 CRA -04414 050000 3 0 STA 0 X -04415 025372 3 0 IRS GETFRE /SKIP=SUCCESS -04416 103372 3 0 JMP GETFRE I - - LEV CON -04417 003266 C SLEEP: BKZ /BACK HOST WAIT - LEV VAR -04420 V BACKNO: BSS 1 /NO OF BACK HOST CURRENTLY ACTIVE -04421 V GIVTST: BSS BH /RETURN ADDRS FOR BACK HOSTS GIVING -04427 V HOLD: BSS BH /PKT PNTRS FOR BACK HOSTS GIVING -' - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 58 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -04435 000000 7 GIVTSK: 0 -04436 101040 7 SNZ -04437 003446 7 JMP GIVT0 /NOT GENERATING A CHECKSUM -04440 004117 7 LDA FOUR 0"A"[MINPL-ACKH] -04441 056004 7 SUB ACKH X -04442 056005 7 SUB HEAD X -04443 056006 7 SUB HEAD1 X -04444 056007 7 SUB HEAD2 X -04445 050010 7 STA HEAD3 X /THERE'S THE CHECKSUM -04446 005420 7 GIVT0: LDA BACKNO 0"A"INPCHN -04447 015635 7 ADD (HSTMOD 0 TH) -04450 050003 7 STA INCH X /SET UP INPUT CHANNEL -04451 004000 7 LDA 0 -04452 073420 7 LDX BACKNO -04453 140100 7 SSP 0"A"RETRAN /NEC FOR BACK3 -04454 051427 7 STA HOLD X /SAVE PKT PNTR -04455 005435 7 LDA GIVTSK -04456 051421 7 STA GIVTST X /SAVE RETURN ADDR -04457 045427 7 GIVT1: LDA HOLD X -04460 001001 7 INH M2I -04461 110401 7 0 STA ETQ I -04462 010401 7 0 STA ETQ /PUT ON TASK QUEUE -04463 030041 7 0 TASK /POKE TASK -04464 121417 7 0 JST SLEEP I RET BCK -04465 140040 7 CRA -04466 066463 7 IMA TSKFLG+TH X -04467 101100 7 SLN /TASK REFUSED IT -04470 143421 7 JMP GIVTST XI /TASK TOOK IT -04471 121417 7 JST SLEEP I /WAIT ONE BACKGROUND LOOP -04472 003457 7 JMP GIVT1 /THEN TRY AGAIN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 59 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -04473 000000 7 RALLYG: 0 /GET AN ENTRY IN RALLY TABLE -04474 140040 7 CRA -04475 026477 7 IMA RALLCF -04476 101040 7 SNZ /ANY ALLOCATES TO GO? -04477 103473 7 JMP RALLYG I /NO -04500 140040 7 CRA -04501 011600 7 STA RALLYX -04502 005636 7 LDA (MESS1) -04503 011602 7 STA RALADD /PRESET TABLE INCREMENTER -04504 073601 7 LDX RALTRY -04505 105637 7 RALLG: LDA (RALLY+NIMP 0 X) I -04506 101040 7 SNZ /ANY RALLY ENTRIES TO GO? -04507 003565 7 JMP RALLG0 /NO -04510 025600 7 IRS RALLYX /COUNT SOMETHING THERE -04511 105640 7 LDA (AMESS+NIMP 0 X) I -04512 141140 7 ICL -04513 006116 7 ANA THREE /GET NEXT MESS NO TO USE -04514 041576 7 ALS 2 -04515 140407 7 TCA -04516 015641 7 ADD (ALR 0 -04517 011523 7 STA RALGS1 -04520 013642 7 ERA (1000) -04521 011534 7 STA RALGS2 -04522 005643 7 LDA (17) -04523 7 RALGS1: BSS 1 /SHIFT MASK OVER -04524 001001 7 INH [I2H,TSK] -04525 107637 7 3 ANA (RALLY+NIMP 0 X) I -04526 101040 7 3 SNZ /ANYTHING IN NEXT SLOT TO GO? -04527 003565 7 3 JMP RALLG0 /NO -04530 113637 7 3 ERA (RALLY+NIMP 0 X) I -04531 127637 7 3 IMA (RALLY+NIMP 0 X) I /TURN OFF BITS -04532 113637 7 3 ERA (RALLY+NIMP 0 X) I -04533 000401 7 3 ENB BCK -04534 7 RALGS2: BSS 1 /SHIFT BACK THE BITS IN QUESTION -04535 023644 7 CAS (13) -04536 025473 7 IRS RALLYG /DEST DEAD, DOUBLE SKIP -04537 101000 7 NOP -04540 011160 7 STA BREPIN -04541 007631 7 ANA (INCTRN) -04542 027160 7 IMA BREPIN /GET INCTRN BIT AND SAVE IT -04543 006116 7 ANA THREE /EXTRACT THEM -04544 012115 7 ERA TWO 0"A"[ONEOR8 0 RFNM] -04545 101040 7 SNZ /IS THIS A REQ FOR 1 -04546 011602 7 STA RALADD /YES, DO NOT BUMP MESSAGE NO -04547 012115 7 ERA TWO /RESTORE A -04550 041672 7 ALR 6 0"A"[ONEOR8 0 RFNM] -04551 113640 7 ERA (AMESS+NIMP 0 X) I -04552 014000 7 ADD 0 -04553 016132 7 SUB MINIMP /OR IN MESS NO AND IMP NO -04554 127640 7 IMA (AMESS+NIMP 0 X) I -04555 015602 7 ADD RALADD /BUMP NEXT MESS TO REPLY TO -04556 127640 7 IMA (AMESS+NIMP 0 X) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 60 IMP,3050,IMP 7:20 PM 9/16/1973 - -04557 024000 7 IRS 0 -04560 100000 7 SKP -04561 072132 7 LDX MINIMP -04562 033601 7 STX RALTRY -04563 025473 7 IRS RALLYG -04564 003576 7 JMP RALLEX - -04565 000401 7 RALLG0: ENB BCK -04566 024000 7 IRS 0 -04567 003505 7 JMP RALLG -04570 004132 7 LDA MINIMP -04571 027601 7 IMA RALTRY -04572 013601 7 ERA RALTRY -04573 101040 7 SNZ /DID WE MAKE A COMPLETE PASS? -04574 005600 7 LDA RALLYX -04575 100040 7 SZE /AND DID WE FIND NOTHING AT ALL? -04576 010477 7 RALLEX: STA RALLCF /IF NO FOR EITHER, MUST COME BACK AT -04577 103473 7 JMP RALLYG I /IF YES FOR BOTH, LEAVE RALLCF AL( 1 - /IF ENTRIES WERE PUT DURING OUR PASS, RALLCF WILL HAVE BEEN 1 - - LEV VAR -04600 V RALLYX: BSS 1 /NON-ZERO = SOMETHING IN RALLY -04601 V RALTRY: BSS 1 -04602 V RALADD: BSS 1 /INCREMENT TO AMESS = 0 OR MESS1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 61 IMP,3050,IMP 7:20 PM 9/16/1973 - -04603 000077 C LEV CON CONSTANTS -04604 000300 C -04605 000200 C -04606 177771 C -04607 000050 C -04610 000100 C -04611 000002 C -04612 015033 C -04613 177770 C -04614 000003 C -04615 032371 C -04616 032271 C -04617 177477 C -04620 176014 C -04621 015205 C -04622 000202 C -04623 015161 C -04624 020210 C -04625 032261 C -04626 015114 C -04627 177677 C -04630 033467 C -04631 000010 C -04632 000331 C -04633 015504 C -04634 037700 C -04635 100010 C -04636 000400 C -04637 072671 C -04640 072571 C -04641 041700 C -04642 001000 C -04643 000017 C -04644 000013 C -02413 175663 C PAGEND 4,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 62 IMP,3050,IMP 7:20 PM 9/16/1973 - - - TSKI: LEV TSK /TASK INTERRUPT -00103 005107 6 TASKIL/ TSKI -05107 000000 6 0 TSKI/ INT TSK /TASK INTERRUPT COMES HERE -05110 000011 6 0 DXA -05111 003112 6 0 JMP .+1 -05112 011140 6 0 STA TA1 -05113 033141 6 0 STX TX1 -05114 000043 6 0 INK -05115 011142 6 0 STA TK1 -05116 004122 6 0 TSKMSK: LDA MINUS2 -05117 170120 6 0 SMK INTM -05120 010134 6 0 STA PRIM -05121 000401 6 0 TSKL: ENB TSK /ALL TASKS RETURN HERE -05122 004330 6 LDA STQ -05123 001001 6 INH MSK -05124 100040 6 0 SZE /IS TASK QUEUE EMPTY? -05125 003161 6 0 JMP TSKM /GOT A TASK -05126 140401 6 0 CMA /YES, TURN ON ALL BITS IN PRTY INT T -05127 010134 6 0 STA PRIM -05130 170120 6 0 SMK INTM /RESTORE REGISTERS AND KEYS -05131 073141 6 0 LDX TX1 -05132 000013 6 0 EXA -05133 005142 6 0 LDA TK1 -05134 171020 6 0 OTK -05135 005140 6 0 LDA TA1 -05136 000401 6 0 ENB TSK -05137 103107 6 JMP TSKI I - - LEV VAR -05140 V TA1: BSS 1 /TEMP A -05141 V TX1: BSS 1 /TEMP X -05142 V TK1: BSS 1 /TEMP KEYS -05143 V TASKIN: BSS 1 /INPUT CHAN - SIGN ON=FROM HOST -05144 V ACKBIT: BSS 1 /BIT PNTR FOR OUR ACK -05145 V OURR: BSS 1 /OUR OUTPUT MODEM CHANNEL -05146 V I2MSLT: BSS 1 /THE CHANNEL PNTR WE NEED -05147 V I2MBIT: BSS 1 /ODD-EVEN BIT POSITION FOR THIS PKT -05150 V ACKCH: BSS 1 /TRANSMIT ACK CHANNEL FOR THIS PK- -05151 V ACKP: BSS 1 /PNTR TO RELEVANT RSEX ENTRY -05152 V SWPCHT: BSS 1 /TEMP FOP SWPCHK -05153 V SATNO: BSS 1 /0 IF NONE, CH#+1 ELSE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 63 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK LCK MSK -05154 005710 6 0 TSKM2: LDA (STQ) /CLEAN UP Q PNTRS -05155 010401 6 0 STA ETQ -05156 003171 6 0 JMP TSKM1 - LEV TSK -05157 105151 6 TSKM3: LDA ACKP I -05160 003215 6 JMP TSKM4 - - LEV TSK LCK MSK -05161 010000 6 0 TSKM: STA 0 /TASK -05162 010514 6 0 STA THIS /STORE BUFF ADDR IN X AND THIS -05163 140040 6 0 CRA -05164 050002 6 0 STA PTRT X /CLEAR TRACE PTR -05165 066000 6 0 IMA 0 X /CLEAR BUFF CHAIN PNTR AND LOAD IN -05166 010330 6 0 STA STQ /STORE NEW ADDR IN HEAD OF Q -05167 101040 6 0 SNZ /WAS THIS LAST ENTRY IN Q? -05170 003154 6 0 JMP TSKM2 /YES -05171 000401 6 0 TSKM1: ENB TSK /X HAS BUFF ADDR -05172 044003 6 LDA INCH X -05173 011143 6 STA TASKIN /SAVE INPUT CHANNEL -05174 100400 6 SPL 0"A"HSTMOD /FROM HOST? -05175 003220 6 JMP TSKFOR /YES -05176 015711 6 ADD (RSEX) /NO,FROM MODEM, MUST DUPLICATE-DETF -05177 011151 6 STA ACKP -05200 044005 6 LDA HEAD X -05201 100100 6 SLZ 0"A"LINETS /IS THIS A ROUTING MESSAGE? -05202 003407 6 JMP TSKRUT /YES -05203 044004 6 LDA ACKH X -05204 141340 6 ICA -05205 006120 6 ANA SEVEN 0"A"CHANUM /GET CHANNEL NO -05206 015712 6 ADD (BITTAB) -05207 011144 6 STA ACKBIT /CONVERT TO BIT PNTR TABLE ADDR -05210 044004 6 LDA ACKH X -05211 100400 6 SPL 0"A"ODEVEN /GET ODD-EVEN BIT FROM PKT -05212 003157 6 JMP TSKM3 /JUMP IF BIT IS ONE -05213 105151 6 LDA ACKP I /COMPARE WITH WHAT WE WANT -05214 140401 6 CMA -05215 107144 6 TSKM4: ANA ACKBIT I /MASK WITH CONTENTS OF BITTAB -05216 100040 6 SZE -05217 003642 6 JMP FQMOD /IF DUPLICATE --FREE AND QUIT MODEM -05220 044006 6 TSKFOR: LDA HEAD1 X -05221 007713 6 ANA (DESTI) -05222 010000 6 STA 0 /STOR DEST NO FROM HEADER IN X -05223 044165 6 LDA RUT X /GET ROUTE -05224 101040 6 SNZ 0"A"RUTUS /IS IT FOR US? -05225 103714 6 JMP (FORUS) I /YES -05226 100400 6 SPL 0"A"RUTDED -05227 003601 6 JMP FQOK /FOR DEAD GUY, RUT WD WAS MINUS -05230 007715 6 ANA (RUTDLC) -05231 016114 6 SUB ONE /TASK STORE-AND-FORWARD -05232 010000 6 STA 0 /STOPE SHIFTED ROUTE IN X (0 TO C1 -05233 044433 6 LDA LINE X /TEST FOR LINE TEST STATUS -05234 100040 6 SZE /IS LINE DEAD? -05235 003637 6 JMP FQNG /YES, WAIT TILL ROUTING STABLE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 64 IMP,3050,IMP 7:20 PM 9/16/1973 - -05236 001001 6 INH [M2I,I2M,H2I] -05237 004540 6 0 LDA NSFA /COMPUTE NO SF BUFFS IN USE -05240 016564 6 0 SUB NSFS -05241 141206 6 0 AOA /WE NEED ONE MORE -05242 022573 6 0 CAS MAXSI /ENOUGH S-F ROOM? -05243 003637 6 0 JMP FQNG /NO -05244 003637 6 0 JMP FQNG /NO -05245 004537 6 0 LDA NFA -05246 016563 6 0 SUB NFS /COMPUTE NO OF FREE BUFFS AVAIL, -05247 016542 6 0 SUB NALA /CONSIDERING ALLOCATED AND USED -05250 014566 6 0 ADD NALS -05251 016570 6 0 SUB MINF -05252 100400 6 0 SPL /DO WE HAVE MIN FREE BUFFS? -05253 003637 6 0 JMP FQNG /NO -05254 044653 6 0 LDA CHFREE X /FREE SLOT BITS -05255 140407 6 0 TCA -05256 046653 6 0 ANA CHFREE X /SINGLE LEAST SIGNIFICANT BIT SET -05257 101040 6 0 SNZ -05260 003637 6 0 JMP FQNG /ALL CHANNELS ARE IN USE -05261 011147 6 0 STA I2MBIT /FOR MARKING CHANNEL LATER -05262 052653 6 0 ERA CHFREE X /NOW MARK IT ASSIGNED -05263 050653 6 0 STA CHFREE X -05264 000401 6 0 ENB TSK /YES -05265 033145 6 STX OURR /SAVE OUR ROUTE (0 TO CH-1) - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 65 IMP,3050,IMP 7:20 PM 9/16/1973 - -05266 005147 6 LDA I2MBIT -05267 022116 6 CAS THREE -05270 040575 6 ARS 3 /CH 2-7 -05271 100000 6 SKP /CAS IS NEVER EQUAL -05272 003277 6 JMP GOTCHN /CH 0-1 -05273 022116 6 CAS THREE -05274 040575 6 ARS 3 /CH 5-7 -05275 014116 6 ADD THREE /CAS IS NEVER EQUAL -05276 014116 6 ADD THREE -05277 016114 6 GOTCHN: SUB ONE /GOT CHANNEL 0-7 -05300 011150 6 STA ACKCH -05301 054622 6 ADD I2MTAB X /GET PTR TO SLOT -05302 011146 6 STA I2MSLT -05303 005147 6 LDA I2MBIT -05304 111146 6 STA I2MSLT I /MARK SLOT IN USE -05305 046641 6 ANA TSEX X /GET O/E BIT IN TSEX -05306 100040 6 SZE /WAS IT ZERO? -05307 005716 6 LDA (200) 0"A"ODEVEN /NO, SET O/E BIT -05310 013150 6 ERA ACKCH /PUT SLOT NO IN A -05311 141240 6 ICR /PUT IN LEFT HALF -05312 072514 6 LDX THIS /BUFF ADDR TO X -05313 011147 6 STA I2MBIT /USED AS A TEMP WORD -05314 044111 6 LDA BUFE X -05315 140100 6 SSP 0"A"TWOQ -05316 027147 6 IMA I2MBIT /NOW HAS PTR TO CHECKSUM -05317 066004 6 IMA ACKH X /SAVE BIT, CHANNEL IN ACKHEADER -05320 056004 6 SUB ACKH X -05321 115147 6 ADD I2MBIT I /AND ADJUST CHECKSUM -05322 111147 6 STA I2MBIT I -05323 044007 6 LDA HEAD2 X /NOW PUT IN BIT FOR LO-HI LINE EN[ -05324 007717 6 ANA (0 0 177777"X"ENDBIT) -05325 073145 6 LDX OURR /THIS BIT DETECTS LOOPED LINES -05326 113720 6 ERA (LEND 0 X) I -05327 072514 6 LDX THIS -05330 066007 6 IMA HEAD2 X -05331 056007 6 SUB HEAD2 X /ADJUST CHECKSUM AGAIN -05332 115147 6 ADD I2MBIT I -05333 111147 6 STA I2MBIT I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 66 IMP,3050,IMP 7:20 PM 9/16/1973 - -05334 044006 6 LDA HEAD1 X -05335 007721 6 ANA (TRACE) -05336 100040 6 SZE /MUST WE TRACE HIM? -05337 021504 6 JST TSUB /TRACE HIM IF NECESSARY -05340 005146 6 LDA I2MSLT /PUT OUR SLOT IN PKT -05341 050003 6 STA INCH X /AND I2M WILL SET IT UP AT OUTPUT * -05342 044005 6 LDA HEAD X -05343 007722 6 ANA (TRNREP) /GET TRNREP BIT -05344 001001 6 INH SIN -05345 101040 6 0 SNZ /IS THIS A REPLY? -05346 003357 6 0 JMP SFPRI /YES -05347 044006 6 0 LDA HEAD1 X -05350 100400 6 0 SPL 0"A"PRIBIT /IS THIS A PRI TRN? -05351 003357 6 0 JMP SFPRI /YES -05352 004514 6 0 LDA THIS /NO, SO PUT ON REG MODEM QUEUE -05353 073145 6 0 LDX OURR -05354 150363 6 0 STA EMQ XI /LINK BUFF TO END OF REG CHL Q -05355 050363 6 0 STA EMQ X -05356 003363 6 0 JMP SFALL - -05357 004514 6 0 SFPRI: LDA THIS /YES, SO PUT ON PRI MODEM QUEUE -05360 073145 6 0 LDX OURR -05361 150370 6 0 STA EMPQ XI /LINK BUFF TO END OF PRI CHL Q -05362 050370 6 0 STA EMPQ X -05363 024540 6 0 SFALL: IRS NSFA /COUNT A S-F PKT -05364 044440 6 0 LDA NONE X -05365 100040 6 0 SZE /POKE MODEM OUTPUT IF IDLE -05366 003604 6 0 JMP GOODM /NO NEED -05367 121723 6 0 JST (I2MSB) I RET TSK -05370 001001 6 INH ALL -05371 000011 6 0 DXA -05372 003604 6 0 JMP GOODM /RETURN GOOD ACK - - LEV FRE /CALL WITH INTERRUPTS LOCKED -05373 000000 0 FLUSH: 0 /RETURN BUFFER TO FREE LIST -05374 044111 0 LDA BUFE X -05375 100400 0 SPL 0"A"TWOQ /IS PACKET ON 2 QUEUES? -05376 003404 0 JMP FLUSH1 /YES -05377 004324 0 LDA FREE /NO, SO FREE IT -05400 050000 0 STA 0 X /STORE PNTR TO FREE LIST -05401 032324 0 STX FREE /STORE PNTR TO PACKET -05402 024537 0 IRS NFA /INCREASE NO OF FREE PKTS -05403 103373 0 JMP FLUSH I -05404 140100 0 FLUSH1: SSP 0"A"TWOQ /MARK PACKET AS ON ONE QUEUE -05405 050111 0 STA BUFE X -05406 103373 0 JMP FLUSH I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 67 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -05407 073143 6 TSKRUT: LDX TASKIN /INPUT CHL NO -05410 040677 6 ARR 1 0"A"NULPKT -05411 100100 6 SLZ /THIS A NULL PACKET? -05412 003446 6 JMP TSKNUL /YES -05413 041677 6 ALR 1 -05414 141140 6 ICL /GET OTHER GUYS IMPNO -05415 066160 6 IMA NEIGHB X /SAVE IT -05416 100040 6 SZE /DO NOT KILL LINE IF WE JUST DID -05417 052160 6 ERA NEIGHB X -05420 100040 6 SZE /DO KILL LINE IF NEIGHBOR HAS CHANG1 -05421 003452 6 JMP NEIKIL -05422 065565 6 IRS E123 X /INCREMENT NUMBER OF RECD RUT MSGS -05423 101000 6 NOP -05424 044160 6 LDA NEIGHB X /COMPUTE AND SET HI-LO BIT -05425 016106 6 SUB MINE -05426 100040 6 SZE -05427 003433 6 JMP TSKCPY /COPY IN ROUTING INFO -05430 004114 6 LDA ONE -05431 010452 6 STA LUUP /BLINK LUUPED LITE -05432 003642 6 JMP FQMOD - -05433 001001 6 TSKCPY: INH MSK -05434 004124 6 0 LDA MINUS4 /LOCK OUT SLOW T.O -05435 170120 6 0 SMK INTM /SHARED CODE & TABLES -05436 010134 6 0 STA PRIM LEV T.O LCK MSK -05437 140040 5 0 CRA /MARK AS REAL INPUT -05440 000401 5 0 ENB T.O -05441 121724 5 JST (RSTINP) I -05442 072514 5 LDX THIS -05443 001001 5 INH [MSK,FRE] -05444 021373 5 0 JST FLUSH -05445 003116 5 0 JMP TSKMSK - - LEV TSK -05446 040675 6 TSKNUL: ARR 3 0"A"IHERDU -05447 100100 6 TSKNU2: SLZ /DID WE GET AN IHEARD YOU? -05450 064426 6 TSKNU3: DEFSTAT IRS LAC X, TSKIH /YES -00574 031212 6 -31770 005450 6 -32010 064426 6 -05451 003642 6 TSKNU4: JMP FQMOD - -05452 001001 6 NEIKIL: INH ALL -05453 011576 6 0 STA NEIT -05454 121725 6 0 JST (KILLIN) I -05455 005576 6 0 LDA NEIT - DEFHLT [NEIGHBOR IMP CHANGED] -05456 021635 6 0 JST THLTNG - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 68 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK LCK [H2I,T.O] -05457 000000 6 4 SWPCHK: 0 -05460 011152 6 4 STA SWPCHT /BITS TO PUT INTO HEAD1 -05461 044006 6 4 LDA HEAD1 X -05462 007726 6 4 ANA (FORIMP 0 FOROCT DESTHI) -05463 066007 6 4 IMA HEAD2 X /SWITCH SRC FOR DEST AND V.V. -05464 007726 6 4 ANA (FRMIMP 0 FRMOCT SRCEHI) -05465 013152 6 4 ERA SWPCHT -05466 050006 6 4 STA HEAD1 X -05467 044111 6 4 LDA BUFE X -05470 006112 6 4 ANA SIGN 0"A"TWOQ -05471 014000 6 4 ADD 0 -05472 015727 6 4 ADD (MINPL+1) /FIX LENGTH OF REPLY -05473 050111 6 4 STA BUFE X -05474 005730 6 4 LDA (MINPL-ACKH+1) -05475 056004 6 4 SUB ACKH X -05476 056005 6 4 SUB HEAD X -05477 056006 6 4 SUB HEAD1 X /BUILD CHECKSUM -05500 056007 6 4 SUB HEAD2 X -05501 056010 6 4 SUB HEAD3 X -05502 050011 6 4 STA DATA X /NOW STORE IT -05503 103457 6 4 JMP SWPCHK I - - LEV TSK /TSUB DOES THE TASK PART OF TRACING -05504 000000 6 TSUB: 0 -05505 004416 6 LDA TIMES /GET TIME IN SLOW TICKS -05506 016107 6 SUB M30SEC -05507 050003 6 STA INCH X /GIVE PKT 30 SEC. TO LIVE -05510 044006 6 LDA HEAD1 X -05511 007721 6 ANA (TRACE) -05512 100040 6 SZE /MUST WE TRACE HIM? -05513 105731 6 TSUB2: LDA (TRON) I -05514 101040 6 SNZ -05515 103504 6 JMP TSUB I -05516 004325 6 LDA TTF /FREE TRACE BLOCK PNTR -05517 100040 6 SZE -05520 003524 6 JMP TS2 /JUMP IF THERE ARE FREE TRACE BLOCK -05521 141206 6 AOA -05522 010414 6 STA TTO /MARK TRACE TABLE OVERFLOW -05523 103504 6 JMP TSUB I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 69 IMP,3050,IMP 7:20 PM 9/16/1973 - -05524 033572 6 TS2: STX SPB /SAVE BUFFER PNTR -05525 011573 6 STA STB /FREE TRC BLK BUFF PNTR -05526 050002 6 STA PTRT X /SET UP TRACE POINTER -05527 026341 6 IMA STRQ /GET STRT OF ACTIVE TRC Q -05530 127573 6 IMA STB I /LINK TO TOP OF TRACE Q -05531 010325 6 STA TTF /STORE ADDR OF NEXT FREE BLK -05532 004341 6 LDA STRQ /ADDR OF NEW TOP OF Q -05533 015732 6 ADD (THED+4 X) /SET UP LAST TRC BUFF ADDR -05534 011574 6 STA ITB -05535 005572 6 LDA SPB /ADDR OF PKT BUFF -05536 015732 6 ADD (HEAD+4 X) /SET UP LAST PKT BUFF ADDR -05537 011575 6 STA IMB -05540 072124 6 LDX MINUS4 /TRANSFER PKT BUFF TO TRC BUFF -05541 105575 6 LDA IMB I -05542 111574 6 STA ITB I -05543 024000 6 IRS 0 /FINISHED? -05544 003541 6 JMP .-3 /NO -05545 073572 6 LDX SPB /YES -05546 044001 6 LDA IT X /SAVE INPUT TIME IN TRACE TABLE -05547 073573 6 LDX STB -05550 050001 6 STA TIT X -05551 073572 6 LDX SPB -05552 044111 6 LDA BUFE X -05553 140100 6 SSP 0"A"TWOQ -05554 016000 6 SUB 0 -05555 016117 6 SUB FOUR 0"A"ACKH /CALCULATE PACKET LENGTH -05556 073573 6 LDX STB -05557 050012 6 STA TDONE X -05560 131040 6 RDCLOK -05561 003560 6 JMP .-1 /SAVE TASK TIME IN TRACE TABLE -05562 050002 6 STA TTT X -05563 073572 6 LDX SPB /RESTORE BUFFER PNTR IN X -05564 103504 6 JMP TSUB I - - LEV VAR -05565 V E123: BSS CH /NUMBER OF RUT MSGS RECD FROM CHL( -05572 V SPB: BSS 1 /SAVE PACKET BUFFER -05573 V STB: BSS 1 /SAVE TRACE BUFFER -05574 V ITB: BSS 1 /INDIRECT TO TRACE BUFFER -05575 V IMB: BSS 1 /INDIRECT TO PACKET BUFFER -05576 V NEIT: BSS 1 /TEMP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 70 IMP,3050,IMP 7:20 PM 9/16/1973 - - /END-OF-TASK ROUTINES - /RETURN A NACK OR ACK TO THE SENDING MODEM, HOST, OR BACK - LEV TSK LCK ALL -05577 000000 6 0 THLTOK: 0 /REPORT BUG AND GIVE GOOD RETURN -05600 120745 6 0 JST HLTNCC I - LEV TSK -05601 072514 6 FQOK: LDX THIS /FREE+QUIT, GOOD RETURN -05602 001001 6 INH [FRE,SIN] -05603 021373 6 0 JST FLUSH /FREE THE BUFFER -05604 005143 6 0 GOODM: LDA TASKIN /GOOD RETURN -05605 100400 6 0 SPL 0"A"HSTMOD /FROM HOST? -05606 003622 6 0 JMP GOODH /YES -05607 010000 6 0 STA 0 0"A"INPCHN -05610 105144 6 0 LDA ACKBIT I /FROM MODEM, GIVE ACK -05611 050445 6 0 STA SNULL X /SEND A NULL PKT IF NECESSARY TO E'1 -05612 052646 6 0 ERA RSEX X /REVERSE PROPER BIT IN RSEX -05613 050646 6 0 STA RSEX X -05614 044440 6 0 LDA NONE X /CHECK ACTIVITY ON MODEM -05615 101040 6 0 SNZ /RESTART I2M IF NECESSARY FOR MY AC -05616 121723 6 0 JST (I2MSB) I RET TSK -05617 001001 6 INH ALL -05620 000011 6 0 DXA -05621 003121 6 0 JMP TSKL - -05622 140100 6 0 GOODH: SSP 0"A"HSTMOD /NEED TO CLEAR SIGN FOR HISB -05623 010000 6 0 STA 0 0"A"INPCHN -05624 064453 6 0 IRS TSKFLG X /DOUBLE SKIP = GOOD RETURN -05625 064453 6 0 IRS TSKFLG X -05626 014131 6 0 ADD MITH -05627 000013 6 0 EXA -05630 100400 6 0 SPL /FROM BACK HOST? -05631 121733 6 0 JST (HISB) I RET TSK /NO, POKE HOST WAITING FO -05632 001001 6 INH ALL -05633 000011 6 0 DXA -05634 003121 6 0 JMP TSKL - - LEV TSK LCK ALL -05635 000000 6 0 THLTNG: 0 /REPORT BUG AND GIVE BAD RETURN -05636 120745 6 0 JST HLTNCC I - LEV TSK -05637 005143 6 FQNG: LDA TASKIN /FREE+QUIT, BAD RETURN -05640 100400 6 SPL 0"A"HSTMOD /FROM HOST? -05641 003646 6 JMP BADH -05642 072514 6 FQMOD: LDX THIS /FROM MODEM, DO NOT ACK -05643 001001 6 INH FRE -05644 021373 6 0 JST FLUSH -05645 003121 6 0 JMP TSKL - - LEV TSK -05646 010000 6 BADH: STA 0 0"A"INPCHN /YES, RETURN A NACK TO HO -05647 064453 6 IRS TSKFLG X /SINGLE SKIP = BAD RETURN -05650 003121 6 JMP TSKL /DO NOT POKE HOST (ALLOW BACK TO RU - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 71 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK LCK FRE -05651 004326 6 0 NEWMES: LDA RASF /NEW MULTI-PACKET MESSAGE FOR US -05652 101040 6 0 SNZ /GET REAS BLOCK - DEFHLT [NO REAS BLOCK FOR MULTI-PKT MESS] -05653 121734 6 0 JST (THLTNG) I -05654 004751 6 0 LDA 8PKTS -05655 014541 6 0 ADD NREA /CHECK REAS ROOM -05656 016565 6 0 SUB NRES -05657 022572 6 0 CAS MAXR -05660 101000 6 0 NOP /NO ROOM, FOUL-UP - DEFHLT [MAXR EXCEEDED BY NON-REQUEST MULTI-PKT MESS] -05661 121734 6 0 JST (THLTNG) I -05662 004537 6 0 LDA NFA -05663 016563 6 0 SUB NFS -05664 016751 6 0 SUB 8PKTS -05665 016570 6 0 SUB MINF -05666 100400 6 0 SPL - DEFHLT [MINF VIOLATED BY NON-REQUEST MULTI-PKT MESS] -05667 121734 6 0 JST (THLTNG) I -05670 104326 6 0 LDA RASF I -05671 026326 6 0 IMA RASF -05672 010000 6 0 STA 0 -05673 026340 6 0 IMA SHRQ /PUT ON REAS QUEUE -05674 050000 6 0 STA 0 X -05675 004751 6 0 LDA 8PKTS -05676 014541 6 0 ADD NREA /NOW TAKE ROOM -05677 010541 6 0 STA NREA -05700 004751 6 0 LDA 8PKTS -05701 014566 6 0 ADD NALS -05702 010566 6 0 STA NALS -05703 004112 6 0 LDA SIGN /INIT RMAX -05704 050002 6 0 STA RMAX X -05705 105735 6 0 LDA (MESSID) I /ESTABLISH RID -05706 050001 6 0 STA RID X - /RSF IS SET UP AT INIT AND AFTER USE TO BE ZERO - /THE SAME IS TRUE OF REAS PNTRS -05707 103736 6 0 JMP (OLDMES) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 72 IMP,3050,IMP 7:20 PM 9/16/1973 - -05710 000330 C LEV CON CONSTANTS -05711 000646 C -05712 001233 C -05713 000077 C -05714 006056 C -05715 000037 C -05716 000200 C -05717 176777 C -05720 050254 C -05721 020000 C -05722 000004 C -05723 012604 C -05724 026120 C -05725 011133 C -05726 050377 C -05727 000011 C -05730 000005 C -05731 030434 C -05732 040011 C -05733 013106 C -05734 005635 C -05735 006664 C -05736 006313 C -02414 176744 C PAGEND 5,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 73 IMP,3050,IMP 7:20 PM 9/16/1973 - - /TASK REASSEMBLY - LEV TSK -06056 072514 6 FORUS: LDX THIS /PNTR TO PKT BUFF -06057 044007 6 LDA HEAD2 X /TASK FOR US -06060 007674 6 ANA (SRCEI) /SOURCE IMP MASK -06061 011673 6 STA SOURCE /PREPARE MESS TABLE ENTRY -06062 044005 6 LDA HEAD X -06063 141044 6 CAR 0"A"MESSNO -06064 011661 6 STA MESNUM /SAVE OUR MESS NO -06065 013673 6 ERA SOURCE -06066 011664 6 STA MESSID /PREPARE MESSAGE ID -06067 044005 6 LDA HEAD X -06070 007675 6 ANA (TRNREP) -06071 100040 6 SZE -06072 005676 6 LDA (0 0 RMESS"X"TMESS) -06073 013677 6 ERA (TMESS) /PICK TRANSMIT OR REPLY TABLE -06074 015673 6 ADD SOURCE -06075 011660 6 STA MESTAB -06076 001001 6 INH [H2I,T.O] -06077 105660 6 4 LDA MESTAB I /GET OLDEST MSG NO WE ARE EXPECTING -06100 141044 6 4 CAR 0"A"MESSNO /GET MESS NO WE WANT -06101 017661 6 4 SUB MESNUM /COMPARE WITH MESS NO WE GOT -06102 100400 6 4 SPL /IS MESS NO WE GOT TOO HIGH? -06103 003375 6 4 JMP MESOUT /YES -06104 141140 6 4 ICL -06105 022116 6 4 CAS THREE /IS MESS NO WE GOT TOO LOW? -06106 003375 6 4 JMP MESOUT /YES -06107 101000 6 4 NOP /GOOD MESS NO -06110 015700 6 4 ADD (MBITS) /NOW CONVERT DIFF BETWEEN MESSNOS -06111 011662 6 4 STA MESBIT /INTO A BIT - 1,2,4, OR 10 -06112 044005 6 4 LDA HEAD X -06113 007701 6 4 ANA (INCTRN 0 TRNREP) -06114 013701 6 4 ERA (INCTRN 0 TRNREP) -06115 101040 6 4 SNZ /IS IT AN INCOMPLETE TRANS? -06116 003431 6 4 JMP INCGOT /YES -06117 105662 6 4 LDA MESBIT I /NO, LOAD DIFFERENCE BIT -06120 107660 6 4 ANA MESTAB I /CHECK AGAINST MSG NO -06121 000401 6 4 ENB TSK -06122 100040 6 SZE /IS MESS NO A DUPLICATE? -06123 103702 6 JMP (FQOK) I /YES, DISCARD PKT -06124 044005 6 LDA HEAD X /GOOD MESSAGE FOR US -06125 007675 6 ANA (TRNREP) -06126 101040 6 SNZ /IS IT A REPLY? -06127 103703 6 JMP (REPGOT) I /YES -06130 073673 6 LDX SOURCE -06131 001001 6 INH [FRE,H2I,T.O] -06132 044165 6 0 LDA RUT X -06133 100400 6 0 SPL - DEFHLT [RECVD TRANSMISSION FROM DEAD IMP] -06134 121704 6 0 JST (THLTOK) I -06135 007705 6 0 ANA (0 0 177777"X"RUTCMU) -06136 050165 6 0 STA RUT X -06137 072514 6 0 LDX THIS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 74 IMP,3050,IMP 7:20 PM 9/16/1973 - -06140 044005 6 0 LDA HEAD X -06141 007706 6 0 ANA (GVBALL) -06142 100040 6 0 SZE /IS IT A REGULAR TRANSMIT? -06143 003447 6 0 JMP GUDGVB /NO, WE MUST RETURN A REPLY -06144 044006 6 0 LDA HEAD1 X -06145 121707 6 0 JST (HOSTNO) I -06146 000401 6 0 ENB TSK -06147 010000 6 STA 0 -06150 044504 6 LDA HIHD X 0"A"HSTUP -06151 072514 6 LDX THIS -06152 100040 6 SZE /IS THIS TRANS FOR A DEAD HOST? -06153 005710 6 LDA (0 0 TRNDED"X"TRNDIS) -06154 013711 6 ERA (JMP TRNDIS) /PICK REGULAR OR DEAD DIS[ -06155 011164 6 STA TRNJMP -06156 044005 6 LDA HEAD X /GOOD TRANSMISSION FOR US -06157 141050 6 CAL -06160 040572 6 ARS 6 0"A"ONEOR8"A"REQALL -06161 015164 6 ADD TRNJMP -06162 011164 6 STA TRNJMP -06163 001001 6 INH FRE -06164 6 0 TRNJMP: BSS 1 /DISPATCH ON 1 OR 8 PKT, REQ OR RE' -06165 003302 6 0 TRNDIS: JMP TRNGT8 /NON-REQ S PKT -06166 003455 6 0 JMP GUDRQ8 /REQ 8 PKT -06167 003227 6 0 JMP TRNGT1 /NON-REQ 1 PKT -06170 105662 6 0 LDA MESBIT I /REQ 1 PKT -06171 012114 6 0 ERA ONE -06172 101040 6 0 SNZ /IS THIS REQ THE NEXT TO GO? -06173 003204 6 0 JMP TRNDS1 /YES -06174 044006 6 0 LDA HEAD1 X /NO -06175 101400 6 0 SMI 0"A"PRIBIT /IS IT A PRI REQ? -06176 003222 6 0 JMP GUDRQ1 /NOT PRI, SO WE CAN GO NO FURTHER -06177 105660 6 0 LDA MESTAB I -06200 052005 6 0 ERA HEAD X -06201 007712 6 0 ANA (ORDNO) -06202 100040 6 0 SZE /IS HIS PRI ORD NO UP YET? -06203 003222 6 0 JMP GUDRQ1 /NO, SO HE MUST WAIT -06204 004542 6 0 TRNDS1: LDA NALA -06205 016566 6 0 SUB NALS -06206 014541 6 0 ADD NREA -06207 016565 6 0 SUB NRES -06210 141206 6 0 AOA -06211 022572 6 0 CAS MAXR -06212 003222 6 0 JMP GUDRQ1 /NO ROOM FOR 1 PKT MESS, TREAT AS R -06213 003222 6 0 JMP GUDRQ1 /NO ROOM FOR 1 PKT MESS, TREAT AS R -06214 004563 6 0 LDA NFS -06215 016537 6 0 SUB NFA -06216 141206 6 0 AOA -06217 014570 6 0 ADD MINF -06220 100400 6 0 SPL -06221 003244 6 0 JMP GUDTR1 - /NOTE THAT NO DUPLICATE DETECTION IS DONE HERE -06222 005664 6 0 GUDRQ1: LDA MESSID /ENTER HIS REQUEST -06223 013713 6 0 ERA (ONEOR8) /FOR ONE BUFFER -06224 121714 6 0 JST (RALLYP) I - DEFHLT [RALLY ENTRY ALREADY PRESENT FOR REQ 1 PKT] -06225 121704 6 0 JST (THLTOK) I -06226 103702 6 0 JMP (FQOK) I /DO NOT MARK MESS NO COMPLETE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 75 IMP,3050,IMP 7:20 PM 9/16/1973 - -06227 004541 6 0 TRNGT1: LDA NREA /CHECK REAS ROOM -06230 016565 6 0 SUB NRES -06231 141206 6 0 AOA /ROOM FOR ONE MORE? -06232 022572 6 0 CAS MAXR - DEFHLT [MAXR EXCEEDED BY A NON-REQUEST 1 PKT MESS] -06233 101000 6 0 NOP -06234 121715 6 0 JST (THLTNG) I /NO, A FOUL-UP -06235 004563 6 0 LDA NFS -06236 016537 6 0 SUB NFA -06237 141206 6 0 AOA -06240 014570 6 0 ADD MINF -06241 101400 6 0 SMI /DO WE HAVE ENOUGH FREE? - DEFHLT [MINF VIOLATED BY A NON-REQUEST 1 PKT MESS] -06242 121715 6 0 JST (THLTNG) I /NO, A FOUL-UP -06243 024566 6 0 IRS NALS -06244 024541 6 0 GUDTR1: IRS NREA /YES, SO TAKE IT -06245 000401 6 0 ENB TSK -06246 033670 6 STX READY /SAVE PACKET POINTER -06247 003350 6 JMP GUDTRN /NOW TRY TO GIVE TO HOST - - LCK FRE -06250 003276 6 0 TRNDED: JMP TRNDD8 /NON-REQ 8 PKT -06251 003455 6 0 JMP GUDRQ8 /REQ 8 PKT -06252 024566 6 0 IRS NALS /NON-REQ 1 PKT - ONLY HAPPENS IF [' -06253 064010 6 0 TRNDD1: IRS HEAD3 X 0"A"CHSTD /REQ 1 PKT -06254 044005 6 0 LDA HEAD X -06255 007716 6 0 ANA (0 0 177777"X"INCTRN"X"TRNREP"X"ALLOC) -06256 050005 6 0 STA HEAD X -06257 005717 6 0 LDA (REPDED) /SWAP SRC&DEST -06260 121720 6 0 JST (SWPCHK) I /AND CHECKSUM IT -06261 005664 6 0 LDA MESSID -06262 072112 6 0 LDX SIGN /MARK ENTRY FOR DEST DEAD -06263 121714 6 0 JST (RALLYP) I /PUT IN A DUMMY ENTRY - DEFHLT [RALLY ENTRY ALREADY PRESENT FOR DESTINATION DEAD] -06264 121704 6 0 JST (THLTOK) I -06265 072514 6 0 LDX THIS -06266 132402 6 0 STX ERQ I /HAND TO BAK -06267 032402 6 0 STX ERQ -06270 021537 6 0 JST REASGT -06271 003463 6 0 JMP NXMES1 /NO PKTS CAME IN SO FAR -06272 044000 6 0 LDA 0 X -06273 111667 6 0 STA TEND I /SPLICE UP REAS Q -06274 121721 6 0 JST (REASF) I /AND FREE UP THIS BLK -06275 003463 6 0 JMP NXMES1 - -06276 004751 6 0 TRNDD8: LDA 8PKTS -06277 014566 6 0 ADD NALS -06300 010566 6 0 STA NALS /MUST TAKE BACK ROOM WE ALLOCATED -06301 003253 6 0 JMP TRNDD1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 76 IMP,3050,IMP 7:20 PM 9/16/1973 - -06302 000401 6 0 TRNGT8: ENB TSK -06303 044006 6 LDA HEAD1 X /MULTI-PACKET TRANS FOR US -06304 141340 6 ICA -06305 006120 6 ANA SEVEN 0"A"PKTNO /GET PACKET NO -06306 011663 6 STA PKTN -06307 015722 6 ADD (REAS 0 X) -06310 011666 6 STA ORS /SAVE POST-INDEXED PNTR TO OUR REAS -06311 021537 6 JST REASGT LCK T.O /FIND OUR GUY IN REAS -06312 103723 6 5 JMP (NEWMES) I /NOT THERE, SO START A NEW MESS -06313 033665 6 5 OLDMES: STX ORB /SAVE PNTR TO OUR REAS BLOCK -06314 105666 6 5 LDA ORS I -06315 100040 6 5 SZE /IS IT EMPTY? -06316 103702 6 5 JMP (FQOK) I /NO, A DUPLICATE PACKET -06317 004514 6 5 LDA THIS -06320 111666 6 5 STA ORS I /PUT PACKET IN OUR REAS SLOT -06321 010000 6 5 STA 0 -06322 044007 6 5 LDA HEAD2 X -06323 073665 6 5 LDX ORB -06324 101400 6 5 SMI 0"A"LSTPKT /IS THIS THE LAST PACKET? -06325 003334 6 5 JMP NOTL /NO -06326 005663 6 5 LDA PKTN /GET PACKET NO -06327 050002 6 5 STA RMAX X /SAVE IN REAS BLOCK -06330 016120 6 5 SUB SEVEN 0"A"8PKTS -06331 140407 6 5 TCA -06332 014565 6 5 ADD NRES -06333 010565 6 5 STA NRES /ADJUST REAS COUNT FOR SURPLUS -06334 044013 6 5 NOTL: LDA RSF X -06335 062002 6 5 CAS RMAX X /IS REAS DONE? -06336 100000 6 5 SKP /NO -06337 003342 6 5 JMP DONE /YES -06340 064013 6 5 IRS RSF X -06341 103724 6 5 JMP (GOODM) I - -06342 044000 6 5 DONE: LDA 0 X /REAS COMPLETE -06343 111667 6 5 STA TEND I /REMOVE BLOCK FROM QUEUE -06344 000401 6 5 ENB TSK -06345 005665 6 LDA ORB -06346 140500 6 SSM /MARK AS MULTI-PACKET -06347 011670 6 STA READY - -06350 021360 6 GUDTRN: JST MESSOK LCK [H2I,T.O] -06351 100100 6 4 SLZ /IS MESS NO THE ONE WE WANT? -06352 003555 6 4 JMP T2H /YES, GIVE TO HOST -06353 005670 6 4 LDA READY /NO, PUT BUFFER OR BLOCK -06354 026327 6 4 IMA MESSTK /ON COMPLETED MESSAGE STACK -06355 072327 6 4 LDX MESSTK /DO THIS SINCE SIGN BIT MAY BE SET -06356 050000 6 4 STA 0 X -06357 003471 6 4 JMP SMSTK /AND SEARCH FOR NEXT MESS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 77 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -06360 000000 6 MESSOK: 0 /MARK MESS NO TO PREVENT DUPLICATES -06361 001001 6 INH [H2I,T.O] -06362 105660 6 4 LDA MESTAB I -06363 141044 6 4 CAR 0"A"MESSNO -06364 017661 6 4 SUB MESNUM -06365 141140 6 4 ICL -06366 015700 6 4 ADD (MBITS) -06367 011662 6 4 STA MESBIT -06370 105662 6 4 LDA MESBIT I -06371 113660 6 4 ERA MESTAB I /TURN ON GOT-IT BIT -06372 007725 6 4 ANA (0 0 177777"X"MSTO1"X"MSTO2) -06373 111660 6 4 STA MESTAB I /TURN OFF TIME OUT BITS -06374 103360 6 4 JMP MESSOK I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 78 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK LCK [H2I,T.O] -06375 044005 6 4 MESOUT: LDA HEAD X -06376 007701 6 4 ANA (INCTRN 0 TRNREP) -06377 013701 6 4 ERA (INCTRN 0 TRNREP) -06400 100040 6 4 SZE /IS THIS AN INC TRN? -06401 103702 6 4 JMP (FQOK) I /NO, OUT OF RANGE, DISCARD PKT -06402 044005 6 4 INCREP: LDA HEAD X /THIS CODE IS FOR OUT-OF-RANGE MESS -06403 007726 6 4 ANA (0 0 177777"X"INCTRN"X"TRNREP"X"GVBALL"X"RFNM) -06404 013676 6 4 ERA (RFNM) /RFNM ON IN ALL RPLYS XCPT REQ8 -06405 066005 6 4 IMA HEAD X -06406 007727 6 4 ANA (ONEOR8 0 REQALL) -06407 013676 6 4 ERA (REQALL) -06410 100040 6 4 SZE /REQ FOR 8? -06411 003415 6 4 JMP PUTREP /NO, MAKE A REPLY -06412 005730 6 4 LDA (ALLOC 0 RFNM) /Y, TURN OFF RFNM, TURN 'T -06413 052005 6 4 ERA HEAD X -06414 050005 6 4 STA HEAD X -06415 140040 6 4 PUTREP: CRA /SWAP DEST FOR SRC -06416 121720 6 4 JST (SWPCHK) I /AND CHECKSUM IT -06417 132402 6 4 STX ERQ I /ADD TO REPLY QUEUE -06420 032402 6 4 STX ERQ -06421 103724 6 4 JMP (GOODM) I /AND GIVE GOOD RETURN - -06422 021537 6 4 INCGT8: JST REASGT /FIND THIS INC TRN IN REAS -06423 003427 6 4 JMP SNDRP8 /NOT THERE, WE NEVER SAW HIM -06424 044000 6 4 LDA 0 X -06425 111667 6 4 STA TEND I /REMOVE FROM REAS QUEUE -06426 121721 6 4 JST (REASF) I /FREE REAS BLOCK AND PKTS -06427 005676 6 4 SNDRP8: LDA (RFNM) /CREATE A REPLY TO 8-PKT INC TRN -06430 003453 6 4 JMP SNDRP1 - -06431 105662 6 4 INCGOT: LDA MESBIT I /GOT AN INC TRANS -06432 107660 6 4 ANA MESTAB I /EXPLICITLY PERMIT DUPLICATES -06433 100040 6 4 SZE /HAVE WE SEEN HIM COMPLETED YET? -06434 003402 6 4 JMP INCREP /YES, SEND BACK DUPLICATE REPLY -06435 044005 6 4 LDA HEAD X -06436 007727 6 4 ANA (ONEOR8 0 REQALL) -06437 101040 6 4 SNZ /8 PKT INC TPN? -06440 003422 6 4 JMP INCGT8 /YES -06441 007713 6 4 ANA (ONEOR8) -06442 101040 6 4 SNZ /8 PKT REQ FOR ALL? -06443 003455 6 4 JMP GUDRQ8 /YES, IT IS INSIDE WINDOW -06444 044005 6 4 LDA HEAD X /NEVER SAW THIS 1 PKT GUY -06445 007706 6 4 ANA (GVBALL) -06446 100040 6 4 SZE /IS THIS A GVB? -06447 004751 6 4 GUDGVB: LDA 8PKTS /YES -06450 014566 6 4 ADD NALS /REMOVE BUFFER FROM ALLOCATE COUNT -06451 010566 6 4 STA NALS -06452 005727 6 4 LDA (ONEOR8 0 RFNM) -06453 072121 6 4 SNDRP1: LDX MINUS1 /MAKE A REPLY TO 1-PKT INC TRN -06454 003456 6 4 JMP GUDRAL - /SINCE IT MAY HAVE BEEN A REPLY TO AN INC TRN THAT WAS LOST - /WE SHOULD KEEP A RECORD OF THE HOST QUEUE LAST FLUSHED - /THIS WAY WE COULD SEND THE CORRECT DUPLICATE REPLY - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 79 IMP,3050,IMP 7:20 PM 9/16/1973 - -06455 140040 6 4 GUDRQ8: CRA -06456 013664 6 4 GUDRAL: ERA MESSID -06457 121714 6 4 JST (RALLYP) I /SET UP ENTRY TO REPLY - DEFHLT [RALLY ENTRY ALREADY PRESENT FOR INC OR REQ8] -06460 121704 6 4 JST (THLTOK) I -06461 072514 6 4 LDX THIS -06462 120671 6 4 JST FLUSHI I -06463 021360 6 4 NXMES1: JST MESSOK /MARK MESS NO AS COMPLETED -06464 105660 6 4 NXTMES: LDA MESTAB I -06465 101100 6 4 SLN /IS THIS THE MESS NO WE WANT? -06466 103724 6 4 JMP (GOODM) I /NO -06467 073660 6 4 LDX MESTAB -06470 121731 6 4 JST (UPMESS) I - - RET TSK -06471 005732 6 SMSTK: LDA (MESSTK) /SEARCH THE MESSAGE STACK -06472 011667 6 STA TEND /FOR MESSAGES WHOSE NUMBERS ARE UP -06473 001001 6 INH T.O -06474 004327 6 5 LDA MESSTK /GET CONTENTS OF STACK ENTRY -06475 101040 6 5 SRCSTK: SNZ /IS STACK EMPTY? -06476 003464 6 5 JMP NXTMES /YES -06477 011670 6 5 STA READY -06500 010000 6 5 STA 0 -06501 100400 6 5 SPL /IS THIS A REAS BLOCK? -06502 044003 6 5 LDA REAS X /YES, SO GET A PACKET -06503 010000 6 5 STA 0 -06504 044007 6 5 LDA HEAD2 X /GET SOURCE OF THIS PACKET -06505 013673 6 5 ERA SOURCE /COMPARE WITH OURS -06506 007674 6 5 ANA (SRCEI) -06507 100040 6 5 SZE /MATCH? -06510 003532 6 5 JMP SRCSTL /NO -06511 044006 6 5 LDA HEAD1 X -06512 101400 6 5 SMI 0"A"PRIBIT /IS IT PRIORITY? -06513 003520 6 5 JMP SRCST2 /NO -06514 105660 6 5 LDA MESTAB I /GET ORD NO WE WANT -06515 052005 6 5 ERA HEAD X /COMPARE WITH THIS PACKET -06516 007712 6 5 ANA (ORDNO) -06517 003524 6 5 JMP SRCST3 -06520 105660 6 5 SRCST2: LDA MESTAB I /GET MESS NO WE WANT -06521 017733 6 5 SUB (0 0 3"T"400) -06522 052005 6 5 ERA HEAD X /COMPARE WITH THIS PACKET -06523 141044 6 5 CAR 0"A"MESSNO -06524 100040 6 5 SRCST3: SZE /IS THIS THE NEXT TO GO? -06525 003532 6 5 JMP SRCSTL /NO -06526 073670 6 5 LDX READY -06527 066000 6 5 IMA 0 X /YES -06530 111667 6 5 STA TEND I /REMOVE FROM MESS STACK -06531 003555 6 5 JMP T2H /AND GIVE TO HOST - -06532 005670 6 5 SRCSTL: LDA READY /LOOP BACK FOR MORE -06533 140100 6 5 SSP -06534 011667 6 5 STA TEND -06535 105667 6 5 LDA TEND I -06536 003475 6 5 JMP SRCSTK - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 80 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -06537 000000 6 REASGT: 0 /FIND A MATCH ON MESSID IN REAS STO+ -06540 073734 6 LDX (SHRQ) -06541 001001 6 INH T.O /LOOK FOR THIS MESSAGE IN REAS -06542 044000 6 5 RELOOK: LDA 0 X /NEXT REAS BLOCK -06543 101040 6 5 SNZ /NO MORE REAS BLOCKS? -06544 103537 6 5 JMP REASGT I /YES, SO RETURN NO SKIP -06545 033667 6 5 STX TEND /SAVE END PNTR -06546 010000 6 5 STA 0 -06547 044001 6 5 LDA RID X /GET THIS MESS ID -06550 013664 6 5 ERA MESSID /COMPARE WITH OURS -06551 100040 6 5 SZE /IS THIS OUR MESSAGE? -06552 003542 6 5 JMP RELOOK /NO -06553 025537 6 5 IRS REASGT /SKIP=SUCCESS -06554 103537 6 5 JMP REASGT I - -06555 000401 6 5 T2H: ENB TSK -06556 004114 6 LDA ONE -06557 011672 6 STA NPKTS -06560 073670 6 LDX READY /LOAD THE PACKET PNTR -06561 005670 6 LDA READY /REGULAR MESSAGE READY FOR HOST -06562 100400 6 SPL /IS THIS A SINGLE PACKET? -06563 003625 6 JMP T2H8 /NO -06564 011671 6 STA READYE /SAVE END PNTR -06565 121735 6 T2HL1: JST (TSUB) I -06566 044006 6 LDA HEAD1 X -06567 001001 6 INH [I2H,H2I,T.O] -06570 121707 6 3 JST (HOSTNO) I /GET HOST NUMBER -06571 044006 6 3 LDA HEAD1 X -06572 006112 6 3 ANA SIGN 0"A"PRIBIT -06573 100040 6 3 SZE /PICK PRI OR REG QUEUE -06574 005736 6 3 LDA (EHPQ+0-EHQ) -06575 115737 6 3 ADD (LOCHST) I /AOD OFFSET GENERATED IN HOSTNO -06576 026000 6 3 IMA 0 /PUT IN X AND GET PKT PNTR -06577 150343 6 3 STA EHQ XI /PUT ON HOST QUEUE -06600 005671 6 3 LDA READYE -06601 050343 6 3 STA EHQ X -06602 005672 6 3 LDA NPKTS /NUM PKTS IN MSG -06603 054517 6 3 ADD NHA X /NUM PKTS FOR HOST -06604 050517 6 3 STA NHA X /ADJUST COUNTS -06605 073670 6 3 LDX READY -06606 044006 6 3 LDA HEAD1 X -06607 073660 6 3 LDX MESTAB -06610 101400 6 3 SMI 0"A"PRIBIT /PRIORITY? -06611 003622 6 3 JMP T2HL2 /NO -06612 121740 6 3 JST (UPORD) I /YES, SO BUMP ORD NO -06613 073670 6 3 LDX READY -06614 105660 6 3 LDA MESTAB I /GET MESS NO WE WANT -06615 017733 6 3 SUB (0 0 3"T"400) -06616 052005 6 3 ERA HEAD X /COMPARE WITH WHAT WE GOT -06617 141044 6 3 CAR 0"A"MESSNO -06620 073660 6 3 LDX MESTAB -06621 101040 6 3 SNZ /MATCH? -06622 121731 6 3 T2HL2: JST (UPMESS) I /BUMP MESS NO -06623 121741 6 3 JST (TASK2H) I RET TSK /POKE HOST IF NECESSARY -06624 003471 6 JMP SMSTK /GO BACK FOR MORE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 81 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THE FIRST PKT IS COUNTED FIRST, IN T2H - /AND TRACED LAST, IN T2HL1 - /SUBSEQUENT PKTS ARE COUNTED AND TRACED IN T2HS1 - LEV TSK -06625 140100 6 T2H8: SSP /MULTI-PACKET MESSAGE READY -06626 011665 6 STA ORB /OUR REASSY BLOCK -06627 044003 6 LDA REAS X /LOAD PKT PNTR -06630 011670 6 STA READY -06631 140040 6 CRA -06632 050013 6 STA REAS+8 X 0"A"RSF - /A TRICK TO INIT RSF AND MAKE IT LOOK LIKE PKT 9 -06633 044004 6 T2H81: LDA REAS+1 X /LOAD ADDR OF NEXT PACKET -06634 150003 6 STA REAS XI /CHAIN PACKETS TOGETHER -06635 101040 6 SNZ /IS THIS THE LAST PKT? -06636 003650 6 JMP T2H82 /YES -06637 033671 6 STX READYE /NO, STORE THE PKT PNTR -06640 010000 6 STA 0 -06641 121735 6 JST (TSUB) I /TRACE PKT IF NECESSARY -06642 073671 6 LDX READYE -06643 140040 6 CRA /CLEAR REAS PNTR -06644 050003 6 STA REAS X -06645 024000 6 IRS 0 /INCREMENT ADDRESS -06646 025672 6 IRS NPKTS /INCREMENT PKT COUNT -06647 003633 6 JMP T2H81 /CHAIN NEXT PACKET - -06650 066003 6 T2H82: IMA REAS X /CLEAR REAS PNTR -06651 011671 6 STA READYE /AND SAVE LAST PKT PNTR -06652 073670 6 LDX READY /LOAD FIRST PKT PNTR -06653 005665 6 LDA ORB /LOAD REASSY BLOCK PNTR -06654 001001 6 INH T.O -06655 026326 6 5 IMA RASF /FREE REAS BLOCK AND LINK TO TOP -06656 110326 6 5 STA RASF I /OF FREE LIST -06657 003565 6 5 JMP T2HL1 - - LEV VAR -06660 V MESTAB: BSS 1 /PNTR TO MESS TAB ENTRY -06661 V MESNUM: BSS 1 /MESSNO OF THIS PKT -06662 V MESBIT: BSS 1 /BIT CORRESPONDING TO OUR MESSAGE -06663 V PKTN: BSS 1 /NUMBER OF THIS PACKET -06664 V MESSID: BSS 1 /MESSAGE ID (MESS NO+SRCE IMP) -06665 V ORB: BSS 1 /OUR REAS BLOCK -06666 V ORS: BSS 1 /OUR REAS SLOT -06667 V TEND: BSS 1 /TEMP END PNTR -06670 V READY: BSS 1 /PNTR TO PACKET TO GIVE TO HOST -06671 V READYE: BSS 1 /END PNTR FOR READY -06672 V NPKTS: BSS 1 /PKT COUNTER -06673 V SOURCE: BSS 1 /SOURCE IMP FOR THIS PACKET - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 82 IMP,3050,IMP 7:20 PM 9/16/1973 - -06674 000077 C LEV CON CONSTANTS -06675 000004 C -06676 000100 C -06677 032271 C -06700 001246 C -06701 000014 C -06702 005601 C -06703 007063 C -06704 005577 C -06705 177437 C -06706 000002 C -06707 007244 C -06710 000335 C -06711 003165 C -06712 000060 C -06713 000200 C -06714 015303 C -06715 005635 C -06716 177761 C -06717 000400 C -06720 005457 C -06721 021321 C -06722 040003 C -06723 005651 C -06724 005604 C -06725 177477 C -06726 177661 C -06727 000300 C -06730 000102 C -06731 015347 C -06732 000327 C -06733 001400 C -06734 000340 C -06735 005504 C -06736 000010 C -06737 007257 C -06740 015361 C -06741 007222 C -02415 176751 C PAGEND 6,UNCON,1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 83 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -07063 044005 6 REPGOT: LDA HEAD X /REPLY TO A TRANSMISSION OF OURS -07064 007327 6 ANA (ONEOR8) -07065 101040 6 SNZ /IS IT A REPLY TO A MULTI-PACKET? -07066 003134 6 JMP REPGT8 /YES -07067 105330 6 LDA (MESSID) I -07070 001001 6 INH [H2I,T.O] -07071 121331 6 4 JST (PPTGET) I /FIND OUR TRANS IN RPT -07072 003220 6 4 JMP GOTGVB /NOT THERE, MUST BE A GVB -07073 011131 6 4 STA PPTASK /SAVE PPT PNTR -07074 000401 6 4 ENB TSK -07075 072514 6 LDX THIS -07076 044005 6 LDA HEAD X -07077 007332 6 ANA (ALLOC) -07100 101040 6 SNZ /IS THIS REPLY AN ALLOCATE OF 1? -07101 003113 6 JMP NOALL1 /NO -07102 173131 6 LDX PPTASK I /YES, CHECK FOR DUPLICATE ALLOC -07103 044005 6 LDA HEAD X -07104 007333 6 ANA (REQALL) -07105 101040 6 SNZ /WAS REQUEST BIT SET? -07106 103334 6 JMP (FQOK) I /NO, SO ALLOC IS A DUPLICATE -07107 105131 6 LDA PPTASK I /YES, SO WE MARK PPT -07110 140500 6 SSM 0"A"RETRAN /FOR RETRANSMISSION FROM BACK -07111 111131 6 STA PPTASK I -07112 103334 6 JMP (FQOK) I /MESS NO NOT REPLIED TO YET - -07113 021260 6 NOALL1: JST RFNM1 /SET UP TWDPA FOR RFNM OR INC -07114 003125 6 0 LCK FRE JMP DDEAD1 /GIVE HOST A DESTINATION DEAD -07115 173131 6 LEV TSK LDX PPTASK I -07116 044010 6 LDA HEAD3 X /PICK UP LINK WORD -07117 021306 6 JST RFNM2 LCK FRE -07120 044007 6 0 LDA HEAD2 X -07121 021244 6 0 JST HOSTNO -07122 044006 6 0 LDA HEAD1 X /GFT SOURCE OF MESS -07123 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) -07124 013132 6 0 ERA TWDPA /PUT IN IH MESS TYPE -07125 073257 6 0 DDEAD1: LDX LOCHST -07126 120670 6 0 JST OWP I /DO A 2 WRD PUT -07127 003213 6 0 DEFSTAT JMP PPTFRE, HS6 -00575 031304 6 0 -31771 007127 6 0 -32011 003213 6 0 -07130 103336 6 0 JMP (FQNG) I /NO ROOM FOR 2 WRD MESS - - LEV VAR -07131 V PPTASK: BSS 1 /POINTER TO OUR PPT OR PLT SLOT -07132 V TWDPA: BSS 1 /FIRST WORD OF 2 WRD PUT -07133 V LOCHNO: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 84 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -07134 105330 6 REPGT8: LDA (MESSID) I /REPLY TO A MULTI-PCKT TRANS -07135 001001 6 INH [H2I,T.O] -07136 121337 6 4 JST (PLTGET) I /FIND OUR TRANS IN PLT - DEFHLT [CANT FIND MULTI-PKT MESS FOR THIS REPLY] -07137 121340 6 4 JST (THLTOK) I /NOT THERE, FOUL-UP -07140 033131 6 4 STX PPTASK /SAVE PLT PNTR -07141 044000 6 4 LDA PLT0 X -07142 006120 6 4 ANA SEVEN 0"A"PLTHST -07143 011133 6 4 STA LOCHNO /GET LOCAL HOST NO -07144 072514 6 4 LDX THIS -07145 044005 6 4 LDA HEAD X -07146 007332 6 4 ANA (ALLOC) -07147 000401 6 4 ENB TSK -07150 101040 6 SNZ /IS THIS REPLY AN ALLOCATE OF 8? -07151 003166 6 JMP NOALL8 /NO -07152 001001 6 INH [SIN,H2I,T.O] -07153 105341 6 0 LDA (TALLYI) I /GET IN PNTR -07154 013342 6 0 ERA (TALLY+TALLYL) /COMPARE WITH END PNTR -07155 101040 6 0 SNZ /AT END? -07156 103336 6 0 JMP (FQNG) I /YES, NO ROOM FOR ALLOCATE SO NACF -07157 105343 6 0 LDA (SOURCE) I /GET SOURCE OF ALLOC -07160 111344 6 0 STA (TALLYI 0 I) I /STUFF THRU IN PNTR -07161 125341 6 0 IRS (TALLYI) I /BUMP IN PNTR -07162 044005 6 0 LDA HEAD X -07163 007333 6 0 ANA (RFNM) -07164 101040 6 0 SNZ /IS THIS REPLY AN ALLOCATED RFNM? -07165 003233 6 0 JMP GUDAL8 /NO, JUST AN ALLOCATE OF 8, POKE HO - RET TSK -07166 021260 6 NOALL8: JST RFNM1 /SET UP TWDPA FOR RFNM OR INC -07167 003176 6 0 LCK FRE JMP DDEAD8 /GIVE HOST A DESTINATION DEAD -07170 073131 6 LEV TSK LDX PPTASK -07171 044030 6 LDA PLT2 X /PICK UP LINK WORD -07172 021306 6 JST RFNM2 LCK FRE -07173 044014 6 0 LDA PLT1 X /GET SOURCE OF MESS -07174 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) -07175 013132 6 0 ERA TWDPA /PUT IN IH MESS TYPE -07176 073133 6 0 DDEAD8: LDX LOCHNO -07177 033257 6 0 STX LOCHST -07200 120670 6 0 JST OWP I /DO A 2 WRD PUT -07201 003215 6 0 DEFSTAT JMP GUDRP0, HS7 /AND POKE HOST -00576 031313 6 0 -31772 007201 6 0 -32012 003215 6 0 - -07202 072514 6 0 LDX THIS /NO ROOM FOR 2 WRD MESS -07203 044005 6 0 LDA HEAD X -07204 007332 6 0 ANA (ALLOC) -07205 101040 6 0 SNZ /WAS REPLY AN ALLOCATE OF 8? -07206 103336 6 0 JMP (FQNG) I /NO, SO QUIT -07207 105343 6 0 LDA (SOURCE) I /YES, GET SOURCE -07210 121345 6 0 JST (TALLYG) I /AND GET TALLY ENTRY BACK AGAIN -07211 103336 6 0 JMP (FQNG) I /NOT THERE, FOUL-UP -07212 103336 6 0 JMP (FQNG) I /AND QUIT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 85 IMP,3050,IMP 7:20 PM 9/16/1973 - -07213 173131 6 0 PPTFRE: LDX PPTASK I -07214 120671 6 0 JST FLUSHI I /FREE PPT ENTRY NOW THAT RFNM IS IN -07215 021222 6 0 GUDRP0: JST TASK2H /POKE HOST IF NECESSARY - LEV TSK -07216 140040 6 GUDRP1: CRA -07217 111131 6 STA PPTASK I /CLEAR PPT OR PLT ENTRY -07220 121346 6 GOTGVB: JST (MESSOK) I /MARK MESS NO AS REPLIED - LCK [H2I,T.O] -07221 103334 6 4 JMP (FQOK) I - - LCK SIN -07222 000000 6 0 TASK2H: 0 /GOT SOMETHING FOR HOST OUTPUT -07223 073257 6 0 LDX LOCHST -07224 104700 6 0 LDA IHXX I -07225 000013 6 0 EXA -07226 101040 6 0 SNZ /IS HOST IDLE? -07227 121347 6 0 JST (IHSB) I RET TSK /YES, SO POKE IT -07230 001001 6 INH ALL -07231 120672 6 0 JST DODXA I RET TSK -07232 103222 6 JMP TASK2H I - - LCK SIN -07233 073133 6 0 GUDAL8: LDX LOCHNO /GOT AN ALLOCATE OF 8 FOR HOST INPU -07234 044453 6 0 LDA HILO X -07235 017350 6 0 SUB (HIALL) -07236 000013 6 0 EXA -07237 101040 6 0 SNZ /IS HOST HUNG ON ALLOCATE? -07240 121351 6 0 JST (HISB) I RET TSK /POKE HIM SINCE HE IS WAI -07241 001001 6 INH ALL -07242 120672 6 0 JST DODXA I RET TSK -07243 003216 6 JMP GUDRP1 - - LEV [T.O,TSK] -07244 000000 5 HOSTNO: 0 /COMPUTE HOST NO -07245 011257 5 STA LOCHST -07246 007352 5 ANA (DESTH) -07247 040672 5 ARR 6 -07250 027257 5 IMA LOCHST /SAVE DEST HOST -07251 007353 5 ANA (FORIMP) -07252 100040 5 SZE /FAKE HOST? -07253 004130 5 LDA PLNH /YES -07254 015257 5 ADD LOCHST -07255 011257 5 STA LOCHST -07256 103244 5 JMP HOSTNO I - LEV VAR -07257 V LOCHST: BSS 1 /WHICH HOST WE ARE FEEDING - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 86 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV TSK -07260 000000 6 RFNM1: 0 /DISTINGUISH BETWEEN RFNM AND INC T: -07261 044006 6 LDA HEAD1 X -07262 007354 6 ANA (REPDED) -07263 100040 6 SZE /IS THIS A DESTINATION DEAD? -07264 003275 6 JMP RFNMD /YES -07265 044005 6 LDA HEAD X -07266 007355 6 ANA (INCTRN) -07267 100040 6 SZE /IS THIS REPLY MARKED INCOMFLETE? -07270 005356 6 LDA (0 0 CRFNM"X"CINCTR) /YES -07271 013357 6 ERA (CRFNM) /NO -07272 011132 6 STA TWDPA /SAVE IH MESS TYPE -07273 025260 6 IRS RFNM1 -07274 103260 6 JMP RFNM1 I - -07275 044010 6 RFNMD: LDA HEAD3 X 0"A"CHSTD -07276 001001 6 INH FRE -07277 010515 6 0 STA TWDP /SAVE LINK WORD ANO CODE -07300 044006 6 0 LDA HEAD1 X -07301 021244 6 0 JST HOSTNO -07302 044007 6 0 LDA HEAD2 X -07303 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) -07304 013360 6 0 ERA (CDESTD) /PUT IN DEST DEAD CODE -07305 103260 6 0 JMP RFNM1 I - - LEV TSK -07306 000000 6 RFNM2: 0 /TRANSLATE SOME INCOMPLETES INTO -07307 001001 6 INH FRE /ERROR IN DATA MESS -07310 010515 6 0 STA TWDP /SAVE LINK WORD -07311 007361 6 0 ANA (SUBCOD) -07312 013362 6 0 ERA (CERROR) -07313 100040 6 0 SZE /WAS THIS MARKED AS AN ERROR AT SOU -07314 003317 6 0 JMP .+3 /NO -07315 005363 6 0 LDA (CERRDT) /YES, SO CHANGE IH MESS TYPE -07316 011132 6 0 STA TWDPA -07317 005132 6 0 LDA TWDPA -07320 013364 6 0 ERA (CINCTR) -07321 101040 6 0 SNZ /IS THE IH MESS TYPE INC TRN? -07322 103306 6 0 JMP RFNM2 I /YES, KEEP SUB CODE -07323 004515 6 0 LDA TWDP /NO, A RFNM OR ERROR IN DATA -07324 007365 6 0 ANA (LINKNO) -07325 010515 6 0 STA TWDP /WE MAY HAVE PUT IN AT INC? TIME -07326 103306 6 0 JMP RFNM2 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 87 IMP,3050,IMP 7:20 PM 9/16/1973 - -07327 000200 C LEV CON CONSTANTS -07330 006664 C -07331 015033 C -07332 000002 C -07333 000100 C -07334 005601 C -07335 070377 C -07336 005637 C -07337 015205 C -07340 005577 C -07341 015155 C -07342 032271 C -07343 006673 C -07344 115155 C -07345 015114 C -07346 006360 C -07347 016042 C -07350 014445 C -07351 013106 C -07352 000300 C -07353 040000 C -07354 000400 C -07355 000010 C -07356 006000 C -07357 002400 C -07360 003400 C -07361 000007 C -07362 000004 C -07363 004000 C -07364 004400 C -07365 177760 C -02416 173373 C PAGEND 7,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 88 IMP,3050,IMP 7:20 PM 9/16/1973 - - - PAGM2I: LEV M2I / MODEM TO IMP (M2I) -00064 010043 0 M1INIL/ M2I1 -00065 010067 0 M2INIL/ M2I2 -00066 010113 0 M3INIL/ M2I3 -00067 010137 0 M4INIL/ M2I4 -00070 010163 0 M5INIL/ M2I5 - PAGM2I/ -10043 000000 0 M2I1: INT M2I /MODEM 1 ENTPANCE -10044 000011 0 DXA -10045 033244 0 STX TX /SAVE X REG -10046 072113 0 LDX ZERO /SET UP ACTIVE MODEM NO -10047 0 M2I1A: BSS 1 /INITIALLY A JMP M2II UNTIL AN INPL -10050 000043 0 INK -10051 011245 0 STA TK /SAVE KEYS -10052 070471 0 DEFSTAT M1ERR,MI1 -00577 031202 0 -31773 010052 0 -32013 070471 0 -10053 003231 0 M1OK: JMP M2I0 /THIS IS A NOP WHEN THE LINE GOES DI -10054 004021 0 DIS1: LDA M1INBP+1 -10055 017625 0 SUB (BUFE-ACKH) -10056 010020 0 M2I1B: STA M1INBP -10057 030471 0 M1IN /ERROR- NEW "IN" INTO SAME BUFFER -10060 005245 0 DPP1: LDA TK -10061 000013 0 EXA -10062 171020 0 OTK -10063 005243 0 LDA TA -10064 073244 0 LDX TX -10065 000401 0 ENB M2I -10066 103043 0 JMP M2I1 I - -10067 000000 0 M2I2: INT M2I /MODEM 2 ENTRANCE -10070 000011 0 DXA -10071 033244 0 STX TX -10072 072114 0 LDX ONE -10073 0 M2I2A: BSS 1 -10074 000043 0 INK -10075 011245 0 STA TK -10076 070472 0 DEFSTAT M2ERR,MI1A -00600 031226 0 -31774 010076 0 -32014 070472 0 -10077 003231 0 M2OK: JMP M2I0 -10100 004023 0 DIS2: LDA M2INBP+1 -10101 017625 0 SUB (BUFE-ACKH) -10102 010022 0 STA M2INBP -10103 030472 0 M2IN -10104 005245 0 DPP2: LDA TK -10105 000013 0 EXA -10106 171020 0 OTK -10107 005243 0 LDA TA -10110 073244 0 LDX TX -10111 000401 0 ENB M2I -10112 103067 0 JMP M2I2 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 89 IMP,3050,IMP 7:20 PM 9/16/1973 - -10113 000000 0 M2I3: INT M2I /MODEM 3 ENTRANCE -10114 000011 0 DXA -10115 033244 0 STX TX -10116 072115 0 LDX TWO -10117 0 M2I3A: BSS 1 -10120 000043 0 INK -10121 011245 0 STA TK -10122 070473 0 DEFSTAT M3ERR,MI1B -00601 031236 0 -31775 010122 0 -32015 070473 0 -10123 003231 0 M3OK: JMP M2I0 -10124 004025 0 DIS3: LDA M3INBP+1 -10125 017625 0 SUB (BUFE-ACKH) -10126 010024 0 STA M3INBP -10127 030473 0 M3IN -10130 005245 0 DPP3: LDA TK -10131 000013 0 EXA -10132 171020 0 OTK -10133 005243 0 LDA TA -10134 073244 0 LDX TX -10135 000401 0 ENB M2I -10136 103113 0 JMP M2I3 I - -10137 000000 0 M2I4: INT M2I /MODEM 4 ENTRANCE -10140 000011 0 DXA -10141 033244 0 STX TX -10142 072116 0 LDX THREE -10143 0 M2I4A: BSS 1 -10144 000043 0 INK -10145 011245 0 STA TK -10146 070474 0 DEFSTAT M4ERR,MI1C -00602 031246 0 -31776 010146 0 -32016 070474 0 -10147 003231 0 M4OK: JMP M2I0 -10150 004027 0 DIS4: LDA M4INBP+1 -10151 017625 0 SUB (BUFE-ACKH) -10152 010026 0 STA M4INBP -10153 030474 0 M4IN -10154 005245 0 DPP4: LDA TK -10155 000013 0 EXA -10156 171020 0 OTK -10157 005243 0 LDA TA -10160 073244 0 LDX TX -10161 000401 0 ENB M2I -10162 103137 0 JMP M2I4 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 90 IMP,3050,IMP 7:20 PM 9/16/1973 - -10163 000000 0 M2I5: INT M2I /MODEM 5 ENTRANCE -10164 000011 0 DXA -10165 033244 0 STX TX -10166 072117 0 LDX FOUR -10167 0 M2I5A: BSS 1 -10170 000043 0 INK -10171 011245 0 STA TK -10172 070475 0 DEFSTAT M5ERR,MI1D -00603 031256 0 -31777 010172 0 -32017 070475 0 -10173 003231 0 M5OK: JMP M2I0 -10174 004031 0 DIS5: LDA M5INBP+1 -10175 017625 0 SUB (BUFE-ACKH) -10176 010030 0 STA M5INBP -10177 030475 0 M5IN -10200 005245 0 DPP5: LDA TK -10201 000013 0 EXA -10202 171020 0 OTK -10203 005243 0 LDA TA -10204 073244 0 LDX TX -10205 000401 0 ENB M2I -10206 103163 0 JMP M2I5 I - - /SOME OFFSETS WE NEED FOR THE FIRST MODEM INPUT TO GRAB A BU - DIS1O=DIS1-0-M2I1 - M2I1AO=M2I1A-0-M2I1 - M2I1BO=M2I1B-0-M2I1 -10207 011243 0 M2II: STA TA -10210 044064 0 LDA M1INIL X -10211 010000 0 STA 0 /BASE REG FOR OUR INSTR MODIFICATIO -10212 044011 0 LDA DIS1O X -10213 015626 0 ADD (STA-0-LDA) -10214 011223 0 STA M2II1 -10215 104324 0 LDA FREE I -10216 101040 0 SNZ -10217 003227 0 JMP M2II2 -10220 026324 0 IMA FREE -10221 024563 0 IRS NFS -10222 015627 0 ADD (BUFE 0 I) -10223 0 M2II1: BSS 1 /SET UP FIRST REAL INPUT BUFFER -10224 005207 0 LDA M2II -10225 050004 0 STA M2I1AO X -10226 042011 0 JMP DIS1O X - -10227 005630 0 M2II2: LDA (I 0 1) -10230 042013 0 JMP M2I1BO X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 91 IMP,3050,IMP 7:20 PM 9/16/1973 - -10231 032674 0 M2I0: STX MP /SAVE ACTIVE MODEM NO -10232 045254 0 LDA LEND X /PICK UP END-OF-LINE BIT FOR THIS MI -10233 011261 0 STA LENDT -10234 104324 0 LDA FREE I /GET PKT FOR FREE LIST -10235 101040 0 DEFSTAT SNZ, MI3 -00604 031217 0 -32000 010235 0 -32020 101040 0 -10236 143604 0 JMP DIS XI /FREE LIST EMPTY - INPUT LOST -10237 024563 0 IRS NFS -10240 026324 0 IMA FREE -10241 015631 0 ADD (ACKH 0 I) /SET UP DMC START INPUT PNTR -10242 143262 0 JMP DIP XI /DISPATCH TO SEPARATE CODE FOR EACH - - LEV VAR -10243 V TA: BSS 1 /SAVE A REG -10244 V TX: BSS 1 /SAVE X REG -10245 V TK: BSS 1 /SAVE KEYS -10246 V TAR: BSS 1 /SAVE ADDRET -10247 010053 V M2IOK: M1OK -10250 010077 V M2OK -10251 010123 V M3OK -10252 010147 V M4OK -10253 010173 V M5OK -10254 V LEND: BSS CH /ENDBIT ON=HIGH NO IMP - /SIGN BIT ON= DEAD LINE -10261 V LENDT: BSS 1 /TEMP BECAUSE OF ONLY ONE X REG - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 92 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -10262 010317 C DIP: DP1 -10263 010311 C DP2 -10264 C SATDEF DP3 -02244 010264 C -02274 010303 C -02324 010303 C -10265 010275 C DP4 -10266 010267 C DP5 - - LEV M2I -10267 072030 0 DP5: LDX M5INBP -10270 010030 0 STA M5INBP -10271 015625 0 ADD (BUFE-ACKH) -10272 026031 0 IMA M5INBP+1 -10273 030475 0 M5IN -10274 003324 0 JMP DIPE - -10275 072026 0 DP4: LDX M4INBP -10276 010026 0 STA M4INBP -10277 015625 0 ADD (BUFE-ACKH) -10300 026027 0 IMA M4INBP+1 -10301 030474 0 M4IN -10302 003324 0 JMP DIPE - -10303 072024 0 DP3: LDX M3INBP -10304 010024 0 STA M3INBP -10305 015625 0 ADD (BUFE-ACKH) -10306 026025 0 IMA M3INBP+1 -10307 030473 0 M3IN -10310 003324 0 JMP DIPE - -10311 072022 0 DP2: LDX M2INBP -10312 010022 0 STA M2INBP -10313 015625 0 ADD (BUFE-ACKH) -10314 026023 0 IMA M2INBP+1 -10315 030472 0 M2IN -10316 003324 0 JMP DIPE - -10317 072020 0 DP1: LDX M1INBP /PICK UP OUR DMC INPUT PNTR -10320 010020 0 STA M1INBP /STORE NEW DMC INPUT PNTR -10321 015625 0 ADD (BUFE-ACKH) /COMPUTE NEW DMC END PN+' -10322 026021 0 IMA M1INBP+1 /SWAP FOR CURRENT END PNTR -10323 030471 0 M1IN /DO NEW INPUT OCP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 93 IMP,3050,IMP 7:20 PM 9/16/1973 - -10324 017627 0 DIPE: SUB (BUFE 0 I) /GET OLD PKT PNTR + SAVE IN X -10325 011611 0 STA M2ISP /SAVE FOR TASK-ING OR FLUSHING -10326 026000 0 IMA 0 /SWAP IT FOR END PNTR -10327 017630 0 SUB (1 0 I) /ADJUST IT FOR ONE OFF -10330 050111 0 STA BUFE X 0"A"TWOQ /SAVE IT IN PKT END PNTR -10331 140040 0 CRA -10332 050000 0 STA 0 X /CLEAR CHAIN PNTR -10333 044005 0 LDA HEAD X -10334 100400 0 SPL 0"A"SNDCOR -10335 101100 0 SLN 0"A"LINETS -10336 100000 0 SKP /ALLOW SNDCOR W/O CHKSUM -10337 103632 0 JMP (M2IRQC) I /SEND CORE REQUEST -10340 005633 0 LDA (M2IADR) -10341 026111 0 IMA ADDRET /SET UP ADD CHAIN RETURN FOR M2I -10342 011246 0 STA TAR /AND SAVE CURRENT OWNER OF ADDER -10343 004000 0 LDA 0 -10344 056111 0 SUB BUFE X /COMPUTE BUFFER LENGTH -10345 015634 0 ADD (ADDBOT+ACKH) /ADD IN TABLE OFFSET -10346 011351 0 STA M2IADJ /AND SAVE AS ADD DISPATCH -10347 017635 0 SUB (ADDBOT) /GET -(NO OF WORDS) IN A -10350 103351 0 JMP M2IADJ I /AND JMP INTO ADD CHAIN -10351 0 M2IADJ: BSS 1 -10352 100040 0 M2IADR: SZE /IS THE CHECKSUM GOOD? - DEFPLC [NOP HERE TO ACCEPT BAD CHECKSUM PACKETS] -10353 003402 0 JMP PKTCH1 /NO, REPORT AS AN ERROR -10354 005246 0 LDA TAR -10355 010111 0 STA ADDRET /AND RESTORE PREVIOUS OWNER OF ADC -10356 131040 0 RDCLOK -10357 003356 0 JMP .-1 -10360 050001 0 STA IT X /SAVE INPUT TIME- 100 MS CLOCK -10361 004674 0 LDA MP 0"A"INPCHN"A"HSTMOD -10362 050003 0 STA INCH X /SAVE INPUT MODEM NO -10363 044005 0 LDA HEAD X -10364 101100 0 SLN 0"A"LINETS /LT OR ROUTE? -10365 003420 0 JMP M2IPKT /NO -10366 040677 0 ARR 1 -10367 100100 0 SLZ 0"A"NULPKT /IS THIS A NULL PKT OF ACKS ONLY? -10370 003404 0 JMP M2INUL /YES -10371 040677 0 ARR 1 -10372 100100 0 SLZ 0"A"GETCOR /A RELOAD DEMAND? -10373 103636 0 JMP (M2IDMC) I /YES -10374 073611 0 M2T0: LDX M2ISP -10375 132401 0 M2T: STX ETQ I /PUT ON TASK QUEUE -10376 032401 0 STX ETQ -10377 030041 0 TASK /POKE TASK INTERRUPT -10400 072674 0 LDX MP -10401 143577 0 JMP DIPP XI /DISMISS INTERRUPT - -10402 072674 0 PKTCH1: LDX MP - DEFHLT [SOFTWARE CHECKSUM ERROR IN PACKET] -10403 121637 0 JST (PKTCHK) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 94 IMP,3050,IMP 7:20 PM 9/16/1973 - -10404 044005 0 M2INUL: LDA HEAD X /GOT A NULL PACKET OF ACKS -10405 141140 0 ICL /PICK UP IMP NO -10406 012106 0 ERA MINE /COMPARE WITH MINE -10407 101040 0 SNZ /IS THIS LINE LOOPED? -10410 003375 0 JMP M2T /YES, GIVE NULL TO TASK, IGNORE ACK1 -10411 004420 0 LDA THD /PICK UP CHAN TO HIGH NO IMP -10412 012674 0 ERA MP /COMPARE WITH THIS LINE NO -10413 100040 0 SZE /IS IT THIS LINE? -10414 003426 0 JMP M2IACK /NO -10415 044006 0 LDA HEAD1 X /YES, SO COPY IN HIS VALUE FOR SYNC -10416 010417 0 STA SYNC /KEEPING GLOBAL TIME THROUGHOUT NET -10417 003426 0 JMP M2IACK /NO, PROCESS ACKS, THEN GIVE TO TA 1 - -10420 044007 0 M2IPKT: LDA HEAD2 X -10421 007640 0 ANA (ENDBIT) -10422 013261 0 ERA LENDT -10423 101400 0 SMI /IS THIS LINE DOWN? -10424 101040 0 SNZ /IS THIS PKT FROM US? -10425 103641 0 JMP (M2IFRE) I /YES. THROW AWAY PKT -10426 044004 0 M2IACK: LDA ACKH X -10427 140401 0 CMA -10430 141050 0 CAL 0"A"ACKTAB -10431 011612 0 STA ACKT /ACKS FROM PACKET -10432 072674 0 LDX MP -10433 052641 0 ERA TSEX X -10434 046653 0 ANA CHFREE X /SHOULD BE NO ACKS ON FREE SLOTS -10435 100040 0 SZE - DEFHLT [SPURIOUS ACK] -10436 121642 0 JST (PKTCH2) I -10437 005612 0 LDA ACKT -10440 066641 0 IMA TSEX X /COMPARE WITH WHAT WE GOT -10441 052641 0 ERA TSEX X -10442 101040 0 SNZ -10443 003374 0 JMP M2T0 /NO ACKS, SO QUIT -10444 011612 0 STA ACKT /SAVE ACKS TO PROCESS -10445 052653 0 ERA CHFREE X /FREE UR ACKED CHANNELS -10446 050653 0 STA CHFREE X -10447 005612 0 LDA ACKT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 95 IMP,3050,IMP 7:20 PM 9/16/1973 - -10450 173643 0 ACKLOP: LDX (I2MTAB 0 X) I -10451 140407 0 TCA -10452 007612 0 ANA ACKT /GET LOWEST BIT THAT TRANSITIONED -10453 013612 0 ERA ACKT /TURN IT OFF -10454 027612 0 IMA ACKT /UPDATE SET OF ACKS TO PROCESS -10455 013612 0 ERA ACKT /AND GO PROCESS THIS ONE -10456 023644 0 CAS (20) -10457 003547 0 JMP ACK567 -10460 003563 0 JMP ACK4 -10461 022117 0 CAS FOUR -10462 003566 0 JMP ACK3 -10463 003571 0 JMP ACK2 -10464 101100 0 SLN -10465 003574 0 JMP ACK1 -10466 140040 0 CRA -10467 066000 0 IMA 0 X -10470 072674 0 ACKS: LDX MP -10471 023645 0 CAS (1777) /IS THIS A TRUE PKT PNTR? -10472 003475 0 JMP ACKGUD /YES -10473 101000 0 NOP - DEFHLT [QUASI-IMPOSSIBLE SPURIOUS ACK] -10474 121642 0 JST (PKTCH2) I /DEBUG SPURIOUS ACK -10475 062634 0 ACKGUD: CAS I2MNXT X /IS THIS THE PKT CURRENTLY ON THE L -10476 100000 0 SKP /NO -10477 003536 0 JMP ACKSYN /YES, WE CANT FREE IT YET -10500 010000 0 STA 0 -10501 044111 0 LDA BUFE X -10502 100400 0 SPL 0"A"TWOQ -10503 003511 0 JMP FREE1 /ON TWO QUEUES -10504 004324 0 LDA FREE /ON ONE ONLY, SO FREE -10505 050000 0 STA 0 X -10506 032324 0 STX FREE -10507 024537 0 IRS NFA -10510 003513 0 JMP FREE2 -10511 140100 0 FREE1: SSP 0"A"TWOQ -10512 050111 0 STA BUFE X /MARK AS ON ONE QUEUE NOW -10513 024564 0 FREE2: IRS NSFS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 96 IMP,3050,IMP 7:20 PM 9/16/1973 - -10514 044002 0 ACKS1: LDA PTRT X /TRACING? -10515 100040 0 SZE -10516 003543 0 JMP ACTR2 /GO DO IT -10517 044111 0 ACTR1: LDA BUFE X /GET PACKET LENGTH -10520 140100 0 SSP 0"A"TWOQ -10521 016000 0 SUB 0 -10522 016116 0 SUB THREE 0"A"[ACKH-1] -10523 072674 0 LDX MP -10524 055613 0 ADD THRUPW X -10525 100400 0 SPL -10526 004112 0 LDA SIGN /MARK OFLO -10527 051613 0 STA THRUPW X -10530 065620 0 IRS THRUPT X -10531 101000 0 NOP -10532 005612 0 LDA ACKT -10533 101040 0 SNZ /HAVE WE PROCESSED ALL THE ACKS? -10534 003374 0 JMP M2T0 /YES, SO QUIT -10535 003450 0 JMP ACKLOP -10536 140500 0 ACKSYN: SSM -10537 050634 0 STA I2MNXT X -10540 140100 0 SSP -10541 010000 0 STA 0 -10542 003514 0 JMP ACKS1 /MARK THE BUFFER AS ACKED - -10543 121646 0 ACTR2: JST (TRCDUN) I /TRACING PACKET -10544 072674 0 LDX MP /NEEDED FOR TRCDUN -10545 073611 0 LDX M2ISP -10546 003517 0 JMP ACTR1 - -10547 022753 0 ACK567: CAS C100 -10550 003560 0 JMP ACK7 -10551 003555 0 JMP ACK6 -10552 140040 0 ACK5: CRA -10553 066005 0 IMA 5 X -10554 003470 0 JMP ACKS -10555 140040 0 ACK6: CRA -10556 066006 0 IMA 6 X -10557 003470 0 JMP ACKS -10560 140040 0 ACK7: CRA -10561 066007 0 IMA 7 X -10562 003470 0 JMP ACKS -10563 140040 0 ACK4: CRA -10564 066004 0 IMA 4 X -10565 003470 0 JMP ACKS -10566 140040 0 ACK3: CRA -10567 066003 0 IMA 3 X -10570 003470 0 JMP ACKS -10571 140040 0 ACK2: CRA -10572 066002 0 IMA 2 X -10573 003470 0 JMP ACKS -10574 140040 0 ACK1: CRA -10575 066001 0 IMA 1 X -10576 003470 0 JMP ACKS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 97 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -10577 010060 C DIPP: DPP1 -10600 010104 C DPP2 -10601 010130 C DPP3 -10602 010154 C DPP4 -10603 010200 C DPP5 -10604 010054 C DIS: DIS1 -10605 010100 C DIS2 -10606 010124 C DIS3 -10607 010150 C DIS4 -10610 010174 C DIS5 - - LEV VAR -10611 V M2ISP: BSS 1 /SAVED PACKET POINTER -10612 V ACKT: BSS 1 -10613 V THRUPW: BSS CH -10620 V THRUPT: BSS CH - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 98 IMP,3050,IMP 7:20 PM 9/16/1973 - -10625 000105 C LEV CON CONSTANTS -10626 004000 C -10627 100111 C -10630 100001 C -10631 100004 C -10632 011116 C -10633 010352 C -10634 001562 C -10635 001556 C -10636 011170 C -10637 011101 C -10640 001000 C -10641 011124 C -10642 011127 C -10643 040622 C -10644 000020 C -10645 001777 C -10646 011144 C -02417 175655 C PAGEND 10,UNCON,5 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 99 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /MODEM TO IMP PACKET-ERROR STUFF - - LEV M2I -11101 000000 0 PKTCHK: 0 /ADDRESS OF PKT ERROR -11102 120745 0 JST HLTNCC I /REPORT TRAP TO NCC -11103 105366 0 PKTCHC: LDA (TAR) I -11104 010111 0 STA ADDRET /RESTORE PREVIOUS OWNER OF ADDER -11105 004537 0 LDA NFA -11106 016563 0 SUB NFS -11107 016751 0 SUB TEN /LEAVE MORE THAN MINF -11110 100400 0 SPL /ROOM TO SEND PKT TO DIAG? -11111 003123 0 JMP NODIAG /NO -11112 105367 0 LDA (M2ISP) I /PICK UP PKT PNTR -11113 026342 0 IMA DIAGQ /PUT ON DIAG QUEUE -11114 111370 0 STA (M2ISP 0 I) I /AND SET UP CHAIN PNTR -11115 103371 0 JMP (DIPP 0 XI) I /DISMISS - -11116 072674 0 M2IRQC: LDX MP -11117 004124 0 LDA MINUS4 -11120 050265 0 STA SLT X -11121 004112 0 LDA SIGN 0"A"SNDCOR -11122 050421 0 STA SIHY X /MARK TO SEND CORE -11123 173367 0 NODIAG: LDX (M2ISP) I /AND FREE BAD PKT -11124 120671 0 M2IFRE: JST FLUSHI I -11125 072674 0 LDX MP -11126 103371 0 JMP (DIPP 0 XI) I - -11127 000000 0 PKTCH2: 0 -11130 120745 0 JST HLTNCC I -11131 021133 0 JST KILLIN /KILL LINES FOR SPURIOUS ACKS -11132 003103 0 JMP PKTCHC /CONTINUE - KILTIM=10. /LINE HELD DEAD TIME - - LEV [M2I,T.O,TSK,BCK] -11133 000000 0 KILLIN: 0 /SUBR TO STOP INPUT AND OUTPUT ON -11134 005372 0 LDA (NOP) /KILL THE LINE INSTANTLY -11135 111373 0 STA (M2IOK 0 XI) I -11136 005374 0 LDA (-KILTIM) /OTHER IMP WILL SEE THE LINE GO D[ -11137 050265 0 STA SLT X -11140 050433 0 STA LINE X /FOR NCC AND RTGO -11141 140040 0 KILL2: CRA -11142 050160 0 KILL3: STA NEIGHB X -11143 103133 0 KILL4: JMP KILLIN I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 100 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [M2I,I2H] -11144 000000 0 TRCDUN: 0 /FINISH TRACE BLOCK -11145 011167 0 STA TRCD -11146 044001 0 LDA ST X -11147 073167 0 LDX TRCD -11150 050003 0 STA TST X -11151 131040 0 RDCLOK -11152 003151 0 JMP .-1 -11153 050004 0 STA TAT X -11154 004112 0 LDA SIGN -11155 052012 0 ERA TDONE X -11156 050012 0 STA TDONE X -11157 005167 0 LDA TRCD -11160 015375 0 ADD (TQUE) -11161 011167 0 STA TRCD -11162 105144 0 LDA TRCDUN I -11163 011164 0 STA .+1 -11164 0 BSS 1 /LDX FROM PAGE 0 -11165 133167 0 STX TRCD I -11166 103144 0 JMP TRCDUN I - LEV VAR -11167 V TRCD: BSS 1 /TRCDUN PTR - - LEV M2I -11170 044007 0 M2IDMC: LDA HEAD2 X /RELOAD DEMAND -11171 013205 0 ERA PASWRD /CHECK PASSWORD -11172 100040 0 SZE /KOSHER? -11173 003203 0 JMP M2IDM1 /NO -11174 044004 0 LDA ACKH X /LOOK AT DEMAND -11175 101400 0 SMI /PANIC DEMAND? -11176 103376 0 JMP (1004) I /YES. INSTANT RELOAD, A=MODEM NUMBE -11177 004674 0 LDA MP /NO, USE OUR MODEM NO. -11200 141206 0 AOA /(COUNTING 1-4) -11201 010137 0 STA SW3FG /AND NICE-STOP/RELOAD -11202 003124 0 JMP M2IFRE - -11203 072674 0 M2IDM1: LDX MP - DEFHLT [RELOAD DEMAND WITH BAD PASSWORD] -11204 021101 0 JST PKTCHK - - DEFPLC [DEMAND RELOAD PASSWORD] -11205 175461 0 PASWRD: 175461 /KEEP NEXT LOCATIONS IN ORDER -11206 177777 0 DMNDCR: -1 /ACKH. USED FOR RELOAD CODE -11207 000005 0 GETCOR 0 LINETS /HEADER -11210 000000 0 0 /SYNC -11211 000000 0 0 /PASSWORD PUT HERE MANUALLY -11212 0 BSS 1 /CHECKSUM - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 101 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /LINE SPEED COMPUTATIONS - LEV I2M LCK ALL -11213 012114 2 0 I2MRM: ERA ONE 0"A"RM /THIS IS RM CLEAR FLAG -11214 111377 2 0 STA (RMFLG 0 X) I /NOW CHK TO SEE IF TIME I: -11215 100400 2 0 SPL /SIGN MINUS IF FIRST TIME THROUGH -11216 003323 2 0 JMP I2MRMI /INITIALIZATION -11217 141140 2 0 ICL /SPD TYPE FROM L. HALF INTD RT. -11220 010000 2 0 STA 0 /USED AS INDEX INTO MARGIN TABLE -11221 045331 2 0 LDA DELSPD X /GET PERMISSABLE VARIANCE -11222 011360 2 0 STA DELTA -11223 173400 2 0 LDX (OCHN) I /RESTORE CHAN # IN X -11224 055346 2 0 ADD RMLAST X /MAXIMUM ACCEPTABLE TIME FOR THIS M: -11225 123401 2 0 CAS (THIST) I /COMP W/ACTUAL TIME FOR THIS MSG -11226 003240 2 0 JMP I2MRMA /MAX>THIS, SO FAR SO GOOD -11227 003245 2 0 JMP I2MRMB /MAX=THIS, ALL OK, IN SPEC - DEFHLT [LINE SPEED DECREASED] -11230 021231 2 0 I2MRMD: JST I2MSCG -11231 000000 2 0 I2MSCG: 0 -11232 120745 2 0 JST HLTNCC I /SEND MSG TO NCC -11233 105377 2 0 LDA (RMFLG 0 X) I /DO HOLD DOWN -11234 007402 2 0 ANA (0 0 177777"X"SHD) -11235 013403 2 0 ERA (SHD) /(6) SPEED HOLD DOWN -11236 111377 2 0 STA (RMFLG 0 X) I /STORED IN RMFLG -11237 003260 2 0 JMP I2MRMC /PUT THIST INTO LAST AND QUIT - - /TIME WAS MIN? -11240 017360 2 0 I2MRMA: SUB DELTA -11241 017360 2 0 SUB DELTA /MIN ACCEPTABLE TIME -11242 123401 2 0 CAS (THIST) I /COMP W/ACTUAL TIME - DEFHLT [LINE SPEED INCREASED] -11243 021231 2 0 JST I2MSCG /MIN>THIS, TOO SLOW -11244 101000 2 0 NOP /MIN=THIS, ALL OK -11245 105377 2 0 I2MRMB: LDA (RMFLG 0 X) I /MINTHIS) -11275 003300 2 0 JMP I2MRMH / " " " " = " -11276 024000 2 0 IRS 0 /NOPE, TRY NEXT SLOWER TYPE -11277 003272 2 0 JMP I2MRMG -11300 045340 2 0 I2MRMH: LDA LINDTT+NSPD-1 X /GET LINE DEAD TIME FOR T1 -11301 011360 2 0 STA DELTA /AND SAVE IN TEMP -11302 004000 2 0 LDA 0 /INDEX= -TYPE -11303 140407 2 0 TCA /COMPLIMENT -11304 141340 2 0 ICA /INTO LEFT HALF -11305 173400 2 0 LDX (OCHN) I /RESTORE CHAN IN X -11306 111377 2 0 STA (RMFLG 0 X) I 0"A"SHD"A"RM /BACK INTO RMFLT -11307 141340 2 0 ICA /GET SPEED TYPE -11310 015407 2 0 ADD (RMCLKS) /ADD TABLE ADDRESS -11311 051353 2 0 STA RMCLKP X /SAVE FOR USE IN RSTOUT -11312 005360 2 0 LDA DELTA /PICK UP TEMP -11313 051361 2 0 STA LINDT X /AND SAVE AS THIS LINE'S DEAD TIME -11314 044433 2 0 LDA LINE X -11315 100040 2 0 SZE /IS LINE UP? -11316 021133 2 0 JST KILLIN /NO, RESET TIME IN CASE JUST RELO7 -11317 105401 2 0 LDA (THIST) I /PUT (THIS+LAST)/2 INTO ACTUAL -11320 055346 2 0 ADD RMLAST X -11321 040477 2 0 LGR 1 -11322 003257 2 0 JMP I2MRMF - -11323 140100 2 0 I2MRMI: SSP /INITIALIZE FIRST TIME THROUGH -11324 111377 2 0 STA (RMFLG 0 X) I /CLEAR INIT BIT TOO, -11325 003260 2 0 JMP I2MRMC /PUT THIS INTO LAST AND QUIT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 103 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON - /NSPD-1 ENTRIES -11326 000161 C TIMSPC: 161 /(125K)MAX TIME A RM TAKES IN TYP1 ] -11327 001066 C 1066 /(25K) TYPE 2 -11330 004202 C 4202 /(6.5K) TYPE 1 (ALL SLOWER TYPE 0) - - /NSPD ENTRIES -11331 000377 C DELSPD: 377 /00 10X OF EXPECTED TIME FOR RM (+8I -11332 000177 C 177 /01 -11333 000060 C 60 /10 -11334 000060 C 60 /11 - /NSPD ENTRIES -11335 177324 C LINDTT: 0 0-PTCK"T"5 /FOR 250KBS -11336 177704 C 0 0-PTCK /FOR 50KBS -11337 177764 C 0 0-PTCK"Q"5 /FOR 10KBS -11340 177771 C 0 0-PTCK"Q"10 /LINE DEAD TIME FOR 5KBS - - LEV VAR -11341 V RMTACT: BSS CH /ACTUAL TIME FOR RM (AVERAGED) -11346 V RMLAST: BSS CH /TIME FOR LAST RM IN 100 MU SEC'S -11353 V RMCLKP: BSS CH /PTR TO ENTRY IN RMCLKS -11360 V DELTA: BSS 1 /DELSPD ENTRY FOR THIS LINE -11361 V LINDT: BSS CH /LINE HELD DEAD TIMES - -11366 010246 C LEV CON CONSTANTS -11367 010611 C -11370 110611 C -11371 150577 C -11372 101000 C -11373 150247 C -11374 177766 C -11375 000011 C -11376 001004 C -11377 052620 C -11400 012654 C -11401 012644 C -11402 177771 C -11403 000006 C -11404 012156 C -11405 000002 C -11406 177775 C -11407 020274 C -02420 173433 C PAGEND 11,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 104 IMP,3050,IMP 7:20 PM 9/16/1973 - - /IMP TO MODEM (I2M) - - PAGI2M: - LEV I2M - -00071 012127 2 M1OTIL/ I2M1 -00072 012123 2 M2OTIL/ I2M2 -00073 012117 2 M3OTIL/ I2M3 -00074 012113 2 M4OTIL/ I2M4 -00075 012107 2 M5OTIL/ I2M5 - - PAGI2M/ LEV VAR - -12103 V TATA: BSS 1 /I2M TEMPS -12104 V TXTX: BSS 1 -12105 V TCTC: BSS 1 -12106 V IRET: BSS 1 - - /IMP TO MODEM INTERRUPTS COME TO THIS PAGE. -12107 000000 2 0 I2M5: INT I2M -12110 033104 2 0 STX TXTX -12111 072117 2 0 LDX FOUR -12112 003132 2 0 JMP I2M0 -12113 000000 2 0 I2M4: INT I2M -12114 033104 2 0 STX TXTX -12115 072116 2 0 LDX THREE -12116 003132 2 0 JMP I2M0 -12117 000000 2 0 I2M3: INT I2M -12120 033104 2 0 STX TXTX -12121 072115 2 0 LDX TWO -12122 003132 2 0 JMP I2M0 -12123 000000 2 0 I2M2: INT I2M -12124 033104 2 0 STX TXTX -12125 072114 2 0 LDX ONE -12126 003132 2 0 JMP I2M0 -12127 000000 2 0 I2M1: INT I2M -12130 033104 2 0 STX TXTX -12131 072113 2 0 LDX ZERO - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 105 IMP,3050,IMP 7:20 PM 9/16/1973 - -12132 033654 2 0 I2M0: STX OCHN /SAVE MODEM NUMBER -12133 011103 2 0 STA TATA -12134 000011 2 0 DXA -12135 003136 2 0 JMP .+1 -12136 000043 2 0 INK -12137 011105 2 0 STA TCTC -12140 004416 2 0 LDA TIMES /CURRENT 640 MS CLOCK -12141 057632 2 0 SUB TIM640 X /INITIAL READING FOR THIS MSG -12142 017712 2 0 SUB (10.) /10.24 TICKS/WRAP OF 100 MUS CLK -12143 101400 2 0 SMI /<10 TICKS? -12144 003516 2 0 JMP RAPT /NO, MSG TOOK TOO LONG, CLOCK WRAPPI -12145 131040 2 0 RDCLOK /100 MU SEC CLOCK -12146 003145 2 0 JMP .-1 -12147 057637 2 0 SUB TIM100 X /MINUS START TIMER -12150 011644 2 0 STA THIST /TIME FOR THIS MESSAGE -12151 055625 2 0 ADD CUMTIM X /ADD TO TOTAL -12152 051625 2 0 STA CUMTIM X /AND SAVE -12153 045620 2 0 LDA RMFLG X /ROUTING MSG FLAGS -12154 100100 2 0 SLZ /WAS THIS A ROUTING MESSAGE? -12155 103713 2 0 JMP (I2MRM) I /YES, GO DO LINE SPEED COMPUTNS -12156 004502 2 0 I2MS: LDA MOM /LOAD MODEM OUTPUT MASK -12157 170120 2 0 SMK INTM /SET PRI INTERRUPT -12160 026134 2 0 IMA PRIM -12161 011652 2 0 STA TMTM -12162 140040 2 0 CRA -12163 066634 2 0 IMA I2MNXT X /PKT PNTR FOR NEXT OUTPUT FOR CHL -12164 101400 2 0 SMI /WAS THERE AN ACK FOR THE PKT WE L 1 -12165 003173 2 0 JMP I2MALL /NO, DO NOT RELEASE PKT -12166 140100 2 0 SSP -12167 010000 2 0 STA 0 -12170 120671 2 0 JST FLUSHI I /YES, SO WE CAN FREE IT NOW -12171 024564 2 0 IRS NSFS -12172 073654 2 0 LDX OCHN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 106 IMP,3050,IMP 7:20 PM 9/16/1973 - -12173 000401 2 0 I2MALL: ENB I2M -12174 044265 2 LDA SLT X -12175 100040 2 SZE /TIME TO SEND A ROUTING MESSAGE? -12176 003276 2 JMP I2MLT /YES -12177 045660 2 LDA I2MLST X /PICK UP RING PNTR -12200 141206 2 AOA /ADVANCE IT -12201 062627 2 CAS I2MEND X -12202 101000 2 NOP -12203 044622 2 LDA I2MTAB X /WRAP AROUND -12204 051660 2 STA I2MLST X -12205 001001 2 INH M2I /PREVENT M2I FROM ACKING -12206 145660 2 0 LDA I2MLST XI /WHILE WE LOOK AT THIS SLOT -12207 023714 2 0 CAS (1777) /IS THERE A PKT HERE? -12210 003550 2 0 JMP I2MRET /YES, SEE IF IT IS TOO OLD -12211 073654 2 0 I2MNEW: LDX OCHN /NO, NOTHING TO RETRANSMIT -12212 000401 2 0 ENB I2M -12213 044317 2 LDA SMPQ X -12214 100040 2 SZE /A NEW PRIORITY PACKET TO SEND? -12215 003363 2 JMP I2MPRI /YES -12216 044312 2 LDA SMQ X -12217 100040 2 SZE /A NEW REGULAR PACKET TO SEND? -12220 003375 2 JMP I2MREG /YES -12221 044445 2 LDA SNULL X -12222 101040 2 SNZ /SHOULD WE SEND A NULL PKT? -12223 003500 2 JMP I2MQUT /NO, SO QUIT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 107 IMP,3050,IMP 7:20 PM 9/16/1973 - -12224 140040 2 I2MNUL: CRA /SEND A NULL PKT WITH IHY -12225 066421 2 IMA SIHY X -12226 100400 2 SPL 0"A"SNDCOR /DID WE GET A REQUEST TO SEND CORE -12227 003262 2 JMP I2MCOR /YES. SO SERVICE IT -12230 100040 2 SZE /DID WE GET IN ANY ROUTING MESSAGES1 -12231 005715 2 LDA (IHERDU) /YES. SEND AN I HEARD YOU -12232 013716 2 ERA (LINETS 0 NULPKT) /IN A NULL PKT -12233 141340 2 ICA -12234 012106 2 ERA MINE -12235 141340 2 ICA -12236 151704 2 STA NULPTR XI /SET UP HEADER OF NULL PKT -12237 045704 2 LDA NULPTR X /PICK UP PNTR TO NULL AREA -12240 016114 2 SUB ONE -12241 151665 2 STA MOPX XI /SET UP OUR OUTPUT AREA -12242 011655 2 STA ACKWRD -12243 014117 2 ADD FOUR 0"A"[MINPL-ACKH] /MIN PACKET LENT -12244 151672 2 STA MOP1 XI -12245 044646 2 LDA RSEX X /PUT IN ACKS -12246 073655 2 LDX ACKWRD -12247 050000 2 STA ACKH-ACKH X -12250 004417 2 LDA SYNC /PUTTING SYNC TIME INTO NULLS -12251 050002 2 STA HEAD1-ACKH X -12252 004117 2 I2MNLC: LDA FOUR 0"A"[MINPL-ACKH] -12253 056000 2 SUB ACKH-ACKH X /BUILD CKSUM -12254 056001 2 SUB HEAD-ACKH X -12255 056002 2 SUB HEAD1-ACKH X -12256 056003 2 SUB HEAD2-ACKH X -12257 050004 2 STA HEAD3-ACKH X /AND STORE IT -12260 073654 2 LDX OCHN -12261 003465 2 JMP I2MDN1 - -12262 005717 2 I2MCOR: LDA (CORELO) -12263 151665 2 STA MOPX XI -12264 005720 2 LDA (COREHI-1) -12265 151672 2 STA MOP1 XI -12266 003467 2 JMP I2MDUN /RETURN TO DO OUTPUT, NO ACKS - -12267 005721 2 I2MDMC: LDA (DMNDCR) /SEND 'DEMAND CORE' -12270 151665 2 STA MOPX XI -12271 014117 2 ADD FOUR 0"A"[MINPL-ACKH] -12272 151672 2 STA MOP1 XI -12273 016117 2 SUB FOUR 0"A"[MINPL-ACKH] -12274 010000 2 STA 0 -12275 003252 2 JMP I2MNLC /GET CHECKSUM AND SEND IT - -12276 100400 2 I2MLT: SPL /ARE WE HOLDING LINE DEAD? -12277 003500 2 JMP I2MQUT /YES, GO NO FURTHER -12300 016114 2 I2ML2: SUB ONE -12301 050265 2 I2ML3: STA SLT X -12302 022114 2 I2ML4: CAS ONE /RELOAD DEMAND TO SEND? -12303 003267 2 JMP I2MDMC /YES -12304 003224 2 JMP I2MNUL /NULL TO SEND - /---FALL THROUGH TO SEND ROUTING - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 108 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THE WORDS FROM I2MCK1 TO I2MCK2 ARE CHECKSUMMED - CHK=0 -12305 073361 2 I2MCK1: K LDX I2MCKX /PICK UP -[# OF WDS IN CODE TO CK[ 1 -12306 055363 2 K ADD I2MCK2+1 X /ADD THEM (NOTE 0 IN AN I1 -12307 024000 2 K IRS 0 -12310 003306 2 K JMP .-2 -12311 100040 2 K SZE /DIFFERENT? - RELOAD [I2M ROUTING CODE BROKEN] -12312 120061 2 K JST SWDTIL I /SOFTWARE WDT, DO A RELOAD -12313 073654 2 K LDX OCHN -12314 125353 2 K IRS IMHSI I /KEEP STAT COUNTER -12315 101000 2 K NOP -12316 004660 2 K LDA RST.O /GET OUTPUT PTR -12317 015355 2 K ADD I2MRC1 -12320 151665 2 K STA MOPX XI /BEG POINTER -12321 017356 2 K SUB I2MRC2 -12322 151672 2 K STA MOP1 XI -12323 015357 2 K ADD I2MRC3 -12324 010000 2 K STA 0 -12325 005354 2 K LDA I2MRAP /(RUTADR) -12326 026111 2 K IMA ADDRET /SAVE CURRENT OWNER OF ADDER -12327 011653 2 K STA TARTAR -12330 005356 2 K LDA I2MRC2 /(-NIMP - HEAD1 + ACKH) -12331 103332 2 K JMP .+1 I /JUMP INTO RIGHT PLACE IN ADD CHAI -12332 001454 2 K ADDBOT+0-NIMP-HEAD1+ACKH -12333 140407 2 RUTADR: K TCA -12334 072113 2 K LDX ZERO /USE TO FIND CKSUM POST INDEXED -12335 112660 2 K ERA RST.O I /COMPARE CKSUM W/ THAT GENERATED BY -12336 027653 2 K IMA TARTAR -12337 010111 2 K STA ADDRET -12340 005653 2 K LDA TARTAR -12341 073654 2 K LDX OCHN -12342 001001 2 K .INH LCK ALL -12343 100040 2 0 K SZE /DIFFERENT? - DEFHLT [ROUTING MESSAGE CHECKSUM ERROR - INTRA IMP] -12344 021571 2 0 K JST I2MHLT -12345 141206 2 0 K AOA /1 -12346 053620 2 0 K ERA RMFLG X /SAYS ROUTING MSG GOING OUT -12347 051620 2 0 K STA RMFLG X -12350 105360 2 0 K LDA I2MRP I /(RSTSN) -12351 051645 2 0 K STA RSTSNO X /SAVE SER # OF LAST OUTPUT -12352 003467 2 0 K JMP I2MDUN - - LEV CON -12353 071615 C IMHSI: K IMHS 0 X -12354 012333 C I2MRAP: K RUTADR -12355 137675 C I2MRC1: K -X 0-NIMP-HEAD1+ACKH-1 -12356 177675 C I2MRC2: K -NIMP-HEAD1+ACKH-1 -12357 177671 C I2MRC3: K -NIMP-HEAD1-1 -12360 026644 C I2MRP: K RSTSN -12361 177722 C I2MCKX: K I2MCK1-0-I2MCK2-1 /CHECKSUM COUNTER -12362 044107 C I2MCK2: -CHK /CHECKSUM ON CODE GOES HERE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 109 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV I2M -12363 050634 2 I2MPRI: STA I2MNXT X -12364 140040 2 CRA -12365 166634 2 IMA I2MNXT XI -12366 050317 2 STA SMPQ X -12367 100040 2 SZE -12370 003406 2 JMP I2MGNU -12371 005722 2 LDA (SMPQ) -12372 015654 2 ADD OCHN -12373 050370 2 STA EMPQ X -12374 003406 2 JMP I2MGNU - -12375 050634 2 I2MREG: STA I2MNXT X /LOAD WITH TOP OF Q ADDR -12376 140040 2 CRA -12377 166634 2 IMA I2MNXT XI /GET CHAIN PNTR OF NEW REQ -12400 050312 2 STA SMQ X /LINK TO TOP OF Q -12401 100040 2 SZE /WAS THIS LAST? -12402 003406 2 JMP I2MGNU /NO -12403 005723 2 LDA (SMQ) /YES, FIX UP Q PNTRS -12404 015654 2 ADD OCHN -12405 050363 2 STA EMQ X - - -12406 173724 2 I2MGNU: LDX (I2MNXT 0 X) I /GOT A NEW PKT -12407 133725 2 STX (INCH 0 XI) I /SET UP SLOT PNTR -12410 005726 2 LDA (-200.) /GIVE A PKT 200 TRIES -12411 050003 2 STA INCH X /TO BE ACCEPTED -12412 011657 2 STA I2MREF /MARK AS NEW PKT, DON'T CHECKSUM -12413 073654 2 LDX OCHN -12414 044634 2 LDA I2MNXT X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 110 IMP,3050,IMP 7:20 PM 9/16/1973 - -12415 140100 2 I2MGOT: SSP -12416 015727 2 ADD (ACKH) -12417 151665 2 STA MOPX XI -12420 011655 2 DEFSTAT STA ACKWRD, IM1 -00605 031160 2 -32001 012420 2 -32021 011655 2 -12421 173724 2 LDX (I2MNXT 0 X) I -12422 131040 2 RDCLOK -12423 003422 2 JMP .-1 -12424 050001 2 STA ST X -12425 044111 2 LDA BUFE X -12426 140100 2 SSP 0"A"TWOQ -12427 073654 2 LDX OCHN -12430 151672 2 STA MOP1 XI -12431 011656 2 STA ENDWRD -12432 005657 2 LDA I2MREF /RETRANSMISSION OR NEW? - DEFPLC [NOP HERE TO STOP CHECKSUM VERIFY IN I2M] -12433 100040 2 SZE -12434 003456 2 JMP I2MCHF /NO CKSUM -12435 005730 2 LDA (I2MADR) /CAPTURE ADDER -12436 026111 2 IMA ADDRET -12437 011653 2 STA TARTAR -12440 005655 2 LDA ACKWRD -12441 016117 2 SUB FOUR 0"A"ACKH -12442 010000 2 STA 0 /PACKET POINTER -12443 017656 2 SUB ENDWRD /LENGTH OF PACKET -12444 015731 2 ADD (ADDBOT+ACKH) -12445 011450 2 STA I2MADJ -12446 017732 2 SUB (ADDBOT) -12447 103450 2 JMP I2MADJ I -12450 2 I2MADJ: BSS 1 -12451 100040 2 I2MADR: SZE -12452 003524 2 JMP I2MCHE /CHECKSUM ERROR! -12453 005653 2 LDA TARTAR -12454 010111 2 STA ADDRET /RESTORE ADDER OWNER -12455 073654 2 LDX OCHN -12456 105655 2 I2MCHF: LDA ACKWRD I -12457 141044 2 CAR 0"A"ACKBTS /PUT IN ACKS -12460 052646 2 ERA RSEX X -12461 127655 2 IMA ACKWRD I /AND CORRECT CHECKSUM -12462 117655 2 SUB ACKWRD I -12463 115656 2 ADD ENDWRD I -12464 111656 2 STA ENDWRD I -12465 140040 2 I2MDN1: CRA -12466 050445 2 STA SNULL X /ACKS MARKED AS SENT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 111 IMP,3050,IMP 7:20 PM 9/16/1973 - -12467 004416 2 I2MDUN: LDA TIMES /640 MS COUNTER -12470 051632 2 STA TIM640 X /TABLE OF MODEM OUT START TIMES -12471 131040 2 RDCLOK /100 MICRO SEC CLOCK -12472 003471 2 JMP .-1 -12473 051637 2 STA TIM100 X /SAVE THIS CLOCK TOO -12474 045677 2 LDA MXOUT X -12475 011476 2 STA . 1 -12476 2 BSS 1 -12477 005711 2 LDA M30SCF /SET TO WAIT FOR HARDWARE COMPLETE -12500 050440 2 I2MQUT: STA NONE X /OR SET FLAG TO INDICATE IDLE -12501 001001 2 INH MSK -12502 005652 2 0 LDA TMTM -12503 010134 2 0 STA PRIM -12504 170120 2 0 SMK INTM -12505 144071 2 0 LDA M1OTIL XI -12506 011106 2 0 STA IRET -12507 000013 2 0 EXA -12510 005105 2 0 LDA TCTC -12511 171020 2 0 OTK -12512 005103 2 0 LDA TATA -12513 073104 2 0 LDX TXTX -12514 000401 2 0 ENB I2M -12515 103106 2 JMP IRET I - - LEV I2M LCK ALL -12516 005733 2 0 RAPT: LDA (14400) /6400MS, 1 SLOW T.O IN 100MUS UNITS -12517 051625 2 0 STA CUMTIM X /RM TOOK TOO LONG, MAX+TIMER -12520 045620 2 0 LDA RMFLG X /CLEAR RM FLAG BIT -12521 006122 2 0 ANA MINUS2 0"A"RM /177776 -12522 051620 2 0 STA RMFLG X -12523 003156 2 0 JMP I2MS /AND RETURN - - LEV I2M -12524 001001 2 I2MCHE: INH ALL - DEFHLT [MODEM OUT DETECTED INTRA-IMP CHECKSUM ERROR] -12525 021526 2 0 JST .+1 -12526 000000 2 0 0 -12527 120745 2 0 JST HLTNCC I /RERORT IT -12530 004000 2 0 LDA 0 -12531 026342 2 0 IMA DIAGQ /AND TO DIAG TTY -12532 050000 2 0 STA 0 X -12533 000401 2 0 ENB I2M -12534 005653 2 LDA TARTAR -12535 010111 2 STA ADDRET -12536 024564 2 IRS NSFS -12537 044004 2 LDA ACKH X /FREE UP UN-ACKED CHANNEL -12540 007734 2 ANA (CHANUM) -12541 141140 2 ICL -12542 073654 2 LDX OCHN -12543 054622 2 ADD I2MTAB X /GET SLOT POINTER -12544 011653 2 STA TARTAR /(TEMP) -12545 140040 2 CRA -12546 111653 2 STA TARTAR I /CLEAR SLOT PTR -12547 003500 2 JMP I2MQUT /LEAVE MODEM OUTPUT IDLE FOR A BI- - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 112 IMP,3050,IMP 7:20 PM 9/16/1973 - - LCK M2I -12550 010000 2 0 I2MRET: STA 0 /SAVE PKT PNTR -12551 131040 2 0 RDCLOK -12552 003551 2 0 JMP .-1 -12553 056001 2 0 SUB ST X /COMPARE TIME NOW WITH SENT TIME -12554 100400 2 0 SPL -12555 140407 2 0 TCA /MAKE DIFF A POSITIVE NUMBER -12556 017735 2 0 SUB (1250.) /COMPARE WITH 125 MS - /THIS CONSTANT VARIES WITH LINE LENGTH AND SPEED - /IT SHOULD BE TABLED WHEN WE GET FAST LINES+SATELLITES -12557 100400 2 0 SPL /TOO OLD? -12560 003211 2 0 JMP I2MNEW /NOT YET -12561 064003 2 0 IRS INCH X /COUNT ANOTHER RETRANSMIT -12562 003575 2 0 JMP I2MRTR /NOT OVER THE LIMIT -12563 120671 2 0 JST FLUSHI I /KILL PKT AFTER 200 TRIES -12564 024564 2 0 IRS NSFS /AND COUNT IT OUT -12565 073654 2 0 LDX OCHN -12566 140040 2 0 CRA -12567 151660 2 0 STA I2MLST XI /SO IT WON'T BE FLUSHED TWICE - DEFHLT [200 RETRANSMISSIONS - SERIOUS MALFUNCTION] -12570 021571 2 0 JST I2MHLT -12571 000000 2 0 I2MHLT: 0 -12572 120745 2 0 JST HLTNCC I /REPORT TROUBLE TO NCC -12573 121736 2 0 JST (KILLIN) I /KILL LINE INSTANTLY -12574 003500 2 0 JMP I2MQUT /DISMISS INTERRUPT - -12575 073654 2 0 I2MRTR: LDX OCHN -12576 140040 2 0 CRA /MARK PACKET AS A RETRANSMISSION -12577 011657 2 0 STA I2MREF /SO CHECKSUM IS VERIFIED -12600 145660 2 0 LDA I2MLST XI /PACKET SENT >125MS AGO -12601 050634 2 0 STA I2MNXT X /SO RETRANSMIT IT -12602 000401 2 0 ENB I2M -12603 003415 2 JMP I2MGOT - - LEV [T.O,TSK] LCK SIN -12604 000000 5 0 I2MSB: 0 /SOFTWARE WAKELP OF MODEM OUTPUT -12605 033104 5 0 STX TXTX /ALWAYS CALLED FROM LOW CORE AND DX -12606 011103 5 0 STA TATA -12607 033654 5 0 STX OCHN -12610 005604 5 0 LDA I2MSB -12611 150071 5 0 STA M1OTIL XI -12612 143613 5 0 JMP I2MSBT XI /CLEAR X BIT IN ADDR AND LEAP IN F - - LEV VAR -12613 012156 V I2MSBT: I2MS -12614 012156 V I2MS -12615 V SATDEF I2MS -02245 012615 V -02275 012156 V -02325 012156 V -12616 012156 V I2MS -12617 012156 V I2MS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 113 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /BITS IN RMFLG - RMINIT=100000 /SET IF FIRST TIME THROUGH (IN INI - SPDTYP=77400 /TYPE 0 = 5KBS - /TYPE 1 = 10KBS - /TYPE 2 = 50KBS - /TYPE 3 = 250 KBS - SHD=6 /SPEED HOLD-DOWN COUNTER - SHD1=2 /BOTTOM BIT OF SHD - RM=1 /IF SET, SAYS ROUTING MESSAGE PENDING - - LEV VAR -12620 V RMFLG: BSS CH /INIT TO 1006(HD ON 50KB LINE) -12625 V CUMTIM: BSS CH /CUMULATIVE BUSY TIME OVER INTERVAL -12632 V TIM640: BSS CH /'TIMES' AT START OF OUTPUT -12637 V TIM100: BSS CH /100 MUS CLOCK AT START OF OUTPUT -12644 V THIST: BSS 1 /ELAPSED TIME FOR THIS TRANSMISSION -12645 V RSTSNO: BSS CH /SERIAL NO. OF LAST RM OUTPUT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 114 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR -12652 V TMTM: BSS 1 /TEMP M -12653 V TARTAR: BSS 1 /TEMP ADDER RETURN -12654 V OCHN: BSS 1 /ACTIVE MODEM NUMBER -12655 V ACKWRD: BSS 1 /PNTR TO WORD IN PKT WHERE ACKS GO -12656 V ENDWRD: BSS 1 /PNTR TO LAST WORD IN PKT -12657 V I2MREF: BSS 1 /RETRANSMIT FLAG: CHECKSUM IF FLAG I -12660 V I2MLST: BSS CH /PNTR TO LAST SLOT SENT - LEV CON -12665 000032 C MOPX: M1OTBP /DMC OUTPUT PNTRS -12666 000034 C M2OTBP -12667 000036 C M3OTBP -12670 000040 C M4OTBP -12671 000042 C M5OTBP -12672 000033 C MOP1: M1OTBP+1 /DMC OUTPUT END PNTRS -12673 000035 C M2OTBP+1 -12674 000037 C M3OTBP+1 -12675 000041 C M4OTBP+1 -12676 000043 C M5OTBP+1 -12677 030071 C MXOUT: M1OUT /OUTPUT INSTRUCTIONS -12700 030072 C M2OUT -12701 030073 C M3OUT -12702 030074 C M4OUT -12703 030075 C M5OUT -12704 032101 C NULPTR: NULS1+1 /PNTRS TO NULL PKT AREAS -12705 032106 C NULS2+1 -12706 032113 C NULS3+1 -12707 032120 C NULS4+1 -12710 032125 C NULS5+1 - -12711 175551 C M30SCF: -[0 0 30SEC"T"25.] - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 115 IMP,3050,IMP 7:20 PM 9/16/1973 - -12712 000012 C LEV CON CONSTANTS -12713 011213 C -12714 001777 C -12715 000020 C -12716 000003 C -12717 000060 C -12720 032777 C -12721 011206 C -12722 000317 C -12723 000312 C -12724 040634 C -12725 140003 C -12726 177470 C -12727 000004 C -12730 012451 C -12731 001562 C -12732 001556 C -12733 014400 C -12734 017400 C -12735 002342 C -12736 011133 C -02421 176744 C PAGEND 12,UNCON,5 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 116 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /HOST TO IMP (HI) - - PAGH2I: - LEV H2I - -00100 013100 4 H1INIL/ HI0E -00101 4 H2INIL/ TIPDEF HI1E, TINT -02246 000101 4 -02276 013072 4 -02326 025061 4 -00075 013064 4 H3INIL/ HI2E -00074 013056 4 H4INIL/ HI3E - - PAGH2I/ - /HOST 3 INTERRUPT ROUTINE -13056 000000 4 0 HI3E: INT H2I -13057 033135 4 0 STX HIX -13060 073056 4 0 LDX HI3E -13061 033106 4 0 STX HISB -13062 072116 4 0 LDX THREE -13063 003110 4 0 JMP HISB2 - /HOST 2 INTERRUPT ROUTINE -13064 000000 4 0 HI2E: INT H2I -13065 033135 4 0 STX HIX -13066 073064 4 0 LDX HI2E -13067 033106 4 0 STX HISB -13070 072115 4 0 LDX TWO -13071 003110 4 0 JMP HISB2 - /HOST 1 INTERRUPT ROUTINE -13072 000000 4 0 HI1E: INT H2I -13073 033135 4 0 STX HIX -13074 073072 4 0 LDX HI1E -13075 033106 4 0 STX HISB -13076 072114 4 0 LDX ONE -13077 003110 4 0 JMP HISB2 - /HOST 0 INTERRUPT ROUTINE -13100 000000 4 0 HI0E: INT H2I -13101 033135 4 0 STX HIX /SAVE INDEX REGISTER -13102 073100 4 0 LDX HI0E -13103 033106 4 0 STX HISB /SET UP RETURN ADDRESS -13104 072113 4 0 LDX ZERO /INTERRUPT FROM HOST 0 -13105 003110 4 0 JMP HISB2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 117 IMP,3050,IMP 7:20 PM 9/16/1973 - - / FROM HERE ON IS COMMON TO ALL HOST INTERRUPT ROUTINES - -13106 000000 4 0 HISB: 0 -13107 033135 4 0 STX HIX -13110 000011 4 0 HISB2: DXA -13111 003112 4 0 JMP . 1 -13112 032675 4 0 STX HIP /SAVE CURRENT HOST -13113 011133 4 0 STA HIA /SAVE AC -13114 000043 4 0 INK -13115 011134 4 0 STA HIK -13116 004501 4 0 LDA HIM /SET UP NEW INTERRUPT MASK (177760) -13117 170120 4 0 SMK INTM /OUTPUT IT -13120 026134 4 0 IMA PRIM /SAVE IT IN PRIM -13121 011136 4 0 STA HIMS /SAVE OLD PRIM -13122 000401 4 0 ENB H2I -13123 142453 4 JMP HILO XI /RESTART WHERE LAST LEFT OFF - -13124 000000 4 HIWM: 0 /DEBREAK AND WAKE UP 25MS LATER -13125 072675 4 LDX HIP -13126 005124 4 LDA HIWM -13127 050453 4 HIWM1: STA HILO X -13130 004121 4 LDA MINUS1 -13131 051137 4 STA HITT X /SET TIMEOUT TO WAIT 1 PERIOD -13132 003516 4 JMP HIDONE - - LEV VAR -13133 V HIA: BSS 1 /AC SAVE -13134 V HIK: BSS 1 /K SAVE -13135 V HIX: BSS 1 /IR SAVE -13136 V HIMS: BSS 1 /PRIM SAVE -13137 V HITT: BSS TH /HOST-TO-IMP INTERFACE TIMER - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 118 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -13147 000050 C HIB1: H1INBP /DMC INPUT PNTRS -13150 C TIPDEF H2INBP,JUNK -02247 013150 C -02277 000052 C -02327 000001 C -13151 C TIPDEF H3INBP,TIPLNK+2 -02250 013151 C -02300 000056 C -02330 000772 C -13152 000042 C H4INBP -13153 013323 C HIBB -13154 013324 C HIBB+1 -13155 013325 C HIBB+2 -13156 013326 C HIBB+3 -13157 000051 C HIB2: H1INBP+1 /DMC INPUT END PNTRS -13160 C TIPDEF H2INBP+1,JUNK -02251 013160 C -02301 000053 C -02331 000001 C -13161 C TIPDEF H3INBP+1,TIPLNK+3 -02252 013161 C -02302 000057 C -02332 000773 C -13162 000043 C H4INBP+1 -13163 013327 C HIBC -13164 013330 C HIBC+1 -13165 013331 C HIBC+2 -13166 013332 C HIBC+3 -13167 003014 C HER0: JMP 0 1000 777"A"HITEST /NEEDED FOR HOST TEST - /MUST PRECEDE HER! -13170 070070 C HER: H1ERR /SKIP ON ERROR FROM HOST -13171 070060 C H2ERR -13172 C TIPDEF H3ERR,NOP -02253 013172 C -02303 070050 C -02333 101000 C -13173 070051 C H4ERR -13174 101000 C NOP -13175 101000 C NOP -13176 101000 C NOP -13177 101000 C NOP -13200 030170 C HIN: H1IN /INPUT INSTRUCTIONS -13201 030160 C H2IN -13202 C TIPDEF H3IN,JMP+0+1000+HIFAKE"A"777 -02254 013202 C -02304 030150 C -02334 003531 C -13203 030151 C H4IN -13204 003531 C JMP HIFAKE -13205 003531 C JMP HIFAKE -13206 003531 C JMP HIFAKE -13207 003531 C JMP HIFAKE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 119 IMP,3050,IMP 7:20 PM 9/16/1973 - - /FAKE HOST TO IMP (JAM) - /SIMULATE HOST-TO-IMP INTERFACE HARDWARE FOR FAKE HOSTS: - /1- RECEIVE A WORD FROM HOST - /2- STORE THE WORD THROUGH THE DMC INPUT POINTER - /3- INCREMENT THE DMC INPUT POINTER - /4- IF LAST BIT INDICATOR IS SET, OR - / IF THE DMC INPUT AND INPUT END POINTERS CROSS - / GIVE INPUT COMPLETED INTERRUPT - /5- GO TO 1 - /HIBB SERVES AS THE DMC INPUT POINTER - /HIBC SERVES AS THE DMC INPUT END POINTER - /CALLING SEQUENCE - /FAKE HOST NUMBER IN X REG - 0=TTY,1=DDT,2=TRACE,3=STATISTIC1 - /SIGN BIT OF X REG IS LAST BIT INDICATOR - BIT ON=LAST BIT - /THE WORD TO GIVE TO THE IMP IN A REG - /JST JAM - SEND THIS WORD TO IMP FROM THIS FAKE HOST - / - IMPLICIT BACKGROUND WAIT UNTIL THIS WORD IS TAKEN - / - AND ANOTHER WORD MAY BE SENT - LEV BCK -13210 000000 7 GAM: 0 -13211 151323 7 STA HIBB XI /STORE NEXT WORD THROUGH INPUT PNI -13212 065323 7 IRS HIBB X /INCREMENT INPUT PNTR -13213 004000 7 LDA 0 -13214 100400 7 SPL /IS LAST BIT FLAG SET? -13215 003247 7 JMP GAM2 /YES -13216 045327 7 LDA HIBC X -13217 057323 7 SUB HIBB X -13220 101400 7 SMI /HAVE PNTRS CROSSED? -13221 103210 7 JMP GAM I /NO, RETURN -13222 005177 7 LDA HER+NH+3 /(NOP) -13223 051317 7 GAM1: STA EMFH+NH X /SET UP LAST BIT INSTRUCTION FOR HO -13224 005210 7 LDA GAM -13225 051251 7 STA GAMT X /SAVE RETURN ADDRESS -13226 004000 7 LDA 0 -13227 140100 7 SSP -13230 011255 7 STA GAMX -13231 014130 7 ADD PLNH -13232 010000 7 STA 0 /SET UP X REG FOR THIS FAKE HOST -13233 001001 7 INH SIN /SOFTWARE INTERRUPT HOST-TO-IMP -13234 000013 7 0 EXA -13235 021106 7 0 JST HISB RET BCK -13236 001001 7 INH ALL -13237 120672 7 0 JST DODXA I RET BCK -13240 073255 7 LDX GAMX -13241 045143 7 GAM3: LDA HITT+NH X /TIMER HAS THREE POSSIBLE STATES -13242 140401 7 CMA /0 - WAITING FOR LEADER INPUT -13243 100040 7 SZE /-1 - WAITING FOR SOFTWARE INTERRU -13244 143251 7 JMP GAMT XI /IF NOT -1, INPUT CAN GO, SO RETUF -13245 120665 7 JST DOZE I /-N - WAITING FOR DATA INPUT - DEFPLC [JAM CALL TO DOZE] -13246 003241 7 JMP GAM3 /WAIT UNTIL INPUT IS ALLOWED -13247 004112 7 GAM2: LDA SIGN /(SKP) -13250 003223 7 JMP GAM1 - LEV VAR DEFPLC [GAMT] -13251 V GAMT: BSS FH /TABLE OF RETURN ADDRESSES -13255 V GAMX: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 120 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK LCK INI -13256 000000 7 0 HIST: 0 /RESTART HOST TO IMP -13257 140040 7 0 CRA -13260 051333 7 0 STA HISP X -13261 011106 7 0 STA HISB /IN CASE NON-DXA IMP RELOADED FROM ] -13262 111535 7 0 STA (HIDEST 0 X) I -13263 045273 7 0 LDA HISTAB X -13264 050453 7 0 STA HILO X /SET UP INITIAL ADDRESS TO GO TO -13265 045303 7 0 LDA EMIT X -13266 051313 7 0 STA EMFH X /SET UP FOM INSTRUCTION -13267 000013 7 0 EXA -13270 021106 7 0 JST HISB /CALL HOST -13271 120672 7 0 JST DODXA I -13272 103256 7 0 JMP HIST I - - LEV CON -13273 013353 C HISTAB: HISTRH /INITIAL COROUTINE ENTRANCES -13274 013353 C HISTRH -13275 C TIPDEF HISTRH, HISTFH -02255 013275 C -02305 013353 C -02335 013416 C -13276 013353 C HISTRH -13277 013416 C HISTFH -13300 013416 C HISTFH -13301 013416 C HISTFH -13302 013416 C HISTFH - -13303 070270 C EMIT: H1EOM /SKIP ON LAST BIT INSTRUCTIONS -13304 070260 C H2EOM -13305 C TIPDEF H3EOM, SKP -02256 013305 C -02306 070250 C -02336 100000 C -13306 070251 C H4EOM -13307 100000 C SKP -13310 100000 C SKP -13311 100000 C SKP -13312 100000 C SKP - - LEV VAR -13313 V EMFH: BSS TH /SKIP ON END OF MESSAGE FROM HOST -13323 V HIBB: BSS FH /DMC INPUT PNTRS FOR FAKE HOSTS -13327 V HIBC: BSS FH /DMC INPUT END PNTRS FOR FAKE HOSTS -13333 V HISP: BSS TH /POINTER TO CURRENT BUFFER -13343 V HINWAT: BSS TH /HOLD UP HOST INPUT - - LEV H2I -13353 005536 4 HISTRH: LDA (HIFRST) /DISCARD FIRST INPUT OF REAL HOST -13354 003417 4 JMP HISTLO - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 121 IMP,3050,IMP 7:20 PM 9/16/1973 - -13355 004114 4 HIDOWN: LDA ONE 0"A"HSTGDN -13356 050504 4 STA HIHD X /MARK HOST GOING DOWN - DEFPLC [HI - WAITING FOR A PKT TO THROW AWAY] -13357 140040 4 HIDISC: CRA -13360 127535 4 IMA (HIDEST 0 X) I -13361 101400 4 SMI /DID THIS GUY JUST TAKE TOO LONG? -13362 003367 4 JMP HIDSC1 /NO -13363 005537 4 LDA (HIDISC) -13364 050453 4 STA HILO X -13365 140040 4 CRA /DONT'T SET ALARM CLOCK AGAIN -13366 003470 4 JMP HINLO1 -13367 045333 4 HIDSC1: LDA HISP X /FLUSH HISP -13370 101040 4 SNZ -13371 003400 4 JMP HIFRST -13372 010000 4 STA 0 -13373 050111 4 STA BUFE X 0"A"TWOQ -13374 001001 4 INH FRE -13375 120671 4 0 JST FLUSHI I -13376 000401 4 0 ENB H2I -13377 072675 4 LDX HIP - DEFPLC [HI - WAITING FOR INITIAL INPUT] -13400 045313 4 HIFRST: LDA EMFH X /IS EOM SET? -13401 011403 4 STA .+2 -13402 005537 4 LDA (HIDISC) -13403 4 BSS 1 -13404 003466 4 JMP HINLO /NO -13405 140040 4 HIDB: CRA -13406 051333 4 STA HISP X -13407 045313 4 LDA EMFH X /IS EOM SET? -13410 011411 4 STA .+1 -13411 4 BSS 1 -13412 003457 4 JMP HINBUF /NO -13413 045343 4 HIWAIT: LDA HINWAT X /INPUT TO BE BLOCKED? -13414 100040 4 SZE -13415 003430 4 JMP HIBLKD /YES -13416 005540 4 HISTFH: LDA (HILEAD) -13417 050453 4 HISTLO: STA HILO X -13420 140040 4 CRA -13421 051137 4 STA HITT X /GIVE HIM FOREVER TO INPUT NEXT ME' -13422 004000 4 LDA 0 -13423 041577 4 ALS 1 -13424 015541 4 ADD (I 0 HICWS) -13425 151147 4 STA HIB1 XI -13426 141206 4 AOA -13427 003511 4 JMP HINB2 - -13430 021124 4 HIBLKD: JST HIWM - DEFPLC [HI - INPUT BEING BLOCKED BY OUTPUT] -13431 003413 4 JMP HIWAIT - - LEV CON - DEFPLC [HI - 2 WORD INPUT AREA] -13432 C HICWS: BSS TH+TH - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 122 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV H2I -13452 044453 4 HIWBUF: LDA HILO X -13453 051333 4 STA HISP X /SAVE RETURN ADDRESS -13454 021124 4 JST HIWM - DEFPLC [HI - NO FREE SPACE] -13455 045333 4 LDA HISP X -13456 003466 4 JMP HINLO /RESTORE RETURN ADDRESS -13457 005542 4 HINBUF: LDA (PKTN1) -13460 115543 4 ADD (HIH1 0 X) I -13461 111543 4 STA (HIH1 0 X) I -13462 007544 4 ANA (PKTNO) -13463 101040 4 SNZ /WILL NEXT PKT BE NO 10? -13464 003357 4 JMP HIDISC /YES -13465 005545 4 LDA (HI25) -13466 050453 4 HINLO: STA HILO X -13467 005546 4 LDA (0 0 -15000."Q"25.) -13470 051137 4 HINLO1: STA HITT X /GIVE HOST 15 SECS TO INPUT PKT -13471 001001 4 INH FRE -13472 004537 4 0 LDA NFA -13473 016563 4 0 SUB NFS -13474 016570 4 0 SUB MINF -13475 100400 4 0 SPL -13476 003452 4 0 JMP HIWBUF /NOT ENOUGH BUFFERS FOR MODEM INPUT -13477 104324 4 0 LDA FREE I -13500 101040 4 0 SNZ -13501 003452 4 0 JMP HIWBUF -13502 026324 4 0 IMA FREE -13503 024563 4 0 IRS NFS -13504 000401 4 0 ENB H2I -13505 051333 4 STA HISP X /SAVE POINTER TO BUFFER -13506 015547 4 ADD (I 0 DATA) -13507 151147 4 STA HIB1 XI - /THIS CONSTANT DETERMINES PACKET LENGTH FOR THE WHOLE IMPSY' -13510 015550 4 ADD (BUFE-2-DATA) /ALLOW FOR CHKSM -13511 140100 4 HINB2: SSP /FOR FAKE HOSTS -13512 151157 4 STA HIB2 XI -13513 045200 4 LDA HIN X -13514 011515 4 STA .+1 -13515 4 BSS 1 -13516 005136 4 HIDONE: LDA HIMS /RESTORE INTERRUPT MASK -13517 001001 4 INH MSK -13520 170120 4 0 SMK INTM -13521 010134 4 0 STA PRIM -13522 000013 4 0 EXA -13523 005134 4 0 LDA HIK -13524 171020 4 0 OTK -13525 073135 4 0 LDX HIX /RESTORE IR -13526 005133 4 0 LDA HIA /RESTORE AC -13527 000401 4 0 ENB H2I -13530 103106 4 JMP HISB I - -13531 145147 4 HIFAKE: LDA HIB1 XI -13532 140100 4 SSP -13533 151147 4 STA HIB1 XI -13534 003516 4 JMP HIDONE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 123 IMP,3050,IMP 7:20 PM 9/16/1973 - -13535 054177 C LEV CON CONSTANTS -13536 013400 C -13537 013357 C -13540 014053 C -13541 113432 C -13542 000400 C -13543 054147 C -13544 003400 C -13545 014544 C -13546 176650 C -13547 100011 C -13550 000076 C -02422 175557 C PAGEND 13,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 124 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR -14003 000000 V HICW1: 0 /TEMP USED TO RETRIEVE CONTROL WORD1 - LEV H2I -14004 000000 4 HILOOP: 0 -14005 045042 4 LDA HBTS X -14006 012106 4 ERA MINE -14007 051147 4 STA HIH1 X -14010 004143 4 LDA HL2WD -14011 051167 4 STA HIH3 X -14012 103004 4 JMP HILOOP I - -14013 021004 4 HIEXER: JST HILOOP -14014 045147 4 HITEST: LDA HIH1 X /MSG A NOP? -14015 007627 4 ANA (HICODE) -14016 013630 4 ERA (CNOP) -14017 100040 4 SZE -14020 103631 4 JMP (HIDISC) I /NO. FLUSH MESSAGE -14021 045167 4 LDA HIH3 X /DATA WORD MATCH? -14022 012143 4 ERA HL2WD -14023 101040 4 SNZ -14024 125632 4 IRS (HLRCVD) I /YES, COUNT A GOOD ONE -14025 103631 4 JMP (HIDISC) I /AND FLUSH MSG - - /USE TO CLEAN UP UNTIL IMPDIE LOGIC TAKES OVER -14026 000000 4 HIWMD: 0 /HIWM WITH DEAD TEST -14027 072675 4 LDX HIP -14030 173633 4 LDX (HIDEST 0 X) I -14031 044165 4 LDA RUT X -14032 072675 4 LDX HIP -14033 100400 4 SPL 0"A"RUTDED /IS DEST IMP DEAD? -14034 003272 4 JMP HI19 /YES -14035 044504 4 LDA HIHD X 0"A"HSTUP -14036 100040 4 SZE /IS SOURCE HOST DEAD? -14037 003232 4 JMP HIERR /YES -14040 005026 4 LDA HIWMD -14041 103634 4 JMP (HIWM1) I /NO, WAIT ONE TICK - - LEV CON -14042 000000 C HBTS: 0 /FROM IMP AND HOST BITS -14043 000100 C 100 -14044 000200 C 200 -14045 000300 C 300 -14046 040000 C 40000 -14047 040100 C 40100 -14050 040200 C 40200 -14051 040300 C 40300 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 125 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV H2I -14052 121635 4 HIHDN: JST (HIWM) I - DEFPLC [HI - WAITING FOR LEADER] - VD.1P: -14053 044504 4 HILEAD: LDA HIHD X 0"A"HSTIDN -14054 022116 4 CAS THREE -14055 003052 4 JMP HIHDN 0"A"HSTIDN -14056 101000 4 NOP -14057 004000 4 LDA 0 /SET UP HIH1, HIH3 FROM CONTROL INP1 -14060 041577 4 ALS 1 -14061 010000 4 STA 0 -14062 105636 4 LDA (HICWS 0 X) I -14063 011003 4 STA HICW1 -14064 105637 4 LDA (HICWS+1 X) I -14065 072675 4 LDX HIP -14066 007640 4 ANA (LINKNO) -14067 051167 4 STA HIH3 X -14070 005003 4 LDA HICW1 0"A"[PRIBIT 0 FORIMP TRACE FOROCT DESTHI] -14071 051147 4 STA HIH1 X 0"A"PKTNO -14072 007627 4 ANA (HICODE) -14073 141140 4 ICL -14074 015641 4 ADD (HI2 0 I) -14075 051137 4 STA HIH0 X -14076 017134 4 SUB HIDE -14077 101400 4 SMI -14100 103132 4 JMP HI2+7 I /ASSUMES NO TYPE 7 MESSAGE -14101 105642 4 LDA (HER 0 X) I -14102 011103 4 STA .+1 -14103 4 BSS 1 /ERROR?, LOOP JST, OR EXER OR TEST -14104 100000 4 SKP /NO -14105 003232 4 JMP HIERR /ERROR BIT SET IN LEADER -14106 140040 4 CRA 0"A"HSTUP -14107 066504 4 IMA HIHD X -14110 100040 4 SZE /WAS HOST DOWN? -14111 104700 4 LDA IHXX I /YES, IS OUTPUT IN PROGRESS? -14112 101040 4 SNZ -14113 003116 4 JMP .+3 /NOT BOTH -14114 004107 4 LDA M30SEC /WAS DOWN, GIVE OUTPUT FULL 30 SE(' -14115 111643 4 STA (IHTT 0 X) I -14116 105644 4 LDA (EMFH 0 X) I /YES -14117 011120 4 STA .+1 -14120 4 BSS 1 /EOM? -14121 143137 4 DEFSTAT JMP HIH0 XI, HS2 /N0,DISPATCH ON TYPE -00606 031072 4 -32002 014121 4 -32022 143137 4 -14122 003231 4 JMP HISHRT /YES, LESS THAN 32 BIT MESSAGE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 126 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -14123 014243 C HI2: HI20 /0 - REG -14124 013357 C HIDISC /1 - IMP FORMAT ERROR -14125 013355 C HIDOWN /2 - HOST GOING DOWN -14126 014230 C HIBADC /3 -14127 013357 C HIDISC /4 - NOP -14130 014230 C HIBADC /5 -14131 014230 C HIBADC /6 -14132 014230 C HIBADC /7 - USED IN CODE FOR HIBADC REFEF ' -14133 013357 C HIDISC /8 - IMP FORMAT ERROR WITH ID -14134 114134 C HIDE: . 0 I - - LEV VAR - /MORE OF HOST-TO-IMP, INCLUDING PACKET PROCESSING -14135 V HIT1: BSS 1 /TEMP -14136 177777 V HITF: -1 -14137 V HIH0: BSS TH /SAVED HEAD,HEAD1,HEAD2,HEAD3 -14147 V HIH1: BSS TH -14157 V HIH2: BSS TH -14167 V HIH3: BSS TH -14177 V HIDEST: BSS TH /DESTINATION OF CURRENT MESS - /SIGN BIT ON MEANS HOST TOOK TOO LO1 -14207 V HILINK: BSS TH /PNTR TO SAVED LINK+SUB-CODE WORD -14217 V HIBLKT: BSS TH /TIME TO WAIT FOR MESS NO -14227 V HIAR: BSS 1 /TEMP ADDER RETURN - - LEV H2I -14230 065167 4 HIBADC: IRS HIH3 X 0"A"CILLGL -14231 065167 4 HISHRT: IRS HIH3 X 0"A"CSHORT -14232 140040 4 HIERR: CRA 0"A"CERR32 -14233 051147 4 STA HIH1 X -14234 005645 4 LDA (CERRLD) -14235 003273 4 JMP HI16 - -14236 005646 4 HIBLK: LDA (CBLOCK) -14237 053167 4 ERA HIH3 X -14240 051167 4 STA HIH3 X -14241 005647 4 LDA (CINCTR) -14242 003273 4 JMP HI16 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 127 IMP,3050,IMP 7:20 PM 9/16/1973 - -14243 004675 4 HI20: LDA HIP /FIGURE OUT HOW LONG TO WAIT FOR ME: -14244 012130 4 ERA PLNH /IS THIS FROM TTY? -14245 100040 4 SZE /GIVE IT 150 MS OR 15 SECS IF NOT -14246 005650 4 LDA (0 0 -6"X"-450.) -14247 012126 4 ERA MINUS6 /15 SECS FOR ALL OTHER HOST -14250 051217 4 STA HIBLKT X -14251 045147 4 LDA HIH1 X -14252 007651 4 ANA (DESTI) -14253 051177 4 STA HIDEST X -14254 010000 4 STA 0 -14255 044165 4 LDA RUT X -14256 072675 4 LDX HIP -14257 101400 4 SMI 0"A"CIMPD 0"A"RUTDED -14260 007652 4 ANA (RUTCMU) /HOSTS AT DEAD IMPS ARE DEAD -14261 100040 4 SZE /IS THERE A DELAY IN BRINGING THI1 -14262 003272 4 JMP HI19 /YES, IMP IS STILL DEAD -14263 045147 4 LDA HIH1 X -14264 007653 4 ANA (FORIMP 0 DESTH) -14265 013654 4 ERA (FORIMP 0 200) -14266 101010 4 SS2 /ALL HOSTS ARE UP IF SS2 IS UP -14267 100040 4 SZE /PARAM CHANGE IS DOWN IF IT'S NOT -14270 003311 4 JMP HI23 /HOST IS UP -14271 065167 4 HI18: IRS HIH3 X 0"A"CHSTD -14272 005655 4 HI19: LDA (CDESTD) -14273 051137 4 HI16: STA HIH0 X -14274 001001 4 HI17: INH FRE -14275 045167 4 0 LDA HIH3 X -14276 010515 4 0 STA TWDP -14277 045147 4 0 LDA HIH1 X -14300 053137 4 0 ERA HIH0 X -14301 120670 4 0 JST OWP I -14302 103631 4 0 JMP (HIDISC) I -14303 121635 4 0 JST (HIWM) I RET H2I - DEFPLC [HI - WAITING FOR TWO-WORD STORE] -14304 003274 4 JMP HI17 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 128 IMP,3050,IMP 7:20 PM 9/16/1973 - -14305 065217 4 HI22: IRS HIBLKT X /HAVE WE WAITED TOO LDNG? -14306 100000 4 SKP /NO -14307 003236 4 JMP HIBLK /YES, SEND BACK BLOCKED -14310 021026 4 JST HIWMD - DEFPLC [HI - WAITING FOR MESS NO] -14311 045147 4 HI23: LDA HIH1 X -14312 007656 4 ANA (PRIBIT 0 DESTI) -14313 121657 4 JST (MESGET) I -14314 003305 4 JMP HI22 /MESSNO IN USE, WAIT -14315 051137 4 STA HIH0 X /SET UP HIH0, HIH2 -14316 045147 4 LDA HIH1 X -14317 007660 4 ANA (FOROCT) 0"A"LSTPKT -14320 012106 4 ERA MINE /CONSTRUCT SOURCE -14321 053042 4 ERA HBTS X 0"A"SRCEH -14322 051157 4 STA HIH2 X -14323 004675 4 LDA HIP -14324 013661 4 ERA (NH+2) -14325 100040 4 SZE /DO NOT AUTO-TRACE TRACE -14326 105662 4 LDA (TF) I -14327 100040 4 SZE /IS AUTO TRACE ON? -14330 025136 4 IRS HITF /YES, IS IT TIME TO TRACE? -14331 003341 4 JMP HI24 /NO -14332 045147 4 LDA HIH1 X /YES -14333 007663 4 ANA (0 0 177777"X"TRACE) -14334 013664 4 ERA (TRACE) /TURN ON TRACE BIT -14335 051147 4 STA HIH1 X -14336 105662 4 LDA (TF) I -14337 140407 4 TCA -14340 011136 4 STA HITF /RESET AUTO TRACE INTERVAL -14341 005665 4 HI24: LDA (HIPKT1) -14342 103666 4 JMP (HINLO) I - DEFPLC [HI - WAITING FOR FIRST PKT] -14343 105667 4 HIPKT1: LDA (HITT 0 X) I -14344 101040 4 SNZ /DID ALARM CLOCK GO OFF? -14345 003353 4 JMP HIPK1S /YES -14346 105644 4 LDA (EMFH 0 X) I -14347 011350 4 STA .+1 -14350 4 BSS 1 -14351 003400 4 JMP HIPLT /MULTI-PACKET INPUT -14352 003361 4 JMP HIPK1A - -14353 140500 4 HIPK1S: SSM -14354 051177 4 STA HIDEST X /MARK AS TOO SLOW -14355 045147 4 LDA HIH1 X -14356 007670 4 ANA (0 0 177777"X"PKTNO) -14357 013655 4 ERA (PKTNO) /MARK AS LAST PKT - FOR HIDISC -14360 051147 4 STA HIH1 X -14361 005671 4 HIPK1A: LDA (ONEOR8 0 REQALL) /MARK AS REQ FOR 1 -14362 053137 4 ERA HIH0 X -14363 051137 4 STA HIH0 X -14364 021464 4 JST HIPKT -14365 003370 4 JMP HIPPT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 129 IMP,3050,IMP 7:20 PM 9/16/1973 - -14366 021026 4 HIPPT0: JST HIWMD - DEFPLC [HI - WAITING FOR PPT SLOT FOR REQ1] -14367 172677 4 LDX HIXX I -14370 121672 4 HIPPT: JST (PPTPUT) I -14371 003366 4 JMP HIPPT0 /NO ROOM IN PPT, WAIT -14372 051207 4 HIMESS: STA HILINK X /SAVE PNTR INTO RPT OR PLT -14373 045177 4 LDA HIDEST X -14374 100400 4 SPL /DID THIS GUY TAKE TOO LONG -14375 003610 4 JMP HIPSLO /YES, GO TO TASK -14376 121673 4 JST (HTPMT) I /COUNT A MESSAGE OF THROUGHPUT -14377 003551 4 JMP HI26 - -14400 045177 4 HIPLT: LDA HIDEST X -14401 121674 4 JST (TALLYG) I /ANY ALLOC FROM OUR DEST? -14402 003412 4 JMP HIPLT2 /NO -14403 021464 4 HIPLTA: JST HIPKT -14404 072675 4 LDX HIP -14405 003407 4 JMP HIPLT1 -14406 021026 4 JST HIWMD - DEFPLC [HI - WAITING FOR PLT SLOT FOR MESS8] -14407 121675 4 HIPLT1: JST (PLTPUT) I -14410 003406 4 JMP .-2 /NO PLT ROOM, WAIT -14411 003372 4 JMP HIMESS - -14412 005676 4 HIPLT2: LDA (REQALL) /MARK AS REQUEST FOR 8 -14413 053137 4 ERA HIH0 X -14414 051137 4 STA HIH0 X -14415 021464 4 JST HIPKT /COPY HEADER -14416 004000 4 LDA 0 -14417 015677 4 ADD (TWOQ MINPL) /MARK AS ON TWO QUEUES, -14420 050111 4 STA BUFE X /FROM SAME BUFFER -14421 072675 4 LDX HIP -14422 100000 4 SKP -14423 021026 4 JST HIWMD - DEFPLC [HI - WAITING FOR PLT SLOT FOR REQ8] -14424 121675 4 JST (PLTPUT) I -14425 003423 4 JMP .-2 /NO PLT ROOM, WAIT -14426 051207 4 STA HILINK X /SAVE PNTR INTO PLT -14427 172677 4 HIPLT3: LDX HIXX I -14430 021520 4 JST HICKSM /MAKE A CHECKSUM -14431 001001 4 INH M2I -14432 132401 4 0 STX ETQ I -14433 032401 4 0 STX ETQ -14434 030041 4 0 TASK -14435 121635 4 0 HIPLT4: JST (HIWM) I RET H2I - DEFPLC [HI - WAITING FOR TASK TO TAKE A REQ8] -14436 003435 4 JMP HIPLT4 -14437 003427 4 JMP HIPLT3 /TASK REFUSED IT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 130 IMP,3050,IMP 7:20 PM 9/16/1973 - -14440 045177 4 HIPLT5: LDA HIDEST X -14441 121674 4 JST (TALLYG) I /ANY ALLOC FROM OUR DEST? -14442 003444 4 JMP HIPLT6 /NO -14443 003447 4 JMP HIPLT8 -14444 021026 4 HIPLT6: JST HIWMD - DEFPLC [HI - WAITING FOR ALL8] -14445 003440 4 HIALL: JMP HIPLT5 - -14446 121635 4 HIPLT7: JST (HIWM) I -14447 172677 4 HIPLT8: LDX HIXX I -14450 044111 4 LDA BUFE X -14451 100400 4 SPL 0"A"TWOQ /HAS THE ACK FOR THIS PKT BEEN PRC*] -14452 003446 4 JMP HIPLT7 /NOT YET, PKT STILL ON LINE, SO WAI -14453 072675 4 LDX HIP -14454 003456 4 JMP HIPLT0 - -14455 021026 4 HIPLT9: JST HIWMD - DEFPLC [HI - WAITING FOR MESS NO FOR MESS8] -14456 045177 4 HIPLT0: LDA HIDEST X /KEEP SAME ORDNO AS REQS -14457 121657 4 JST (MESGET) I /GET NEW MESS NO FOR MESS8 -14460 003455 4 JMP HIPLT9 /MESS NO IN USE, WAIT -14461 051137 4 STA HIH0 X 0"A"REQALL /SAVE IN HEADER -14462 111667 4 STA (HITT 0 X) I /DEFEAT INC TRN LOGIC -14463 003403 4 JMP HIPLTA - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 131 IMP,3050,IMP 7:20 PM 9/16/1973 - -14464 000000 4 HIPKT: 0 -14465 104677 4 LDA HIXX I /COPY HEADER -14466 015700 4 ADD (HEAD) -14467 011135 4 STA HIT1 -14470 045137 4 LDA HIH0 X -14471 111135 4 STA HIT1 I -14472 025135 4 IRS HIT1 -14473 045147 4 LDA HIH1 X -14474 111135 4 STA HIT1 I -14475 025135 4 IRS HIT1 -14476 045157 4 LDA HIH2 X -14477 111135 4 STA HIT1 I -14500 025135 4 IRS HIT1 -14501 045167 4 LDA HIH3 X -14502 111135 4 STA HIT1 I -14503 105701 4 LDA (HIB1 0 XI) I /SAVE LENGTH -14504 140100 4 SSP 0"A"TWOQ -14505 172677 4 LDX HIXX I /LEAVE ROOM FOR CKSUM WRD -14506 050111 4 STA BUFE X /SET UP TWOQ BIT AFTER CALL TO HIPK -14507 131040 4 RDCLOK /SAVE TIME -14510 003507 4 JMP .-1 -14511 050001 4 STA IT X -14512 004675 4 LDA HIP 0"A"INPCHN -14513 140500 4 SSM 0"A"HSTMOD -14514 050003 4 STA INCH X -14515 140040 4 CRA -14516 050000 4 STA 0 X /CLEAR CHAIN POINTER -14517 103464 4 JMP HIPKT I - -14520 000000 4 HICKSM: 0 -14521 005702 4 LDA (HICKAD) /GRAB ADDER -14522 026111 4 IMA ADDRET /AND SAVE OLD OWNER -14523 011227 4 STA HIAR -14524 044111 4 LDA BUFE X -14525 140100 4 SSP 0"A"TWOQ -14526 011543 4 STA HICKT -14527 140407 4 TCA -14530 014000 4 ADD 0 -14531 015703 4 ADD (ADDBOT+ACKH+1) -14532 011535 4 STA HICKAJ -14533 017704 4 SUB (ADDBOT+1) /-NO DF WORDS -14534 103535 4 JMP HICKAJ I -14535 4 HICKAJ: BSS 1 -14536 140407 4 HICKAD: TCA - DEFPLC [NOP HERE TO TURN OFF H2I CHECKSUM GENERATION] -14537 111543 4 STA HICKT I /STORE CHECKSUM -14540 005227 4 LDA HIAR /PUT BACK OLD OWNER -14541 010111 4 STA ADDRET -14542 103520 4 JMP HICKSM I - LEV VAR -14543 V HICKT: BSS 1 /TEMP BUFE PTR - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 132 IMP,3050,IMP 7:20 PM 9/16/1973 - - /TOP OF PACKET LOOP - LEV H2I - DEFPLC [HI - WAITING FOR MIDDLE PACKET] -14544 021464 4 HI25: JST HIPKT /SET UP HEADER AND BUFFER CONTROL W[ -14545 072675 4 LDX HIP -14546 105667 4 LDA (HITT 0 X) I -14547 101040 4 SNZ /DID ALARM CLOCK GO OFF? -14550 003610 4 JMP HIPSLO /YES -14551 105642 4 HI26: LDA (HER 0 X) I -14552 011553 4 STA .+1 -14553 4 BSS 1 /ERROR? -14554 003570 4 JMP HI84 /NO -14555 005646 4 LDA (CERROR) /YES, MARK MESS AS ERROR IN DATA -14556 153207 4 HISUBC: ERA HILINK XI /PUT IN NEW SUB CODE -14557 006120 4 ANA SEVEN 0"A"SUBCOD -14560 153207 4 ERA HILINK XI /INTO PNTR TO LINK AND SUB CODE WOR[ -14561 151207 4 STA HILINK XI -14562 172677 4 LDX HIXX I -14563 044005 4 LDA HEAD X -14564 007705 4 ANA (0 0 177777"X"INCTRN) -14565 013706 4 ERA (INCTRN) /SET INC TRN BIT -14566 050005 4 STA HEAD X -14567 003616 4 JMP H2TASK - -14570 045177 4 HI84: LDA HIDEST X /COUNT A PACKET OF THROUGHPUT -14571 121707 4 JST (HTPPT) I -14572 105644 4 LDA (EMFH 0 X) I -14573 011574 4 STA HIEM1 -14574 4 HIEM1: BSS 1 /IS FOM SET? -14575 003577 4 JMP .+2 /NO -14576 003612 4 JMP HI87 /YES -14577 045147 4 LDA HIH1 X /GET PACKET # -14600 007655 4 ANA (PKTNO) -14601 013655 4 ERA (PKTNO) -14602 101040 4 SNZ /IS PKT NO=7 ? -14603 003606 4 JMP HIPLNG /YES -14604 172677 4 HI85: LDX HIXX I -14605 003616 4 JMP H2TASK /NO - -14606 004114 4 HIPLNG: LDA ONE 0"A"CLONG -14607 003556 4 JMP HISUBC /MARK MESS AS TOO LONG - -14610 004115 4 HIPSLO: LDA TWO 0"A"CSLOWS -14611 003556 4 JMP HISUBC /MARK MESS AS TOO SLOW - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 133 IMP,3050,IMP 7:20 PM 9/16/1973 - -14612 172677 4 HI87: LDX HIXX I -14613 044007 4 DEFSTAT LDA HEAD2 X, HS0 -00607 031055 4 -32003 014613 4 -32023 044007 4 -14614 140500 4 SSM 0"A"LSTPKT -14615 050007 4 STA HEAD2 X -14616 021520 4 H2TASK: JST HICKSM /CHECKSUM PACKET -14617 001001 4 INH M2I -14620 132401 4 0 STX ETQ I /PUT PACKET ON MIDDLE TASK QUEUE -14621 032401 4 0 STX ETQ -14622 030041 4 0 TASK /POKE TASK INTERRUPT -14623 121635 4 0 H2TSKS: JST (HIWM) I RET H2I - DEFPLC [HI - WAITING FOR TASK TO TAKE A PKT] -14624 003623 4 JMP H2TSKS /NO ACTION YET -14625 003604 4 JMP HI85 /TASK REFUSED IT -14626 103710 4 JMP (HIDB) I /TASK TOOK IT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 134 IMP,3050,IMP 7:20 PM 9/16/1973 - -14627 007400 C LEV CON CONSTANTS -14630 002000 C -14631 013357 C -14632 021431 C -14633 054177 C -14634 013127 C -14635 013124 C -14636 053432 C -14637 053433 C -14640 177760 C -14641 114123 C -14642 053170 C -14643 056306 C -14644 053313 C -14645 000400 C -14646 000004 C -14647 004400 C -14650 000704 C -14651 000077 C -14652 000340 C -14653 040300 C -14654 040200 C -14655 003400 C -14656 100077 C -14657 015161 C -14660 010000 C -14661 000006 C -14662 030457 C -14663 157777 C -14664 020000 C -14665 014343 C -14666 013466 C -14667 053137 C -14670 174377 C -14671 000300 C -14672 015064 C -14673 022415 C -14674 015114 C -14675 015233 C -14676 000100 C -14677 100010 C -14700 000005 C -14701 153147 C -14702 014536 C -14703 001563 C -14704 001557 C -14705 177767 C -14706 000010 C -14707 022426 C -14710 013405 C -02423 176721 C PAGEND 14,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 135 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV [T.O,TSK,BCK] LCK H2I - /PENDING PACKET TABLE SUBROUTINES - LOCK INTERRUPTS -15033 000000 5 4 PPTGET: 0 /GET AN ENTRY FROM PPT -15034 011160 5 4 STA PPWANT /MATCH ON MESSNO AND IMPNO IN A -15035 005521 5 4 LDA (-PPTL) -15036 011157 5 4 STA PPTRY -15037 005522 5 4 LDA (PPT) -15040 011156 5 4 STA PPSLT -15041 105156 5 4 PPTL1: LDA PPSLT I /LOOK AT NEXT SLOT -15042 101040 5 4 SNZ /IS THIS SLOT OCCUPIED? -15043 003060 5 4 JMP PPTN1 /NO -15044 010000 5 4 STA 0 /YES, SO LOOK FOR MATCH -15045 044005 5 4 LDA HEAD X -15046 141044 5 4 CAR 0"A"MESSNO -15047 052006 5 4 ERA HEAD1 X -15050 007523 5 4 ANA (0 0 177777"X"DESTI) -15051 052006 5 4 ERA HEAD1 X -15052 013160 5 4 ERA PPWANT -15053 100040 5 4 SZE /MATCH ON MESSNO+IMPNO? -15054 003060 5 4 JMP PPTN1 /NO -15055 005156 5 4 LDA PPSLT /RETURN PNTR TO PPT PNTR IN AC -15056 025033 5 4 IRS PPTGET /SKIP=SUCCESS -15057 103033 5 4 JMP PPTGET I -15060 025156 5 4 PPTN1: IRS PPSLT /GET NEXT SLOT -15061 025157 5 4 IRS PPTRY -15062 003041 5 4 JMP PPTL1 /LOOP BACK -15063 103033 5 4 JMP PPTGET I /NO MATCH, NO SKIP - - LEV H2I -15064 000000 4 PPTPUT: 0 /PUT AN ENTRY INTO PPT - PNTR IN X -15065 004675 4 LDA HIP /TABLE IS PPTL DEEP FOR FAKE HOSTS -15066 040576 4 ARS 2 -15067 140407 4 TCA 0"A"NH /AND PPTL-1 DEEP FOR REAL HOSTS -15070 015524 4 ADD (0 1-PPTL) -15071 011157 4 STA PPTRY -15072 005522 4 LDA (PPT) -15073 011156 4 STA PPSLT -15074 105156 4 PPTL2: LDA PPSLT I -15075 100040 4 SZE /IS THIS SLOT FREE? -15076 003110 4 JMP PPTN2 /NO -15077 133156 4 STX PPSLT I /YES, SO PUT IN OUR PNTR -15100 044111 4 LDA BUFE X -15101 140500 4 SSM 0"A"TWOQ /MARK PACKET AS ON 2 QUEUES -15102 050111 4 DEFSTAT STA BUFE X, HS4 -00610 031266 4 -32004 015102 4 -32024 050111 4 -15103 004000 4 LDA 0 -15104 015525 4 ADD (HEAD3) -15105 072675 4 LDX HIP -15106 025064 4 IRS PPTPUT /SKIP=SUCCESS -15107 103064 4 JMP PPTPUT I -15110 025156 4 PPTN2: IRS PPSLT /GET NEXT SLOT -15111 025157 4 IRS PPTRY -15112 003074 4 JMP PPTL2 /LOOP BACK -15113 103064 4 JMP PPTPUT I /NO ROOM, NO SKIP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 136 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [H2I,T.O,BCK] - /TALLY TABLE SUBROUTINES - LOCK INTERRUPTS - /ARG PASSED IN A, AND X PRESERVED -15114 000000 4 TALLYG: 0 /GET AN ENTRY FROM TALLY -15115 011153 4 STA TALLYT /IMPNO TO MATCH IN A -15116 033154 4 STX TALLYX -15117 073526 4 LDX (TALLY-1) -15120 024000 4 TALLYK: IRS 0 -15121 004000 4 LDA 0 -15122 023155 4 CAS TALLYI /COMPARE WITH IN PNTR -15123 003150 4 JMP TALLYR -15124 003150 4 JMP TALLYR /NO MATCH, NO SKIP -15125 044000 4 LDA 0 X -15126 013153 4 ERA TALLYT -15127 100040 4 SZE /IS THIS ENTRY ONE WE WANT? -15130 003120 4 JMP TALLYK /NO, LOOP BACK -15131 004000 4 LDA 0 -15132 013527 4 ERA (TALLY) -15133 101040 4 SNZ /DID WE JUST GRAB THE OLDEST ALLOCA -15134 111530 4 STA (TALLYC) I /YES, SO RESET TALLY CLOCK -15135 044001 4 TALLYM: LDA 1 X -15136 050000 4 STA 0 X /MOVE REST OF TABLE UP BY ONE SLOT -15137 024000 4 IRS 0 -15140 004000 4 LDA 0 -15141 013155 4 ERA TALLYI -15142 100040 4 SZE /DONE YET? -15143 003135 4 JMP TALLYM /NO, LOOP BACK -15144 005155 4 LDA TALLYI /YES, NOW ADJUST IN PNTR -15145 016114 4 SUB ONE -15146 011155 4 STA TALLYI -15147 025114 4 IRS TALLYG /SKIP=SUCCFSS -15150 073154 4 TALLYR: LDX TALLYX /RESTORE X -15151 005153 4 LDA TALLYT /RESTORE A -15152 103114 4 JMP TALLYG I - - LEV VAR -15153 V TALLYT: BSS 1 /TEMP A -15154 V TALLYX: BSS 1 /TEMP X -15155 V TALLYI: BSS 1 /IN PNTR - -15156 V PPSLT: BSS 1 /PNTR TO PPT ENTRY -15157 V PPTRY: BSS 1 /NO OF TIMES TO LOOK -15160 V PPWANT: BSS 1 /MESSNO + IMPNO WE WANT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 137 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [H2I,BCK] -15161 000000 4 MESGET: 0 /GFT MESSNO, DEST IMP IN A -15162 033204 4 STX MESGX -15163 011203 4 STA MESGT -15164 140100 4 SSP 0"A"PRIBIT -15165 015531 4 ADD (TMESS) -15166 010000 4 STA 0 -15167 044000 4 LDA 0 X -15170 101100 4 SLN 0"A"MESBTS -15171 003201 4 JMP MESGND /MESS NO IN USE -15172 005203 4 LDA MESGT -15173 100400 4 SPL 0"A"PRIBIT /NEED A NEW ORD NO? -15174 021361 4 JST UPORD /YES -15175 021347 4 JST UPMESS -15176 007532 4 ANA (MESSNO 0 ORDNO) -15177 013533 4 ERA (TRNREP) /MARK AS TRANSMISSION -15200 025161 4 IRS MESGET /SKIP=SUCCESS -15201 073204 4 MESGND: LDX MESGX -15202 103161 4 JMP MESGET I - LEV VAR -15203 V MESGT: BSS 1 -15204 V MESGX: BSS 1 - - LEV [T.O,TSK,BCK] LCK H2I - /PENDING LEADER TABLE SUBROUTINES - LOCK INTERRUPTS -15205 000000 5 4 PLTGET: 0 /GET AN ENTRY FROM PLT -15206 011274 5 4 STA PLWANT /MATCH ON MESSNO AND IMPNO IN A -15207 005534 5 4 LDA (-PLTL) -15210 011273 5 4 STA PLTRY -15211 073535 5 4 LDX (PLT) -15212 044000 5 4 PLTL1: LDA PLT0 X -15213 101040 5 4 SNZ /IS THIS ENTRY EMPTY? -15214 003226 5 4 JMP PLTN1 /YES -15215 141044 5 4 CAR 0"A"MESSNO -15216 052014 5 4 ERA PLT1 X -15217 007523 5 4 ANA (0 0 177777"X"DESTI) -15220 052014 5 4 ERA PLT1 X -15221 013274 5 4 ERA PLWANT -15222 100040 5 4 SZE /MATCH ON MESSNO+IMPNO? -15223 003226 5 4 JMP PLTN1 /NO -15224 025205 5 4 IRS PLTGET /SKIP=SUCCESS -15225 103205 5 4 JMP PLTGET I /RETURN PNTR TO PLT ENTRY IN X -15226 024000 5 4 PLTN1: IRS 0 /GET NEXT ENTRY -15227 025273 5 4 IRS PLTRY -15230 003212 5 4 JMP PLTL1 /LOOP BACK -15231 005274 5 4 LDA PLWANT /RESTORE A -15232 103205 5 4 JMP PLTGET I /NO MATCH, NO SKIP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 138 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV H2I -15233 000000 4 PLTPUT: 0 /PUT AN ENTRY INTD PLT -15234 004000 4 LDA 0 /HOST NO IN A -15235 113536 4 ERA (HIH0 0 X) I -15236 007537 4 ANA (0 0 177777"X"MESSNO"X"REQALL) -15237 113536 4 ERA (HIH0 0 X) I -15240 013540 4 ERA (PLTUSE) /MARK PLT0 ENTRY IN USE -15241 011275 4 STA PLTH /SAVE PLT0 ENTRY -15242 105541 4 LDA (HIH1 0 X) I -15243 011276 4 STA PLTH1 /SAVE PLT1 ENTRY -15244 105542 4 LDA (HIH3 0 X) I -15245 011277 4 STA PLTH3 /SAVE PLT2 ENTRY -15246 005534 4 LDA (-PLTL) -15247 011273 4 STA PLTRY -15250 073535 4 LDX (PLT) -15251 044000 4 PLTL2: LDA PLT0 X -15252 100040 4 SZE /IS THIS ENTRY FREE? -15253 003267 4 JMP PLTN2 /NO -15254 005275 4 LDA PLTH /YES, SO PLANT PLT0,1,2 -15255 050000 4 STA PLT0 X -15256 005276 4 LDA PLTH1 -15257 050014 4 STA PLT1 X -15260 005277 4 LDA PLTH3 -15261 050030 4 DEFSTAT STA PLT2 X, HS5 -00611 031276 4 -32005 015261 4 -32025 050030 4 -15262 025233 4 IRS PLTPUT /SKIP=SUCCESS -15263 004000 4 PLTPX: LDA 0 -15264 015543 4 ADD (PLT2) -15265 072675 4 LDX HIP -15266 103233 4 JMP PLTPUT I -15267 024000 4 PLTN2: IRS 0 /GET NEXT ENTRY -15270 025273 4 IRS PLTRY -15271 003251 4 JMP PLTL2 /LOOP BACK -15272 003263 4 JMP PLTPX /NO ROOM, NO SKIP - - LEV VAR -15273 V PLTRY: BSS 1 -15274 V PLWANT: BSS 1 -15275 V PLTH: BSS 1 -15276 V PLTH1: BSS 1 -15277 V PLTH3: BSS 1 - -15300 V RALLYA: BSS 1 -15301 V RALLYI: BSS 1 -15302 V RALMRK: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 139 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /RALLY TABLE SUBROUTINES - LEV [I2H,TSK] -15303 000000 3 RALLYP: 0 /PUT AN ENTRY IN RALLY TABLE -15304 011300 3 STA RALLYA /A = MESSNO, ONEOR8, RFNM, SRCEI -15305 007544 3 ANA (SRCEI) -15306 015545 3 ADD (RALLY) -15307 011301 3 STA RALLYI /SET UP INPUT PNTR -15310 004121 3 LDA MINUS1 -15311 022000 3 CAS 0 /X = REGULAR. INCOMPLETE, OR DEAD -15312 141206 3 AOA /X=SIGN, DEAD -15313 141206 3 AOA /X=MINUS1, INCOMPLETE -15314 141206 3 AOA /X=0 OR X>0, REGULAR -15315 141206 3 AOA /MAKE INTO 11, 10, OR 01 -15316 041576 3 ALS 2 /SHIFT INTO POSITION -15317 011302 3 STA RALMRK /AND SAVE AS MARK BITS -15320 005300 3 LDA RALLYA -15321 141140 3 ICL 0"A"MESSNO -15322 006116 3 ANA THREE -15323 041576 3 ALS 2 -15324 140407 3 TCA -15325 015546 3 ADD (ALR 0 -15326 011331 3 STA RALPS1 /SET UP SHIFT -15327 011341 3 STA RALPS2 -15330 005547 3 LDA (17) -15331 3 RALPS1: BSS 1 -15332 107301 3 ANA RALLYI I -15333 100040 3 SZE /SOMETHING ALREADY THERE? -15334 003346 3 JMP RALPX /YES, A BUG -15335 005300 3 LDA RALLYA -15336 040672 3 ARR 6 0"A"[ONEOR8 0 RFNM] -15337 006116 3 ANA THREE /GET BITS -15340 013302 3 ERA RALMRK /MARK GOT-IT BIT -15341 3 RALPS2: BSS 1 /SHIFT THEM OVER -15342 113301 3 ERA RALLYI I /OR THE BITS IN -15343 111301 3 STA RALLYI I -15344 010477 3 STA RALLCF /COUNT AN ALLOCATE PENDING -15345 025303 3 IRS RALLYP /SKIP=SUCCESS -15346 103303 3 RALPX: JMP RALLYP I - - /FORMAT OF EACH RALLY WORD IS 4 4-BIT BYTES: A,B,C,D - /THIS TABLE RUNS IN PARALLEL WITH AMESS, THE NEXT MESSAGE - /NUMBER FOR WHICH A REPLY SHOULD BE RETURNED - /BYTE A IS FOR AMESS=3 MOD 4, B FOR AMESS=2 MOD 4 - /C= 1 MOD 4, D= 0 MOD 4 - /FORMAT OF EACH 4 -BIT BYTE IS TTMM: - /TT=00 NO ENTRY - /TT=01 RFNM OR RFNM/ALLOCATE - /TT=10 INCOMPLETE TRANSMISSION - /TT=11 DESTINATION DEAD - /FOR TT=10 OR TT=01: - /MM=00 8 PKT ALLOCATE - /MM=01 8 PKT RFNM/ALLOCATE - /MM=10 1 PKT ALLOCATE - /MM=11 1 PKT RFNM - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 140 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [H2I,T.O,TSK,BCK] -15347 000000 4 UPMESS: 0 /ADD ONE TO MESS NO -15350 044000 4 LDA 0 X /PNTR TO MESS TAB IN X -15351 007547 4 ANA (MESBTS) -15352 040477 4 LGR 1 /SHIFT BITS -15353 052000 4 ERA 0 X -15354 007547 4 ANA (MESBTS) -15355 052000 4 ERA 0 X -15356 015550 4 ADD (MESS1) 0"A"MESSNO -15357 050000 4 STA 0 X /INCREMENT MESS NO -15360 103347 4 JMP UPMESS I - -15361 000000 4 UPORD: 0 /ADD ONE TO ORDER NO -15362 044000 4 LDA 0 X /PNTR TO MESS TAB IN X -15363 015551 4 ADD (20) 0"A"ORDNO -15364 052000 4 ERA 0 X /INCREMENT ORDER NO -15365 007552 4 ANA (ORDNO) -15366 052000 4 ERA 0 X -15367 050000 4 STA 0 X -15370 103361 4 JMP UPORD I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 141 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV FRE - /PUT A TWO-WORD MESSAGE - LOCK INTERRUPTS - /CALLED BY I2H,H2I,T.O,TSK,BCK -15371 000000 0 OWPE: 0 -15372 033501 0 STX HNUM -15373 011502 0 STA ONEW -15374 005501 0 LDA HNUM -15375 022130 0 CAS PLNH /REAL HOST? -15376 003442 0 JMP OWPF /NO -15377 101000 0 NOP /TTY LIKE REAL HOST -15400 073553 0 LDX (SHBQ) -15401 004124 0 LDA MINUS4 -15402 011500 0 STA TPEE -15403 003411 0 JMP OWP4 -15404 010000 0 OWP0: STA 0 -15405 064003 0 IRS 3 X -15406 003462 0 JMP OWP3 -15407 004121 0 LDA MINUS1 -15410 050003 0 STA 3 X -15411 025500 0 OWP4: IRS TPEE /ALLOWED TO HAVE ANOTHER BUFFER? -15412 003415 0 JMP OWP8 /YES -15413 025371 0 OWP7: IRS OWPE /NO -15414 003476 0 JMP OWP5 -15415 044000 0 OWP8: LDA 0 X -15416 100040 0 SZE -15417 003404 0 JMP OWP0 -15420 104324 0 LDA FREE I -15421 101040 0 SNZ -15422 003413 0 JMP OWP7 -15423 026324 0 IMA FREE -15424 024563 0 IRS NFS -15425 050000 0 STA 0 X -15426 011500 0 STA TPEE -15427 026000 0 IMA 0 -15430 050001 0 STA 1 X -15431 005554 0 LDA (-17.) /(DECIMAL) -15432 011503 0 STA OWT3 -15433 050003 0 STA 3 X -15434 140040 0 CRA -15435 050000 0 STA 0 X -15436 005500 0 LDA TPEE -15437 014117 0 ADD FOUR -15440 050002 0 STA 2 X -15441 003452 0 JMP OWP1 - -15442 012120 0 OWPF: ERA SEVEN /DISCARD? -15443 100040 0 SZE -15444 103371 0 JMP OWPE I /NO. -15445 005555 0 LDA (-300.) /YES, RESET SOFTWARE WDT. TO 3 MIN. -15446 010503 0 STA WDTIME -15447 030026 0 WDT /AND POKE THE HARDWARE -15450 103371 0 JMP OWPE I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 142 IMP,3050,IMP 7:20 PM 9/16/1973 - -15451 044000 0 OWP2: LDA 0 X -15452 010000 0 OWP1: STA 0 -15453 014117 0 ADD FOUR -15454 050000 0 STA 0 X -15455 005500 0 LDA TPEE -15456 050003 0 STA 3 X -15457 025503 0 IRS OWT3 -15460 003451 0 JMP OWP2 -15461 073500 0 LDX TPEE - -15462 144002 0 OWP3: LDA 2 XI -15463 066002 0 IMA 2 X -15464 073501 0 LDX HNUM -15465 150403 0 STA EHWQ XI -15466 050403 0 STA EHWQ X -15467 010000 0 STA 0 -15470 140040 0 CRA -15471 050000 0 STA 0 X -15472 005502 0 LDA ONEW -15473 050001 0 STA 1 X -15474 004515 0 LDA TWDP -15475 050002 0 STA 2 X -15476 073501 0 OWP5: LDX HNUM -15477 103371 0 JMP OWPE I - - LEV VAR -15500 V TPEE: BSS 1 -15501 V HNUM: BSS 1 -15502 V ONEW: BSS 1 -15503 V OWT3: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 143 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SUBROUTINE TO GET FROM A QUEUE - LOCK INTEPRUPTS - LEV [I2H,T.O,BCK] -15504 000000 3 GETQ: 0 -15505 044000 3 LDA 0 X -15506 101040 3 SNZ -15507 103504 3 JMP GETQ I /NOTHING ON QUEUE -15510 144000 3 LDA 0 XI -15511 101040 3 SNZ /IS THIS THE ONLY THING ON QUEUE? -15512 133556 3 STX (QUEUEE-QUEUEB X) I /YES, MAKE END POINT TO -15513 066000 3 IMA 0 X /REMOVE FROM QUEUE -15514 010000 3 STA 0 -15515 140040 3 CRA -15516 050000 3 STA 0 X /CLEAR CHAIN POINTER -15517 025504 3 IRS GETQ -15520 103504 3 JMP GETQ I - -15521 177770 C LEV CON CONSTANTS -15522 033457 C -15523 177700 C -15524 177771 C -15525 000010 C -15526 032260 C -15527 032261 C -15530 020210 C -15531 032271 C -15532 177460 C -15533 000004 C -15534 177764 C -15535 033477 C -15536 054137 C -15537 000277 C -15540 000200 C -15541 054147 C -15542 054167 C -15543 000030 C -15544 000077 C -15545 032571 C -15546 041700 C -15547 000017 C -15550 000400 C -15551 000020 C -15552 000060 C -15553 000337 C -15554 177757 C -15555 177324 C -15556 040051 C -02424 175566 C PAGEND 15,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 144 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /IMP TO HOST (IH) - - PAGI2H: - LEV I2H - -00076 016034 3 H1OTIL/ IH0E -00077 3 H2OTIL/ TIPDEF IH1E,TINT -02257 000077 3 -02307 016026 3 -02337 025061 3 -00070 016020 3 H3OTIL/ IH2E -00067 016012 3 H4OTIL/ IH3E - - PAGI2H/ - /HOST 3 INTERRUPT ROUTINE -16012 000000 3 0 IH3E: INT I2H -16013 033121 3 0 STX IHX -16014 073012 3 0 LDX IH3E -16015 033042 3 0 STX IHSB -16016 072116 3 0 LDX THREE -16017 003044 3 0 JMP IHSB2 - /HOST 2 INTERRUPT ROUTINE -16020 000000 3 0 IH2E: INT I2H -16021 033121 3 0 STX IHX -16022 073020 3 0 LDX IH2E -16023 033042 3 0 STX IHSB -16024 072115 3 0 LDX TWO -16025 003044 3 0 JMP IHSB2 - /HOST 1 INTERRUPT ROUTINE -16026 000000 3 0 IH1E: INT I2H -16027 033121 3 0 STX IHX -16030 073026 3 0 LDX IH1E -16031 033042 3 0 STX IHSB -16032 072114 3 0 LDX ONE -16033 003044 3 0 JMP IHSB2 - /HOST 0 INTERRUPT ROUTINE -16034 000000 3 0 IH0E: INT I2H -16035 033121 3 0 STX IHX /SAVE INDEX REGISTER -16036 073034 3 0 LDX IH0E -16037 033042 3 0 STX IHSB -16040 072113 3 0 LDX ZERO /NOTE HOST WHICH CAUSED INTERRUPT -16041 003044 3 0 JMP IHSB2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 145 IMP,3050,IMP 7:20 PM 9/16/1973 - - /FROM HERE ON IS COMMON TO ALL IMP-HOST INTERRUPT ROUTINES -16042 000000 3 0 IHSB: 0 -16043 033121 3 0 STX IHX -16044 000011 3 0 IHSB2: DXA -16045 003046 3 0 JMP . 1 -16046 011117 3 0 STA IHA /SAVE AC -16047 000043 3 0 INK -16050 011120 3 0 STA IHK /SAVE EX-MODE -16051 032676 3 0 STX IHP /SAVE CURRENT HOST -16052 004500 3 0 LDA IHM /SET UP NEW INTERRUPT MASK (177700) -16053 170120 3 0 SMK INTM /OUTPUT IT -16054 026134 3 0 IMA PRIM /SAVE IT IN PRIM -16055 011122 3 0 STA IHMS /SAVE OLD PRIM -16056 000401 3 0 ENB I2H -16057 143107 3 JMP IHLO XI /RESTART WHERE LAST LEFT OFF - -16060 000000 3 IHDB: 0 /DEBREAK -16061 004000 3 LDA 0 -16062 016130 3 SUB PLNH -16063 100400 3 SPL -16064 003071 3 JMP IHDO /REAL HOST - DO THE OCP -16065 004107 3 LDA M30SEC /FAKE HOSTS ALWAYS GET 2 MINUTES -16066 041576 3 ALS 2 -16067 051306 3 STA IHTT X -16070 100000 3 SKP /DON'T DO OCP FOR FAKE GUYS -16071 3 IHDO: BSS 1 -16072 005060 3 LDA IHDB -16073 051107 3 IHDONE: STA IHLO X -16074 005122 3 LDA IHMS /RESTORE INTERPUPT MASK -16075 001001 3 INH MSK -16076 170120 3 0 SMK INTM -16077 010134 3 0 STA PRIM -16100 000013 3 0 EXA -16101 005120 3 0 LDA IHK -16102 171020 3 0 OTK /RESTORE EX-MODE -16103 073121 3 0 LDX IHX /RESTORE IR -16104 005117 3 0 LDA IHA /RESTORE AC -16105 000401 3 0 ENB I2H -16106 103042 3 JMP IHSB I - - LEV VAR - / IHLO INDICATES WHAT ROUTINES DID LAST - DEFPLC [IHLO] -16107 V IHLO: BSS TH /RETURN ADDRESSES WHERE IH LEFT OFF -16117 V IHA: BSS 1 /AC SAVE -16120 V IHK: BSS 1 /K SAVE -16121 V IHX: BSS 1 /IR SAVE -16122 V IHMS: BSS 1 /OLD PRIM SAVE -16123 V IHAR: BSS 1 /ADD RET SAVE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 146 IMP,3050,IMP 7:20 PM 9/16/1973 - - /IMP-TO-HOST ROUTINES LOCAL STORAGE - LEV CON -16124 030270 C IHED: H1FOUT /FINAL OUTPUT INSTRUCTIONS -16125 030260 C H2FOUT -16126 C TIPDEF H3FOUT, NOP -02260 016126 C -02310 030250 C -02340 101000 C -16127 030251 C H4FOUT -16130 016205 C OWOP: OWO /PNTRS TO TWO WORD OUTPUT AREAS -16131 016207 C OWO+2 -16132 016211 C OWO+4 -16133 016213 C OWO+6 -16134 016215 C OWO+10 -16135 000044 C IHB1: H1OTBP /DMC OUTPUT PNTRS -16136 000046 C H2OTBP -16137 C TIPDEF H3OTBP, TIPLNK -02261 016137 C -02311 000054 C -02341 000770 C -16140 000030 C H4OTBP -16141 017407 C IHBB -16142 017410 C IHBB+1 -16143 017411 C IHBB+2 -16144 017412 C IHBB+3 -16145 000045 C IHB2: H1OTBP+1 /DMC OUTPUT END PNTRS -16146 000047 C H2OTBP+1 -16147 C TIPDEF H3OTBP+1, TIPLNK+1 -02262 016147 C -02312 000055 C -02342 000771 C -16150 000031 C H4OTBP+1 -16151 017413 C IHBC -16152 017414 C IHBC+1 -16153 017415 C IHBC+2 -16154 017416 C IHBC+3 - LEV VAR - /IN IHSP: - /0 ==> NOTHING IS GOING OUT - /100000 ==> LEADER ONLY (2-WRD MSG) GOING - /2000-37777 ==> PACKET 1S GOING OUT - /102000-137777 ==> PACKET WITH BAD CKSUM IS GOING OUT -16155 V IHSP: BSS TH /SAVED BUFFER POINTERS -16165 V IHWQ: BSS TH /SAVED QUEUE POINTERS -16175 V IHLSTP: BSS TH /MINUS IF LAST PKT - DEFPLC [IH - 2 WORD OUTPUT AREA] -16205 V OWO: BSS [[NH+1]"T"2] /TWO WORD OUTPUT AREA - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 147 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK LCK INI /INITIALIZATION ROUTINE -16217 000000 7 0 IHIN: 0 -16220 140040 7 0 CRA -16221 051155 7 0 STA IHSP X -16222 151135 7 0 STA IHB1 XI /FOR FAKE HOSTS -16223 011042 7 0 STA IHSB /IN CASE NON-DXA IMP RELOADS FROM 1 -16224 140500 7 0 SSM /BLOCK INPUT! -16225 111575 7 0 STA (HINWAT 0 X) I -16226 005576 7 0 LDA (IHBEG) -16227 021273 7 0 JST IHST -16230 103217 7 0 JMP IHIN I - - LEV I2H -16231 000000 3 IHS1: 0 /DISCARD BUFFERS FROM QUEUE -16232 014676 3 ADD IHP -16233 011303 3 STA IHT2 -16234 015577 3 ADD (NHS+0-SHQ) -16235 011304 3 STA IHT3 -16236 004676 3 LDA IHP -16237 012120 3 ERA SEVEN -16240 101040 3 SNZ /DISCARD? -16241 103231 3 JMP IHS1 I /YES, DO NOT DISCARD DISCARD -16242 105303 3 IHS1A: LDA IHT2 I -16243 101040 3 SNZ /ANYTHING ON THIS QUEUE? -16244 103231 3 JMP IHS1 I /NO, QUIT -16245 010000 3 STA 0 -16246 005305 3 LDA IHS1F /=0, FLUSH ALL, ELSE, FLUSH TIMEOL' -16247 101040 3 SNZ /DISCARD ALL? -16250 003261 3 JMP IHS1B /YES -16251 004416 3 LDA TIMES /GFT TIME IN SLOW TICKS -16252 056003 3 SUB INCH X /NO, CHECK TIME -16253 100400 3 SPL /TOO OLD? -16254 003267 3 JMP IHS1C /NO, SO SAVE TIME LEFT -16255 004676 3 LDA IHP -16256 016130 3 SUB PLNH -16257 101400 3 SMI /FAKE HOST? -16260 103231 3 JMP IHS1 I /YES, HAVE MERCY -16261 073303 3 IHS1B: LDX IHT2 -16262 121600 3 JST (GETQ) I -16263 103231 3 JMP IHS1 I /SHOULDNT HAPPEN -16264 121601 3 JST (IHS5) I -16265 125304 3 IRS IHT3 I -16266 003242 3 JMP IHS1A - -16267 023305 3 IHS1C: CAS IHS1F /PICK MIN TIME LEFT -16270 011305 3 STA IHS1F /FOR OLDEST PKT ON PRI OR REG QUEUE -16271 101000 3 NOP /IF NOTHING THERE, USE 30 SECS -16272 103231 3 JMP IHS1 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 148 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O /RESTART ROUTINE -16273 000000 5 IHST: 0 /HERE AT INIT AND WHEN HOST READY DT -16274 051107 5 STA IHLO X /THROW AWAY ALL MESSAGES -16275 001001 5 INH SIN -16276 000013 5 0 EXA /BUT DO NOT FLAP IMP'S READY LINE -16277 021042 5 0 JST IHSB RET T.O -16300 001001 5 INH ALL -16301 120672 5 0 JST DODXA I RET T.O -16302 103273 5 JMP IHST I - - LEV VAR -16303 V IHT2: BSS 1 /TEMP -16304 V IHT3: BSS 1 /TEMP -16305 V IHS1F: BSS 1 /0=FLUSH ALL, ELSE=FLUSH TIMEOUTS - /ALSO KEEPS ALARM CLOCK TIME FOR [ 1 -16306 V IHTT: BSS TH /TIME OUT CHECK FLAGS - - LEV CON -16316 030570 C HENABT: H1ENAB -16317 030560 C H2ENAB -16320 030550 C H3ENAB -16321 030551 C H4ENAB - - LEV I2H -16322 000000 3 IHW640: 0 /SUBR TO WAIT 640 MS -16323 011324 3 STA .+1 /SET UP READY LINE OCP -16324 3 BSS 1 /DO IT -16325 004121 3 LDA MINUS1 /AND WAIT 640 MS FOR RELAY TO SETTL1 -16326 051306 3 STA IHTT X -16327 005322 3 LDA IHW640 -16330 003073 3 JMP IHDONE - -16331 004110 3 IHBEG: LDA PTICKS /A LITTLE MORE THAN TWICE PTICKS -16332 016120 3 SUB SEVEN -16333 041577 3 ALS 1 /WAIT FOR LINES TO COME UP AND ROUT -16334 051306 3 STA IHTT X -16335 005602 3 LDA (IHWAIT) -16336 003073 3 JMP IHDONE -16337 005603 3 IHWT1: LDA (NOP) -16340 021322 3 JST IHW640 - DEFPLC [IH - WAITING FOR INITIALIZATION DELAY] -16341 004172 3 IHWAIT: LDA RUT+BBNIMP -16342 100400 3 SPL 0"A"RUTDED /IS NCC UP YET? -16343 003347 3 JMP IHWT2 /NEVER COMING UP...GO AHEAD -16344 007604 3 ANA (RUTCMU) /COMING UP? -16345 100040 3 SZE -16346 003337 3 JMP IHWT1 /YES, WAIT SOME MORE -16347 004116 3 IHWT2: LDA THREE 0"A"HSTOFF /OK, START UP HOSTS -16350 003357 3 JMP IHR11 /HOLD DOWN RDY FOR 60 SECS AT INIT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 149 IMP,3050,IMP 7:20 PM 9/16/1973 - -16351 004000 3 IHR2: LDA 0 /HERE TO FLUSH ALL/FLAP READY LINE -16352 016120 3 SUB SEVEN /DON'T FLUSH STUFF ON DISCARD QUEUE -16353 101040 3 SNZ -16354 103605 3 JMP (IH62) I -16355 111575 3 STA (HINWAT 0 X) I /DISCARD STUFF ON OTHER O1 -16356 004115 3 LDA TWO 0"A"HSTTRD -16357 050504 3 IHR11: STA HIHD X /MARK HOST AS TARDY (DEAD) -16360 121606 3 IHR1: JST (OWGE) I /HERE TO FLUSH ALL/NO READY LINE FL -16361 100000 3 SKP /THROW AWAY ALL 2 WORD MESSAGES -16362 003360 3 JMP IHR1 -16363 140040 3 CRA /FLUSH BUFFER CURRENTLY IN INTERFACI -16364 151145 3 STA IHB2 XI -16365 151135 3 STA IHB1 XI -16366 067155 3 IMA IHSP X -16367 140100 3 SSP /IF 0, NOTHING GOING -16370 101040 3 SNZ /IF SIGN BIT ONLY, TWO WORD GOING -16371 003400 3 JMP IS40 /IN EITHER CASE, NOTHING TO FLUSH -16372 024541 3 IRS NREA -16373 011305 3 STA IHS1F /SAVE PKT PNTR IN TEMP -16374 045175 3 LDA IHLSTP X /PICK UP LST PKT BIT -16375 073305 3 LDX IHS1F /GET PKT PNTR -16376 050007 3 STA HEAD2 X /AND RESTORE LST PKT BIT TO PKT -16377 121601 3 JST (IHS5) I -16400 140040 3 IS40: CRA /SET TO DISCARD ALL BUFFERS ON QU[ -16401 011305 3 STA IHS1F -16402 005607 3 LDA (SHQ) /GET REGULAR QUEUE -16403 021231 3 JST IHS1 -16404 005610 3 LDA (SHPQ) /GET PRIORITY QUEUE -16405 021231 3 JST IHS1 -16406 072676 3 LDX IHP -16407 004000 3 LDA 0 -16410 016130 3 SUB PLNH -16411 101400 3 SMI /FAKE HOST? -16412 003422 3 JMP IS30 /YES, DO NOT DROP READY LINE -16413 105575 3 LDA (HINWAT 0 X) I /WE BLOCKING INPUT? -16414 101040 3 SNZ -16415 003422 3 JMP IS30 /NO, DON'T DROP READY LINE -16416 105611 3 LDA (HUNXPT 0 X) I -16417 021322 3 JST IHW640 /WAIT FOR 640 MS - DEFPLC [IH - WAITING FOR READY LINE TO DROP] -16420 045316 3 LDA HENABT X -16421 021322 3 JST IHW640 /WAIT FOR 640 MS - DEFPLC [IH - WAITING FOR READY LINE TO GO UP] -16422 004123 3 IS30: LDA MINUS3 -16423 011303 3 STA IHT2 -16424 000401 3 IS10: ENB I2H -16425 005612 3 LDA (CNOP) -16426 001001 3 INH FRE -16427 120670 3 0 JST OWP I /PUT 3 NOPS ON HOST TWO WORD QUEUE -16430 101000 3 0 NOP -16431 025303 3 0 IRS IHT2 -16432 003424 3 0 JMP IS10 -16433 005613 3 0 LDA (CRESET) -16434 120670 3 0 JST OWP I /PUT AN IMP-TO-HOST RESET MESS ON ' -16435 101000 3 0 NOP -16436 000401 3 0 ENB I2H - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 150 IMP,3050,IMP 7:20 PM 9/16/1973 - -16437 140040 3 CRA /RELEASE INPUT -16440 111575 3 STA (HINWAT 0 X) I -16441 005603 3 IH00: LDA (NOP) -16442 021322 3 JST IHW640 RET I2H - DEFPLC [IH - NOTHING TO DO] -16443 004107 3 IH1: LDA M30SEC /SET TO DISCARD TIMED-OUT BUFFERS -16444 011305 3 STA IHS1F /AND SAVE TIME LEFT ON OLDEST -16445 005607 3 LDA (SHQ) -16446 021231 3 JST IHS1 /CHECK REG QUEUE FOR OLD MESS -16447 005610 3 LDA (SHPQ) -16450 021231 3 JST IHS1 /AND PRI QUEUE ALSO -16451 072676 3 LDX IHP -16452 121606 3 JST (OWGE) I /IS THERE ENTRY ON ONE WORD QUEUE -16453 003503 3 JMP IH2 /NO -16454 151130 3 STA OWOP XI /(OWO+2*IR) PUT WORD IN OUTPUT ARE -16455 045130 3 LDA OWOP X /GET POINTER TO FRONT OF AREA -16456 151135 3 STA IHB1 XI /BUILD FIRST BUFFER CONTROL WORD -16457 141206 3 DEFSTAT AOA,HS3 -00612 031113 3 -32006 016457 3 -32026 141206 3 -16460 151145 3 STA IHB2 XI /BUILD SECOND BUFFER CONTROL WORD -16461 051155 3 STA IHSP X -16462 004516 3 LDA TWDG -16463 151155 3 STA IHSP XI /PUT OUT SECOND WORD -16464 045124 3 LDA IHED X -16465 011071 3 STA IHDO /DO OUTPUT + END -16466 004112 3 LDA SIGN -16467 051155 3 STA IHSP X -16470 051175 3 STA IHLSTP X /SO SUCK AND TIP WILL WORK PROPER1 -16471 005305 3 LDA IHS1F /USE MIN TIME LEFT FOR PKTS ON QUEU -16472 051306 3 STA IHTT X /OR 30 SECS IF BOTH QUEUES EMPTY -16473 021060 3 JST IHDB - / WAITING FOR INTERRUPT AFTER OUTPUT OF 2 WORD MESSAGE - DEFPLC [IH - SENDING 2 WORD MSG] -16474 140040 3 CRA -16475 151135 3 STA IHB1 XI -16476 051155 3 STA IHSP X -16477 045306 3 LDA IHTT X -16500 101040 3 SNZ /DID HARDWARE INTERRUPT? -16501 003351 3 JMP IHR2 /NO, ALARM CLOCK WENT OFF- HOST TAR -16502 003443 3 JMP IH1 /YES, NORMAL OUTPUT COMPLETE - -16503 044302 3 IH2: LDA SHPQ X /IS THERE SOMETHING IN THE PRIORITY -16504 101040 3 SNZ -16505 003510 3 JMP .+3 /NO -16506 005610 3 LDA (SHPQ) -16507 003514 3 JMP IH19 -16510 044272 3 LDA SHQ X /IS THERE SOMETHING IN THE REGULAR -16511 101040 3 SNZ -16512 003441 3 JMP IH00 -16513 005607 3 LDA (SHQ) -16514 014000 3 IH19: ADD 0 -16515 051165 3 STA IHWQ X /SAVE POINTER TO QUEUE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 151 IMP,3050,IMP 7:20 PM 9/16/1973 - -16516 004115 3 LDA TWO 0"A"[DATA-HEAD2] -16517 111614 3 STA (FPSW 0 X) I -16520 145165 3 IH21: LDA IHWQ XI -16521 051155 3 STA IHSP X /SAVE POINTER TO BUFFER -16522 045165 3 LDA IHWQ X -16523 010000 3 STA 0 -16524 144000 3 LDA 0 XI /UPDATE QUEUE START POINTER -16525 050000 3 STA 0 X -16526 101040 3 SNZ /IS THIS LAST ENTRY ON QUEUE -16527 133615 3 STX (EHQ-SHQ X) I /MAKE START PTR POINTED TT -16530 064251 3 IRS NHS-SHQ X -16531 072676 3 LDX IHP -16532 172700 3 LDX IHXX I -16533 005616 3 LDA (IHCKAD) -16534 026111 3 IMA ADDRET -16535 011123 3 STA IHAR -16536 004000 3 LDA 0 -16537 056111 3 SUB BUFE X -16540 015617 3 ADD (ADDBOT+ACKH) -16541 140100 3 SSP 0"A"TWOQ -16542 011545 3 STA IHCKAJ -16543 017620 3 SUB (ADDBOT) /-NO OF WORDS -16544 103545 3 JMP IHCKAJ I -16545 3 IHCKAJ: BSS 1 -16546 100040 3 IHCKAD: SZE -16547 003553 3 JMP IHBAD -16550 005123 3 LDA IHAR -16551 010111 3 STA ADDRET -16552 103621 3 JMP (IHNOCK) I - -16553 027123 3 IHBAD: IMA IHAR /TEMP FOR CKSUM ERROR -16554 010111 3 STA ADDRET /AND RESTORE OWNER -16555 004676 3 LDA IHP -16556 012120 3 ERA SEVEN - DEFPLC [NOP HERE TO TURN OFF I2H CHECKSUM CHECK] -16557 101040 3 SNZ -16560 103621 3 JMP (IHNOCK) I /DON'T REPORT DISCARD ERRORS -16561 005123 3 LDA IHAR -16562 001001 3 INH ALL - DEFHLT [HOST OUTPUT DETECTED INTRA-IMP CKSUM ERROR] -16563 021564 3 0 JST .+1 /NOW TRAP TO NCC -16564 000000 3 0 0 -16565 120745 3 0 JST HLTNCC I -16566 000401 3 0 ENB I2H -16567 072676 3 LDX IHP -16570 045155 3 LDA IHSP X -16571 140500 3 SSM /FLAG PACKET TO GO TO DIAGTT -16572 051155 3 STA IHSP X -16573 140100 3 SSP -16574 103622 3 JMP (IHNOC2) I /AND CONTINUE ANYWAY - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 152 IMP,3050,IMP 7:20 PM 9/16/1973 - -16575 053343 C LEV CON CONSTANTS -16576 016331 C -16577 000251 C -16600 015504 C -16601 017237 C -16602 016341 C -16603 101000 C -16604 000340 C -16605 017143 C -16606 017250 C -16607 000272 C -16610 000302 C -16611 041170 C -16612 002000 C -16613 005000 C -16614 057203 C -16615 040051 C -16616 016546 C -16617 001562 C -16620 001556 C -16621 017062 C -16622 017064 C -02425 175632 C PAGEND 16,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 153 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -17056 030070 C IHOT: H1ROUT /REGULAR OUTPUT INSTRUCTIONS -17057 030060 C H2ROUT -17060 C TIPDEF H3ROUT, NOP -02263 017060 C -02313 030050 C -02343 101000 C -17061 030051 C H4ROUT - - LEV I2H /MORE IMP-TO-HOST CODE -17062 072676 3 IHNOCK: LDX IHP -17063 105424 3 LDA (IHSP 0 X) I -17064 015425 3 IHNOC2: ADD (DATA) -17065 057203 3 SUB FPSW X /BUILD FIRST BUFFER CONTROL WORD -17066 111426 3 STA (IHB1 0 XI) I -17067 172700 3 LDX IHXX I -17070 131040 3 RDCLOK -17071 003070 3 JMP .-1 -17072 050001 3 STA ST X -17073 140040 3 CRA -17074 050000 3 STA 0 X /CLEAR CHAIN PNTR -17075 044111 3 LDA BUFE X -17076 140100 3 SSP 0"A"TWOQ -17077 016114 3 SUB ONE /STRIP CHECKSUM/DUMMY WRD -17100 072676 3 LDX IHP -17101 111427 3 STA (IHB2 0 XI) I /MAKE SECOND BUFFER CONTR -17102 024565 3 IRS NRES /UPDATE REASSEMBLY COUNT -17103 172700 3 LDX IHXX I -17104 044007 3 LDA HEAD2 X /TURN OFF BITS FOR HOSTS -17105 007430 3 ANA (FRMIMP 0 FRMOCT SRCEHI) -17106 066007 3 IMA HEAD2 X 0"A"[LSTPKT 0 ENDBIT] -17107 072676 3 LDX IHP -17110 111431 3 STA (IHLSTP 0 X) I /SAVE LAST PKT FLAG -17111 100400 3 SPL 0"A"LSTPKT /IS THIS LAST PACKET OF M -17112 003115 3 JMP IH4 /YES -17113 045056 3 LDA IHOT X -17114 100000 3 SKP -17115 105432 3 IH4: DEFSTAT LDA (IHED 0 X) I, HS1 -00613 031076 3 -32007 017115 3 -32027 105432 3 -17116 111433 3 STA (IHDO) I /DO OUTPUT -17117 021127 3 JST IH6 -17120 105431 3 LDA (IHLSTP 0 X) I -17121 121434 3 JST (HTPPF) I /COUNT A PACKET OF THROUGHPUT -17122 105431 3 LDA (IHLSTP 0 X) I -17123 101400 3 SMI /DID WE JUST PUT OUT LAST PKT? -17124 103435 3 JMP (IH21) I /NO -17125 121436 3 JST (HTPMF) I /COUNT A MESSAGE OF THROUGHPUT -17126 103437 3 JMP (IH1) I /YES - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 154 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV I2H /MORE DF IMP-TO-HOST -17127 000000 3 IH6: 0 /SEND OUT A PKT -17130 172700 3 LDX IHXX I -17131 004416 3 LDA TIMES /GET TIME IN SLOW TICKS -17132 056003 3 SUB INCH X -17133 072676 3 LDX IHP -17134 111440 3 STA (IHTT 0 X) I -17135 100400 3 SPL -17136 003143 3 JMP IH62 /SOME TIME LEFT - GO USE IT -17137 004000 3 LDA 0 /RUN OUT - FAKE HOST? -17140 016130 3 SUB PLNH -17141 100400 3 SPL -17142 103441 3 JMP (IHR2) I /NO - HAVE NO MERCY -17143 121442 3 IH62: JST (IHDB) I - DEFPLC [IH - SENDING OUT A PKT] -17144 140040 3 CRA -17145 111426 3 STA (IHB1 0 XI) I -17146 105440 3 LDA (IHTT 0 X) I -17147 101040 3 SNZ /DID HARDWARE INTERRUPT? -17150 103441 3 JMP (IHR2) I /NO, ALARM CLOCK WENT OFF - HOST TA -17151 172700 3 LDX IHXX I /YES, NORMAL OUTPUT COMPLETE -17152 044002 3 LDA PTRT X -17153 001001 3 INH M2I -17154 100040 3 0 SZE /MUST WE TRACE HIM? -17155 121443 3 0 JST (TRCDUN) I /YES -17156 072676 3 0 LDX IHP /MUST FOLLOW TRCDUN CALL -17157 000401 3 0 ENB I2H -17160 140040 3 CRA -17161 067203 3 IMA FPSW X /RESET FIRST PKT SWITCH -17162 172700 3 LDX IHXX I -17163 100040 3 SZE /IS THIS THE FIRST PKT? -17164 003214 3 JMP IH63 /YES -17165 072676 3 IH6F: LDX IHP -17166 140040 3 CRA -17167 126700 3 IMA IHXX I /CLEAR OUT IHSP -17170 010000 3 STA 0 -17171 001001 3 INH FRE -17172 100400 3 0 SPL -17173 003177 3 0 JMP IH6B /WAS BAD PACKET. PUT ON DIAG Q -17174 120671 3 0 JST FLUSHI I /FLUSH PACKET -17175 072676 3 0 IH6F1: LDX IHP -17176 103127 3 0 JMP IH6 I - -17177 140100 3 0 IH6B: SSP -17200 026342 3 0 IMA DIAGQ /PUT ON DIAG Q -17201 050000 3 0 STA 0 X -17202 003175 3 0 JMP IH6F1 - - LEV VAR -17203 V FPSW: BSS TH /FIRST PACKET SWITCH -17213 V IH6INC: BSS 1 /MINUS IF RFNM IS FOR INC TRN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 155 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV I2H -17214 044006 3 IH63: LDA HEAD1 X /THIS CODE IS FOR MULTI-PKT MESS FO: -17215 007444 3 ANA (PKTNO) /THAT WAS ON IH Q TOO LONG IN MID. ] -17216 100040 3 SZE /IS THIS FIRST PACKET? -17217 003165 3 JMP IH6F /NO, THE RFNM HAS BEEN SENT ALREADY -17220 044005 3 LDA HEAD X /NORMAL CASE, SEND BACK RFNM-ALLOC -17221 007445 3 ANA (INCTRN) -17222 100040 3 SZE -17223 004121 3 LDA MINUS1 -17224 011213 3 STA IH6INC -17225 044005 3 LDA HEAD X -17226 007446 3 ANA (MESSNO 0 ONEOR8) -17227 013447 3 ERA (RFNM) -17230 052007 3 ERA HEAD2 X -17231 007450 3 ANA (0 0 177777"X"SRCEI) -17232 052007 3 ERA HEAD2 X -17233 073213 3 LDX IH6INC /SET UP AS INCTRN OR NOT -17234 121451 3 JST (RALLYP) I /PUT IN RALLY TABLE -17235 101000 3 NOP /ENTRY ALREADY THERE - BAD -17236 003165 3 JMP IH6F - - - LEV I2H -17237 000000 3 IHS5: 0 -17240 044005 3 LDA HEAD X -17241 007452 3 ANA (0 0 177777"X"INCTRN) -17242 013445 3 ERA (INCTRN) -17243 050005 3 STA HEAD X -17244 132352 3 STX EHQ+NH+3 I -17245 032352 3 STX EHQ+NH+3 -17246 024526 3 IRS NHA+NH+3 -17247 103237 3 JMP IHS5 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 156 IMP,3050,IMP 7:20 PM 9/16/1973 - - /ROUTINE TO GET WORD OFF ONE WORD MESSAGE QUEUE TO HOST - /CALLING SEQUENCE - - /INDEX REGISTER CONTAINS HOST NUMBER - / JST OWG I - / - / - - LEV I2H -17250 000000 3 OWGE: 0 -17251 033337 3 STX OWGY -17252 044332 3 LDA SHWQ X /GET START OF HOST ONE WORD QUEUE -17253 100040 3 SZE -17254 003260 3 JMP OWGL /RETURN IF NOTHING ON QUEUE -17255 073337 3 OWGX: LDX OWGY -17256 005340 3 LDA OWGA /GET DATA IN AC -17257 103250 3 JMP OWGE I /RETURN -17260 011341 3 OWGL: STA OWGS /SAVE START OF QUEUE FOR LATER USE -17261 004000 3 LDA 0 -17262 022130 3 CAS PLNH /REAL HOST? -17263 003255 3 JMP OWGX /NO -17264 101000 3 NOP /TTY LIKE REAL HOST -17265 025250 3 IRS OWGE /PREPARE TO TAKE SECOND RETURN -17266 073341 3 LDX OWGS /PUT START OF QUEUE IN INDEX REGI[*1 -17267 044001 3 LDA 1 X -17270 011340 3 STA OWGA -17271 044002 3 LDA 2 X -17272 010516 3 STA TWDG -17273 044003 3 LDA 3 X /GET POINTER TO POINTER TO HEAD OF -17274 011342 3 STA OWGT /SAVE FOP LATER USE -17275 073337 3 LDX OWGY /GET HOST NUMBER -17276 144332 3 LDA SHWQ XI -17277 050332 3 STA SHWQ X /UPDATE QUEUE POINTER -17300 100040 3 SZE -17301 003305 3 JMP OWG1 -17302 005453 3 LDA (SHWQ) -17303 014000 3 ADD 0 -17304 050403 3 STA EHWQ X /IF QUEUE NOW EMPTY FIX THINGS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 157 IMP,3050,IMP 7:20 PM 9/16/1973 - -17305 073342 3 OWG1: LDX OWGT /GET POINTER TO HEAD OF BUFFER -17306 044002 3 LDA 2 X /GET FREE STORAGE POINTER FOR THIS I -17307 111341 3 STA OWGS I -17310 005341 3 LDA OWGS /PUT THREE WORD BLOCK ON FREE STORA1 -17311 050002 3 STA 2 X -17312 044003 3 LDA 3 X /GET FREE BLOCK COUNT -17313 016114 3 SUB ONE -17314 050003 3 STA 3 X /UPDATE FREE BLOCK COUNT -17315 023454 3 CAS (-18.) /IS BUFFER EMPTY -17316 003255 3 JMP OWGX /IF NO, RETURN -17317 044001 3 LDA 1 X /IF YES, PUT IT ON FREE LIST -17320 054000 3 ADD 0 X -17321 017455 3 SUB (SHBQ) /CHECK FOR LAST BUFFER ON QUEUE -17322 101040 3 SNZ -17323 003255 3 JMP OWGX /IF YES, RETURN -17324 044000 3 LDA 0 X /TAKE BUFFER OUT OF USE FOR ONE WORI -17325 150001 3 STA 1 XI -17326 044001 3 LDA 1 X -17327 064000 3 IRS 0 X -17330 150000 3 STA 0 XI -17331 140040 3 CRA 0"A"TWOQ -17332 050111 3 STA BUFE X -17333 001001 3 INH FRE -17334 120671 3 0 JST FLUSHI I -17335 000401 3 0 ENB I2H -17336 003255 3 JMP OWGX - - LEV VAR -17337 V OWGY: BSS 1 -17340 V OWGA: BSS 1 -17341 V OWGS: BSS 1 -17342 V OWGT: BSS 1 - - LEV ALL - /CALLED BY VDI,T.O,TSK,PCK -17343 000000 0 .DODXA: 0 /DISABLE EXTENDED ADDRESSING -17344 000011 0 DXA /CALLED WITH INTERRUPTS LOCKED -17345 000401 0 ENB ALL /RETURNS WITH INTERRUPTS ENABLED -17346 103343 0 JMP .DODXA I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 158 IMP,3050,IMP 7:20 PM 9/16/1973 - - /IMP TO FAKE HOST (SUCK) - /SIMULATE IMP-TO-HOST INTERFACE HARDWARE FOR FAKE HOSTS: - /1- IF THE DMC OUTPUT AND OUTPUT END POINTERS CROSS, - / GIVE OUTPUT COMPLETED INTERRUPT - /2- FETCH NEXT WORD THROUGH THE DMC OUTPUT POINTER - /3- INCREMENT THE DMC OUTPUT POINTER, AND IF THE POINTERS C'1 - / AND IF THIS IS A FINAL OUTPUT, SET THE LAST BIT INDICATOI - /4- SEND THE WORD TO THE HOST - /5- GO TO 1 - /IHBB SERVES AS THE DMC OUTPUT POINTER - /IHBC SERVES AS THE DMC OUTPUT END POINTER - /CALLING SEQUENCE - /FAKE HOST NUMBER IN X REG - 0=TTY,1=DDT.2=PARAM CHANGE,3=DI1 - /JST SUCK - GET NEXT WORD FROM IMP FOR THIS FAKE HOST - / - IMPLICIT BACKGROUND WAIT UNTIL WORD IS READY - /R1 - WORD IN A REG - /R2 - WORD IN A REG IS LAST WORD OF CURRENT MESSAGE - LEV BCK -17347 000000 7 SUC: 0 -17350 045407 7 SUC1: LDA IHBB X /IS THERE ANY OUTPUT TO GO? -17351 101040 7 SNZ -17352 003366 7 JMP SUC2 /NO, WAIT ONE BACKGROUND LOOP -17353 057413 7 SUB IHBC X -17354 022113 7 CAS ZERO /HAVE PNTRS CROSSED? -17355 003374 7 JMP SUC4 /YES -17356 003362 7 JMP SUC3 /ALMOST, THIS IS LAST WORD IN BUFFE1 -17357 145407 7 SUC5: LDA IHBB XI /FETCH NEXT WORD FROM OUTPUT PNTR -17360 065407 7 IRS IHBB X /INCREMENT OUTPUT PNTR -17361 103347 7 JMP SUC I /NOW RETURN WITH DATA - -17362 105456 7 SUC3: LDA (IHLSTP+NH X) I /YES -17363 100400 7 SPL 0"A"LSTPKT /IS THIS THE LAST PKT? -17364 025347 7 IRS SUC /YES, SO GIVE SKIP RETURN=LAST BIT -17365 003357 7 JMP SUC5 - -17366 005347 7 SUC2: LDA SUC -17367 051420 7 STA SUCT X /SAVE RETURN ADDRESS -17370 120667 7 JST WAIT I /COROUTINE RETURN TO BACKGROUND - DEFPLC [SUCK CALL TO WAIT] -17371 045420 7 LDA SUCT X -17372 011347 7 STA SUC /RESTORE RETURN ADDRESS -17373 003350 7 JMP SUC1 - -17374 033417 7 SUC4: STX SUCX /YES, SO INTERRUPT ON OUTPUT COMPLE -17375 004000 7 LDA 0 -17376 014130 7 ADD PLNH -17377 010000 7 STA 0 /SET UP X REG FOR THIS FAKE HOST -17400 001001 7 INH SIN /SOFTWARE INTERRUPT IMP-TO-HOST -17401 000013 7 0 EXA -17402 121457 7 0 JST (IHSB) I RET BCK -17403 001001 7 INH ALL -17404 120672 7 0 JST DODXA I RET BCK -17405 073417 7 LDX SUCX -17406 003350 7 JMP SUC1 /NOW GO BACK FOR MORE OUTPUT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 159 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR -17407 V IHBB: BSS FH /DMC OUTPUT PNTRS FOR FAKE HOSTS -17413 V IHBC: BSS FH /DMC OUTPUT END PNTRS FOR FAKE HOE : -17417 V SUCX: BSS 1 - DEFPLC [SUCT] -17420 V SUCT: BSS FH /TABLE OF RETURN ADDRESSES - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 160 IMP,3050,IMP 7:20 PM 9/16/1973 - -17424 056155 C LEV CON CONSTANTS -17425 000011 C -17426 156135 C -17427 156145 C -17430 050377 C -17431 056175 C -17432 056124 C -17433 016071 C -17434 022462 C -17435 016520 C -17436 022451 C -17437 016443 C -17440 056306 C -17441 016351 C -17442 016060 C -17443 011144 C -17444 003400 C -17445 000010 C -17446 177600 C -17447 000100 C -17450 177700 C -17451 015303 C -17452 177767 C -17453 000332 C -17454 177756 C -17455 000337 C -17456 056201 C -17457 016042 C -02426 174464 C PAGEND 17,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 161 IMP,3050,IMP 7:20 PM 9/16/1973 - - - TO: LEV T.O -00102 020022 5 CLOKIL/ TO -20022 000000 5 0 TO/ INT T.O /TIMEOUT INTERRUPT ENTRANCE -20023 000011 5 0 DXA -20024 003025 5 0 JMP . 1 -20025 033145 5 0 STX TOT -20026 025143 5 0 IRS TOSLOW /IS THIS REALLY A SLOW TICK? -20027 003034 5 0 JMP TO1 /NO -20030 073574 5 0 LDX (-25.) /YES, RESET CLOCK -20031 033143 5 0 STX TOSLOW /EVERY 25TH TICK -20032 072114 5 0 LDX ONE -20033 100000 5 0 SKP -20034 072113 5 0 TO1: LDX ZERO /CHOOSE APPROPRIATE X -20035 051146 5 0 STA TOA X /SAVE AC -20036 045160 5 0 LDA TOM X -20037 170120 5 0 SMK INTM -20040 026134 5 0 IMA PRIM -20041 051156 5 0 STA TOMK X -20042 000043 5 0 INK -20043 051150 5 0 STA TOCK X -20044 005145 5 0 LDA TOT -20045 051152 5 0 STA TOX X -20046 005022 5 0 LDA TO /SAVE RETURN -20047 051154 5 0 STA TOC X -20050 024415 5 0 IRS TIME /COUNT LOCAL TIME -20051 101000 5 0 NOP -20052 024417 5 0 IRS SYNC /COUNT GLOBAL TIME -20053 101000 5 0 NOP -20054 030026 5 0 WDT /** TAKE THIS AWAY WHEN ALGORITHM ' -20055 143162 5 0 JMP TOS XI - - LEV T.O -20056 001001 5 TOR: INH MSK -20057 045154 5 0 LDA TOC X -20060 011022 5 0 STA TO -20061 045152 5 0 LDA TOX X -20062 011145 5 0 STA TOT -20063 045156 5 0 LDA TOMK X -20064 170120 5 0 SMK INTM -20065 010134 5 0 STA PRIM -20066 000013 5 0 EXA -20067 045150 5 0 LDA TOCK X -20070 171020 5 0 OTK -20071 045146 5 0 LDA TOA X -20072 073145 5 0 LDX TOT -20073 000401 5 0 ENB T.O -20074 103022 5 JMP TO I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 162 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK LCK INI -20075 000000 7 0 TOI: 0 /TIMEOUT INITIALIZATION -20076 004127 7 0 LDA MICH -20077 010141 7 0 STA HTPAR -20100 072113 7 0 LDX ZERO -20101 140040 7 0 TOIL: CRA -20102 111575 7 0 STA (E123 0 X) I /CLEAR LINE ERROR -20103 004115 7 0 LDA TWO -20104 051300 7 0 STA RMBIT X /TIMER BIT FOR VAR FRQ RM'S -20105 005576 7 0 LDA (1000 SHD RMINIT) /101006, 50 KB LINE FULL 1 -20106 111577 7 0 STA (RMFLG 0 X) I /AND INIT FLAG IN EACH RM] -20107 005600 7 0 LDA (RMCLKS+2) /POINT ALL LINES AT 50KB TIME -20110 111601 7 0 STA (RMCLKP 0 X) I -20111 004110 7 0 LDA PTICKS -20112 111602 7 0 STA (LINDT 0 X) I -20113 004121 7 0 LDA MINUS1 -20114 051452 7 0 STA LTR X -20115 021354 7 0 TOIL2: JST DEDL /SET SLT MINUS, KILL LINE -20116 024000 7 0 IRS 0 -20117 024141 7 0 IRS HTPAR /ENDS UF BY SETTING HTPAR TO 0 -20120 003101 7 0 JMP TOIL -20121 004121 7 0 LDA MINUS1 -20122 011143 7 0 STA TOSLOW /START WITH SLOW TICK -20123 010142 7 0 STA HLNM /CLEAR HOST INTERFACE TEST -20124 111603 7 0 STA (HLNMS) I -20125 111604 7 0 STA (RTSSNT) I -20126 011210 7 0 STA TALLYC /DO THIS OR BACK2 WONT WORK RIGHT -20127 111605 7 0 STA (RALTRY) I -20130 111606 7 0 STA (GODWNC) I -20131 111607 7 0 STA (COMUPC) I -20132 111610 7 0 STA (MESST) I - /THIS CODE IS TO START ALL LINES W/ROUTING MSG SYNC-ED W/SLO -20133 011277 7 0 STA RMCLKS+NSPD-1 -20134 004122 7 0 LDA MINUS2 -20135 073611 7 0 LDX (-NSPD+1) -20136 051277 7 0 TOIL1: STA RMCLKS+NSPD-1 X -20137 024000 7 0 IRS 0 -20140 003136 7 0 JMP TOIL1 -20141 030040 7 0 CLKON -20142 103075 7 0 JMP TOI I - - LEV VAR -20143 V TOSLOW: BSS 1 -20144 V TOK: BSS 1 -20145 V TOT: BSS 1 -20146 V TOA: BSS 2 -20150 V TOCK: BSS 2 -20152 V TOX: BSS 2 -20154 V TOC: BSS 2 -20156 V TOMK: BSS 2 - LEV CON -20160 177774 C TOM: -4 /LOCK OUT T.O IN JOBF -20161 177774 C -4 /ENB T.O IN JOBS **TEMP NOT** -20162 020170 C TOS: JOBF -20163 021075 C JOBS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 163 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -20164 005160 5 JOBF1: LDA TOM /DONE WITH SLOW TICK -20165 170120 5 SMK INTM -20166 010134 5 STA PRIM /LOCK OUT T.O -20167 072114 5 LDX ONE /REMEMBER IT IS A SLOW TICK - /FAST TIMEOUT JOBS - RESTART EVERYBODY -20170 033144 5 JOBF: STX TOK /SAVE TYPE OF TICK -20171 021211 5 JST RSTOUT /MUST PRECEDE IMTC -20172 021305 5 JST IMTC RET T.O /ATTEMPT TO RESTART MODEI -20173 021327 5 JST HITC /ATTEMPT TO RESTART HOST INS -20174 121612 5 JST (SWCH) I /MONITOR THINGS -20175 021200 5 JST TALLYB /TIME OUT OLDEST ALLOCATE WE HAVE -20176 073144 5 LDX TOK -20177 003056 5 JMP TOR - -20200 000000 5 TALLYB: 0 /BUMP TALLY CLOCK EVERY 25 MS -20201 005613 5 LDA (TALLY) -20202 113614 5 ERA (TALLYI) I -20203 101040 5 SNZ /IS THE TALLY TABLE EMPTY? -20204 011210 5 STA TALLYC /YES, HOLD TALLYC AT 1 WHILE QUIESC -20205 025210 5 IRS TALLYC /BUMP TALLY CLOCK -20206 101000 5 NOP /IN CASE BACK ISNT GOING -20207 103200 5 JMP TALLYB I - - LEV VAR -20210 V TALLYC: BSS 1 /TALLY CLOCK - COUNTS FROM 0 TO 5 - - LEV T.O -20211 000000 5 RSTOUT: 0 -20212 025274 5 IRS RMCLKS /CHECK TO SEND ROUTING MSGS -20213 100000 5 SKP /...RUN CLKS FOR EACH POSS LINE SPD -20214 003255 5 JMP RSTR50 /2 SLOW TICKS -20215 025275 5 IRS RMCLKS+1 -20216 100000 5 SKP -20217 003257 5 JMP RSTR25 /RESET (1 SLOW TICK) -20220 025276 5 IRS RMCLKS+2 -20221 100000 5 SKP -20222 003261 5 JMP RSTR5 /5 FAST TICKS [RMCLKS+3 IS FAST T.O - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 164 IMP,3050,IMP 7:20 PM 9/16/1973 - -20223 072127 5 RSTR0: LDX MICH -20224 004121 5 LDA MINUS1 -20225 123615 5 RSTO2: CAS (RMCLKP+CH XI) I /TIME UP TEST -20226 100000 5 SKP -20227 003233 5 JMP RSTO4 /YES, DO ROUTING CHECK -20230 024000 5 RSTO3: IRS 0 /NO, GO TO NEXT LINE -20231 003225 5 JMP RSTO2 -20232 103211 5 JMP RSTOUT I /DONE - -20233 045305 5 RSTO4: LDA RMBIT+CH X /ADVANCE BIT POINTER -20234 040677 5 ARR 1 -20235 100400 5 SPL /TIME TO WRAP? -20236 005616 5 LDA (20) /YES, RESET TO 5TH BIT -20237 051305 5 STA RMBIT+CH X -20240 107617 5 ANA (RUTFRQ+CH XI) I /GET RIGHT BIT OUT OF RI 1 -20241 101040 5 SNZ /TIME TO SEND ROUTING? -20242 003253 5 JMP RSTO5 /NO, GO TO NEXT LINE -20243 100100 5 SLZ -20244 003264 5 JMP RSTDL -20245 001001 5 RSTO6: INH I2M /SEND ROUTING -20246 044272 5 2 LDA SLT+CH X -20247 101040 5 2 SNZ /NO ROUTING IF HELD DEAD OR BUSY -20250 004115 5 2 LDA TWO /ALWAYS SEND NULL W/ROUTING -20251 050272 5 2 STA SLT+CH X -20252 000401 5 2 ENB T.O -20253 004121 5 RSTO5: LDA MINUS1 /ON TO NEXT LINE -20254 003230 5 JMP RSTO3 - - -20255 005620 5 RSTR50: LDA (-50.) -20256 011274 5 STA RMCLKS -20257 005574 5 RSTR25: LDA (-25.) -20260 011275 5 STA RMCLKS+1 -20261 004125 5 RSTR5: LDA MINUS5 -20262 011276 5 STA RMCLKS+2 -20263 003223 5 JMP RSTR0 - -20264 033273 5 RSTDL: STX RSTDT /SAVE X -20265 004000 5 LDA 0 -20266 016127 5 SUB MICH /CONVERT NEG X TO POS X -20267 010000 5 STA 0 -20270 021354 5 JST DEDL /CALL DEDL FOR HELLO-IHY AT BASIC * -20271 073273 5 LDX RSTDT /RESTORE X -20272 003245 5 JMP RSTO6 - - LEV VAR -20273 V RSTDT: BSS 1 /TEMP X -20274 V RMCLKS: BSS NSPD /1 CLOCK/SPD -20300 V RMBIT: BSS CH /5 BIT ROTATE BIT 1/LINE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 165 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -20305 000000 5 IMTC: 0 /WAKE UP IDLE MODEMS -20306 072113 5 LDX ZERO -20307 004127 5 LDA MICH /DO FOR ALL MODEMS -20310 011353 5 STA IMTK -20311 001001 5 IMTCL: INH SIN -20312 044440 5 0 LDA NONE X /CHECK STATUS OF MODEM -20313 100040 5 0 SZE /WAITING FOR HARDWARE INTERRUPT? -20314 003324 5 0 JMP I2MTC2 -20315 121621 5 0 I2MTC0: JST (I2MSB) I RET T.O /NO, SO GIVE SOFTWARE INT] -20316 001001 5 INH ALL -20317 120672 5 0 JST DODXA I RET T.O -20320 024000 5 I2MTC1: IRS 0 -20321 025353 5 IRS IMTK -20322 003311 5 JMP IMTCL -20323 103305 5 JMP IMTC I - - LEV T.O LCK SIN -20324 064440 5 0 I2MTC2: IRS NONE X -20325 003320 5 0 JMP I2MTC1 -20326 003315 5 0 JMP I2MTC0 - - LEV T.O -20327 000000 5 HITC: 0 /TIMEOUT CHECK ROUTINE -20330 004131 5 LDA MITH -20331 011352 5 STA HITK /ATTEMPT TO WAKE UP ALL HOST-TO-IMP -20332 005352 5 HITZ: LDA HITK -20333 012415 5 ERA TIME /USE A RANDOM WAKEUP ORDER -20334 006120 5 ANA SEVEN /TO FACILITATE RESOURCE SHARING -20335 010000 5 STA 0 -20336 001001 5 INH [SIN,H2I,TPC] -20337 105622 5 0 LDA (HITT 0 X) I -20340 100040 5 0 SZE /IS THIS HOST WAITING TO WAKE UP? -20341 125622 5 0 IRS (HITT 0 X) I /YES, TIME TO WAKE HIM YF -20342 003346 5 0 JMP HITZL /NO -20343 000013 5 0 EXA /YES. SOFTWARE INTERRUPT HOST-TO-I' -20344 121623 5 0 JST (HISB) I RET T.O -20345 001001 5 INH ALL -20346 120672 5 0 HITZL: JST DODXA I RET T.O -20347 025352 5 IRS HITK -20350 003332 5 JMP HITZ -20351 103327 5 JMP HITC I - - LEV VAR -20352 V HITK: BSS 1 -20353 V IMTK: BSS 1 /TEMP COUNTER - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 166 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -20354 000000 5 DEDL: 0 /INVESTIGATE FOR LINE STATUS -20355 044265 5 LDA SLT X -20356 100400 5 SPL /IS THIS LINE IN DEAD STATE? -20357 003445 5 JMP HEL4 /YES, GO NO FURTHER -20360 140040 5 CRA -20361 127575 5 IMA (E123 0 X) I -20362 101040 5 SNZ /DID WE GET ANY ROUTING MSGS? -20363 003367 5 JMP DED1 /NO -20364 064421 5 IRS SIHY X /YES, COUNT ONE AS AN HELLO -20365 065457 5 IRS RTRCVD X /AND RETURN AN I-HEARD-YOU -20366 101000 5 NOP -20367 125624 5 DED1: IRS (RTSSNT 0 X) I /COUNT HELLO SENT -20370 101000 5 NOP -20371 044426 5 LDA LAC X /CHECK LINE ALIVE COUNT -20372 101040 5 SNZ /DID WE GET AN I-HEARD-YOU? -20373 003416 5 JMP NOC /NO INPUT ON THIS CHANNEL -20374 016114 5 SUB ONE /YES, CAN ONLY GET ONE (TWO IN CAI' -20375 100040 5 SZE /PER BASIC INTERVAL -20376 004114 5 LDA ONE -20377 050426 5 STA LAC X -20400 044433 5 LDA LINE X -20401 101040 5 SNZ -20402 003414 5 JMP DED3 /LINE WAS ALREADY ALIVE -20403 065452 5 IRS LTR X -20404 103354 5 JMP DEDL I /NOT TIME TO BRING LINE UP YET -20405 140040 5 CRA -20406 050433 5 STA LINE X -20407 044160 5 LDA NEIGHB X /FOR DETECTING PACKETS ON LOOPED LI -20410 016106 5 SUB MINE -20411 006112 5 ANA SIGN /1=I AM THE HIGHER NUMBER IMP -20412 040672 5 ARR 6 0"A"ENDBIT -20413 111625 5 STA (LEND 0 X) I /SAVE FOR USE IN PACKET -20414 004125 5 DED3: LDA MINUS5 -20415 003431 5 JMP HEL1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 167 IMP,3050,IMP 7:20 PM 9/16/1973 - -20416 044433 5 NOC: LDA LINE X -20417 100040 5 SZE /WAS LINE ALIVE? -20420 003433 5 JMP DED4 /LINE STILL IS DEAD -20421 065452 5 IRS LTR X /CURRENTLY UP, SHOULD IT BE? -20422 003440 5 JMP HEL3 /NOT TIME TO KILL LINE YET -20423 001001 5 INH M2I -20424 121626 5 0 JST (KILLIN) I -20425 000401 5 0 ENB T.O -20426 105602 5 HELD: LDA (LINDT 0 X) I -20427 111625 5 STA (LEND 0 X) I /MARK LINE DOWN -20430 050433 5 HEL0: STA LINE X -20431 051452 5 HEL1: STA LTR X -20432 103354 5 JMP DEDL I - -20433 045452 5 DED4: LDA LTR X /LINE IS DEAD -20434 123602 5 CAS (LINDT 0 X) I /IS IT AT MAX DEAD COUNT? -20435 016114 5 SUB ONE /NOT YET. COUNT DOWN -20436 003430 5 JMP HEL0 /AND RETURN -20437 003426 5 JMP HELD /PAST MAX!? RESET - -20440 045452 5 HEL3: LDA LTR X /LINE IS DYING -20441 022123 5 CAS MINUS3 /IS IT TIME TO GIVE FAKE ROUTING? -20442 100000 5 SKP /NO -20443 121627 5 JST (RSTINP) I /YES,CALL ROUTING INPUT W/ DUMMY F -20444 103354 5 JMP DEDL I - -20445 023630 5 HEL4: CAS (-KILTIM+1) /LINE HAS BEEN KILLED -20446 100000 5 SKP /IS IT TIME TO GIVE FAKE ROUTING? -20447 121627 5 JST (RSTINP) I /YES, CALL ROUT INPUT W/ DUMMY MSG -20450 021464 5 JST JSRT -20451 003426 5 JMP HELD - - LEV VAR -20452 V LTR: BSS CH -20457 V RTRCVD: BSS CH /COUNT OF HELLO'S RCVD - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 168 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -20464 000000 5 JSRT: 0 -20465 004112 5 LDA SIGN /TURN OFF I2MTC CLOCK WAKEUP -20466 050440 5 STA NONE X /FOR DEAD OR NON-EXISTENT LINES -20467 004000 5 LDA 0 -20470 014127 5 ADD MICH -20471 023544 5 CAS VDHNO -20472 100000 5 SKP /IS THIS MODEM STOLEN BY VDH? -20473 103464 5 JMP JSRT I /YES -20474 023545 5 CAS MODNO -20475 103464 5 JMP JSRT I /IS THIS MODEM STOLEN BY HOST? -20476 103464 5 JMP JSRT I -20477 115631 5 ADD (SATNO) I -20500 101040 5 SNZ -20501 103543 5 JMP SATGCI I -20502 064265 5 IRS SLT X /YES, TIME TO START BRINGING IT UP? -20503 103464 5 JMP JSRT I /NO -20504 001001 5 INH I2M -20505 033546 5 2 STX SENR -20506 005632 5 2 JSRT2: LDA (SMPQ) -20507 021547 5 2 JSRT3: JST JSRTS -20510 005633 5 2 JSRT4: LDA (SMQ) -20511 021547 5 2 JST JSRTS -20512 073546 5 2 LDX SENR -20513 005634 5 2 LDA (ACKTAB) -20514 050646 5 2 STA RSEX X -20515 050653 5 2 STA CHFREE X -20516 044622 5 2 LDA I2MTAB X -20517 111635 5 2 STA (I2MLST 0 X) I -20520 050627 5 2 STA I2MEND X -20521 005636 5 2 LDA (-NACH) -20522 050634 5 2 STA I2MNXT X -20523 140040 5 2 NACKL: CRA -20524 050641 5 2 STA TSEX X /ZERO THIS - LOOP UNNECESSARY -20525 050440 5 2 STA NONE X /ZERO THIS - LOOP UNNECESSARY -20526 166627 5 2 IMA I2MEND XI -20527 010000 5 2 STA 0 -20530 023637 5 2 CAS (1777) -20531 021557 5 2 JST RQSUB -20532 101000 5 2 NOP /NOTHING THERE OR JUST A DUMMY -20533 073546 5 2 LDX SENR -20534 064627 5 2 IRS I2MEND X -20535 064634 5 2 IRS I2MNXT X -20536 003523 5 2 JMP NACKL -20537 005640 5 2 LDA (JMP+0+1000+M2I0"A"777) -20540 111641 5 2 STA (M2IOK 0 XI) I -20541 000401 5 2 ENB T.O -20542 103464 5 JMP JSRT I - - LEV VAR -20543 V SATGCI: SATDEF [0 0 JSRT I] -02264 020543 V -02314 120464 V -02344 120464 V -20544 V VDHNO: BSS 1 /0 FOR NO VDH, ELSE M.N-5 -20545 V MODNO: BSS 1 /0=5 MODS, -1=4 MODS, -2=3 MODS -20546 V SENR: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 169 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O LCK I2M -20547 000000 5 2 JSRTS: 0 -20550 015546 5 2 ADD SENR -20551 011573 5 2 STA JSRTQ -20552 073573 5 2 JSRTS1: LDX JSRTQ -20553 121642 5 2 JST (GETQ) I -20554 103547 5 2 JMP JSRTS I -20555 021557 5 2 JST RQSUB -20556 003552 5 2 JMP JSRTS1 - -20557 000000 5 2 RQSUB: 0 -20560 132402 5 2 STX ERQ I -20561 032402 5 2 STX ERQ -20562 024564 5 2 IRS NSFS /TASK WILL FLUSH IF DEST WENT DEAD -20563 044002 5 2 LDA PTRT X -20564 101040 5 2 SNZ -20565 103557 5 2 JMP RQSUB I -20566 010000 5 2 STA 0 -20567 005643 5 2 LDA (140000) -20570 052012 5 2 ERA TDONE X -20571 050012 5 2 STA TDONE X -20572 103557 5 2 JMP RQSUB I - LEV VAR -20573 V JSRTQ: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 170 IMP,3050,IMP 7:20 PM 9/16/1973 - -20574 177747 C LEV CON CONSTANTS -20575 045565 C -20576 101006 C -20577 052620 C -20600 020276 C -20601 051353 C -20602 051361 C -20603 022273 C -20604 022303 C -20605 004601 C -20606 027263 C -20607 027264 C -20610 021561 C -20611 177775 C -20612 022320 C -20613 032261 C -20614 015155 C -20615 151360 C -20616 000020 C -20617 167274 C -20620 177716 C -20621 012604 C -20622 053137 C -20623 013106 C -20624 062303 C -20625 050254 C -20626 011133 C -20627 026120 C -20630 177767 C -20631 005153 C -20632 000317 C -20633 000312 C -20634 000377 C -20635 052660 C -20636 177770 C -20637 001777 C -20640 003231 C -20641 150247 C -20642 015504 C -20643 140000 C -02427 175651 C PAGEND 20,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 171 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O LCK ALL - /SLOW TIMEOUT JOBS -21075 021460 5 0 JOBS: JST IHTC RET T.O /ATTEMPT TO RESTART HOST T -21076 021362 5 JST DEDH /ESTABLISH HOST UP/DOWN STATUS -21077 021432 5 JST JED /COMPUTE EFFECTIVE DELAY -21100 121672 5 JST (RUTCLK) I - /THESE FIRST FOUR SHOULD PRECEDE THE ROUTING COMPUTATION -21101 121673 5 JST (RUTOUT) I /COMPUTE ROUTING -21102 021564 5 JST HTEST /OCP INTERFACES IF NECESSARY -21103 021640 5 JST HPOKE /TEST HOST INTERFACE -21104 021134 5 JST DEDI /DEAD IMP CLEANUP - AFTER ROUTING C -21105 021500 5 JST JUQC /ADJUST QUEUE COUNTERS -21106 000401 5 ENB T.O -21107 021526 5 JST MESSTO /TIMEOUT INCOMPLETE MESSAGE NUMBERS -21110 073674 5 LDX (0 0 -ADDBOT-1+ADDTOP) /CHECK ADD CH: -21111 005675 5 LDA (ADD BUFE+4 X) /BASIC INSTRUCTION -21112 123676 5 ADDCH1: CAS (ADDBOT+1 X) I -21113 100000 5 SKP /BAD -21114 100000 5 SKP /GOOD - RELOAD [ADD CHAIN BROKEN] -21115 120061 5 JST SWDTIL I /BAD, GO RELOAD -21116 016114 5 SUB ONE /MODIFY INSTR IN A -21117 024000 5 IRS 0 -21120 003112 5 JMP ADDCH1 -21121 005677 5 LDA (JMP ADDRET I) /CHECK RETURN INSTR -21122 113676 5 ERA (ADDBOT+1 X) I -21123 100040 5 SZE - RELOAD [ADD CHAIN RETURN BROKEN] -21124 120061 5 JST SWDTIL I /BAD, GO RELOAD -21125 010452 5 STA LUUP /BLINK LOOPED LIGHT -21126 101000 5 VDH3: NOP /VDH TIMEOUT CALL -21127 001001 5 INH ALL -21130 024416 5 0 IRS TIMES /COUNT TIME IN SLOW TICKS -21131 024503 5 0 IRS WDTIME /CHECK SOFTWARE W.D.T. -21132 103700 5 0 JMP (JOBF1) I /NOW DO FAST STUFF. - RELOAD [SOFTWARE WDT FIRED] -21133 120061 5 0 JST SWDTIL I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 172 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -21134 000000 5 DEDI: 0 /TIMEOUT COMES HERE TO CLEAN UP -21135 005701 5 LDA (TMESS) -21136 011356 5 STA DMSTAB -21137 072113 5 LDX ZERO -21140 033355 5 IMPD: STX DEDIMP /NO OF IMP WHICH DIED -21141 044165 5 LDA RUT X -21142 101400 5 SMI 0"A"RUTDED /IS THIS IMP DEAD? -21143 003274 5 JMP IMPD7 /NO, GO ON TO NEXT ONE -21144 073356 5 LDX DMSTAB /FIRST CLEAN UP TRANSMIT SIDE -21145 001001 5 INH ALL -21146 044000 5 0 LDA 0 X -21147 007702 5 0 ANA (MESBTS) -21150 013702 5 0 ERA (MESBTS) -21151 101040 5 0 SNZ /ARE THERE ANY OUTSTANDING MESSAGE -21152 003232 5 0 JMP IMPD2A /NO, GO ON TO CLEAN UP OTHER THINGS -21153 004124 5 0 LDA MINUS4 -21154 011357 5 0 STA DEDTRY /LOOK AT 4 POSSIBLE MESS FOR DEAD 1 -21155 044000 5 0 LDA 0 X -21156 017703 5 0 SUB (0 0 3"T"400) 0"A"MESSNO -21157 050000 5 0 STA 0 X /ROLL BACK 4 MESS NOS -21160 100100 5 0 IMPD0: SLZ /IS THIS MESS NO WAITING FOR REPLY? -21161 003226 5 0 JMP IMPD2 /NO -21162 141044 5 0 CAR 0"A"MESSNO /YES, SO LOOK FOR IT -21163 013355 5 0 ERA DEDIMP -21164 121704 5 0 JST (PPTGET) I -21165 003203 5 0 JMP IMPD1 /NOT IN PPT -21166 010000 5 0 STA 0 /GOT IT IN PPT -21167 140040 5 0 CRA -21170 066000 5 0 IMA PPT0 X -21171 140100 5 0 SSP 0"A"RETRAN -21172 010000 5 0 STA 0 -21173 120671 5 0 JST FLUSHI I /IF ON 2 QUEUES, RQSUB WILL FLUSH -21174 044010 5 0 LDA HEAD3 X -21175 141044 5 0 CAR 0"A"CIMPD -21176 010515 5 0 STA TWDP -21177 044007 5 0 LDA HEAD2 X -21200 121705 5 0 JST (HOSTNO) I -21201 044006 5 0 LDA HEAD1 X -21202 003221 5 0 JMP IMPDP -21203 105356 5 0 IMPD1: LDA DMSTAB I -21204 141044 5 0 CAR 0"A"MESSNO -21205 013355 5 0 ERA DEDIMP -21206 121706 5 0 JST (PLTGET) I -21207 003226 5 0 JMP IMPD2 /MUST HAVE BEEN A GIVE BACK -21210 010000 5 0 STA 0 -21211 140040 5 0 CRA -21212 066000 5 0 IMA PLT0 X /CLEAR PLT ENTRY -21213 006120 5 0 ANA SEVEN -21214 011361 5 0 STA IMPDLH -21215 044030 5 0 LDA PLT2 X -21216 141044 5 0 CAR 0"A"CIMPD -21217 010515 5 0 STA TWDP -21220 044014 5 0 LDA PLT1 X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 173 IMP,3050,IMP 7:20 PM 9/16/1973 - -21221 007707 5 0 IMPDP: ANA (0 0 177777"X"LSTPKT"X"HICODE) -21222 013710 5 0 ERA (CDESTD) /RETURN A DEST IMP DEAD -21223 073361 5 0 LDX IMPDLH -21224 120670 5 0 JST OWP I -21225 101000 5 0 NOP -21226 073356 5 0 IMPD2: LDX DMSTAB -21227 121711 5 0 JST (UPMESS) I -21230 025357 5 0 IRS DEDTRY -21231 003160 5 0 JMP IMPD0 -21232 005355 5 0 IMPD2A: LDA DEDIMP -21233 121712 5 0 JST (TALLYG) I /FLUSH ALL ALLOCATES FROM HIM -21234 100000 5 0 SKP -21235 003232 5 0 JMP IMPD2A -21236 073713 5 0 LDX (SHRQ) /NOW CLEAN UP RECEIVE SIDE -21237 044000 5 0 IMPD3: LDA 0 X /GET ALL REAS BLOCKS BACK -21240 101040 5 0 SNZ -21241 003244 5 0 JMP IMPD3A -21242 021303 5 0 JST DREAS -21243 003237 5 0 JMP IMPD3 -21244 073714 5 0 IMPD3A: LDX (MESSTK) /GET ALL MESSTK ENTRIES BACK -21245 044000 5 0 IMPD4: LDA 0 X -21246 101040 5 0 SNZ -21247 003271 5 0 JMP IMPD6 /END OF MESSTK -21250 100400 5 0 SPL /REAS BLOCK? -21251 003267 5 0 JMP IMPD5 /YES -21252 033360 5 0 STX DTEND -21253 010000 5 0 STA 0 -21254 044007 5 0 LDA HEAD2 X -21255 013355 5 0 ERA DEDIMP -21256 007715 5 0 ANA (SRCEI) -21257 100040 5 0 SZE /FROM DEAD IMP? -21260 003245 5 0 JMP IMPD4 /NO -21261 044000 5 0 LDA 0 X /YES, REMOVE FROM MESSTK -21262 111360 5 0 STA DTEND I -21263 120671 5 0 JST FLUSHI I /AND FREE BUFFER -21264 024565 5 0 IRS NRES /ADJUST REAS COUNT -21265 073360 5 0 LDX DTEND -21266 003245 5 0 JMP IMPD4 -21267 021303 5 0 IMPD5: JST DREAS -21270 003245 5 0 JMP IMPD4 -21271 073355 5 0 IMPD6: LDX DEDIMP -21272 121716 5 0 JST (MESINI) I -21273 000401 5 0 ENB T.O -21274 024000 5 IMPD7: IRS 0 -21275 025356 5 IRS DMSTAB -21276 004000 5 LDA 0 -21277 014132 5 ADD MINIMP -21300 100400 5 SPL /HAVE WE DONE ALL IMPS YET? -21301 003140 5 JMP IMPD /NOT YET, CYCLE BACK -21302 103134 5 JMP DEDI I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 174 IMP,3050,IMP 7:20 PM 9/16/1973 - - LCK ALL -21303 000000 5 0 DREAS: 0 /TRY TO FREE A REAS BLOCK -21304 140100 5 0 SSP -21305 033360 5 0 STX DTEND -21306 010000 5 0 STA 0 -21307 044001 5 0 LDA RID X -21310 013355 5 0 ERA DEDIMP -21311 007715 5 0 ANA (SRCEI) -21312 100040 5 0 SZE /FROM DEAD IMP? -21313 103303 5 0 JMP DREAS I /NO -21314 044000 5 0 LDA 0 X /YES, REMOVE FROM MESSTK OR SHRQ -21315 111360 5 0 STA DTEND I -21316 021321 5 0 JST REASF /FREE REAS BLOCK AND PKTS -21317 073360 5 0 LDX DTEND -21320 103303 5 0 JMP DREAS I - -21321 000000 5 0 REASF: 0 /FREE REAS BLOCK AND ANY PKTS -21322 004000 5 0 LDA 0 -21323 026326 5 0 IMA RASF -21324 110326 5 0 STA RASF I /RETURN REAS BLOCK TO REAS FREE LIS -21325 005717 5 0 LDA (-8) 0"A"8PKTS -21326 011353 5 0 STA INCN -21327 140040 5 0 CRA -21330 050013 5 0 STA RSF X -21331 044002 5 0 LDA RMAX X -21332 100400 5 0 SPL /DID WE GET LAST PKT? -21333 004120 5 0 LDA SEVEN 0"A"8PKTS /NO -21334 141206 5 0 AOA -21335 014565 5 0 ADD NRES -21336 010565 5 0 STA NRES /ADJUST REAS COUNT -21337 140040 5 0 INCFRE: CRA -21340 066003 5 0 IMA REAS X -21341 101040 5 0 SNZ /DID WE GET THIS PKT? -21342 003347 5 0 JMP INCNXT /NO -21343 033354 5 0 STX INCX -21344 010000 5 0 STA 0 /YES, SO FREE IT -21345 120671 5 0 JST FLUSHI I -21346 073354 5 0 LDX INCX -21347 024000 5 0 INCNXT: IRS 0 -21350 025353 5 0 IRS INCN -21351 003337 5 0 JMP INCFRE -21352 103321 5 0 JMP REASF I - - LEV VAR -21353 V INCN: BSS 1 -21354 V INCX: BSS 1 -21355 V DEDIMP: BSS 1 /NO OF A DEAD IMP -21356 V DMSTAB: BSS 1 /PNTR TO HIS TMESS TABLE -21357 V DEDTRY: BSS 1 -21360 V DTEND: BSS 1 /TEMP Q PNTR -21361 V IMPDLH: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 175 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -21362 000000 5 DEDH: 0 /TEST FOR DEAD HOSTS -21363 004131 5 LDA MITH -21364 011430 5 STA DHC -21365 072113 5 LDX ZERO -21366 045662 5 TDH1: LDA SKST X -21367 011372 5 STA TDH4 -21370 001001 5 INH [I2H,H2I] -21371 044504 5 3 LDA HIHD X -21372 5 3 TDH4: BSS 1 -21373 015720 5 3 ADD (TDHDN-0-TDHUP) /READY LINE DOWN -21374 015721 5 3 ADD (JMP TDHUP 0 I) /READY LINE DOWN -21375 011376 5 3 STA .+1 -21376 5 3 BSS 1 - -21377 021423 5 3 TDHUP: TDH5 /STEADY-STATE UP -21400 021423 5 3 TDH5 /READY LINE UP, HOST GOING DOWN -21401 021423 5 3 TDH5 /READY LINE UP, HOST TARDY -21402 021411 5 3 TDH3 /READY LINE JUST WENT UP, WAS DOWN -21403 021423 5 3 TDH5 /IGNORE HOST IF IMP NOT UP - -21404 021421 5 3 TDHDN: TDH2 /READY LINE JUST WENT DOWN, WAS UP -21405 021423 5 3 TDH5 /READY LINE DOWN, HOST GOING DOWN -21406 021421 5 3 TDH2 /READY LINE JUST WENT DOWN, WAS T: -21407 021423 5 3 TDH5 /STEADY-STATE DOWN -21410 021423 5 3 TDH5 /IGNORE HOST IF IMP NOT UR - -21411 140040 5 3 TDH3: CRA -21412 050504 5 3 STA HIHD X -21413 104700 5 3 LDA IHXX I /NOW TRULY UP -21414 101040 5 3 SNZ /IS THERE AN OUTPUT IN PROGESS? -21415 003423 5 3 JMP TDH5 /NO -21416 004107 5 3 LDA M30SEC /YES - MOST LIKELY A NOP -21417 111722 5 3 STA (IHTT 0 X) I /GIVE FULL 30 SECS -21420 003423 5 3 JMP TDH5 - -21421 005723 5 3 TDH2: LDA (IHWAIT) /HOST WENT DOWN, DO NOT DROP IMP RE -21422 121724 5 3 JST (IHST) I RET T.O / CLEAR OUT HIS QUEUES -21423 000401 5 TDH5: ENB T.O -21424 024000 5 IRS 0 -21425 025430 5 IRS DHC -21426 003366 5 JMP TDH1 -21427 103362 5 JMP DEDH I - - LEV VAR -21430 V DHC: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 176 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR -21431 000000 V HLRCVD: 0 /= OF CORRECT RESPONSES - - /* COMPUTE OUR EFFECTIVE CHANNEL DELAY - / S= 20L + (100+S) E/T WHERE T=20 - /S' = [(L+5)(256/(20-E))-64] - LEV T.O -21432 000000 5 JED: 0 -21433 072127 5 LDX MICH -21434 001001 5 ED1: INH I2M -21435 004116 5 2 LDA THREE -21436 111455 5 2 STA PCED I -21437 005717 5 2 LDA (-NACH) -21440 011457 5 2 STA JEDC -21441 044627 5 2 LDA I2MTAB+CH X -21442 011456 5 2 STA JEDP -21443 105456 5 2 JEDL: LDA JEDP I -21444 100040 5 2 SZE -21445 125455 5 2 IRS PCED I -21446 025456 5 2 IRS JEDP -21447 025457 5 2 IRS JEDC -21450 003443 5 2 JMP JEDL -21451 000401 5 2 ENB T.O -21452 024000 5 IRS 0 -21453 003434 5 JMP ED1 -21454 103432 5 JMP JED I - LEV CON -21455 066505 C PCED: CED+CH X - LEV VAR -21456 V JEDP: BSS 1 -21457 V JEDC: BSS 1 - - LEV T.O -21460 000000 5 IHTC: 0 /TIME OUT CHECK ROUTINE -21461 004131 5 LDA MITH -21462 011477 5 STA IHTK -21463 072113 5 LDX ZERO /ATTEMPT TO WAKE UP ALL IMP-TO-HOST -21464 125722 5 IHTY: IRS (IHTT 0 X) I /TIME TO WAKE HIM YET? -21465 003473 5 JMP IHTZ /NO -21466 001001 5 INH SIN /YES, SOFTWARE INTERRUPT IMP-TO-HOS -21467 000013 5 0 EXA -21470 121725 5 0 JST (IHSB) I RET T.O -21471 001001 5 INH ALL -21472 120672 5 0 JST DODXA I RET T.O -21473 024000 5 IHTZ: IRS 0 -21474 025477 5 IRS IHTK -21475 003464 5 JMP IHTY -21476 103460 5 JMP IHTC I - LEV VAR -21477 V IHTK: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 177 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV T.O -21500 000000 5 JUQC: 0 -21501 073726 5 LDX (-COUNTL) -21502 001001 5 QC1: INH ALL -21503 044543 5 0 LDA COUNTA+COUNTL X -21504 056567 5 0 SUB COUNTS+COUNTL X -21505 101400 5 0 SMI /NEGATIVE -21506 003513 5 0 JMP QC2 /NO - DEFHLT [QUEUE COUNTER WENT NEGATIVE] -21507 021510 5 0 JST CNTHLT -21510 000000 5 0 CNTHLT: 0 -21511 120745 5 0 JST HLTNCC I -21512 140040 5 0 CRA /RESET COUNT TOT ZERO -21513 050543 5 0 QC2: STA COUNTA+COUNTL X -21514 140040 5 0 CRA -21515 050567 5 0 STA COUNTS+COUNTL X -21516 000401 5 0 ENB T.O -21517 024000 5 IRS 0 -21520 003502 5 JMP QC1 -21521 001001 5 INH ALL -21522 125727 5 0 IRS (SNTALL) I /ARE WE ALLOCATE-IDLE? -21523 103500 5 0 JMP JUQC I /NO -21524 010542 5 0 STA NALA /YES, FREE UP ALLOCATE STORE -21525 103500 5 0 JMP JUQC I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 178 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -21526 000000 5 MESSTO: 0 /TIMEOUT MESS NO IN 34-51 SECS -21527 025561 5 IRS MESST /TIME TO LOOK YET? -21530 103526 5 JMP MESSTO I /NO -21531 072132 5 LDX MINIMP -21532 001001 5 MESST1: INH H2I -21533 105730 5 4 LDA (TMESS+NIMP 0 X) I -21534 007702 5 4 ANA (MESBTS) -21535 013702 5 4 ERA (MESBTS) -21536 101040 5 4 SNZ /ANY MESSAGES OUTSTANDING? -21537 003550 5 4 JMP MESST2 /NOTHING TO TIME OUT -21540 105730 5 4 LDA (TMESS+NIMP 0 X) I -21541 007731 5 4 ANA (MSTO1 0 MSTO2) -21542 013731 5 4 ERA (MSTO1 0 MSTO2) -21543 101040 5 4 SNZ -21544 003550 5 4 JMP MESST2 /ALREADY TIMED OUT -21545 005732 5 4 LDA (MSTO1) -21546 115730 5 4 ADD (TMESS+NIMP 0 X) I -21547 111730 5 4 STA (TMESS+NIMP 0 X) I -21550 000401 5 4 MESST2: ENB T.O -21551 024000 5 IRS 0 -21552 003532 5 JMP MESST1 -21553 004107 5 LDA M30SEC /17 SECS -21554 040575 5 ARS 3 -21555 014107 5 ADD M30SEC -21556 040577 5 ARS 1 -21557 011561 5 STA MESST /BETWEEN LOOKS -21560 103526 5 JMP MESSTO I - - LEV VAR -21561 V MESST: BSS 1 -21562 V HTOLD: BSS 1 -21563 V HTINTF: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 179 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -21564 000000 5 HTEST: 0 -21565 101000 5 HTMIN: NOP -21566 005733 5 LDA (NOP) /RESET MXIN/NOP INSTRUCTION -21567 011565 5 STA HTMIN -21570 004141 5 LDA HTPAR -21571 013562 5 ERA HTOLD -21572 101040 5 SNZ -21573 103564 5 JMP HTEST I /NO CHANGE, NOTHING TO DO -21574 004141 5 LDA HTPAR -21575 006120 5 ANA SEVEN /GET FUNCTION -21576 101040 5 SNZ -21577 003626 5 JMP HTX /FUNCTION ZERO?! -21600 010000 5 STA 0 -21601 004141 5 LDA HTPAR -21602 040575 5 ARS 3 /GET INTERFACE -21603 006752 5 ANA C77 -21604 011563 5 STA HTINTF -21605 055630 5 ADD HTTAB-1 X -21606 011624 5 STA HT5 /CORRECT OCP -21607 004000 5 LDA 0 -21610 022116 5 CAS THREE -21611 003624 5 JMP HT5 /HOST FUNCTION...DO IT -21612 100000 5 SKP /MODEM UNPATCH...MORE TO DO -21613 003621 5 JMP HT1 /MODEM OTHER...SET UP IN -21614 073563 5 LDX HTINTF -21615 001001 5 INH I2M -21616 044437 5 2 LDA NONE-1 X /MODEM BUSY? -21617 100040 5 2 SZE -21620 103564 5 2 JMP HTEST I /YES, COME AGAIN -21621 005563 5 2 HT1: LDA HTINTF /SET UP IN FOR NEXT T.O. TO DO -21622 015734 5 2 ADD (M1IN-1) -21623 011565 5 2 STA HTMIN -21624 5 2 HT5: BSS 1 -21625 000401 5 2 ENB T.O -21626 004141 5 HTX: LDA HTPAR /RESET HTOLD -21627 011562 5 STA HTOLD -21630 103564 5 JMP HTEST I - - LEV CON - /HTPAR HAS VALUE DDF - DEVICE IS DD AND FUNCTION IS F - /D=1,2,3,4,5 FOR MODEMS 1,2,3,4,5 (F=1,2,OR 3) - /D=70,60,50,51 FOR HOSTS 1,2,3,4 (F=4,5,OR 6) -21631 030270 C HTTAB: M1LXP-1 /1 - LINE CROSSPATCH -21632 030370 C M1IXP-1 /2 - INTERFACE CROSSPATCH -21633 030170 C M1UNXP-1 /3 - UNPATCH (RESTORE) -21634 030300 C H1XP-70 /4 - CROSSPATCH HOST INTERFACE -21635 030500 C H1ENAB-70 /5 - ENABLE NORMAL HOST TRAFFIC -21636 030400 C H1UNXP-70 /6 - UNPATCH (CLEAR) HOST INTERFACE -21637 101000 C NOP /7 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 180 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -21640 000000 5 HPOKE: 0 /TEST HOST INTERFACE -21641 001001 5 INH FRE -21642 004142 5 0 LDA HLNM /TESTER TURNED ON? -21643 100400 5 0 SPL -21644 003656 5 0 JMP HPOKE2 /OFF -21645 010000 5 0 STA 0 -21646 044332 5 0 LDA SHWQ X /ROOM FOR ANOTHER TEST PROD? -21647 100040 5 0 SZE -21650 003656 5 0 JMP HPOKE2 /NO -21651 004143 5 0 LDA HL2WD -21652 010515 5 0 STA TWDP -21653 005735 5 0 LDA (CNOP) -21654 120670 5 0 JST OWP I -21655 025660 5 0 IRS HLSNT /COUNT ANOTHER POKE -21656 000401 5 0 HPOKE2: ENB T.O -21657 103640 5 JMP HPOKE I - LEV VAR -21660 V HLSNT: BSS 1 - LEV CON -21661 037454 C VDH3.: VD.TO - -21662 070170 C SKST: H1RDY -21663 070160 C H2RDY -21664 C TIPSKP: TIPDEF H3RDY, NOP -02265 021664 C -02315 070150 C -02345 101000 C -21665 070151 C H4RDY -21666 100000 C SKP -21667 100000 C SKP -21670 100000 C SKP -21671 100000 C SKP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 181 IMP,3050,IMP 7:20 PM 9/16/1973 - -21672 027112 C LEV CON CONSTANTS -21673 026512 C -21674 177666 C -21675 054115 C -21676 041557 C -21677 102111 C -21700 020164 C -21701 032271 C -21702 000017 C -21703 001400 C -21704 015033 C -21705 007244 C -21706 015205 C -21707 070377 C -21710 003400 C -21711 015347 C -21712 015114 C -21713 000340 C -21714 000327 C -21715 000077 C -21716 002374 C -21717 177770 C -21720 000005 C -21721 103377 C -21722 056306 C -21723 016341 C -21724 016273 C -21725 016042 C -21726 177754 C -21727 004161 C -21730 072371 C -21731 000300 C -21732 000100 C -21733 101000 C -21734 030470 C -21735 002000 C -02430 176745 C PAGEND 21,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 182 IMP,3050,IMP 7:20 PM 9/16/1973 - - - - LEV BCK - /TROUBLE REPORTS TO NCC AT HOST 0 AT BBN -22057 005524 7 TRBL: LDA (301) /*SEND TRBL REPT CODE -22060 011301 7 STA NTRCKS /INIT THE CHECKSUM COUNTER -22061 121525 7 JST (GIVE) I -22062 073526 7 LDX (-NH) -22063 001001 7 INH ALL /USING B REG - MUST LOCK INTERRUPT' -22064 044510 7 0 NTR6: LDA HIHD+NH X -22065 100040 7 0 SZE -22066 004112 7 0 LDA SIGN -22067 140024 7 0 CHS -22070 041277 7 0 LLR 1 -22071 024000 7 0 IRS 0 -22072 003064 7 0 JMP NTR6 -22073 040274 7 0 LRR NH -22074 013272 7 0 ERA SWS /*SEND ANOMALY WORD - HOSTS + SWIT ] -22075 021310 7 0 JST NTGIVE RET BCK -22076 127527 7 IMA (RSFNCC) I /*SEND RESTART-RELOAD INDICATOR -22077 021310 7 JST NTGIVE -22100 026746 7 IMA HLTLOC /*SEND HALT PC REG -22101 021310 7 JST NTGIVE -22102 004747 7 LDA HLTA /*SEND HALT A REG -22103 021310 7 JST NTGIVE -22104 004750 7 LDA HLTX /*SEND HALT X REG -22105 021310 7 JST NTGIVE -22106 072124 7 LDX MINUS4 /*SEND COUNTS FOR -22107 001001 7 NTR7: INH ALL /FREE, REAS, S+F, AND ALLOCATE -22110 044543 7 0 LDA NFA+4 X -22111 056567 7 0 SUB NFS+4 X -22112 021310 7 0 JST NTGIVE RET BCK -22113 024000 7 IRS 0 -22114 003107 7 JMP NTR7 -22115 004105 7 LDA VERS /*SEND IMP VERSION NO -22116 021310 7 JST NTGIVE -22117 105530 7 LDA (HOST34) I /*SEND HOST34 CONFIGURATOR WORD -22120 021310 7 JST NTGIVE -22121 000013 7 EXA -22122 105531 7 LDA (TIPVER) I /*SEND TIP VERSION NO -22123 001001 7 INH [ALL] -22124 120672 7 0 JST DODXA I RET BCK -22125 021310 7 JST NTGIVE -22126 004142 7 LDA HLNM /*SEND NO OF HOST INTERFACE BEING T -22127 021310 7 JST NTGIVE -22130 127532 7 IMA (HLSNT) I /*SEND TEST MESS SENT COUNT -22131 021310 7 JST NTGIVE -22132 127533 7 IMA (HLRCVD) I /*SEND TEST MESS RECVD COUNT -22133 021310 7 JST NTGIVE -22134 011277 7 STA NTRTM1 /ZERO LINE-SPEEDS WORD -22135 072127 7 LDX MICH /TAKE A SNAPSHOT OF LINE ERRORS -22136 001001 7 NTR1: INH [T.O,TSK] /A=0 NOW - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 183 IMP,3050,IMP 7:20 PM 9/16/1973 - -22137 140040 7 5 CRA -22140 127534 7 5 IMA (RTRCVD+CH 0 X) I -22141 057310 7 5 SUB RTSSNT+CH X /SUBTRACT ROUTING MESS E , -22142 140407 7 5 TCA /COMPUTE NO OF ROUTING MESS MISSED -22143 100400 7 5 SPL -22144 140040 7 5 CRA /MUST BE A POSITIVE NUMBER -22145 023535 7 5 CAS (377) -22146 005535 7 5 LDA (377) -22147 101000 7 5 NOP -22150 011302 7 5 STA E321 /SAVE AS ERROR COUNT FOR THIS LINE -22151 004121 7 5 LDA MINUS1 -22152 067310 7 5 IMA RTSSNT+CH X /*SEND NO OF ROUTING MEI -22153 023535 7 5 CAS (377) -22154 005535 7 5 LDA (377) -22155 101000 7 5 NOP -22156 021310 7 5 JST NTGIVE RET BCK -22157 044440 7 LDA LINE+CH X /NOW ERROR+THROUGHPUT COUNTS FOR EAT -22160 100040 7 SZE -22161 005536 7 LDA (200) -22162 052165 7 ERA NEIGHB+CH X /PICK UP NEIGHBOR IMP NUMT -22163 022106 7 CAS MINE /IS LINE LOOPED? -22164 100000 7 SKP /NO -22165 012753 7 ERA C100 /YES, PUT IN LOOPED BIT -22166 141340 7 ICA -22167 013302 7 ERA E321 /*SEND NO OF ROUTING MESS MISSED -22170 021310 7 JST NTGIVE -22171 105537 7 LDA (RMFLG+CH X) I /GET LINE SPEED BITS -22172 141340 7 ICA -22173 006116 7 ANA THREE 0"A"SPDTYP -22174 013277 7 ERA NTRTM1 -22175 041676 7 ALR 2 -22176 011277 7 STA NTRTM1 -22177 024000 7 IRS 0 -22200 003136 7 JMP NTR1 -22201 041674 7 ALR 4 /LEFT ADJUST -22202 021310 7 JST NTGIVE /*SEND LINE SPEEDS -22203 072123 7 LDX MINUS3 -22204 105540 7 LDA (37777 0 X) I /*SEND TRAP INFO (P, A, X -22205 021310 7 JST NTGIVE -22206 024000 7 IRS 0 -22207 003204 7 JMP .-3 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 184 IMP,3050,IMP 7:20 PM 9/16/1973 - -22210 027301 7 IMA NTRCKS /A=0 NOW -22211 140407 7 TCA -22212 121525 7 JST (GIVE) I /*SEND CHECKSUM -22213 140040 7 CRA -22214 027276 7 IMA TRBSTF /FIRED BY SYNC OR SWCH? -22215 100040 7 SZE -22216 103541 7 JMP (GIVLST) I /*SEND PADDING--FIRED BY SWCH -22217 073542 7 LDX (100003) /END OUR OWN MESSAGE -22220 004112 7 LDA SIGN -22221 120664 7 JST JAM I /*PADDING AND END OF MESSAGE -22222 105543 7 LDA (TRBD) I /*NCC DEST -22223 121525 7 JST (GIVE) I -22224 105544 7 LDA (TRBD+0+TLNK-TDST) I /*NCC LINK -22225 121525 7 JST (GIVE) I -22226 005545 7 LDA (302) /*STAT MESSAGE CODE -22227 021310 7 JST NTGIVE -22230 072127 7 LDX MICH /SEND LINE STATS -22231 127546 7 NTR8: IMA (THRUPT+CH X) I -22232 021310 7 JST NTGIVE /*PACKET THRUPUT -22233 127547 7 IMA (THRUPW+CH X) I -22234 021310 7 JST NTGIVE /*WORD THRUPUT -22235 024000 7 IRS 0 -22236 003231 7 JMP NTR8 -22237 073526 7 LDX (-NH) /NOW HOST THROUGHPUTS FOR EACH HO1' -22240 005550 7 NTR5: LDA (-10.) /AND FOR EACH OF 10 FLAVORS -22241 011277 7 STA NTRTM1 -22242 005551 7 LDA (NTRTAB 0 I) -22243 011300 7 STA NTRTM2 -22244 140040 7 NTR4: CRA -22245 127300 7 IMA NTRTM2 I /*SEND HOST THROUGHPUT COUNT -22246 021310 7 JST NTGIVE -22247 025300 7 IRS NTRTM2 -22250 025277 7 IRS NTRTM1 -22251 003244 7 JMP NTR4 -22252 024000 7 IRS 0 -22253 003240 7 JMP NTR5 -22254 027301 7 IMA NTRCKS /A=0 NOW -22255 140407 7 TCA -22256 121525 7 JST (GIVE) I /*SEND CKSUM -22257 103541 7 JMP (GIVLST) I /*SEND PADDING - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 185 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON - -22260 073563 C NTRTAB: HTPMTN+NH X -22261 073567 C HTPMFN+NH X -22262 073573 C HTPPTN+NH X -22263 073577 C HTPPFN+NH X -22264 073603 C NTRT1: HTPMTL+NH X -22265 073607 C NTRT3: HTPMFL+NH X -22266 073613 C NTRT2: HTPPTL+NH X -22267 073617 C NTRT4: HTPPFL+NH X -22270 073623 C HTPWTI+NH X -22271 073627 C HTPWFI+NH X - - LEV VAR -22272 V SWS: BSS 1 /ANOMALIES -22273 V HLNMS: BSS 1 -22274 V SWCHTM: BSS 1 -22275 003014 V HERSAV: JMP 0 1000 777"A"HITEST -22276 V TRBSTF: BSS 1 -22277 V NTRTM1: BSS 1 -22300 V NTRTM2: BSS 1 -22301 V NTRCKS: BSS 1 /CHECKSUM FOR TROUBLE REPT -22302 V E321: BSS 1 /NO OF ERRORS ON EACH LINE -22303 V RTSSNT: BSS CH /NO OF HELLO'S SENT - - LEV BCK -22310 000000 7 NTGIVE: 0 /BUILD CHECKSUM -22311 000401 7 ENB BCK -22312 027301 7 IMA NTRCKS -22313 015301 7 ADD NTRCKS -22314 027301 7 IMA NTRCKS -22315 121525 7 JST (GIVE) I /AND GIVE A WORD TO IMP VIA JAM -22316 140040 7 CRA -22317 103310 7 JMP NTGIVE I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 186 IMP,3050,IMP 7:20 PM 9/16/1973 - - /BITS IN SWS (TROUBLE REPORT ANOMALIES): - / 100000 - HOST 0 UP (NOT KEPT IN SWS) - / 40000 - HOST 1 UP (NOT KEPT IN SWS) - / 20000 - HOST 2 UP (NOT KEPT IN SWS) - / 10000 - HOST 3 UP (NOT KEPT IN SWS) - / 4000 - VDH SOFTWARE IS UP - / 2000 - M.GENERATOR IS ON - / 1000 - STATISTICS IS ON - / 400 - SNAPSHOT IS ON - / 200 - TRACE IS ON - / 100 - MEM PROTECT IS OFF - / 40 - SPARE - / 20 - OVERRIDE IS ON - / 10 - SS 1 IS ON - / 4 - SS 2 IS ON - / 2 - SS 3 IS ON - / 1 - SS 4 IS ON - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 187 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV T.O -22320 000000 5 SWCH: 0 /SET UP SWITCH SETTINGS FOR TROUBLE -22321 005552 5 LDA (4000) /SET UP FREQ FOR NCC TRBL REPTS -22322 111553 5 STA (TRBF) I /DEST IS SET IN BACK -22323 072121 5 LDX MINUS1 -22324 105527 5 LDA (RSFNCC) I -22325 101040 5 SNZ -22326 105554 5 LDA (HLTLOC) I -22327 100040 5 SZE /IF RSFLAG OR HLTLOC NON-ZERO -22330 033272 5 STX SWS /FIRE OFF A TRBL REPT NOW -22331 004142 5 LDA HLNM -22332 027273 5 IMA HLNMS -22333 023273 5 CAS HLNMS -22334 100000 5 SKP /CHANGE IN HOST TEST STATUS? -22335 003345 5 JMP SWCH0 /NO -22336 033272 5 STX SWS -22337 010000 5 STA 0 /RICK HOST NO GOING OFF -22340 005275 5 LDA HERSAV -22341 127555 5 IMA (HER 0 X) I /INTERCHANGE PATCH REGIST -22342 072142 5 LDX HLNM /PICK HOST NO COMING ON -22343 127555 5 IMA (HER 0 X) I -22344 011275 5 STA HERSAV 0"A"HER0 -22345 004753 5 SWCH0: LDA C100 -22346 111556 5 STA (1777) I /ATTEMPT TO CHANGE WORD ON PROT P: -22347 140040 5 CRA -22350 127556 5 IMA (1777) I /IF SUCCESSFUL, PUT IN MP OFF BIT -22351 012473 5 ERA OVRDF /OVRDF=20 IF ON, =0 IF OFF -22352 100020 5 SR1 -22353 012751 5 ERA TEN -22354 100010 5 SR2 -22355 012117 5 ERA FOUR -22356 100004 5 SR3 -22357 012115 5 ERA TWO -22360 100002 5 SR4 -22361 012114 5 ERA ONE -22362 072124 5 LDX MINUS4 -22363 011274 5 SWCH4: STA SWCHTM -22364 105557 5 LDA (PARAMT+4 X) I -22365 100040 5 SZE -22366 105560 5 LDA (SWCHB+4 X) I /SET THE BIT -22367 013274 5 ERA SWCHTM -22370 024000 5 IRS 0 -22371 003363 5 JMP SWCH4 -22372 012567 5 ERA VDHUPF /=4000 IF VDH IS UP -22373 027272 5 IMA SWS -22374 013272 5 ERA SWS -22375 101040 5 SNZ -22376 103320 5 JMP SWCH I -22377 011276 5 STA TRBSTF /TELL TRBL RPTS THAT SWS FIRED IT -22400 004417 5 LDA SYNC -22401 117553 5 SUB (TRBF) I -22402 111561 5 STA (TRBOLD) I -22403 103320 5 JMP SWCH I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 188 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV [M2I,VDI,I2H,T.O,TSK] -22404 000000 0 HLTWRD: 0 -22405 010747 0 STA HLTA -22406 032750 0 STX HLTX -22407 004122 0 LDA MINUS2 -22410 015404 0 ADD HLTWRD -22411 010746 0 STA HLTLOC -22412 104746 0 LDA HLTLOC I -22413 010746 0 STA HLTLOC /SAVE LOC OF HLT -22414 103404 0 JMP HLTWRD I - - LEV H2I /8-WAY BREAKDOWN OF HOST THROUGHPUT -22415 000000 4 HTPMT: 0 /COUNT MESSAGES TO NET -22416 012106 4 ERA MINE -22417 100040 4 SZE /INTER- OR INTRA-NODE? -22420 005562 4 LDA (HTPMTN+0-HTPMTL) -22421 015264 4 ADD NTRT1 -22422 001001 4 INH I2H -22423 021505 4 3 JST HTPIRS RET H2I -22424 101000 4 NOP -22425 103415 4 JMP HTPMT I - -22426 000000 4 HTPPT: 0 /COUNT PACKETS TO NET -22427 012106 4 ERA MINE -22430 100040 4 SZE /INTER- OR INTRA-NODE? -22431 005562 4 LDA (HTPPTN+0-HTPPTL) -22432 015266 4 ADD NTRT2 -22433 001001 4 INH I2H -22434 021505 4 3 JST HTPIRS RET H2I -22435 103426 4 JMP HTPPT I /R1==>FH - DON'T GET LENGTH -22436 172677 4 LDX HIXX I -22437 044111 4 LDA BUFE X -22440 016000 4 SUB 0 -22441 140100 4 SSP 0"A"TWOQ -22442 017563 4 SUB (DATA) /GOT PACKET LENGTH, NOT COUNTING LE -22443 072675 4 LDX HIP -22444 115564 4 ADD (HTPWTI 0 X) I -22445 100400 4 SPL -22446 004112 4 LDA SIGN /MARK OFLO -22447 111564 4 STA (HTPWTI 0 X) I -22450 103426 4 JMP HTPPT I - - LEV I2H -22451 000000 3 HTPMF: 0 /COUNT MESSAGES FROM NET -22452 012106 3 ERA MINE -22453 007565 3 ANA (SRCEI) -22454 100040 3 SZE /INTER- OR INTRA-NODE? -22455 005562 3 LDA (HTPMFN+0-HTPMFL) -22456 015265 3 ADD NTRT3 -22457 021505 3 JST HTPIRS -22460 101000 3 NOP -22461 103451 3 JMP HTPMF I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 189 IMP,3050,IMP 7:20 PM 9/16/1973 - -22462 000000 3 HTPPF: 0 /COUNT PACKETS FROM NET -22463 012106 3 ERA MINE -22464 007565 3 ANA (SRCEI) -22465 100040 3 SZE /INTER- OR INTRA-NODE? -22466 005562 3 LDA (HTPPFN+0-HTPPFL) -22467 015267 3 ADD NTRT4 -22470 021505 3 JST HTPIRS -22471 103462 3 JMP HTPPF I /R1==>FH -22472 172700 3 LDX IHXX I -22473 044111 3 LDA BUFE X -22474 016000 3 SUB 0 -22475 140100 3 SSP 0"A"TWOQ -22476 017563 3 SUB (DATA) /GOT PKT LENGTH -22477 072676 3 LDX IHP -22500 115566 3 ADD (HTPWFI 0 X) I -22501 100400 3 SPL -22502 004112 3 LDA SIGN /MARKING OVERFLOW -22503 111566 3 STA (HTPWFI 0 X) I -22504 103462 3 JMP HTPPF I - - /HOST THROOGHPUT TABLES AND COUNT ROUTINE -22505 000000 3 HTPIRS: 0 /TBL IN A, HOST NUM IN X -22506 016130 3 SUB PLNH -22507 011523 3 STA HTPIR1 -22510 004000 3 LDA 0 -22511 016130 3 SUB PLNH -22512 101400 3 SMI /FAKE HOST? -22513 003521 3 JMP HTPIR2 /YES, DO NOT COUNT TRAFFIC TO OR FR -22514 105523 3 LDA HTPIR1 I -22515 101400 3 SMI /OVERFLOWED--LEAVE AT 100000 -22516 141206 3 AOA /ADD ONE TO COUNTER -22517 111523 3 STA HTPIR1 I -22520 025505 3 IRS HTPIRS /R2==>REAL (NOT FAKE) HOST -22521 000401 3 HTPIR2: ENB I2H -22522 103505 3 JMP HTPIRS I - LEV VAR -22523 V HTPIR1: BSS 1 /PNTR INTO HTPTBL - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 190 IMP,3050,IMP 7:20 PM 9/16/1973 - -22524 000301 C LEV CON CONSTANTS -22525 030403 C -22526 177774 C -22527 003560 C -22530 001005 C -22531 040000 C -22532 021660 C -22533 021431 C -22534 060464 C -22535 000377 C -22536 000200 C -22537 052625 C -22540 077777 C -22541 030165 C -22542 100003 C -22543 030456 C -22544 030450 C -22545 000302 C -22546 050625 C -22547 050620 C -22550 177766 C -22551 122260 C -22552 004000 C -22553 030464 C -22554 000746 C -22555 053170 C -22556 001777 C -22557 070440 C -22560 041246 C -22561 030210 C -22562 177760 C -22563 000011 C -22564 073617 C -22565 000077 C -22566 073623 C -02431 175607 C PAGEND 22,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 191 IMP,3050,IMP 7:20 PM 9/16/1973 - - - /DDT CONTROL LANGUAGE INFORMATION - / - /************CURRENTLY IMPLEMENTED COMMANDS*****************, - / - /SHIFT-CONTROL-P (OR THE BREAK KEY) HAS THE FOLLOWING EFFE( : - /1- ANY DDT OUTPUT IS STOPPED - /2- THE CURRENTLY OPENED REGISTER IS CLOSED WITH NO NEW CONT1 - /3- DDT FORGETS WHATEVER NUMBER WAS BEING TYPED IN - /4- DDT TYPES A CARRAIGE RETURN-LINE FEED - /5- DDT IS UN-CROSSPATCHED - THAT IS YOU ARE NOW TYPING - / TO THE LOCAL DDT IF YOU WERE CROSSPATCHED BEFORE - / - / HAS THE FOLLOWING EFFECTS: - /1- DDT FORGETS WHATEVER NUMBER WAS BEING TYPED IN - /2- DDT TYPES "= " - / - /. HAS THE VALUE OF THE CURRENT REGISTER'S ADDRESS (14-BITI - / - / HAS THE VALUE OF THE LAST THING TYPED BY DDT - / - /* HAS THE VALUE OF THE CONTENTS OF THE REGISTER ADDRESSED B - /HAS BEEN ASSEMBLED AS THE CURRENT SYLLABLE. IT ALWAYS USES - /THE CURRENT SYLLABLE AS A 14 BIT ADDRESS AND CAN BE APPLI[ - /ITSELF OR TO ANY SYLLABLE - / - /T HAS THE VALUE OF THE IMP NUMBER OF THE LAST FOREIGN IMP - /TO SEND A TTY MESSAGE TO THIS IMP. USED IN T= OR TC. - / - /, SEPARATES ARGUMENTS TO MULTIPLE ARGUMENT COMMANDS - / - /A1/ OPENS REGISTER AT LOCATION A1 (14-BIT ADDRESS) - / - /A1 OPEN REGISTER AT LOCATION A1 (USED AS - /A 9 BIT RELATIVE ADDRESS TO THE PAGE . IS ON. - / - /A1 CLOSES THE CURRENTLY OPEN REGISTER (IF ANY) - /INSERTS A1 AS ITS NEW CONTENTS (IF SUPPLIED) - / - /A1- CLOSES THE CURRENTLY OPEN REGISTER (AS LINEFEED) AND - /THE PREVIOUS REGISTER - - /A1 CLOSES THE CURRENTLY OPEN REGISTER (AS LINEFEE - /OPENS THE NEXT REGISTER - / - / AND + BOTH MEAN ADDITION - / - /- MEANS SUBTRACTION - / - /D MEANS THE NUMBER FOLLOWING IS DECIMAL - / - /" MEANS THAT THE TWO CHARACTERS FOLLOWING ARE TO BE TAKEN - /AS LITERAL ASCII VALUES AND PACKED INTO A WORD LEFT HALF, R - / - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 192 IMP,3050,IMP 7:20 PM 9/16/1973 - - /= TYPES OUT THE OCTAL VALUE OF THE LAST INPUT - /EG: 3=3, 3+6=11, D11=13, "AB=40502, "AB+D10=40514, .=3033 - / - /> TYPES OUT THE ASCII VALUE OF THE LAST OUTPUT (IE AB - / - / - /A1.A2,A3Z CLEARS ["ZEROES"] CORE BETWEEN LIMITS - A1 IS T1 - /CONSTANT CORE WILL BE CLEARED TO. A2 AND A3 ARE THE (INCLL' - /LOWER AND UPPER LIMITS, REPECTIVELY. - / - /A1,A2W DUMPS OUT ["WRITES"] CORE BETWEEN LIMITS - A1 AN( - /ARE THE (INCLUSIVE) LOWER AND UPPER LIMITS. RESPECTIVELY. - / - /A1,A2,A3S STARTS UP A PROGRAM (I.E. CAUSE A TRANSFER TO - /LOCATION). A3 IS THE (14 BIT) ADDRESS AT WHICH THE PROGRAM - /IS TO BE STARTED. A2 SPECIFIES THE CONTENTS OF THE A REGIST1 - /WHEN THE PROGRAM IS STARTED UP. A1 SPECIFIES THE - /X REGISTER WHEN THE PROGRAM IS STARTED UP. - / - /A1C CROSSPATCHES DDT TO IMP A1. - /MESSAGES ARE THEN TRANSMITTED TO IMP A1 - /FOR EVERY CHARACTER THAT IS TYPED IN - / - /A1,A2H SETS UP THE HEADER FOR MESSAGE - /TRANSMISSION - MESSAGES ARE TRANSMITTED BY - /TYPING A SEMICOLON, THEN ALL THE CHARACTERS UP TO THE - /NEXT SEMICOLON ARE SENT OFF AS A MESSAGE TO - /DESTINATION AS DETERMINED BY THIS HEADER. - /A1 GIVES LEADER WORD 1 (DESTINATION) - /A2 GIVES LEADER WORD 2 (LINK =). - / - /A1$ SENDS AN IMP GOING DOWN MESSAGE TO ALL THE HOSTS - /AT THE SITE TO WHICH DDT IS CROSSPATCHED. - /A1 IS THE LINK DR SUB-CODE WORD AND MUST BE SUPPLIED - / - /Q TURNS DDT OUTPUT OFF AND ON - REVERSES THE CURRENT STAT - /IF DDT TYPES NOTHING BACK IT IS OFF ["QUIET"] - /OTHERWISE DDT WILL TYPE A CARRIAGE RETURN-LINE FEED - / - /I PRODUCES AN INTERRUPT PRINT - /A DUMP OF SOME INTERESTING INTERRUPT LOCATIONS - / - /1 PRODUCES A QUEUE PRINT - /A DUMP DF SOME INTERESTING QUEUE AND TABLE LOCATIONS - / - /A1,A2,A3,A4[E N] WORD SEARCHES: UNDER A MASK OF A1, DOT - /SEARCH FOR WORDS EQUAL (NOTEQUAL) TO A2 BETWEEN THE - /LIMITS A3 TO A4. - / - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 193 IMP,3050,IMP 7:20 PM 9/16/1973 - - / - /*****************SENSE SWITCH FOUR********************* - / - / HAVING SENSE SWITCH 4 DOWN INHIBITS ALL OF - /DDT'S COMMANDS WHICH COULD DESTROY THE PROGRAM BEING - /LSOKED AT. IF YOU ATTEMPT TO CHANGE CORE WITH SS4 DOWN, ( ' - /WILL TYPE "= " AT YOU AND COMPLETELY IGNORE THE COMMAND. - /THE COMMANDS AFFECTED ARE: S, Q, Z,S, AND LINEFEED, UPARRO' - /CARRIAGE RETURN IF TRYING TO SUPPLY NEW CONTENTS. - - /*****************NULL ARGUMENT CONVENTIONS*****************, - / - /FOR =,CR,LF,-, AND IF - /THE ARGUMENT A1 IS LEFT OUT, THE LAST NUMBER TYPED BY DDT W - /BE USED AS THE ARGUMENT. - / - /FOR E, N, Z AND W, IF EITHER (OR BOTH) OF THE LIMITS ARE LET - /DDT WILL USE THE LAST LIMITS SPECIFIED FOR EITHER A Z OR : 1 - /OR AN E OR AN N. - /IF THE VALUE IS LEFT OUT IN AN E, N OR Z COMMAND, THE LAST - /SPECIFIED IN ANY E, N, OR Z COMMAND WILL BE USED. IF THE - /IS LEFT OUT OF AN E OR N COMMAND IT WILL BE SUPPLIED FROM - /THE LAST E OR N DONE. OR -1 IF NO MASK HAS EVER - /BEEN SPECIFIED. - / - /FOR S, ANY ARGUMENTS LEFT OUT WILL BE SUPPLIED FROM THE LAS - /THOSE ARGUMENTS WERE SPECIFIED. - / - /*********************************************************** - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 194 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK - /DDT - STAND ALONE AND BACKGROUND - /THE SAME PROGRAM IS USED FOR STAND ALONE USE - /AND AS A BACKGROUND PROGRAM RUNNING WITH THE IMP SYSTEM - /THE ONLY DIFFERENCE IS IN THE INPUT AND OUTPUT PORTS - /CALLS TO INPUT A CHARACTER AND TO OUTPUT A CHARACTER - /ARE MADE INDIRECT THROUGH LDIN AND LDOT RESPECTIVELY - /STAND ALONE THESE POINT TO SIMPLE TTY I/O HANDLERS - /UNDER IMPSYS THESE POINT TO COMPLEX COROUTINES IN BACKGRO1 ] -23033 005633 7 DDSA: LDA (DDA3) /ENTRY TO STAND ALONE DDT -23034 011163 7 STA LDIN /SET UP STAND ALONE INPUT -23035 005634 7 LDA (DDA4) -23036 011164 7 STA LDOT /SET UP STAND ALONE OUTPUT -23037 005635 7 LDA (QNUL) -23040 011632 7 STA QPTR /TURN OFF QUIET MODE -23041 011162 7 STA BBNF /SET DEST TO NON-BBN -23042 140040 7 CRA -23043 010473 7 STA OVRDF /TURN OFF SOFTWARE SS4 -23044 000013 7 EXA -23045 003076 7 JMP DCLR /GO TO RESTART ENTRY - -23046 000000 7 DDA3: 0 /STAND ALONE DDT INPUT -23047 131004 7 TTINAC /GET INPUT CHAR -23050 003047 7 JMP .-1 -23051 007636 7 ANA (177) -23052 013637 7 ERA (200) /ALWAYS PUT IN PARITY BIT -23053 103046 7 JMP DDA3 I - -23054 000000 7 DDA4: 0 /STAND ALONE DDT OUTPUT -23055 070104 7 TTSNBZ -23056 003075 7 JMP DDA5 /BUSY, SO GET THE INPUT CHAR -23057 030104 7 TTSOM /GO INTO OUTPUT MODE -23060 170004 7 TTOTA /DO OUTPUT -23061 003060 7 JMP .-1 -23062 070004 7 TTSRDY -23063 003062 7 JMP .-1 -23064 030004 7 TTSIM /GO BACK TO INPUT MODE -23065 103054 7 JMP DDA4 I - - /START BACKGROUND DDT OUTPUT -23066 005640 7 DOTI: LDA (DOUT) -23067 011164 7 STA LDOT -23070 005641 7 LDA (DIN) -23071 011163 7 STA LDIN -23072 005635 7 LDA (QNUL) -23073 011632 7 STA QPTR -23074 103642 7 JMP (DOTI1) I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 195 IMP,3050,IMP 7:20 PM 9/16/1973 - - /DDT - /NOTE THAT DDT RUNS WITH INTERRUPTS LOCKED - PI OFF - /IT ALSO RUNS WITH EXTENDED ADDRESSING ENABLED - EA ON - /MAIN LISTEN LOOP - -23075 021046 7 DDA5: JST DDA3 - LCK ALL -23076 021165 7 0 DCLR: JST CRLF /RESTART ENTRY -23077 140040 7 0 CRA -23100 011145 7 0 STA PRS -23101 021261 7 0 LF: JST CLS -23102 005643 7 0 LDA (215) /TYPE A CR -23103 121164 7 0 JST LDOT I -23104 021215 7 0 CLSE: JST CSL -23105 140040 7 0 CRA -23106 011145 7 0 STA PRS -23107 011144 7 0 STA PAR1 -23110 121163 7 0 LSE: JST LDIN I -23111 006752 7 0 ANA C77 -23112 011161 7 0 STA CHARIN -23113 015644 7 0 ADD (DTAB) /DISPATCH TABLE -23114 010000 7 0 STA 0 -23115 044000 7 0 LDA 0 X -23116 100400 7 0 SPL -23117 003122 7 0 JMP DDTDIS /SIGN BIT MEANS ALWAYS DO IT -23120 005162 7 0 LDA BBNF /ELSE ONLY IF OVERRIDDEN OR BBN -23121 021126 7 0 JST SS4ON -23122 044000 7 0 DDTDIS: LDA 0 X -23123 010000 7 0 STA 0 -23124 005161 7 0 LDA CHARIN -23125 042000 7 0 JMP 0 X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 196 IMP,3050,IMP 7:20 PM 9/16/1973 - -23126 000000 7 0 SS4ON: 0 -23127 101040 7 0 SNZ /A IS 0 IF OK (E.G. BBNF) -23130 103126 7 0 JMP SS4ON I -23131 004473 7 0 LDA OVRDF /ELSE REQUIRE OVERRIDE ON -23132 101040 7 0 SNZ -23133 100002 7 0 SR4 /OR SS4 ON -23134 103126 7 0 JMP SS4ON I /ELSE FALL INTO RUB -23135 005645 7 0 RUB: LDA (243) /TYPE A # -23136 121164 7 0 RUB1: JST LDOT I -23137 021173 7 0 RUB2: JST TAB /AND THREE SPACES -23140 003104 7 0 JMP CLSE - - LEV VAR -23141 V BSS 1 /PARAMETERS STORAGE BLOCK -23142 V BSS 1 -23143 V BSS 1 -23144 V PAR1: BSS 1 -23145 V PRS: BSS 1 /PARAMETER SUPPLIED - 1=> YES (R I' -23146 V SYL: BSS 1 /LAST SYLLABLE TYPED IN -23147 000000 V LAST: 0 /LAST WORD TYPED (CURRENT VALUE OF -23150 000000 V PT: 0 /CURRENT VALUE OF . -23151 000000 V OPEN: 0 /ADDRESS OF OPEN REG (<0 IF NONE) -23152 000000 V DLO: 0 /LOW LIMIT -23153 000000 V DHI: 0 /HI LIMIT -23154 000000 V VAL: 0 /VALUE FOR CLEAR AND SEARCHES -23155 000000 V CNT: 0 /COUNT FOR LOOPING -23156 177777 V SMSK: -1 /MASK FOR SEARCHES -23157 000000 V SP: 0 /LAST DDT START ADDRESS -23160 000000 V SX: 0 /LAST DDT START X REG -23161 V CHARIN: BSS 1 /TEMP INPUT CHARACTER -23162 V BBNF: BSS 1 /0 IF DDT MESS FROM BBN - - LEV CON -23163 024052 C LDIN: DIN /DDT INPUT CHAR ROUTINE -23164 024163 C LDOT: DOUT /DDT OUTPUT CHAR ROUTINE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 197 IMP,3050,IMP 7:20 PM 9/16/1973 - - /UTILITY SUBROUTINES AND STUFF - - LEV BCK LCK ALL -23165 000000 7 0 CRLF: 0 -23166 005643 7 0 LDA (215) /TYPE A CARRIAGE RETURN -23167 121164 7 0 JST LDOT I -23170 005646 7 0 LDA (212) /AND A LINE FEED -23171 121164 7 0 JST LDOT I -23172 103165 7 0 JMP CRLF I - -23173 000000 7 0 TAB: 0 -23174 005647 7 0 LDA (240) /TYPE THREE SPACES -23175 121164 7 0 JST LDOT I -23176 121164 7 0 JST LDOT I -23177 121164 7 0 JST LDOT I -23200 103173 7 0 JMP TAB I - -23201 000000 7 0 GP: 0 /GET A PARAMETER -23202 007145 7 0 ANA PRS -23203 101040 7 0 DSNZ: SNZ /WAS PARAM SUPPLIED? -23204 025201 7 0 IRS GP /NO, SKIP -23205 045144 7 0 LDA PAR1 X /YES, RETURN VALUE -23206 103201 7 0 JMP GP I - -23207 000000 7 0 GP1: 0 /GET PARAMETER 1 -23210 072113 7 0 LDX ZERO -23211 004114 7 0 LDA ONE -23212 021201 7 0 JST GP -23213 025207 7 0 IRS GP1 /GOT VALUE, GIVE SKIP RETURN -23214 103207 7 0 JMP GP1 I - -23215 000000 7 0 CSL: 0 /COMBINE IN A SYLLABLE -23216 140040 7 0 CRA -23217 027146 7 0 IMA SYL -23220 100000 7 0 CSLX: SKP /SKP (DEFAULT) MEANS DO ADDITION -23221 140407 7 0 TCA /ELSE DO SUBTRACTION -23222 015144 7 0 ADD PAR1 /COMBINE WITH PARAM 1 -23223 011144 7 0 STA PAR1 /ACCUMULATE IN PARAM 1 -23224 004112 7 0 LDA SIGN -23225 011220 7 0 STA CSLX /RESET +/- FLAG -23226 103215 7 0 JMP CSL I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 198 IMP,3050,IMP 7:20 PM 9/16/1973 - -23227 000000 7 0 PAC: 0 /PRINT ADDRESS AND CONTENTS -23230 140100 7 0 SSP -23231 011244 7 0 STA OPN /SAVE ADDRESS OF REG TO BE PRINTE[ -23232 021165 7 0 JST CRLF /TYPE A CR - LF -23233 005244 7 0 LDA OPN -23234 021302 7 0 JST OPT /TYPE THE ADDRESS IN OCTAL -23235 005650 7 0 LDA (257) /TYPE A / -23236 121164 7 0 JST LDOT I -23237 021207 7 0 JST GP1 -23240 025145 7 0 IRS PRS -23241 005244 7 0 LDA OPN -23242 021244 7 0 JST OPN /OPEN REG AND TYPE CONTENTS -23243 103227 7 0 JMP PAC I - -23244 000000 7 0 OPN: 0 /OPEN A REGISTER AND TYPE ITS CONT 1 -23245 140100 7 0 SSP -23246 011151 7 0 STA OPEN -23247 021207 7 0 JST GP1 -23250 003253 7 0 JMP OPN1 /NO ARG, DON'T RESET . -23251 005151 7 0 LDA OPEN -23252 011150 7 0 STA PT -23253 021173 7 0 OPN1: JST TAB -23254 073151 7 0 LDX OPEN -23255 044000 7 0 LDA 0 X -23256 021302 7 0 JST OPT -23257 021173 7 0 JST TAB -23260 103244 7 0 JMP OPN I - -23261 000000 7 0 CLS: 0 /CLOSE A REGISTER -23262 005651 7 0 LDA (JMP DIG1) -23263 011355 7 0 STA DIG -23264 021215 7 0 JST CSL -23265 005151 7 0 LDA OPEN -23266 101400 7 0 SMI -23267 021207 7 0 JST GP1 -23270 003277 7 0 JMP CLS1 /NO NEW CONTENTS FOR THE REG -23271 011147 7 0 STA LAST -23272 004114 7 0 LDA ONE /REAL OVERRIDE NEEDED -23273 021126 7 0 JST SS4ON -23274 005147 7 0 LDA LAST -23275 073151 7 0 LDX OPEN -23276 050000 7 0 STA 0 X -23277 140500 7 0 CLS1: SSM -23300 011151 7 0 STA OPEN -23301 103261 7 0 JMP CLS I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 199 IMP,3050,IMP 7:20 PM 9/16/1973 - -23302 000000 7 0 OPT: 0 -23303 011147 7 0 STA LAST -23304 000201 7 0 IAB -23305 072125 7 0 LDX MINUS5 -23306 004121 7 0 LDA MINUS1 -23307 011333 7 0 STA OPTT -23310 005652 7 0 LDA (130) -23311 041077 7 0 LLL 1 -23312 023653 7 0 OPT1: CAS (260) /ZERO? -23313 100000 7 0 SKP -23314 003326 7 0 JMP OPT4 /SEE IF WE SHOULD SUPRESS IT -23315 025333 7 0 IRS OPTT -23316 101000 7 0 DNOP: NOP -23317 121164 7 0 OPT3: JST LDOT I -23320 005654 7 0 OPT2: LDA (26) -23321 041075 7 0 LLL 3 -23322 024000 7 0 IRS 0 -23323 003312 7 0 JMP OPT1 -23324 121164 7 0 JST LDOT I /ALWAYS PRINT LOWEST ORDER DIGIT -23325 103302 7 0 JMP OPT I -23326 025333 7 0 OPT4: IRS OPTT -23327 003317 7 0 JMP OPT3 -23330 004121 7 0 LDA MINUS1 /SUPRESS A ZERO -23331 011333 7 0 STA OPTT -23332 003320 7 0 JMP OPT2 -23333 7 0 OPTT: BSS 1 - -23334 021173 7 0 ASCOUT: JST TAB -23335 005147 7 0 LDA LAST -23336 141140 7 0 ICL -23337 121164 7 0 JST LDOT I -23340 005147 7 0 LDA LAST -23341 141050 7 0 CAL -23342 003136 7 0 JMP RUB1 - -23343 021215 7 0 COM: JST CSL /, DISPATCH -23344 140040 7 0 CRA -23345 027144 7 0 IMA PAR1 -23346 027143 7 0 IMA PAR1-1 -23347 027142 7 0 IMA PAR1-2 -23350 027141 7 0 IMA PAR1-3 -23351 005145 7 0 LDA PRS -23352 041477 7 0 LGL 1 -23353 011145 7 0 STA PRS -23354 003110 7 0 JMP LSE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 200 IMP,3050,IMP 7:20 PM 9/16/1973 - - /DISPATCHER ROUTINES -23355 7 0 DIG: BSS 1 /JMP DIG1 OR NOP -23356 015146 7 0 ADD SYL -23357 015146 7 0 ADD SYL -23360 040175 7 0 DIG1: LRS 3 /DIGITS DISPATCH -23361 015146 7 0 ADD SYL -23362 041175 7 0 LLS 3 -23363 017655 7 0 SUB (60) -23364 011146 7 0 DIG2: STA SYL -23365 021207 7 0 JST GP1 -23366 025145 7 0 IRS PRS -23367 003110 7 0 JMP LSE - -23370 005316 7 0 DECIN: LDA DNOP -23371 011355 7 0 STA DIG -23372 003110 7 0 JMP LSE - -23373 021215 7 0 EQS: JST CSL /EQUALS DISPATCH -23374 005144 7 0 LDA PAR1 -23375 021302 7 0 JST OPT -23376 003137 7 0 JMP RUB2 - -23377 021215 7 0 PLUS: JST CSL /ADDITION DISPATCH -23400 003110 7 0 JMP LSE - -23401 021215 7 0 MIN: JST CSL /MINUS DISPATCH -23402 005316 7 0 LDA DNOP -23403 011220 7 0 STA CSLX -23404 003110 7 0 JMP LSE - -23405 005150 7 0 PTOP: LDA PT /. DISPATCH -23406 003364 7 0 JMP DIG2 - -23407 073146 7 0 STAR: LDX SYL /* DISPATCH -23410 044000 7 0 LDA 0 X -23411 003364 7 0 JMP DIG2 - -23412 005147 7 0 BARR: LDA LAST / DISPATCH -23413 003364 7 0 JMP DIG2 - -23414 005656 7 0 BOP: LDA (IHTT) /HOST OUTPUT TIMER -23415 003364 7 0 JMP DIG2 /FOR WBB - HOST INTERFACE DEBUG - -23416 105657 7 0 TOP: LDA (WHOTTY) I /TTY OUTPUT SOURCE -23417 003364 7 0 JMP DIG2 /FOR NCC OPS- WHO IS TYPING ON TTY - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 201 IMP,3050,IMP 7:20 PM 9/16/1973 - -23420 021215 7 0 SLH: JST CSL // DISPATCH -23421 021207 7 0 JST GP1 -23422 005147 7 0 LDA LAST -23423 021244 7 0 SLH2: JST OPN -23424 003104 7 0 JMP CLSE - -23425 021215 7 0 BS: JST CSL /BACKSLASH DISPATCH -23426 021207 7 0 JST GP1 -23427 005147 7 0 LDA LAST -23430 011147 7 0 STA LAST -23431 007660 7 0 ANA (1000) /GET PAGE BIT -23432 100040 7 0 SZE /PAGE 0? -23433 005150 7 0 LDA PT /NO, THIS PAGE -23434 013147 7 0 ERA LAST -23435 007661 7 0 ANA (77000) -23436 013147 7 0 ERA LAST -23437 003423 7 0 JMP SLH2 - -23440 021261 7 0 UA: JST CLS /- DISPATCH -23441 004121 7 0 LDA MINUS1 -23442 003445 7 0 JMP CR1 - -23443 021261 7 0 CR: JST CLS /CARRIAGE RETURN DISPATCH -23444 004114 7 0 LDA ONE -23445 015150 7 0 CR1: ADD PT -23446 011150 7 0 STA PT -23447 021227 7 0 JST PAC -23450 003104 7 0 JMP CLSE - -23451 121163 7 0 ASCIN: JST LDIN I -23452 141240 7 0 ICR -23453 011147 7 0 STA LAST -23454 121163 7 0 JST LDIN I -23455 013147 7 0 ERA LAST -23456 011147 7 0 STA LAST -23457 003364 7 0 JMP DIG2 - -23460 021215 7 0 S: JST CSL /S DISPATCH -23461 021207 7 0 JST GP1 -23462 100000 7 0 SKP -23463 011157 7 0 STA SP -23464 004114 7 0 LDA ONE /REAL OVERRIDE, NOT JUST BBNF -23465 021126 7 0 JST SS4ON -23466 072122 7 0 LDX MINUS2 -23467 004117 7 0 LDA FOUR -23470 021201 7 0 JST GP -23471 011160 7 0 STA SX -23472 072121 7 0 LDX MINUS1 -23473 004115 7 0 LDA TWO -23474 021201 7 0 JST GP -23475 101000 7 0 NOP -23476 073160 7 0 LDX SX -23477 103157 7 0 JMP SP I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 202 IMP,3050,IMP 7:20 PM 9/16/1973 - -23500 021126 7 0 Z: JST SS4ON /A NOT ZERO - REAL OVERRIDE -23501 005662 7 0 LDA (JMP Z1) -23502 003513 7 0 JMP SCH1 -23503 005154 7 0 Z1: LDA VAL -23504 050000 7 0 STA 0 X -23505 003553 7 0 JMP SCH2 - -23506 005526 7 0 W: LDA DSKP -23507 003513 7 0 JMP SCH1 /W DISPATCH -23510 005570 7 0 EQ: LDA DSZE -23511 003513 7 0 JMP SCH1 /E DISPATCH -23512 005203 7 0 NEQ: LDA DSNZ /N DISPATCH -23513 011546 7 0 SCH1: STA SXEC /SET UP TEST -23514 072123 7 0 LDX MINUS3 -23515 004751 7 0 LDA TEN -23516 021201 7 0 JST GP -23517 011156 7 0 STA SMSK /FIRST PARAM - MASK -23520 072122 7 0 LDX MINUS2 -23521 004117 7 0 LDA FOUR -23522 021201 7 0 JST GP -23523 011154 7 0 STA VAL /SECOND PARAM - VALUE -23524 021215 7 0 JST CSL -23525 021207 7 0 JST GP1 -23526 100000 7 0 DSKP: SKP -23527 011153 7 0 STA DHI /FOURTH PARAM - HI BOUND -23530 072121 7 0 LDX MINUS1 -23531 004115 7 0 LDA TWO -23532 021201 7 0 JST GP -23533 011152 7 0 STA DLO /THIRD PARAM - LO BOUND -23534 005152 7 0 LDA DLO -23535 017153 7 0 SUB DHI -23536 016114 7 0 SUB ONE -23537 011155 7 0 STA CNT /LEAVE COUNT IN CNT -23540 101400 7 0 SMI -23541 003135 7 0 JMP RUB /INVERTED BLOCK -23542 073152 7 0 LDX DLO -23543 044000 7 0 SCH3: LDA 0 X -23544 013154 7 0 ERA VAL /COMPARE -23545 007156 7 0 ANA SMSK /MASK OFF BITS TO BE IGNORED -23546 7 0 SXEC: BSS 1 /TEST - SET UP BY CALLS -23547 003553 7 0 JMP SCH2 /FAILURE -23550 004000 7 0 LDA 0 -23551 021227 7 0 JST PAC -23552 073151 7 0 LDX OPEN -23553 024000 7 0 SCH2: IRS 0 -23554 025155 7 0 IRS CNT -23555 003543 7 0 JMP SCH3 -23556 003076 7 0 JMP DCLR - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 203 IMP,3050,IMP 7:20 PM 9/16/1973 - -23557 021126 7 0 DOWNM: JST SS4ON /A NOT ZERO -23560 021215 7 0 JST CSL /S DISPATCH -23561 021207 7 0 JST GP1 -23562 003135 7 0 JMP RUB /MUST HAVE SS4 ON AND GIVE A PARAM -23563 120672 7 0 JST DODXA I RET BCK -23564 121663 7 JST (IHDOWN) I /TELL ALL HOSTS IMP GOING DOWN -23565 000013 7 EXA -23566 003076 7 JMP DCLR - - LCK ALL -23567 004473 7 0 OVRD: LDA OVRDF /O DISPATCH -23570 100040 7 0 DSZE: SZE -23571 003575 7 0 JMP OVRD1 /LEAVING OVERRIDE MODE -23572 005162 7 0 LDA BBNF /FROM BBN -23573 021126 7 0 JST SS4ON -23574 140040 7 0 CRA /THEN YOU CAN ENTER OVERRIDE -23575 013664 7 0 OVRD1: ERA (20) -23576 010473 7 0 STA OVRDF -23577 040677 7 0 ARR 1 -23600 013665 7 0 ERA (306) /MAKE AN N OR AN F -23601 121164 7 0 JST LDOT I /TYPE ON OR OFF -23602 003076 7 0 JMP DCLR - -23603 021215 7 0 C: JST CSL -23604 021207 7 0 JST GP1 /CROSSPATCH -23605 003135 7 0 JMP RUB -23606 007666 7 0 ANA (0 0 177777"X"HICODE) -23607 013667 7 0 ERA (PRIBIT 0 FORIMP) -23610 111670 7 0 STA (HED0) I /SET "FOP IMP" BIT -23611 003076 7 0 JMP DCLR - -23612 021215 7 0 H: JST CSL /SET UP A HEADER -23613 072121 7 0 LDX MINUS1 -23614 004115 7 0 LDA TWO -23615 021201 7 0 JST GP -23616 111671 7 0 STA (MHD0) I -23617 021207 7 0 JST GP1 -23620 100000 7 0 SKP -23621 111672 7 0 STA (MHD1) I -23622 003076 7 0 JMP DCLR - -23623 021126 7 0 QDSP: JST SS4ON -23624 005632 7 0 LDA QPTR /QUIET MODE CONTROL -23625 027164 7 0 IMA LDOT -23626 011632 7 0 STA QPTR -23627 003076 7 0 JMP DCLR - -23630 000000 7 0 QNUL: 0 /NULL SUBROUTINE -23631 103630 7 0 JMP .-1 I - LEV VAR -23632 V QPTR: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 204 IMP,3050,IMP 7:20 PM 9/16/1973 - -23633 023046 C LEV CON CONSTANTS -23634 023054 C -23635 023630 C -23636 000177 C -23637 000200 C -23640 024163 C -23641 024052 C -23642 024157 C -23643 000215 C -23644 024400 C -23645 000243 C -23646 000212 C -23647 000240 C -23650 000257 C -23651 003360 C -23652 000130 C -23653 000260 C -23654 000026 C -23655 000060 C -23656 016306 C -23657 025506 C -23660 001000 C -23661 077000 C -23662 003503 C -23663 003525 C -23664 000020 C -23665 000306 C -23666 170377 C -23667 140000 C -23670 025165 C -23671 025166 C -23672 025167 C -02432 176700 C PAGEND 23,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 205 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -24012 120666 7 DIN4: JST SUCK I -24013 140500 7 SSM 0"A"PRIBIT -24014 011050 7 STA DSRC -24015 007500 7 ANA (FRMIMP 0 SRCEHI) -24016 013501 7 ERA (FRMIMP 0 BBNIMP) -24017 100040 7 SZE /SET FLAG IF MESS FROM BBN IMP TTY -24020 013502 7 ERA (0 0 BBNIMP"X"BBNTIP) -24021 100040 7 SZE /SET FLAG IF MESS FROM BBN TIP TTY -24022 013503 7 ERA (FRMIMP 0 BBNTIP"X"PDP1D) -24023 111504 7 STA (BBNF) I /SET FLAG IF MESS FROM BBN IMP HOST -24024 120666 7 JST SUCK I -24025 011051 7 STA DSRC+1 -24026 120666 7 DIN1: JST SUCK I -24027 003040 7 JMP DIN2 -24030 011047 7 STA DINW -24031 141050 7 CAL -24032 101040 7 SNZ -24033 003036 7 JMP DIN3 /NOTHING AT ALL IN THIS WORD -24034 005047 7 LDA DINW -24035 021076 7 JST DINR -24036 025067 7 DIN3: IRS DEND /HAVE OUTPUT CLOSE OFF THEIR MESSAG1 -24037 003012 7 JMP DIN4 /GO BACK FOR NEXT MESSAGE - -24040 011047 7 DIN2: STA DINW /FEED DDT A WORD -24041 021076 7 JST DINR -24042 005047 7 LDA DINW -24043 141340 7 ICA -24044 021076 7 JST DINR -24045 003026 7 JMP DIN1 - - LEV VAR -24046 V DINC: BSS 1 -24047 V DINW: BSS 1 -24050 V DSRC: BSS 2 /DDT DEST/SOURCE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 206 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -24052 000000 7 DIN: 0 /DDT CALLS HERE TO GET A CHARACTER -24053 072114 7 DIN7: LDX ONE -24054 001001 7 INH ALL -24055 120672 7 0 JST DODXA I RET BCK -24056 100000 7 SKP -24057 120665 7 DIN8: JST DOZE I -24060 140040 7 CRA -24061 027067 7 IMA DEND /TIME TO END A MESSAGE? -24062 101040 7 SNZ -24063 003070 7 JMP DIN9 /NO -24064 005505 7 LDA (DIN7) /CLOSE A MESSAGE -24065 011163 7 STA DOUT -24066 003116 7 JMP DOT2 -24067 7 DEND: BSS 1 - -24070 027046 7 DIN9: IMA DINC /INPUT CHAR READY? -24071 101040 7 SNZ -24072 003057 7 JMP DIN8 -24073 001001 7 INH ALL -24074 000013 7 0 EXA -24075 103052 7 0 JMP DIN I - - LEV BCK -24076 000000 7 DINR: 0 /ROUTINE CALLS HERE TO FEED A CHAR -24077 101400 7 SMI -24100 103076 7 JMP DINR I -24101 140100 7 SSP -24102 141140 7 ICL -24103 100040 7 SZE -24104 003110 7 JMP DINA -24105 010472 7 STA DDTI /WE ARE GIVING DDT A "BREAK" -24106 005335 7 LDA LRET -24107 011052 7 STA DIN -24110 011046 7 DINA: STA DINC -24111 120667 7 JST WAIT I /LET DDT GRAB THE CHAR -24112 005046 7 LDA DINC -24113 100040 7 SZE -24114 003111 7 JMP .-3 -24115 103076 7 JMP DINR I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 207 IMP,3050,IMP 7:20 PM 9/16/1973 - -24116 005207 7 DOT2: LDA DOTW /START HERE TO CLOSE OFF LAST MESSA[ -24117 073506 7 DOT5: LDX (100001) -24120 120664 7 JST JAM I -24121 004112 7 DOT6: LDA SIGN /START HERE WITH EMPTY WORLD -24122 021176 7 JST DOTR -24123 072114 7 LDX ONE -24124 005050 7 LDA DSRC /*SEND DEST HOST -24125 120664 7 JST JAM I /(=SOURCE OF LAST MESS RECVD) -24126 005051 7 LDA DSRC+1 /*SEND DEST LINK -24127 120664 7 JST JAM I /(=LINK OF LAST MESS RECVD) -24130 005507 7 LDA (-500.) /NUMBER OF WORDS PER MESSAGE -24131 011213 7 STA DCNT -24132 005210 7 LDA DOTA -24133 007510 7 ANA (177) -24134 000201 7 IAB -24135 041050 7 DOT3: LLL 24. -24136 013511 7 ERA (100200) -24137 021176 7 JST DOTR -24140 004472 7 LDA DDTI /DDT BEING INTERRUPTED? -24141 100040 7 SZE -24142 003152 7 JMP DOT4 /YES, SUPRESS OUTPUT -24143 000201 7 IAB -24144 072114 7 LDX ONE -24145 120664 7 JST JAM I /*SEND TWO CHARS PER WORD -24146 025213 7 IRS DCNT -24147 003154 7 JMP DOT7 -24150 004112 7 LDA SIGN -24151 003117 7 JMP DOT5 - -24152 005512 7 DOT4: LDA (LSE) -24153 011163 7 STA DOUT -24154 004112 7 DOT7: LDA SIGN -24155 021176 7 JST DOTR -24156 003135 7 JMP DOT3 - -24157 005335 7 DOTI1: LDA LRET -24160 011163 7 STA DOUT -24161 011067 7 STA DEND -24162 003121 7 JMP DOT6 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 208 IMP,3050,IMP 7:20 PM 9/16/1973 - -24163 000000 7 DOUT: 0 /DDT CALLS HERE WITH A CHAR TO TYPE -24164 011210 7 STA DOTA -24165 007510 7 ANA (177) -24166 013207 7 ERA DOTW -24167 000201 7 IAB -24170 011211 7 STA DOTB -24171 033212 7 STX DOTX -24172 001001 7 INH ALL -24173 120672 7 0 JST DODXA I RET BCK -24174 072114 7 LDX ONE -24175 103176 7 JMP DOTR I - -24176 000000 7 DOTR: 0 /ROUTINES CALL HERE TO RETURN TO DD -24177 011207 7 STA DOTW -24200 005211 7 LDA DOTB -24201 000201 7 IAB -24202 005210 7 LDA DOTA -24203 073212 7 LDX DOTX -24204 001001 7 INH ALL -24205 000013 7 0 EXA -24206 103163 7 0 JMP DOUT I - - LEV VAR -24207 V DOTW: BSS 1 -24210 V DOTA: BSS 1 -24211 V DOTB: BSS 1 -24212 V DOTX: BSS 1 -24213 V DCNT: BSS 1 /NUMBER OF WORDS LEFT IN OUTPUT PAC - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 209 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK LCK ALL -24214 005337 7 0 QP: LDA QPC1 /QUEUE PRINT -24215 011360 7 0 STA QT1 -24216 005340 7 0 QPQ1: LDA QPC2 -24217 015360 7 0 ADD QT1 -24220 011361 7 0 STA QT2 -24221 010000 7 0 STA 0 -24222 044000 7 0 LDA 0 X -24223 101040 7 0 SNZ -24224 003244 7 0 JMP QPQ3 -24225 121332 7 0 JST QPCR I -24226 004000 7 0 LDA 0 -24227 121333 7 0 JST QPOP I -24230 121334 7 0 JST QPTB I -24231 005513 7 0 LDA (-10) -24232 011362 7 0 STA QT3 -24233 073361 7 0 QPQ2: LDX QT2 -24234 044000 7 0 LDA 0 X -24235 101040 7 0 SNZ -24236 003244 7 0 JMP QPQ3 -24237 011361 7 0 STA QT2 -24240 121333 7 0 JST QPOP I -24241 121334 7 0 JST QPTB I -24242 025362 7 0 IRS QT3 -24243 003233 7 0 JMP QPQ2 -24244 025360 7 0 QPQ3: IRS QT1 -24245 003216 7 0 JMP QPQ1 -24246 005357 7 0 LDA QTB3 -24247 011360 7 0 STA QT1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 210 IMP,3050,IMP 7:20 PM 9/16/1973 - -24250 073360 7 0 QPB1: LDX QT1 -24251 045350 7 0 LDA QTB1+QTBL X -24252 011361 7 0 STA QT2 -24253 045357 7 0 LDA QTB2+QTBL X -24254 011362 7 0 STA QT3 -24255 073362 7 0 QPB2: LDX QT3 -24256 044000 7 0 LDA 0 X -24257 101040 7 0 SNZ -24260 003305 7 0 JMP QPB4 -24261 011363 7 0 STA QT4 -24262 005362 7 0 LDA QT3 -24263 010000 7 0 STA 0 -24264 101400 7 0 SMI -24265 003275 7 0 JMP QPB3 -24266 025362 7 0 IRS QT3 -24267 044001 7 0 LDA 1 X -24270 023506 7 0 CAS (100001) -24271 100000 7 0 SKP -24272 003305 7 0 JMP QPB4 -24273 017514 7 0 SUB (BUFE 0 I) -24274 011363 7 0 STA QT4 -24275 121332 7 0 QPB3: JST QPCR I -24276 005362 7 0 LDA QT3 -24277 140100 7 0 SSP -24300 121333 7 0 JST QPOP I -24301 121334 7 0 JST QPTB I -24302 005363 7 0 LDA QT4 -24303 121333 7 0 JST QPOP I -24304 121334 7 0 JST QPTB I -24305 025362 7 0 QPB4: IRS QT3 -24306 025361 7 0 IRS QT2 -24307 003255 7 0 JMP QPB2 -24310 025360 7 0 IRS QT1 -24311 003250 7 0 JMP QPB1 -24312 103335 7 0 JMP QPND I - -24313 073515 7 0 IP: LDX (-IPL) /INTERRUPT PRINT -24314 045400 7 0 IP1: LDA IPT+IPL X -24315 033360 7 0 STX QT1 -24316 121336 7 0 JST QPAC I /PRINT SOME KEY PARAMETERS -24317 073360 7 0 LDX QT1 -24320 024000 7 0 IRS 0 -24321 003314 7 0 JMP IP1 -24322 073516 7 0 LDX (STDIL-0-TASKIL) -24323 044104 7 0 IP2: LDA TASKIL+1 X -24324 033360 7 0 STX QT1 -24325 121336 7 0 JST QPAC I /PRINT ALL INTERRUPT ENTRANCES -24326 073360 7 0 LDX QT1 -24327 024000 7 0 IRS 0 -24330 003323 7 0 JMP IP2 -24331 103335 7 0 JMP QPND I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 211 IMP,3050,IMP 7:20 PM 9/16/1973 - -24332 023165 7 0 QPCR: CRLF /QUEUE PRINT CONSTANTS AND VARIABLE: -24333 023302 7 0 QPOP: OPT -24334 023173 7 0 QPTB: TAB - LRET: /SAME AS QPND -24335 023076 7 0 QPND: DCLR -24336 023227 7 0 QPAC: PAC -24337 177727 7 0 QPC1: -QUEUEL -24340 000343 7 0 QPC2: QUEUEB+QUEUEL - -24341 177770 7 0 QTB1: -PPTL -24342 177770 7 0 -TH -24343 177770 7 0 -TH -24344 177730 7 0 -[CH"T"NACH] -24345 177774 7 0 -CH+0+1 -24346 177730 7 0 0 0 -2"T"COUNTL -24347 177720 7 0 -PLTNUM -24350 033457 7 0 QTB2: PPT -24351 013333 7 0 HISP -24352 016155 7 0 IHSP -24353 032030 7 0 I2MB0 -24354 100020 7 0 100020 -24355 000517 7 0 COUNTA -24356 033477 7 0 PLT - QTBL=QTB2-0-QTB1 -24357 177771 7 0 QTB3: -QTBL - - LEV VAR -24360 V QT1: BSS 1 -24361 V QT2: BSS 1 -24362 V QT3: BSS 1 -24363 V QT4: BSS 1 - - LEV CON -24364 000134 C IPT: PRIM /INTERRUPT PRINT LOCS -24365 000674 C MP -24366 012654 C OCHN -24367 012604 C I2MSB -24370 000675 C HIP -24371 013106 C HISB -24372 000676 C IHP -24373 016042 C IHSB -24374 020144 C TOK -24375 003412 C FAKENO -24376 004420 C BACKNO -24377 000111 C ADDRET - IPL=.-0-IPT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 212 IMP,3050,IMP 7:20 PM 9/16/1973 - - - DDOK=100000 - /SIGNBIT ON (DDOK) ==> NON-PRIVELEGED DISPATCH - - LEV CON -24400 123076 C DTAB: DCLR+0+DDOK /@ -24401 123110 C LSE+0+DDOK /A -24402 023414 C BOP /B -24403 123603 C C+0+DDOK /C -24404 023370 C DECIN /D -24405 023510 C EQ /E -24406 123110 C LSE+0+DDOK /F -24407 123110 C LSE+0+DDOK /G -24410 123612 C H+0+DDOK /H -24411 024313 C IP /I -24412 023101 C LF /J - 12 - LINEFEED -24413 123110 C LSE+0+DDOK /K -24414 123612 C H+0+DDOK /L -24415 023443 C CR /M - 15 - CR -24416 023512 C NEQ /N -24417 123567 C OVRD+0+DDOK /O -24420 123110 C LSE+0+DDOK /P -24421 023623 C QDSP /Q -24422 123110 C LSE+0+DDOK /R -24423 023460 C S /S -24424 123416 C TOP+0+DDOK /T -24425 123110 C LSE+0+DDOK /U -24426 123110 C LSE+0+DDOK /V -24427 023506 C W /W -24430 123110 C LSE+0+DDOK /X -24431 123110 C LSE+0+DDOK /Y -24432 023500 C Z /Z -24433 123110 C LSE+0+DDOK /[ -24434 023425 C BS / -24435 123110 C LSE+0+DDOK /] -24436 023440 C UA /~ -24437 023412 C BARR / - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 213 IMP,3050,IMP 7:20 PM 9/16/1973 - -24440 123377 C PLUS+0+DDOK / -24441 024214 C QP /! -24442 023451 C ASCIN /" -24443 123110 C LSE+0+DDOK /# -24444 023557 C DOWNM /$ -24445 123110 C LSE+0+DDOK /% -24446 123110 C LSE+0+DDOK /& -24447 123110 C LSE+0+DDOK /' -24450 123110 C LSE+0+DDOK /( -24451 123110 C LSE+0+DDOK /) -24452 023407 C STAR /* -24453 123377 C PLUS+0+DDOK /+ -24454 123343 C COM+0+DDOK /, -24455 123401 C MIN+0+DDOK /- -24456 023405 C PTOP /. -24457 023420 C SLH // -24460 123355 C DIG+0+DDOK /0 -24461 123355 C DIG+0+DDOK /1 -24462 123355 C DIG+0+DDOK /2 -24463 123355 C DIG+0+DDOK /3 -24464 123355 C DIG+0+DDOK /4 -24465 123355 C DIG+0+DDOK /5 -24466 123355 C DIG+0+DDOK /6 -24467 123355 C DIG+0+DDOK /7 -24470 123355 C DIG+0+DDOK /8 -24471 123355 C DIG+0+DDOK /9 -24472 123110 C LSE+0+DDOK /: -24473 123110 C LSE+0+DDOK /; -24474 123110 C LSE+0+DDOK /< -24475 123373 C EQS+0+DDOK /= -24476 023334 C ASCOUT /> -24477 023135 C RUB /? - 177 - RUBOUT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 214 IMP,3050,IMP 7:20 PM 9/16/1973 - -24500 040377 C LEV CON CONSTANTS -24501 040005 C -24502 000033 C -24503 040333 C -24504 023162 C -24505 024053 C -24506 100001 C -24507 177014 C -24510 000177 C -24511 100200 C -24512 023110 C -24513 177770 C -24514 100111 C -24515 177764 C -24516 177760 C -02433 174523 C PAGEND 24,UNCON,4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 215 IMP,3050,IMP 7:20 PM 9/16/1973 - - - TINT: LEV TTY /TTY INTERRUPT -00063 025061 0 STDIL/ TINT -25061 000000 0 TINT/ INT TTY -25062 011115 0 STA TINA /SAVE A REG -25063 070004 0 TTSRDY -25064 003077 0 JMP TTRT /NOT REALLY A TTY INTERRUPT -25065 140040 0 CRA -25066 022474 0 CAS TTFG /IS TTFG = -1,0,1? -25067 003112 0 JMP TIN1 /-1 WE JUST TYPED A BACKSLASH -25070 003104 0 JMP TIN2 / 0 NORMAL INTERRUPT -25071 030104 0 TTSOM / 1 WE MUST TYPE A BACKSLASH -25072 005511 0 LDA (334) -25073 170004 0 TTOTA -25074 003112 0 JMP TIN1 -25075 004121 0 LDA MINUS1 /SET TTFG TO -1 -25076 010474 0 TIN3: STA TTFG -25077 000043 0 TTRT: INK -25100 171020 0 OTK -25101 005115 0 LDA TINA /RESTORE A REG -25102 000401 0 ENB TTY -25103 103061 0 JMP TINT I - -25104 005503 0 TIN2: LDA OTGO /CHECK HALF-DUPLEX FLAG -25105 100040 0 SZE /ARE WE IN INPUT MODE? -25106 003112 0 JMP TIN1 /NO, THIS IS AN OUTPUT INTERRUPT -25107 131004 0 TTINAC /YES, GET INPUT CHAR -25110 003107 0 JMP .-1 -25111 011116 0 STA TTCR /SAVE IT -25112 030004 0 TIN1: TTSIM -25113 004114 0 LDA ONE /SET TTFG TO 1 -25114 003076 0 JMP TIN3 - LEV VAR -25115 V TINA: BSS 1 /TTY INT SAVED A REG -25116 V TTCR: BSS 1 /RAW TTY INPUT CHAR - - /OTGO IS THE STATE OF THE HALF-DUPLEX INTERFACE - /0=EXPECTING INPUT, 1=HAVE DONE OUTPUT - - /TTFG IS THE COMMUNICATION FLAG BETWEEN - /THE TTY INTERRUPT HANDLER AND THE BACKGROUND TTY PROCESSING - /AT INTERRUPT TIME: - /-1= LAST ACTION WAS TO TYPE A BACKSLASH, NOW 1=>TTFG - / 0= NORMAL - BACKGROUND IS READY FOR TTY INT, NOW 1=>TTFG - / 1= A SECOND TTY INT CAME IN BEFORE BACKGROUND CAUGHT UP - / SO TYPE A BACKSLASH, NOW -1=>TTFG - /AT BACKGROUND LEVEL: - /USE A CRA, IMA TTFG SEQUENCE TO INTERROGATE TTY - /0=>TTFG, USE CHAR IF TTFG WAS = 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 216 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -25117 140040 7 TTYI: CRA /TELETYPE INPUT STARTS HERE -25120 011503 7 STA OTGO -25121 010673 7 STA HSFG -25122 011504 7 STA HSGO -25123 011163 7 STA TTCH -25124 111512 7 STA (DINC) I -25125 004106 7 LDA MINE -25126 013513 7 ERA (PRIBIT 0 FORIMP) -25127 111514 7 STA (DSRC) I -25130 012753 7 ERA C100 -25131 011165 7 STA HED0 -25132 005515 7 LDA (40) -25133 170020 7 SMK 20 /ENABLE TTY INTERRUPTS ONLY -25134 003174 7 JMP TTI3 /GO FIRE OFF A DUMMY MSG TO DDT - -25135 005170 7 IND1: LDA TTI2 -25136 011160 7 STA INDB -25137 000401 7 TTI1: ENB BCK -25140 072113 7 LDX ZERO -25141 120665 7 JST DOZE I /WAIT FOR NEXT INPUT CHAR -25142 005503 7 LDA OTGO /OUTPUT ACTIVE? -25143 100040 7 SZE -25144 003137 7 JMP TTI1 /YES -25145 001001 7 INH TTY -25146 026474 7 0 IMA TTFG /TTY HAVE SOMETHING FOR US?? -25147 101400 7 0 SMI /IF TTFG= -1, NO -25150 101040 7 0 SNZ /IF TTFG= 0, NO -25151 003137 7 0 JMP TTI1 /NO -25152 005116 7 0 LDA TTCR /IF TTFG= 1, YES -25153 007516 7 0 ANA (177) /PUT IN PARITY BIT -25154 013517 7 0 ERA (200) -25155 011163 7 0 STA TTCH -25156 000401 7 0 ENB BCK -25157 103160 7 JMP INDB I /GO PROCESS THE CHAR - -25160 000000 7 INDB: 0 /COME HERE TO GET NEXT CHAR FROM TT -25161 011164 7 STA TTIW /SAVE THE INPUT WORD SO FAR -25162 003137 7 JMP TTI1 - - LEV VAR -25163 V TTCH: BSS 1 /RAW TTY INPUT CHAR+PARITY BIT -25164 V TTIW: BSS 1 -25165 V HED0: BSS 1 /CROSSPATCH HEADER -25166 V MHD0: BSS 1 /MESSAGE HEADER -25167 V MHD1: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 217 IMP,3050,IMP 7:20 PM 9/16/1973 - - MSGT=273 /SEMI - NUMB=272 /COLON - LEV BCK -25170 025171 7 TTI2: .+1 /PLACE TO START BUILDING NEW MESSAGI -25171 023520 7 CAS (MSGT) /IS IT A MESSAGE INITIATOR? -25172 100000 7 SKP -25173 003221 7 JMP MSG /YES - - /SEND A SINGLE CHAR MESSAGE -25174 005165 7 TTI3: LDA HED0 /*SEND CROSSPATCH HEADER -25175 120664 7 JST JAM I -25176 140040 7 CRA /*SEND ON LINK ZERO -25177 120664 7 JST JAM I -25200 005163 7 LDA TTCH -25201 013517 7 ERA (200) -25202 100040 7 SZE /IS THE CHAR TO SEND A BREAK? -25203 003207 7 JMP TTI5 /NO -25204 004106 7 LDA MINE /YES, RESET CROSSPATCH HEADER TO [ 1 -25205 013521 7 ERA (PRIBIT 0 FORIMP 100) -25206 011165 7 STA HED0 /DDT AT SELF - PRIORITY -25207 005163 7 TTI5: LDA TTCH -25210 140500 7 SSM -25211 141340 7 ICA -25212 011164 7 STA TTIW -25213 140040 7 CRA -25214 011504 7 STA HSGO -25215 005164 7 MSG2: LDA TTIW /*SEND 1 CHAR MESSAGE -25216 072112 7 LDX SIGN /CLOSE OFF THE MESSAGE -25217 120664 7 JST JAM I -25220 003135 7 JMP IND1 - - /SEND A SEMICOLON MESSAGE - MULTI-CHARACTER -25221 004673 7 MSG: LDA HSFG /SEND A MESSAGE -25222 011504 7 STA HSGO -25223 005166 7 LDA MHD0 /*SEND MESSAGE HOST -25224 120664 7 JST JAM I -25225 005167 7 LDA MHD1 /*SEND MESSAGE LINK -25226 120664 7 JST JAM I -25227 004112 7 MSG0: LDA SIGN -25230 021277 7 JST MSG1 /GET ONE CHAR -25231 140500 7 SSM /PUT IN PARITY -25232 141340 7 ICA /SAVE -25233 021277 7 JST MSG1 /GET OTHER CHAR -25234 013517 7 ERA (200) /PUT IN PARITY -25235 013164 7 ERA TTIW -25236 120664 7 JST JAM I /*SEND NEXT TWO CHARS -25237 003227 7 JMP MSG0 /GO BACK FOR MORE - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 218 IMP,3050,IMP 7:20 PM 9/16/1973 - -25240 140040 7 MSG3: CRA /BUILD A NUMBER -25241 021277 7 MSG4: JST MSG1 /GET NEXT CHAR -25242 023522 7 CAS (215) /CR? -25243 100000 7 SKP /NO -25244 003253 7 JMP MSG5 /YES, END OF THE NUMBER -25245 001001 7 INH ALL /USING B REG - MUST LOCK INTS -25246 040075 7 0 LRL 3 -25247 005164 7 0 LDA TTIW -25250 041075 7 0 LLL 3 -25251 000401 7 0 ENB BCK -25252 003241 7 JMP MSG4 - -25253 070104 7 MSG5: TTSNBZ /ECHO CR WITH A LF -25254 003274 7 JMP MSG6 /FORGET IT -25255 030104 7 TTSOM -25256 005523 7 LDA (212) -25257 170004 7 TTOTA -25260 003257 7 JMP .-1 -25261 025503 7 IRS OTGO -25262 120665 7 MSG7: JST DOZE I /WAIT FOR CHAR TO TYPE OUT -25263 140040 7 CRA -25264 026474 7 IMA TTFG -25265 101040 7 SNZ /HAS TTY INTERRUPTED? -25266 003262 7 JMP MSG7 /NOT YET, WAIT -25267 005503 7 LDA OTGO /NOW UNSTEP OUTPUT FLAG -25270 016114 7 SUB ONE -25271 100400 7 SPL -25272 140040 7 CRA -25273 011503 7 STA OTGO -25274 005164 7 MSG6: LDA TTIW /ADD NUMBER TO MESSAGE -25275 120664 7 JST JAM I -25276 003227 7 JMP MSG0 - -25277 000000 7 MSG1: 0 /SUBR TO GET NEXT CHAR FOR MESSAGE -25300 021160 7 JST INDB /GET THE CHAR -25301 023520 7 CAS (MSGT) /IS IT MESSAGE TERMINATOR? -25302 100000 7 SKP /NO -25303 003215 7 JMP MSG2 /YES, DONE - LEAP INTO INDB CODE -25304 023524 7 CAS (NUMB) /IS IT NUMBER INDICATOR? -25305 103277 7 JMP MSG1 I /NO, RETURN WITH CHAR -25306 003240 7 JMP MSG3 /YES, PUT AN OCTAL NUMBER IN THE ME -25307 103277 7 JMP MSG1 I /NO, RETURN WITH CHAR - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 219 IMP,3050,IMP 7:20 PM 9/16/1973 - -25310 072113 7 TTO0: LDX ZERO /TELETYPE OUTPUT ROUTINES -25311 033505 7 STX TTNM /CLEAR FLAG -25312 120666 7 JST SUCK I /WAIT FOR SOME OUTPUT TO HAPPEN -25313 025503 7 IRS OTGO /GRAB THE TTY -25314 011501 7 STA TTOW -25315 007525 7 ANA (SRCEHI) -25316 022106 7 CAS MINE /NOT IF FROM US -25317 022752 7 CAS C77 /NOT IF NON-TTY -25320 003323 7 JMP TTO01 -25321 101000 7 NOP -25322 011506 7 STA WHOTTY /LAST FOREIGN IMP TTY TO SEND TO TT' -25323 120667 7 TTO01: JST WAIT I -25324 005501 7 LDA TTOW -25325 041475 7 LGL 3 0"A"FOROCT -25326 011502 7 STA OCTL -25327 101400 7 SMI -25330 005504 7 LDA HSGO - /MAKE A SKP TO SEE ALL I2H MESSAGES - RFNMS FOR SINGLE CHA[ -25331 101040 7 SNZ -25332 003353 7 JMP TTO2 -25333 005522 7 LDA (215) -25334 021450 7 JST SEND -25335 005523 7 LDA (212) -25336 021450 7 JST SEND -25337 005523 7 LDA (212) -25340 021450 7 JST SEND -25341 005501 7 LDA TTOW -25342 021412 7 JST OCTO -25343 120666 7 JST SUCK I -25344 100000 7 SKP -25345 003350 7 JMP TTO7 -25346 021412 7 JST OCTO -25347 003356 7 JMP TTO3 - -25350 025505 7 TTO7: IRS TTNM /SET END FLAG -25351 021412 7 JST OCTO -25352 003370 7 JMP TTO5 - -25353 120666 7 TTO2: JST SUCK I /FROM DDT: SKIP OVER REST OF LEAD[ -25354 100000 7 SKP -25355 003437 7 JMP TTO8 -25356 120666 7 TTO3: JST SUCK I -25357 003374 7 JMP TTO4 /MORE MESSAGE -25360 025505 7 IRS TTNM -25361 011501 7 STA TTOW /DONE -25362 141050 7 CAL -25363 101040 7 SNZ -25364 003370 7 JMP TTO5 -25365 005501 7 LDA TTOW /GET LAST CHAR -25366 141140 7 ICL -25367 021450 7 JST SEND -25370 140040 7 TTO5: CRA -25371 011503 7 STA OTGO -25372 011502 7 STA OCTL -25373 003310 7 JMP TTO0 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 220 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -25374 011501 7 TTO4: STA TTOW /SEND ANOTHER WORD OF THE MESSAGE -25375 005502 7 LDA OCTL -25376 100400 7 SPL -25377 003407 7 JMP TTO6 -25400 005501 7 LDA TTOW -25401 141140 7 ICL -25402 021450 7 JST SEND -25403 005501 7 LDA TTOW -25404 141050 7 CAL -25405 021450 7 JST SEND -25406 003356 7 JMP TTO3 - -25407 005501 7 TTO6: LDA TTOW -25410 021412 7 JST OCTO -25411 003356 7 JMP TTO3 - -25412 000000 7 OCTO: 0 /OCTAL OUTPUT -25413 000201 7 IAB -25414 004126 7 LDA MINUS6 -25415 011507 7 STA OCO1 -25416 005526 7 LDA (130) -25417 041077 7 LLL 1 -25420 000201 7 OCO2: IAB -25421 011510 7 STA OCO3 -25422 000201 7 IAB -25423 021450 7 JST SEND -25424 005510 7 LDA OCO3 -25425 000201 7 IAB -25426 005527 7 LDA (26) -25427 041075 7 LLL 3 -25430 025507 7 IRS OCO1 -25431 003420 7 JMP OCO2 -25432 005522 7 LDA (215) -25433 021450 7 JST SEND -25434 005523 7 LDA (212) -25435 021450 7 JST SEND -25436 103412 7 JMP OCTO I - -25437 025505 7 TTO8: IRS TTNM -25440 005501 7 LDA TTOW -25441 007530 7 ANA (IHCODE) -25442 013531 7 ERA (CINCTR) -25443 100040 7 SZE /BLOCKED OR LOST? -25444 003370 7 JMP TTO5 /NO -25445 005511 7 LDA (334) /YES, TYPE A BACKSLASH SINCE OUR ME -25446 021450 7 JST SEND -25447 003370 7 JMP TTO5 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 221 IMP,3050,IMP 7:20 PM 9/16/1973 - -25450 000000 7 SEND: 0 /SUBR TO TYPE OUT A CHAR -25451 023517 7 CAS (200) /'200 BIT SET? -25452 101000 7 NOP -25453 100000 7 SKP -25454 103450 7 JMP SEND I /NO, IGNORE THE CALL -25455 072113 7 LDX ZERO -25456 070104 7 TTSNBZ -25457 003472 7 JMP SND2 /INTERRUPTING OUTPUT! -25460 030104 7 TTSOM -25461 170004 7 TTOTA -25462 003472 7 JMP SND2 -25463 120667 7 SND3: JST WAIT I /WAIT FOR CHAR TO GO OUT -25464 140040 7 CRA -25465 026474 7 IMA TTFG -25466 101400 7 SMI -25467 101040 7 SNZ -25470 003463 7 JMP SND3 -25471 103450 7 JMP SEND I - -25472 005505 7 SND2: LDA TTNM /AT END OF MSG? -25473 100040 7 SZE -25474 003370 7 JMP TTO5 /YES, NO MSG TO SKIP -25475 120666 7 JST SUCK I /SKIP REST OF MESSAGE -25476 003472 7 JMP SND2 -25477 010472 7 STA DDTI -25500 003370 7 JMP TTO5 /AND CONTINUE LOOKING FOR A NEW MES - - LEV VAR -25501 V TTOW: BSS 1 -25502 V OCTL: BSS 1 -25503 V OTGO: BSS 1 -25504 V HSGO: BSS 1 -25505 V TTNM: BSS 1 /END OF MSG IF NON ZERO -25506 000000 V WHOTTY: 0 /LAST FOREIGN TYPIST ON THIS TTY -25507 V OCO1: BSS 1 -25510 V OCO3: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 222 IMP,3050,IMP 7:20 PM 9/16/1973 - -25511 000334 C LEV CON CONSTANTS -25512 024046 C -25513 140000 C -25514 024050 C -25515 000040 C -25516 000177 C -25517 000200 C -25520 000273 C -25521 140100 C -25522 000215 C -25523 000212 C -25524 000272 C -25525 000377 C -25526 000130 C -25527 000026 C -25530 007400 C -25531 004400 C -02434 174532 C PAGEND 25,UNCON - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 223 IMP,3050,IMP 7:20 PM 9/16/1973 - - - - /NEW ROUTING - /THESE ROUTINES BUILD TWO MAIN TABLES - - - /RUT - ROUTE USE TABLE, THE BEST LINE DIRECTORY - /RST - ROUTE SEND TABLE, THE HOPS/DELAY INFORMATION UPDATE M[ - /THE NEW VALUE OF HOPS AND DELAY ON THE BEST LINES FOR EAC1 , - /RSTN - THE RST NEW TABLE - / THE IDENTITY OF THE BEST LINE FOR EACH IS KEPT IN - /RUTW - THE RUT WORKING TABLE - - /A NAMING CONVENTION -- TAGS LIKE RST.N AND RST.W ARE INDIRET - /POINTERS [FOR '.' READ "POINT"], POST-INDEXED BY NEGATIVE 1 - /RST.N IS THUS THE RST POINTER TO THE NEW TABLE - - /BITS IN RUT - RUTDED=100000 /THIS IMP IS DOWN,UNREACHABLE OR NO1 - RUTGOD=60000 /GOING-DOWN DELAY CNTR - EVERY 4TH ] - RUTGD1=20000 /LOW ORDER BIT OF RUTGOD - RUTHPC=17400 /LINE # +1 OF SHORTEST HOP PATH - RUTCMU=340 /COMING-UP DELAY COUNTER - EVERY 8T1 - RUTCM1=40 /LOW ORDER BIT OF RUTCMU - RUTDLC=37 /LINE # +1 OF BEST DELAY PATH - RUTUS=0 - - /BITS IN RUTW - RUTHPH=60000 /HOLD-DOWN TIMER FOR MIN HOP PATH - RTHPH1=20000 /LOW ORDER BIT OF RUTHPH - RUTDLH=140 /HOLD-DOWN TIMER FOR MIN DELAY PATH - RTDLH1=40 /LOW ORDER BIT OF RUTDLH - - /BITS IN RST, RSTN - HOPS=174000 /5 BITS OF HOP COUNT - HOPS1=4000 /LOW ORDER BIT OF HOPS - DELS=3777 /11 BITS OF DELAY COUNT - - /BITS IN ROUTING MSG - /IN HEAD1 - RMSN=177400 /RM SERIAL # - RMSN1=400 /LOW-ORDER BIT IF SER # - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 224 IMP,3050,IMP 7:20 PM 9/16/1973 - - /RUTINI IS AN INITIALIZATION ROUTINE TO SET UP - /THE ROUTING TABLES - LEV BCK LCK INI -26070 000000 7 0 RUTINI: 0 -26071 005645 7 0 LDA (RST 0 NIMP X) -26072 010660 7 0 STA RST.O -26073 005646 7 0 LDA (RST1 0 NIMP X) -26074 010661 7 0 STA RST.F -26075 005647 7 0 LDA (RST2 0 NIMP X) -26076 010662 7 0 STA RST.N -26077 073346 7 0 LDX NEGIMP /LOOP OVER ALL IMPS -26100 005637 7 0 RUTINL: LDA CDEAD /(100000) -26101 050265 7 0 STA RUT+NIMP X 0"A"RUTDED -26102 140040 7 0 CRA -26103 051500 7 0 STA RUTW+NIMP X -26104 005640 7 0 LDA CMAXHD /(177777) -26105 110660 7 0 STA RST.O I -26106 110661 7 0 STA RST.F I -26107 110662 7 0 STA RST.N I -26110 024000 7 0 IRS 0 -26111 003100 7 0 JMP RUTINL -26112 072106 7 0 LDX MINE -26113 140040 7 0 CRA 0"A"RUTUS -26114 011644 7 0 STA RSTSN /START SER # AT 0 -26115 050165 7 0 STA RUT X /CLEAR RUT -26116 111650 7 0 STA (RST2 0 X) I /AND RSTN -26117 103070 7 0 JMP RUTINI I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 225 IMP,3050,IMP 7:20 PM 9/16/1973 - - /RSTINP IS A ROUTINE TO COPY A RECIEVED ROUTING MESSAGE INTO - /RSTN, RSTW AND RUTW TABLES. - CHK=0 - LEV T.O -26120 000000 5 RSTINP: 0 -26121 033365 5 RSTCK1: K STX LINEX /SAVE LINE# -26122 011372 5 K STA RST.I /SAVE AC FLAG -26123 073342 5 K LDX RSTCKX /(RSTCK1-0-RSTCK2-1) -26124 140040 5 K CRA /CALCULATE CHECKSUM FOR THIS CODE -26125 055365 5 K ADD RSTCK2+1 X -26126 024000 5 K IRS 0 -26127 003125 5 K JMP .-2 -26130 100040 5 K SZE /DIFFERENT? - RELOAD [RUTINP CODE BROKEN] -26131 120061 5 K JST SWDTIL I /YES, RELOAD -26132 073365 5 K LDX LINEX /RESTORE LINE # IN X -26133 045500 5 K LDA CED X /PICK UP COMPUTED EFFECTIVE DELAY -26134 141206 5 K AOA -26135 011366 5 K STA DELOUR /AND SAVE IT -26136 004000 5 K LDA 0 -26137 141206 5 K AOA -26140 011367 5 K STA CHANR /SAVE CHAN=+1 IN RT HALF -26141 141340 5 K ICA -26142 011370 5 K STA CHANL /ALSO IN LEFT HALF -26143 013367 5 K ERA CHANR -26144 011371 5 K STA CHANB /SAVE CHAN=+1 IN BOTH HALVES -26145 005372 5 K LDA RST.I /PICK UP FLAG -26146 101040 5 K SNZ /WERE WE CALLED BY TASK? -26147 003152 5 K JMP RSTI1 /YES, TRUE INPUT -26150 005344 5 K LDA DUMYIN /NO, MAKE UP DUMMY INPUT OF ALL 1: -26151 003167 5 K JMP RSTI2 -26152 044433 5 RSTI1: K LDA LINE X -26153 100040 5 K SZE /IS LINE DOWN? -26154 103120 5 K JMP RSTINP I /YES, IGNORE ROUTING -26155 072514 5 K LDX THIS /GET PKT PTR -26156 044006 5 K LDA HEAD1 X /TO RM -26157 141044 5 K CAR 0"A"RMSN /EXTRACT SERIAL # -26160 073365 5 K LDX LINEX -26161 067505 5 K IMA RSTSNI X /SAVE AS LATEST INPUT # -26162 053505 5 K ERA RSTSNI X /COMPARE W/ PREV # -26163 101040 5 K SNZ /NEW? -26164 103120 5 K JMP RSTINP I /NO, WE SAW IT BEFORE***NOP ON REI' -26165 004514 5 K LDA THIS /BUILD POST INDEXED PTR TO PKT -26166 015343 5 K ADD RSTCP1 /(HEAD2 0 NIMP X) -26167 011372 5 RSTI2: K STA RST.I -26170 073346 5 K LDX NEGIMP /LOOP OVER ALL IMPS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 226 IMP,3050,IMP 7:20 PM 9/16/1973 - -26171 105372 5 COPYL: K LDA RST.I I /GET ENTRY FROM RECEIVED ROUTING -26172 007347 5 K ANA HOPM /(174000) -26173 015353 5 K ADD HOPM1 /(4000) ADD IN OUR HOP -26174 101040 5 K SNZ /MAX VALUE? -26175 005347 5 K LDA HOPM /YES -26176 011373 5 K STA HOPIN /SAVE RECEIVED HOP COUNT -26177 141340 5 K ICA -26200 011374 5 K STA HOPINS -26201 105372 5 K LDA RST.I I /EXTRACT RECEIVED DELAY -26202 007350 5 K ANA DELM -26203 015366 5 K ADD DELOUR /ADD IN LOCAL DELAY -26204 023350 5 K CAS DELM /(3777) -26205 005350 5 K LDA DELM /TRUNCATE AT MAX DELAY -26206 101000 5 K NOP -26207 011375 5 K STA DELIN /SAVE TOTAL DELAY -26210 005371 5 K LDA CHANB /COMPARE THIS LINE # -26211 052265 5 K ERA RUT+NIMP X /...WITH PREVIOUS BEST FO1 -26212 007363 5 K ANA CHANM /(17437)EXTRACT LINE FIELDS ONLY -26213 023352 5 K CAS BSTDEL /(37)THIS MIN HOP LINE? -26214 003262 5 K JMP COPY11 /NO, SEE IF IT HAS GOOD DATA -26215 101000 5 K NOP -26216 011376 5 K STA CHANS /SAVE - /THIS LINE IS PREVIOUS BEST FOR HOPS -26217 104662 5 COPY1: K LDA RST.N I -26220 007350 5 K ANA DELM /EXTRACT OLD DELAY -26221 013373 5 K ERA HOPIN /PUT IN NEW HOPS -26222 126662 5 K IMA RST.N I /SAVE IN RSTN -26223 007347 5 K ANA HOPM -26224 141340 5 K ICA -26225 017374 5 K SUB HOPINS /COMPARE -26226 100400 5 K SPL /CHANGED? -26227 003252 5 K JMP HOLD1 /YES, IF HOPS WORSE DO HOLD-DOWN -26230 005376 5 COPY2: K LDA CHANS /LOOK AI OUR CHAN -26231 100040 5 K SZE /IS IT THE BEST DELAY? -26232 003320 5 K JMP COPY21 /NO - /THIS LINE PREVIOUS BEST FOR DELAY -26233 104662 5 K LDA RST.N I /YES -26234 007347 5 K ANA HOPM /EXTRACT OLD HOPS -26235 013375 5 K ERA DELIN /PUT IN NEW DELAY -26236 126662 5 K IMA RST.N I /SAVE IN RSTN -26237 007350 5 K ANA DELM -26240 017375 5 K SUB DELIN /COMPARE -26241 015351 5 K ADD DELCLP /ALLOW FOR SMALL CHANGE W/O HLDDWN -26242 100400 5 K SPL /DELAY GET MUCH WORSE? -26243 003310 5 K JMP HOLD2 /Y, DO HOLD-DOWN -26244 024000 5 COPYI: K IRS 0 /LOOP OVFR ALL IMPS -26245 003171 5 K JMP COPYL -26246 025377 5 K IRS RSTINC /COUNT ANOTHER INPUT COPY COMPLETE -26247 101000 5 K NOP -26250 073365 5 K LDX LINEX /RESTORE X -26251 103120 5 K JMP RSTINP I /RETURN TO TASK - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 227 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THIS LINE WAS PREVIOUS BEST FOR HOPS, HOPS CHANGED -26252 045500 5 HOLD1: K LDA RUTW+NIMP X /HOPS GOT WORSE -26253 007356 5 K ANA HLDH /GET HOLD-DOWN TIMER -26254 100040 5 K SZE /ON? -26255 003230 5 K JMP COPY2 /Y, GO ON TO DELAY -26256 005356 5 K LDA HLDH /N, TURN IT ON -26257 053500 5 K ERA RUTW+NIMP X /...AND SAVE IN RUTW -26260 051500 5 K STA RUTW+NIMP X -26261 003230 5 K JMP COPY2 - - /THIS LINE WAS NOT PREVIOUS BEST FOR HOPS -26262 007352 5 COPY11: K ANA BSTDEL /TURN OFF HOP CHAN BITS -26263 011376 5 K STA CHANS /SAVE IN CHANS -26264 045500 5 K LDA RUTW+NIMP X -26265 007356 5 K ANA HLDH /GET HOLD-DOWN TIMER FOR HOPS -26266 100040 5 K SZE -26267 003230 5 K JMP COPY2 /NOT 0, GO DO DELAY NEXT - /NOT PREVIOUS BEST HOPS, NOT HOLDING -26270 104662 5 K LDA RST.N I -26271 007347 5 K ANA HOPM /EXTRACT CURRENT HOPS ON BEST -26272 141340 5 K ICA -26273 023374 5 K CAS HOPINS /COMPARE W/ RCVD HOPS -26274 003277 5 K JMP COPY13 /RCVD HOPS BETTER -26275 003230 5 K JMP COPY2 /NO BETTER, DO DELAY NEXT -26276 003230 5 K JMP COPY2 /DITTO - - /NOT PREVIOUS BEST HOPS, NOT HOLDING, BETTER THAN PREVIOUS -26277 141340 5 COPY13: K ICA -26300 112662 5 K ERA RST.N I /EXTRACT OLD BEST DELAY -26301 013373 5 K ERA HOPIN /PUT IN NEW HOPS -26302 110662 5 K STA RST.N I /SAVE IN RSTN -26303 044265 5 K LDA RUT+NIMP X -26304 007361 5 K ANA CHANML /(160377)EXTRACT CHAN OF MIN DELA1 -26305 013370 5 K ERA CHANL /UPDATE CHAN OF MIN HOPS -26306 050265 5 K STA RUT+NIMP X /SAVE IN RUT -26307 003230 5 K JMP COPY2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 228 IMP,3050,IMP 7:20 PM 9/16/1973 - - /THIS LINE WAS PREVIOUS BEST FOR DELAY, DELAY GOT WORSE -26310 045500 5 HOLD2: K LDA RUTW+NIMP X /DELAY GOT WORSE -26311 007357 5 K ANA HLDD /GET DELAY HOLD-DOWN TIMER -26312 100040 5 K SZE /IS IT ON? -26313 003244 5 K JMP COPYI /YES, GO ON TO NEXT IMP -26314 005357 5 K LDA HLDD /NO, TURN IT ON -26315 053500 5 K ERA RUTW+NIMP X /SAVE IN RUTW -26316 051500 5 K STA RUTW+NIMP X -26317 003244 5 K JMP COPYI - - /THIS LINE WAS NOT PREVIOUS BEST FOR DELAY -26320 045500 5 COPY21: K LDA RUTW+NIMP X -26321 007357 5 K ANA HLDD /GET DELAY HOLD-DOWN TIMER -26322 100040 5 K SZE -26323 003244 5 K JMP COPYI /NOT 0, GO TO NEXT IMP - /NOT PREVIOUS BEST DELAY, NOT HOLDING -26324 104662 5 K LDA RST.N I -26325 007350 5 K ANA DELM /EXTRACT CURRENT DELAY ON BEST -26326 023375 5 K CAS DELIN /COMP W/ RCVD DELAY -26327 003332 5 K JMP COPY23 /RCVD DELAY BETTER -26330 003244 5 K JMP COPYI /NO BETTER. GO ON TO NEXT IMP -26331 003244 5 K JMP COPYI /DITTO - - /NOT PREV BEST DELAY, NOT HOLDING, BETTER THAN PREVIOUS -26332 112662 5 COPY23: K ERA RST.N I /EXTRACT OLD BEST HOP COUNT -26333 013375 5 K ERA DELIN /PUT IN NEW DELAY -26334 110662 5 K STA RST.N I /SAVE IN RSTN -26335 044265 5 K LDA RUT+NIMP X -26336 007360 5 K ANA CHANMR /(177740)EXTRACT CHAN OF MIN HOP -26337 013367 5 K ERA CHANR /UPDATE CHAN OF BEST DELAY -26340 050265 5 K STA RUT+NIMP X /SAVE IN RUT -26341 003244 5 K JMP COPYI /GO ON TO NEXT IMP - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 229 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -26342 177534 C RSTCKX: K RSTCK1-0-RSTCK2-1 -26343 040107 C RSTCP1: K HEAD2 0 NIMP X -26344 026345 C DUMYIN: K .+1 /PTR TO DUMMY MAX INPUT -26345 177777 C K HOPS+0+DELS -26346 177700 C NEGIMP: K -NIMP -26347 174000 C HOPM: K HOPS -26350 003777 C DELM: K DELS -26351 000010 C DELCLP: K 10 /SMALL CHANGE TO DELAY IS OK -26352 000037 C BSTDEL: K RUTDLC -26353 004000 C HOPM1: K HOPS1 /4000 -26354 020000 C HLDH1: K RTHPH1 /20000 -26355 000040 C HLDD1: K RTDLH1 /40 -26356 060000 C HLDH: K RUTHPH /60000 -26357 000140 C HLDD: K RUTDLH /140 -26360 177740 C CHANMR: K 0 0 177777"X"RUTDLC -26361 160377 C CHANML: K 0 0 177777"X"RUTHPC -26362 160340 C CHANMB: K 0 0 177777"X"RUTDLC"X"RUTHPC -26363 017437 C CHANM: K 0 0 RUTDLC"X"RUTHPC -26364 104676 C RSTCK2: -CHK - - LEV VAR -26365 V LINEX: BSS 1 /INPUT LINE= (0 TO CH-1) -26366 V DELOUR: BSS 1 /OUR LOCAL DELAY OUT OF THIS LINE -26367 V CHANR: BSS 1 /THIS LINE # +1, IN RIGHT HALF -26370 V CHANL: BSS 1 / LEFT -26371 V CHANB: BSS 1 / BOTH HALVES -26372 V RST.I: BSS 1 /RST POINTER TO INPUT MESSAGE -26373 V HOPIN: BSS 1 /RCVD HOP COUNT TO THIS IMP -26374 V HOPINS: BSS 1 /HOPIN WITH HALVES SWAPPED -26375 V DELIN: BSS 1 /RCVD DELAY TO THIS IMP PLUS LOCAL -26376 V CHANS: BSS 1 /TEMP = XOR(INPUT LINE, RUT ENTRY) -26377 V RSTINC: BSS 1 /COUNTER OF CALLS OF RSTIN FOR AL1 -26400 V RUTW: BSS NIMP -26500 V CED: BSS CH /COMPUTED EFFECTIVE DELAY -26505 V RSTSNI: BSS CH /SERIAL # OF LAST RM INPUT - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 230 IMP,3050,IMP 7:20 PM 9/16/1973 - - CHK=0 - LEV T.O -26512 000000 5 RUTOUT: 0 -26513 073627 5 RUTCK1: K LDX RUTCKX /(RUTCK1-0-RUTCK2-1) -26514 140040 5 K CRA -26515 055642 5 K ADD RUTCK2+1 X -26516 024000 5 K IRS 0 /CHECKSUM THIS CODE -26517 003515 5 K JMP .-2 -26520 100040 5 K SZE /DIFFERENT? - RELOAD [RUTOUT CODE BROKEN] -26521 120061 5 K JST SWDTIL I /YES, RELOAD -26522 073630 5 K LDX CRSTC /(-NIMP-HEAD2-ACKH) -26523 033642 5 K STX RSTC /INIT CKSUM=-# OF WORDS -26524 110660 5 K STA RST.O I /INIT ACK HEADER AT ZERO -26525 024000 5 K IRS 0 -26526 015642 5 K ADD RSTC /ADD INTO MSG CKSUM -26527 011642 5 K STA RSTC -26530 004106 5 K LDA MINE /THIS IMP # -26531 141340 5 K ICA -26532 141206 5 K AOA 0"A"LINETS /PUT IN ROUTING MSG BIT -26533 110660 5 K STA RST.O I /INIT HEADER -26534 024000 5 K IRS 0 -26535 015642 5 K ADD RSTC /ADD INTO MSG CKSUM -26536 011642 5 K STA RSTC -26537 005644 5 K LDA RSTSN -26540 015631 5 K ADD CRMSN1 /INCREMENT SER # -26541 011644 5 K STA RSTSN -26542 110660 5 K STA RST.O I -26543 024000 5 K IRS 0 -26544 015642 5 K ADD RSTC /ADD INTO MSG CKSUM -26545 011642 5 K STA RSTC - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 231 IMP,3050,IMP 7:20 PM 9/16/1973 - -26546 044265 5 COMPL: K LDA RUT+NIMP X -26547 100400 5 K SPL 0"A"RUTDED /THIS IMP DEAD? -26550 003602 5 K JMP RTDEAD /YES -26551 104662 5 K LDA RST.N I -26552 007347 5 K ANA HOPM /GET HOP COUNT -26553 141340 5 K ICA -26554 023633 5 K CAS CMAXH /COMPARE W/ MAX VALUE -26555 003614 5 K JMP RTDIED /TOO BIG, THIS IMP HAS DIED -26556 003614 5 K JMP RTDIED /DITTO -26557 044265 5 K LDA RUT+NIMP X -26560 007636 5 K ANA NOGODN /THIS IMP UP, CLEAR GOING DOWN -26561 050265 5 K STA RUT+NIMP X -26562 033643 5 K STX THDTMP /THIS IMP UP, SAVE AS HIGHEST # SO T -26563 104662 5 NWRST1: K LDA RST.N I -26564 110660 5 NEWRST: K STA RST.O I /SAVE IN RST -26565 015642 5 K ADD RSTC /ADD IN ROUTING MSG CKSUM -26566 011642 5 K STA RSTC /AND PUT IT BACK -26567 024000 5 K IRS 0 /LOOP OVER ALL IMPS -26570 003546 5 K JMP COMPL -26571 140407 5 K TCA /PICK UP FINAL CKSUM ANDCOMPLEMENT -26572 110660 5 K STA RST.O I /STORE AS LAST WRD OF MSG -26573 073643 5 K LDX THDTMP /PICK UP HIGHEST # IMP -26574 044265 5 K LDA RUT+NIMP X -26575 007632 5 K ANA HOPCHM /EXTRACT OUR MIN HOP PATH TO IT -26576 141340 5 K ICA -26577 016114 5 K SUB ONE -26600 010420 5 K STA THD /SAVE IN THD, FOR SYNC ACQUISITIO: -26601 103512 5 K JMP RUTOUT I /AND RETURN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 232 IMP,3050,IMP 7:20 PM 9/16/1973 - -26602 104662 5 RTDEAD: K LDA RST.N I /THIS IMP WAS DEAD -26603 007347 5 K ANA HOPM /EXTRACT BEST HOPS THIS TIME -26604 141340 5 K ICA -26605 023633 5 K CAS CMAXH /COMPARE WITH MAX -26606 003624 5 K JMP RTDOWN /STILL TOO MANY. DEAD -26607 003624 5 K JMP RTDOWN /DITTO -26610 044265 5 RTNOTD: K LDA RUT+NIMP X /GET BEST LINES -26611 007363 5 K ANA CHANM 0"A"RUTDED /TURN OFF RUTDED BIT -26612 013634 5 K ERA COMUPM /PUT IN INITIAL COME-UP DELAY -26613 003622 5 K JMP NWRST2 /PUT IN RUT, THEN SET UF RST - -26614 044265 5 RTDIED: K LDA RUT+NIMP X -26615 007635 5 K ANA GODWNM /IMP WAS UP -26616 100040 5 K SZE /IS IT MARKED AS GOING DOWN? -26617 003563 5 K JMP NWRST1 /YES -26620 005635 5 K LDA GODWNM /NO, MARK IT NOW -26621 052265 5 K ERA RUT+NIMP X -26622 050265 5 NWRST2: K STA RUT+NIMP X -26623 003563 5 K JMP NWRST1 - -26624 005640 5 RTDOWN: K LDA CMAXHD /REPORT AS DOWN TO NEIGHBORS -26625 110662 5 K STA RST.N I /AND KEEP MAX VAL FOR US -26626 003564 5 K JMP NEWRST /...BY SETTING RST TO MAX VALUE - - LEV CON -26627 177651 C RUTCKX: K RUTCK1-0-RUTCK2-1 -26630 177675 C CRSTC: K -NIMP-HEAD2+ACKH -26631 000400 C CRMSN1: K RMSN1 /400 -26632 017400 C HOPCHM: K RUTHPC /17400 -26633 000260 C CMAXH: K 0 0 MAXH"T"8. /260 -26634 000340 C COMUPM: K RUTCMU /340 -26635 060000 C GODWNM: K RUTGOD /60000 -26636 117777 C NOGODN: K 0 0 177777"X"RUTGOD /117777 -26637 100000 C CDEAD: K RUTDED /100000 -26640 177777 C CMAXHD: K 0 0 HOPS"X"DELS /177777 -26641 125362 C RUTCK2: -CHK - - LEV VAR -26642 V RSTC: BSS 1 /ROUTING MESSAGE CHECKSUM -26643 V THDTMP: BSS 1 /TEMP FOR THD - -26644 V RSTSN: BSS 1 /SERIAL # OF LAST RM COMPUTATION - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 233 IMP,3050,IMP 7:20 PM 9/16/1973 - -26645 073106 C LEV CON CONSTANTS -26646 073212 C -26647 073316 C -26650 073216 C -02435 175666 C PAGEND 26,UNCON,15 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 234 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV T.O - CHK=0 -27112 000000 5 RUTCLK: 0 -27113 073261 5 RTCLK1: K LDX RTCLKX -27114 140040 5 K CRA -27115 055263 5 K ADD RTCLK2+1 X -27116 024000 5 K IRS 0 -27117 003115 5 K JMP .-2 -27120 100040 5 K SZE - RELOAD [RUTCLK CODE BROKEN] -27121 120061 5 K JST SWDTIL I -27122 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR HOLD-DOWN -27123 105241 5 HLDC1: K LDA RUT.W I -27124 007243 5 K ANA HOLDH -27125 101040 5 K SNZ /ARE WE HOLDING DOWN MIN HOP PATH? -27126 003132 5 K JMP HLDC2 /NO -27127 105241 5 K LDA RUT.W I -27130 017251 5 K SUB HOLDH1 /DECREMENT TIMER -27131 111241 5 K STA RUT.W I -27132 105241 5 HLDC2: K LDA RUT.W I /NO -27133 007244 5 K ANA HOLDD -27134 101040 5 K SNZ /HOLDING DOWN MIN DELAY PATH? -27135 003141 5 K JMP HLDC3 /NC -27136 105241 5 K LDA RUT.W I -27137 017252 5 K SUB HOLDD1 /DECREMENT TIMER -27140 111241 5 K STA RUT.W I -27141 024000 5 HLDC3: K IRS 0 -27142 003123 5 K JMP HLDC1 /NEXT -27143 025263 5 K IRS GODWNC /IS IT TIME TO DO GOING DOWN DELA' -27144 003170 5 K JMP CMUC0 /NO -27145 005237 5 K LDA GODWNK /YES, EVERY 4TH TICK -27146 011263 5 K STA GODWNC -27147 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR GOING DOWNS -27150 044265 5 GODC1: K LDA RUT+NIMP X -27151 007245 5 K ANA MGODWN -27152 101040 5 K SNZ /THIS IMP GOING DOWN? -27153 003166 5 K JMP GODC2 /NO -27154 044265 5 K LDA RUT+NIMP X /YES -27155 017246 5 K SUB MGODW1 /DECREMENT TIMER -27156 050265 5 K STA RUT+NIMP X -27157 007245 5 K ANA MGODWN -27160 100040 5 K SZE /IS IT COMPLETELY DOWN? -27161 003166 5 K JMP GODC2 /NO -27162 005235 5 K LDA MAXRST /YES. HE IS REALLY DEAD -27163 111242 5 K STA RST.N2 I /SET UP RSTN -27164 005236 5 K LDA MAXRUT -27165 050265 5 K STA RUT+NIMP X /AND RUT -27166 024000 5 GODC2: K IRS 0 -27167 003150 5 K JMP GODC1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 235 IMP,3050,IMP 7:20 PM 9/16/1973 - -27170 025264 5 CMUC0: K IRS COMUPC /IS IT TIME TO DO COMING-UP DELAYS -27171 003206 5 K JMP RMVFRQ /NO, DO VBL FRQ CMPTNS -27172 005240 5 K LDA COMUPK /YES, EVERY TENTH TICK -27173 011264 5 K STA COMUPC -27174 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR COMING UP -27175 044265 5 CMUC1: K LDA RUT+NIMP X -27176 007247 5 K ANA MCOMUP -27177 101040 5 K SNZ /IS THIS IMP COMING UP? -27200 003204 5 K JMP CMUC2 /NO -27201 044265 5 K LDA RUT+NIMP X /YES -27202 017250 5 K SUB MCOMU1 /DECREMENT TIMER -27203 050265 5 K STA RUT+NIMP X /SAVE IN RUT(IF HE CAME [ -27204 024000 5 CMUC2: K IRS 0 -27205 003175 5 K JMP CMUC1 -27206 073231 5 RMVFRQ: K LDX RMMICH /-CH -27207 140040 5 RMVFRC: K CRA -27210 011266 5 K STA RMVT -27211 127232 5 K IMA CTIMK I /CLEAR CUMTIM AND COMPUTE EXTRAS -27212 017234 5 RMVFRA: K SUB MS132K -27213 100400 5 K SPL -27214 003217 5 K JMP RMVFRB -27215 025266 5 K IRS RMVT -27216 003212 5 K JMP RMVFRA -27217 005233 5 RMVFRB: K LDA RMFOUR -27220 017266 5 K SUB RMVT -27221 100400 5 K SPL -27222 140040 5 K CRA -27223 015260 5 K ADD CRMVTB -27224 051274 5 K STA RUTFRQ+CH X -27225 024000 5 K IRS 0 -27226 003207 5 K JMP RMVFRC /LOOP OVER ALL LINES -27227 103112 5 K JMP RUTCLK I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 236 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -27230 177700 C NIMPMI: K -NIMP -27231 177773 C RMMICH: K -CH -27232 052632 C CTIMK: K CUMTIM CH X -27233 000004 C RMFOUR: K 4 -27234 002450 C MS132K: K 2450 -27235 177777 C MAXRST: K HOPS+0+DELS -27236 100000 C MAXRUT: K RUTDED -27237 177772 C GODWNK: K -6 -27240 177767 C COMUPK: K -9. -27241 066500 C RUT.W: K RUTW+NIMP X -27242 073316 C RST.N2: K RST2+NIMP X -27243 060000 C HOLDH: K RUTHPH -27244 000140 C HOLDD: K RUTDLH -27245 060000 C MGODWN: K RUTGOD -27246 020000 C MGODW1: K RUTGD1 -27247 000340 C MCOMUP: K RUTCMU -27250 000040 C MCOMU1: K RUTCM1 -27251 020000 C HOLDH1: K RTHPH1 -27252 000040 C HOLDD1: K RTDLH1 - /RMVTAB USED BY RSTOUT -27253 000001 C RMVTAB: K 1 /1BIT IN 5 (# OF EXTRA +1 RM'S TO S1 -27254 000005 C K 5 /2 IN 5 (I.E. 1 EXTRA) -27255 000015 C K 15 -27256 000033 C K 33 -27257 000037 C K 37 -27260 027253 C CRMVTB: K RMVTAB -27261 177630 C RTCLKX: K RTCLK1-0-RTCLK2-1 -27262 147750 C RTCLK2: -CHK - - LEV VAR -27263 V GODWNC: BSS 1 /COUNTER - EVERY 4TH TICK -27264 V COMUPC: BSS 1 /COUNTER - EVERY 10TH TICK -27265 V HOLDT: BSS 1 /TEMP -27266 V RMVT: BSS 1 /TEMP -27267 V RUTFRQ: BSS CH /# OF EXTRA RM'S PERMITTED AS PER - - LEV CON CONSTANTS -02436 172274 C PAGEND 27,UNCON - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 237 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV BCK - /STATISTICS PROGRAMS - /ALL CALLS TO DEFSTAT MUST PRECEDE THIS PAGE -30056 004114 7 STTI: LDA ONE -30057 011213 7 STA SOFO /BEGIN BY SAVING COPY OF SON -30060 005436 7 BKST: LDA SON /PICK UP 10-SEC STAT ON-OFF FLAG -30061 027213 7 IMA SOFO /KEEP A COPY -30062 023436 7 CAS SON /ANY CHANGE IN STATUS? -30063 100000 7 SKP /YES, MUST CHANGE STATISTICS LOCATI1 -30064 003104 7 JMP SP2 /NO -30065 101040 7 SNZ /WAS 10-SEC STAT JUST TURNED ON? -30066 003075 7 JMP SP1 /YES -30067 073575 7 LDX (-NSTATS) /NO, JUST TURNED OFF -30070 105576 7 LDA (SC1+NSTATS 0 X) I /PICK UP STANDARD CONTE:'1 -30071 111577 7 STA (SB1+NSTATS 0 XI) I /AND PLANT IN DESIGNATED ] -30072 024000 7 IRS 0 /THIS RESTORES PROGRAM TO ITS DEFAUT -30073 003070 7 JMP .-3 -30074 003104 7 JMP SP2 -30075 021256 7 SP1: JST CLST /CLEAR OUT 10-SEC STAT TABLES -30076 073575 7 LDX (-NSTATS) -30077 005600 7 LDA (JST SW1 I) /PLANT JST'S TO STATISTIC -30100 111577 7 STA (SB1+NSTATS 0 XI) I -30101 141206 7 AOA /THIS PUTS BREAKPOINT-LIKE CODE -30102 024000 7 IRS 0 /IN KEY PLACES THROUGHOUT THE PROGR -30103 003100 7 JMP .-3 -30104 005601 7 SP2: LDA (50000+0+DIAGTT) -30105 011455 7 STA DIAGD -30106 005602 7 LDA (DIAGQ 0 I) -30107 011440 7 STA DIAGON /DIAG IS ALWAYS ON -30110 005603 7 LDA (TRON 0 I) -30111 011212 7 STA SP81 /INDIRECT POINTER FOR ON FLAGS -30112 072125 7 LDX MINUS5 /SO THAT NCC TRBL REPTS ALWAYS GO[ -30113 033441 7 STX TPON /TURN ON NCC TRBL REPTS -30114 033211 7 SP3: STX SP8 /LOOP HERE FOR EACH STAT PROGRAM -30115 105212 7 LDA SP81 I -30116 101040 7 SNZ /IS THIS STAT PROGRAM TURNED ON? -30117 003170 7 JMP SP91 /NO -30120 004417 7 LDA SYNC /PICK UP CURRENT TIME -30121 057211 7 SUB OLDS+5 X /COMPARE WITH THE LAST TIME THIS PR -30122 100400 7 SPL /CORRECT FOR TIMER OVERFLOW -30123 140407 7 TCA /EVERY 30 MINUTES -30124 057465 7 SUB STATF+5 X /LOOK AT INTERVAL BETWEEN PROGRAM R -30125 100400 7 SPL /IS IT TIME TO ACTIVATE THIS PROG? -30126 003170 7 JMP SP91 /NO -30127 140040 7 CRA /YES -30130 011214 7 STA SKEWT /INIT A TIME-SKEWING TEMP -30131 004000 7 LDA 0 -30132 012124 7 ERA MINUS4 -30133 100040 7 SZE /ARE WE DOING 10-SEC STAT? -30134 003153 7 JMP STAT6 /NO - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 238 IMP,3050,IMP 7:20 PM 9/16/1973 - -30135 045465 7 LDA STATF+5 X /YES, SKEW REPORTS BY IMP NUMBER -30136 040572 7 ARS 6 0"A"NIMP /DIV BY 100 = IMPNO -30137 101040 7 SNZ -30140 003153 7 JMP STAT6 /TOO SMALL AN INTERVAL TO SKEW -30141 140407 7 TCA -30142 011215 7 STA COUNT1 /BUILD MULTIPLY LOOP -30143 004106 7 STAT4: LDA MINE -30144 140407 7 TCA -30145 011216 7 STA COUNT2 -30146 025214 7 STAT5: IRS SKEWT /COMPUTE SKEWT=(MINE/100)*STATF -30147 025216 7 IRS COUNT2 -30150 003146 7 JMP STAT5 -30151 025215 7 IRS COUNT1 -30152 003143 7 JMP STAT4 -30153 045465 7 STAT6: LDA STATF+5 X -30154 140407 7 TCA -30155 006417 7 ANA SYNC -30156 015214 7 ADD SKEWT -30157 051211 7 STA OLDS+5 X -30160 045457 7 LDA STATD+5 X /*SEND STAT DEST -30161 021403 7 JST GIVE -30162 045451 7 LDA STATL+5 X /*SEND STAT LINK -30163 021403 7 JST GIVE -30164 143204 7 JMP CAWL+5 XI /CALL STAT PROGRAM - -30165 073604 7 GIVLST: LDX (100003) /TERMINATE STAT MESSAGE -30166 004112 7 LDA SIGN /*SEND PADDING -30167 120664 7 JST JAM I -30170 073211 7 SP91: LDX SP8 /LOOP BACK OVER EACH STAT PROG -30171 025212 7 IRS SP81 -30172 024000 7 IRS 0 -30173 003114 7 JMP SP3 -30174 072116 7 LDX THREE -30175 120665 7 JST DOZE I -30176 003060 7 JMP BKST - - LEV CON -30177 030217 C CAWL: SNAP /SNAPSHOT STATISTICS PROGRAM -30200 030243 C SEST /CUMULATIVE STATISTICS PROGRAM -30201 030267 C GENM /MESSAGE GENERATOR -30202 030347 C DIAG /DIAGNOSTIC SENDER -30203 022057 C TRBL /NCC TROUBLE REPORT PROGRAM - LEV VAR -30204 000000 V OLDS: 0 -30205 000000 V 0 -30206 000000 V 0 -30207 000000 V 0 -30210 000000 V TRBOLD: 0 - -30211 V SP8: BSS 1 /COUNTER FOR WHICH STAT PROG TO RUN -30212 V SP81: BSS 1 /STAT FLAGS INDIRECT PTR -30213 V SOFO: BSS 1 /SAVED COPY OF SON -30214 V SKEWT: BSS 1 /AMOUNT OF TIME TO SKEW STAT REPTS -30215 V COUNT1: BSS 1 -30216 V COUNT2: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 239 IMP,3050,IMP 7:20 PM 9/16/1973 - - /SEND SNAPSHOT STATISTICS - LEV BCK -30217 005605 7 SNAP: LDA (5) /*SEND SNAPSHOT CODE -30220 021403 7 JST GIVE -30221 004415 7 LDA TIME /*SEND LOCAL TIME -30222 021403 7 JST GIVE -30223 073606 7 LDX (-COUNTL) -30224 001001 7 SNP2: INH ALL -30225 044543 7 0 LDA COUNTA+COUNTL X /*SEND QUEUE LENGTHS -30226 056567 7 0 SUB COUNTS+COUNTL X -30227 000401 7 0 ENB BCK -30230 021403 7 JST GIVE -30231 024000 7 IRS 0 -30232 003224 7 JMP SNP2 -30233 072132 7 LDX MINIMP -30234 044265 7 SNP3: LDA RUT+NIMP X /*SEND ROUTE USE TABLE -30235 021403 7 JST GIVE -30236 105607 7 LDA (RST+NIMP 0 X) I /*SEND ROUTE SEND TABLE -30237 021403 7 JST GIVE -30240 024000 7 IRS 0 -30241 003234 7 JMP SNP3 -30242 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE - - /SEND 10 SECOND (CUMULATIVE) STATISTICS -30243 004115 7 SEST: LDA TWO /*SEND 10-SEC STAT CODE -30244 021403 7 JST GIVE -30245 004417 7 LDA SYNC /*SEND NETWORK-WIDE TIME -30246 021403 7 JST GIVE -30247 073610 7 LDX (-NST) -30250 105611 7 LDA (STTB+NST X) I /*SEND 10-SEC STAT TABLE -30251 021403 7 JST GIVE -30252 024000 7 IRS 0 -30253 003250 7 JMP .-3 -30254 021256 7 JST CLST /CLEAR THE 10-SEC STAT TABLES -30255 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE - - LEV BCK - /CLEAR ALL ENTRIES IN 10-SEC STAT TABLES -30256 000000 7 CLST: 0 -30257 073610 7 LDX (-NST) -30260 140040 7 CRA -30261 001001 7 INH ALL -30262 111611 7 0 STA (STTB+NST X) I -30263 024000 7 0 IRS 0 -30264 003262 7 0 JMP .-2 -30265 000401 7 0 ENB BCK -30266 103256 7 JMP CLST I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 240 IMP,3050,IMP 7:20 PM 9/16/1973 - - /MESSAGE GENERATOR -30267 072116 7 GENM: LDX THREE /FAKE HOST 3 - STATISTICS -30270 005465 7 LDA MGNL /PICK UP LENGTH OF MESSAGE -30271 007612 7 ANA (777) -30272 101040 7 SNZ -30273 003301 7 JMP GENM1 -30274 140407 7 TCA /GIVES RIGHT NUMBER, EXCLUDING PADD -30275 011346 7 STA MGCNT -30276 120664 7 JST JAM I /*SEND MGNL WORDS -30277 025346 7 IRS MGCNT -30300 003276 7 JMP .-2 -30301 131040 7 GENM1: RDCLOK -30302 003301 7 JMP .-1 - /CRA FOR ALL REG, LDA ONE FOR ALL PRI, ANA ONE FOR RANDOM MI -30303 140040 7 CRA -30304 100040 7 SZE -30305 004112 7 LDA SIGN -30306 013454 7 ERA MGD -30307 011454 7 STA MGD -30310 005446 7 LDA MGLK -30311 101000 7 NOP /"SKP" TO RUN LINK CYCLER -30312 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE -30313 101040 7 SNZ -30314 003333 7 JMP LC1 -30315 015613 7 LC3: ADD (400) -30316 011446 7 STA MGLK -30317 100040 7 SZE -30320 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE -30321 004415 7 LDA TIME -30322 017345 7 SUB OTIM -30323 111343 7 STA PLAC I -30324 025343 7 IRS PLAC -30325 005465 7 LDA MGNL -30326 015342 7 ADD IGTH -30327 011465 7 STA MGNL -30330 017344 7 SUB LIMT -30331 101400 7 SMI -30332 003337 7 JMP LC44 -30333 004415 7 LC1: LDA TIME -30334 011345 7 STA OTIM -30335 005446 7 LDA MGLK -30336 003315 7 JMP LC3 - -30337 140040 7 LC44: CRA /WHEN DONE, SHUT MGEN OFF -30340 011437 7 STA MGON -30341 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE - - LEV VAR -30342 000010 V IGTH: 10 /LENGTH INCREMENT -30343 030000 V PLAC: 30000 /CORE POINTER FOR TABLE BUILDING -30344 000760 V LIMT: 760 /LONGEST MESSAGE TO SEND -30345 V OTIM: BSS 1 /TEMP TO SAVE STARTING TIME OF BLOC -30346 V MGCNT: BSS 1 /TEMP COUNTER FOR MESS LENGTH - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 241 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK -30347 001001 7 DIAG: INH ALL /SEND BROKEN PACKETS TO NCC FOR DIAT -30350 104342 7 0 LDA DIAGQ I -30351 026342 7 0 IMA DIAGQ /GET PKT OFF DIAG QUEUE -30352 000401 7 0 ENB BCK -30353 011401 7 STA DIAGP /SAVE PNTR -30354 004746 7 LDA HLTLOC /*SEND HLT PC -30355 021403 7 JST GIVE -30356 004747 7 LDA HLTA /*SEND HLT A REG -30357 021403 7 JST GIVE -30360 004750 7 LDA HLTX /*SEND HLT X REG -30361 021403 7 JST GIVE -30362 005401 7 LDA DIAGP /*SEND PKT PNTR -30363 010000 7 STA 0 -30364 021403 7 JST GIVE -30365 005614 7 LDA (-BUFL) -30366 011402 7 STA DIAGC /SET UP SEND COUNTER -30367 044000 7 DIAG1: LDA 0 X /*SEND CONTENTS OF BAD PACKET -30370 021403 7 JST GIVE -30371 024000 7 IRS 0 -30372 025402 7 IRS DIAGC -30373 003367 7 JMP DIAG1 -30374 001001 7 INH ALL -30375 073401 7 0 LDX DIAGP -30376 120671 7 0 JST FLUSHI I -30377 000401 7 0 ENB BCK -30400 003165 7 JMP GIVLST - - LEV VAR -30401 V DIAGP: BSS 1 /PKT PNTR -30402 V DIAGC: BSS 1 /LOOP COUNTER - - LEV BCK -30403 000000 7 GIVE: 0 /STAT CALLS TO JAM -30404 033411 7 STX STT8 /SAVE X-REG -30405 072116 7 LDX THREE -30406 120664 7 JST JAM I -30407 073411 7 LDX STT8 -30410 103403 7 JMP GIVE I - LEV VAR -30411 V STT8: BSS 1 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 242 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK /FAKE IMP-TO-HOST 2 - PARAMETER CHANGE -30412 120666 7 BTR1: JST SUCK I /SKIP OVER REST OF MESSAGE -30413 003412 7 JMP BTR1 -30414 120666 7 BEST: JST SUCK I /BEGIN TO ACCEPT MESSAGE HERE -30415 120666 7 JST SUCK I /IGNORE LEADER -30416 120666 7 BTR4: JST SUCK I /GET NUMBER OF PARAM TO CHANGE -30417 100000 7 SKP /END OF MESSAGE? -30420 003414 7 JMP BEST /YES, GO BACK -30421 100400 7 SPL /IS NO OF PARAM ROSTIVE? -30422 003412 7 JMP BTR1 /NO, IGNORE REST OF MESSAGE -30423 007615 7 ANA (37) /YES, MASK DOWN TO 5 BITS -30424 015616 7 ADD (PARAMT) /BUILD PNTR TO PARAM TABLE -30425 011433 7 STA BTR2 -30426 120666 7 JST SUCK I /GET NEW VALUE FOR PARAMETER -30427 100000 7 SKP /END OF MESSAGE? -30430 003414 7 JMP BEST /YES, NO CHANGE TO THIS PARAM -30431 111433 7 STA BTR2 I /NO, PUT NEW VALUE IN PARAM -30432 003416 7 JMP BTR4 /AND GO BACK FOR MORE - LEV VAR -30433 000000 V BTR2: 0 - - DEFPLC [PARAMETERS TABLE] - PARAMT: - PARAML=32. -30434 V TRON: BSS 1 /0-TRACE ON -30435 V SNON: BSS 1 /1-SNAP ON -30436 V SON: BSS 1 /2-10-SEC STAT ON -30437 V MGON: BSS 1 /3-MESS GEN ON -30440 V DIAGON: BSS 1 /4-DIAG ON -30441 V TPON: BSS 1 /5-TRBL REPT ON -30442 V BSS 1 /6 - -30443 V TLNK: BSS 1 /7-TRACE LINK -30444 V STATL: BSS 1 /10-SNAP LINK -30445 V BSS 1 /11-10-SEC LINK -30446 V MGLK: BSS 1 /12-MESS GEN LINK -30447 V BSS 1 /13-DIAG LINK -30450 V BSS 1 /14-TRBL REPT LINK - -30451 V TDST: BSS 1 /15-TRACE DEST -30452 V STATD: BSS 1 /16-SNAP DEST -30453 V BSS 1 /17-10-SEC DEST -30454 V MGD: BSS 1 /20-MESS GEN DEST -30455 V DIAGD: BSS 1 /21-DIAG DEST -30456 V TRBD: BSS 1 /22-TRBL REPT DEST - -30457 V TF: BSS 1 /23-AUTO TRACE FREQ -30460 V STATF: BSS 1 /24-SNAP FREQ -30461 V BSS 1 /25-10-SEC FREQ -30462 V BSS 1 /26-MESS GEN FREQ -30463 V BSS 1 /27-DIAG FREQ -30464 V TRBF: BSS 1 /30-TRBL REPT FREQ - -30465 V MGNL: BSS 1 /31-MESS GEN LENGTH -30466 V BSS PARAMT+1+PARAML-. - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 243 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV BCK /FAKE IMP-TO-HOST 3 - DISCARD -30474 120666 7 STXY: JST SUCK I /GET EACH WORD AS IT IS READY -30475 003474 7 JMP .-1 /AND RETURN IMMEDIATELY FOR MORE -30476 003474 7 JMP .-2 /EVEN ON END OF MESSAGE - - /FAKE HOST-TO-IMP 2 - TRACE -30477 140500 7 BTRE: SSM /START HERE -30500 003515 7 JMP BTRF - - LCK TSK -30501 000401 7 6 BTD: ENB BCK -30502 005572 7 LDA T3BX -30503 101040 7 SNZ -30504 003527 7 JMP BTRD -30505 004112 7 LDA SIGN -30506 073617 7 LDX (100002) -30507 120664 7 JST JAM I -30510 120665 7 BTRC: JST DOZE I /WAIT ONE BACKGROUND LOOP -30511 004341 7 LDA STRQ /START HERE -30512 101040 7 SNZ /ANYTHING TO SEND? -30513 003510 7 JMP BTRC /QUIT IF TRACE QUEUE EMPTY -30514 140040 7 CRA -30515 011572 7 BTRF: STA T3BX -30516 005451 7 LDA TDST /*SEND TRACE DEST -30517 120664 7 JST JAM I -30520 005443 7 LDA TLNK /*SEND TRACE LINK -30521 120664 7 JST JAM I -30522 004114 7 LDA ONE /*SEND TRACE CODE -30523 120664 7 JST JAM I -30524 140040 7 CRA /RESET OVERFLOW FLAG -30525 026414 7 IMA TTO /*SEND STATE OF OVERFLOW FLAG -30526 120664 7 JST JAM I -30527 072115 7 BTRD: LDX TWO -30530 120665 7 JST DOZE I -30531 005621 7 BRL2: LDA ((STRQ)) -30532 011573 7 STA OLD2 -30533 001001 7 INH TSK - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 244 IMP,3050,IMP 7:20 PM 9/16/1973 - -30534 105573 7 6 BTRL: LDA OLD2 I /SEARCH TRACE QUEUE -30535 011573 7 6 STA OLD2 -30536 105573 7 6 LDA OLD2 I -30537 011574 7 6 STA OLD1 -30540 101040 7 6 SNZ -30541 003501 7 6 JMP BTD /JUMP IF DONE WITH TRACE QUEUE -30542 010000 7 6 STA 0 -30543 044012 7 6 LDA TDONE X -30544 101400 7 6 SMI /IS THIS TRACE BLOCK COMPLETE? -30545 003534 7 6 JMP BTRL /NO -30546 044000 7 6 LDA 0 X /YES, PICK UP ITS CHAIN PNTR -30547 111573 7 6 STA OLD2 I /REMOVE FROM TRACE QUEUE -30550 000401 7 6 ENB BCK -30551 025572 7 IRS T3BX -30552 005622 7 LDA (-TDONE) -30553 011571 7 STA T2BX -30554 072115 7 LDX TWO -30555 025574 7 IRS OLD1 -30556 105574 7 LDA OLD1 I -30557 120664 7 JST JAM I /*SEND TRACE BLOCK -30560 025571 7 IRS T2BX -30561 003555 7 JMP .-4 -30562 005574 7 LDA OLD1 -30563 015622 7 ADD (-TDONE) -30564 001001 7 INH TSK -30565 026325 7 6 IMA TTF /PUT DN FREE TRACE QUEUE -30566 110325 7 6 STA TTF I -30567 000401 7 6 ENB BCK -30570 003531 7 JMP BRL2 /LOOP SEARCHING TRACE QUEUE - - LEV VAR -30571 V T2BX: BSS 1 /COPY LOOP COUNTER -30572 V T3BX: BSS 1 /COUNT OF NUMBER OF BLOCKS COPIED -30573 V OLD2: BSS 1 /QUEUE PNTR - USED IN SEARCH -30574 V OLD1: BSS 1 /PACKET PNTR - USED IN COPY - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 245 IMP,3050,IMP 7:20 PM 9/16/1973 - -30575 177760 C LEV CON CONSTANTS -30576 072030 C -30577 172010 C -30600 120574 C -30601 050057 C -30602 100342 C -30603 130434 C -30604 100003 C -30605 000005 C -30606 177754 C -30607 073106 C -30610 177423 C -30611 071716 C -30612 000777 C -30613 000400 C -30614 177666 C -30615 000037 C -30616 030434 C -30617 100002 C -30620 000341 C -30621 030620 C -30622 177766 C -02437 175631 C PAGEND 30,UNCON,3 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 246 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV H2I - /HOST TO IMP STATISTICS -31055 000000 4 HS0: 0 -31056 005753 4 LDA (STTB) -31057 001001 4 INH [I2M,I2H] -31060 011121 4 2 STA WHER -31061 004675 4 2 LDA HIP -31062 021123 4 2 JST SUB1 -31063 015356 4 2 ADD TOT1 -31064 011356 4 2 STA TOT1 -31065 000401 4 2 ENB H2I -31066 072675 4 LDX HIP -31067 172677 4 LDX HIXX I -31070 044007 4 LDA HEAD2 X -31071 103055 4 JMP HS0 I - - / HOST TO IMP ALL MESSAGES -31072 000000 4 HS2: 0 -31073 065375 4 IRS CNT2 X -31074 101000 4 NOP -31075 103754 4 JMP (HIH0 0 XI) I - - LEV I2H - / IMP TO HOST STATISTICS -31076 000000 3 HS1: 0 -31077 005755 3 LDA (XGP) -31100 001001 3 INH I2M -31101 011121 3 2 STA WHER -31102 004676 3 2 LDA IHP -31103 172700 3 2 LDX IHXX I -31104 021123 3 2 JST SUB1 -31105 015374 3 2 ADD TOT2 -31106 011374 3 2 STA TOT2 -31107 000401 3 2 ENB I2H -31110 072676 3 LDX IHP -31111 105756 3 LDA (IHED 0 X) I -31112 103076 3 JMP HS1 I - - / IMP TO HOST CONTROL MESSAGES -31113 000000 3 HS3: 0 -31114 141206 3 AOA -31115 065405 3 IRS CNT3 X -31116 101000 3 NOP -31117 103113 3 JMP HS3 I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 247 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR -31120 V WHERL: BSS 1 -31121 V WHER: BSS 1 -31122 V SUBL: BSS 1 - - LEV I2M -31123 000000 2 SUB1: 0 -31124 016130 2 SUB PLNH -31125 101400 2 SMI -31126 003156 2 JMP SP6 -31127 044111 2 LDA BUFE X -31130 016000 2 SUB 0 -31131 017757 2 SUB (DATA) -31132 140100 2 SSP 0"A"TWOQ -31133 011122 2 STA SUBL -31134 021717 2 JST LOG -31135 014120 2 ADD SEVEN /POINTS TO LAST-PACKET LENGTH COUNT] -31136 015121 2 ADD WHER /...IN CORRECT TABLE -31137 011120 2 STA WHERL -31140 125120 2 IRS WHERL I /AND GOOSE COUNTER -31141 101000 2 NOP -31142 044006 2 LDA HEAD1 X -31143 141340 2 ICA 0"A"PKTNO -31144 006120 2 ANA SEVEN -31145 101040 2 SNZ -31146 003154 2 JMP SP4 /NO SEPARATE COUNTER FOR 1PKT MSGS -31147 016114 2 SUB ONE /BACK OFF 1 -31150 015121 2 ADD WHER -31151 011121 2 STA WHER -31152 125121 2 IRS WHER I -31153 101000 2 NOP -31154 005122 2 SP4: LDA SUBL -31155 103123 2 JMP SUB1 I - -31156 073123 2 SP6: LDX SUB1 -31157 042002 2 JMP 2 X - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 248 IMP,3050,IMP 7:20 PM 9/16/1973 - - / IMP TO MODEM MESSAGES -31160 000000 2 IM1: 0 -31161 111760 2 STA (ACKWRD) I -31162 010000 2 STA 0 -31163 044105 2 LDA BUFE-ACKH X -31164 016000 2 SUB 0 -31165 016116 2 SUB THREE 0"A"[HEAD2-ACKH] -31166 140100 2 SSP 0"A"TWOQ -31167 011337 2 STA IMT1 -31170 021717 2 JST LOG -31171 173761 2 LDX (OCHN) I -31172 055331 2 ADD TUB1 X -31173 011340 2 STA IMT2 -31174 125340 2 IRS IMT2 I -31175 101000 2 NOP -31176 005337 2 LDA IMT1 -31177 055622 2 ADD ANS4 X -31200 051622 2 STA ANS4 X -31201 103160 2 JMP IM1 I - - LEV M2I - / MODEM TO INP DISCARD -31202 000000 0 MI1: 0 -31203 025627 0 IRS MTOT -31204 070471 0 M1ERR -31205 103202 0 JMP MI1 I -31206 025634 0 IRS CKSM -31207 025202 0 IRS MI1 -31210 101000 0 NOP -31211 103202 0 JMP MI1 I - - /TASK I HEARD YOU MESSAGES RECEIVED -31212 000000 0 TSKIH: 0 -31213 064426 0 IRS LAC X -31214 065641 0 IRS TSKIHY X -31215 101000 0 NOP -31216 103212 0 JMP TSKIH I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 249 IMP,3050,IMP 7:20 PM 9/16/1973 - - / MODEM TO IMP BUFFER TROUBLE -31217 000000 0 MI3: 0 -31220 100040 0 SZE -31221 025217 0 IRS MI3 -31222 101040 0 SNZ -31223 065646 0 IRS BUFT X -31224 101000 0 NOP -31225 103217 0 JMP MI3 I - - /MORE OF MODEM TO IMP DISCARD - -31226 000000 0 MI1A: 0 -31227 025630 0 IRS MTOT+1 -31230 070472 0 M2ERR -31231 103226 0 JMP MI1A I -31232 025635 0 IRS CKSM+1 -31233 025226 0 IRS MI1A -31234 101000 0 NOP -31235 103226 0 JMP MI1A I - -31236 000000 0 MI1B: 0 -31237 025631 0 IRS MTOT+2 -31240 070473 0 M3ERR -31241 103236 0 JMP MI1B I -31242 025636 0 IRS CKSM+2 -31243 025236 0 IRS MI1B -31244 101000 0 NOP -31245 103236 0 JMP MI1B I - -31246 000000 0 MI1C: 0 -31247 025632 0 IRS MTOT+3 -31250 070474 0 M4ERR -31251 103246 0 JMP MI1C I -31252 025637 0 IRS CKSM+3 -31253 025246 0 IRS MI1C -31254 101000 0 NOP -31255 103246 0 JMP MI1C I - -31256 000000 0 MI1D: 0 -31257 025633 0 IRS MTOT+4 -31260 070475 0 M5ERR -31261 103256 0 JMP MI1D I -31262 025640 0 IRS CKSM+4 -31263 025256 0 IRS MI1D -31264 101000 0 NOP -31265 103256 0 JMP MI1D I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 250 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV H2I -31266 000000 4 HS4: 0 -31267 050111 4 STA BUFE X -31270 173762 4 LDX (PPSLT) I -31271 131040 4 RDCLOK -31272 003271 4 JMP .-1 -31273 050010 4 STA PPT1 X /SAVE SENT TIME FOR 1 PKT MESS -31274 173763 4 LDX (PPSLT 0 I) I -31275 103266 4 JMP HS4 I - -31276 000000 4 HS5: 0 /SHOULD ONLY DO THIS ONCE, NEED A C+ -31277 050030 4 STA PLT2 X -31300 131040 4 RDCLOK -31301 003300 4 JMP .-1 -31302 050044 4 STA PLT3 X /SAVE SENT TIME FOR 8 PKT MESS -31303 103276 4 JMP HS5 I - - LEV TSK LCK FRE -31304 000000 6 0 HS6: 0 -31305 131040 6 0 RDCLOK -31306 003305 6 0 JMP .-1 -31307 173764 6 0 LDX (PPTASK) I -31310 056010 6 0 SUB PPT1 X -31311 021322 6 0 JST HSTIME /GET ROUND-TRIP TIME FOR 1 PKT ME1 -31312 103765 6 0 JMP (PPTFRE) I - -31313 000000 6 0 HS7: 0 -31314 131040 6 0 RDCLOK -31315 003314 6 0 JMP .-1 -31316 173764 6 0 LDX (PPTASK) I -31317 056044 6 0 SUB PLT3 X -31320 021322 6 0 JST HSTIME /GET ROUND-TRIP TIME FOR 8 PKT MESS -31321 103766 6 0 JMP (GUDRP0) I - -31322 000000 6 0 HSTIME: 0 -31323 040475 6 0 LGR 3 -31324 173767 6 0 LDX (SOURCE) I -31325 055415 6 0 ADD HS4R X -31326 051415 6 0 STA HS4R X -31327 065515 6 0 IRS HS4S X -31330 103322 6 0 JMP HSTIME I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 251 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -31331 031660 C TUB1: XGP1+0 -31332 031666 C XGP1+6 -31333 031674 C XGP1+12. -31334 031702 C XGP1+18. -31335 031710 C XGP1+24. -31336 031716 C XGP1+30. - LEV VAR -31337 V IMT1: BSS 1 -31340 V IMT2: BSS 1 - - - /CUMULATIVE STATS SENT IN THIS ORDER - /STATISTICS GATHERED BY H2I -31341 V STTB: BSS 13. /HISTOGRAM OF H2I MESS LENGTH - A1 -31356 V TOT1: BSS 1 /TOTAL # OF H2I WORDS - /STATISTICS GATHERED BY I2H -31357 V XGP: BSS 13. /HISTOGRAM OF I2H MESS LENGTH - A1 -31374 V TOT2: BSS 1 /TOTAL # OF I2H WORDS - /STATISTICS GATHERED BY H2I -31375 V CNT2: BSS TH /# OF H2I ALL MESSAGES PER HOST - /STATISTICS GATHERED BY I2H -31405 V CNT3: BSS TH /# OF I2H CONTROL MESSAGES PER HOST - /STATISTICS GATHERED BY TSK -31415 V HS4R: BSS NIMP /TOTAL ROUND TRIP TIME IN 800 MS PE1 -31515 V HS4S: BSS NIMP /# OF ROUND TRIPS MEASURED ABOVE - /STATISTICS GATHERED BY I2M -31615 V IMHS: BSS CH /# OF HELLOS SENT PER LINE -31622 V ANS4: BSS CH /# OF DATA WOSDS SENT PER LINE - /STATISTICS GATHERED BY M2I -31627 V MTOT: BSS CH /# OF INPUTS RECVD PER LINE -31634 V CKSM: BSS CH /# OF CHECKSUM ERRORS PER LINE - /STATISTICS GATHERED BY TSK -31641 V TSKIHY: BSS CH /# OF I HEARD YOUS RECVD PER LINE - /STATISTICS GATHERED BY M2I -31646 V BUFT: BSS CH /# OF INPUTS LOST DUE TO LACK OF [ -31653 V SLOW: BSS CH /UNUSED - /STATISTICS GATHERED BY I2M -31660 V XGP1: BSS CH+CH+CH+CH+CH+CH /HISTOGRAM OF I2M MESSA[ -31716 V EP20: BSS 1 /BEGINNING OF PATCH AREA - NST=0+0+EP20-STTB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 252 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV I2M - / LOG SUBROUTINE -31717 000000 2 LOG: 0 -31720 033742 2 STX LOGX -31721 022120 2 CAS SEVEN -31722 003731 2 JMP LOG1 -31723 101000 2 NOP -31724 100400 2 SPL -31725 003733 2 JMP LOG3 -31726 010000 2 STA 0 -31727 045743 2 LDA LOGT X -31730 003740 2 JMP LOG2 -31731 040575 2 LOG1: ARS 3 -31732 022120 2 CAS SEVEN -31733 004120 2 LOG3: LDA SEVEN -31734 101000 2 NOP -31735 010000 2 STA 0 -31736 045743 2 LDA LOGT X -31737 014116 2 ADD THREE -31740 073742 2 LOG2: LDX LOGX -31741 103717 2 JMP LOG I - - LEV VAR -31742 V LOGX: BSS 1 - LEV CON -31743 000000 C LOGT: 0 -31744 000000 C 0 -31745 000001 C 1 -31746 000001 C 1 -31747 000002 C 2 -31750 000002 C 2 -31751 000002 C 2 -31752 000002 C 2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 253 IMP,3050,IMP 7:20 PM 9/16/1973 - -31753 031341 C LEV CON CONSTANTS -31754 154137 C -31755 031357 C -31756 056124 C -31757 000011 C -31760 012655 C -31761 012654 C -31762 015156 C -31763 115156 C -31764 007131 C -31765 007213 C -31766 007215 C -31767 006673 C -31770 C SB1: BSS NSTATS /ADDRESSES FOR STAT INSTR -32010 C SC1: BSS NSTATS /NOMINAL CONTENTS - -02440 177030 C PAGEND 31,SC1+NSTATS - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 254 IMP,3050,IMP 7:20 PM 9/16/1973 - - - LEV VAR - TABZB: /THIS ENTIRE PAGE IS ZEROED AT INIT - /TABLES OF BUFFER PNTRS, NACH FOR EACH LINE -32030 V I2MB0: BSS NACH -32040 V I2MB1: BSS NACH -32050 V I2MB2: BSS NACH -32060 V I2MB3: BSS NACH -32070 V I2MB4: BSS NACH - /NULL AREAS -32100 V NULS1: BSS HEAD3-ACKH+1 /ACKS GO HERE -32105 V NULS2: BSS HEAD3-ACKH+1 /ACKS GO HERE -32112 V NULS3: BSS HEAD3-ACKH+1 /ACKS GO HERE -32117 V NULS4: BSS HEAD3-ACKH+1 /ACKS GO HERE -32124 V NULS5: BSS HEAD3-ACKH+1 /ACKS GO HERE - NTRCB=8 - TRACEL=TDONE+1 -32131 V TRACEQ: BSS NTRCB"T"TRACEL /TRACE STORE - TALLYL=8. -32261 V TALLY: BSS TALLYL /STACK OF TRANSMIT ALLOCATES WE HAVT - - DEFPLC [TRANSMIT, RECEIVE, AND ALLOCATE MESSAGE TABLES] -32271 V TMESS: BSS NIMP -32371 V RMESS: BSS NIMP -32471 V AMESS: BSS NIMP - DEFPLC [RALLY TABLE - ALLOCATES TO SEND] -32571 V RALLY: BSS NIMP - LEV CON -02441 176671 C PAGEND 32,-0 - - LEV VAR - /ROUTE SEND TABLES - /SEND ROUTING MESSAGE FROM HERE -33003 V RSTX: BSS 1 /ACKS -33004 V BSS 1 /HEADER -33005 V BSS 1 /SERIAL NO. (LH) -33006 V RST: BSS NIMP /ROUTE SEND TABLE -33106 V RSTCKS: BSS 1 /CHECKSUM - /END OF ROUTING MESSAGE - - /ALTERNATE ROUTING MESSAGE BUFFER 1 -33107 V RSTX1: BSS 1 /ACKS -33110 V BSS 1 /HEADER -33111 V BSS 1 /SERAIL NO. (LH) -33112 V RST1: BSS NIMP /ROUTE SEND TABLE -33212 V BSS 1 /CHECKSUM - - /ALTERNATE ROUTING MESSAGE BUFFER 2 -33213 V RSTX2: BSS 1 /ACKS -33214 V BSS 1 /HEADER -33215 V BSS 1 /SERIAL NO. (LH) -33216 V RST2: BSS NIMP /ROUTE SEND TABLE -33316 V BSS 1 /CHECKSUM - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 255 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VAR - NREAB=8 /8 - NEED MANY FOR <8 PKT MESSAGES - REASL=RSF+1 -33317 V REASQ: BSS NREAB"T"REASL /REASSEMBLY STORE - PPTL=8. /NUMBER OF ENTRIES IN PPT - PPTN=2 /NUMBER OF WORDS PER ENTRY IN PPT - PPTNUM=PPTL"T"PPTN - DEFPLC [PPT - PENDING PACKET TABLE] -33457 V PPT: BSS PPTNUM /TABLE OF PNTRS TO PENDING PACKET1 - PLTL=12. /NUMBER OF ENTRIES IN PLT - PLTN=4 /NUMBER OF WORDS PER ENTRY IN PLT - PLTNUM=PLTL"T"PLTN - DEFPLC [PLT - PENDING LEADER TABLE] -33477 V PLT: BSS PLTNUM /TABLE OF COPIED PENDING LEADERS - HTPTBL: /TABLE OF HOST THROUGHPUTS -33557 V HTPMTN: BSS NH /MESSAGES FROM HOST TO NET -33563 V HTPMFN: BSS NH /MESSAGES TO HOST FROM NET -33567 V HTPPTN: BSS NH /PACKETS FROM HOST TO NET -33573 V HTPPFN: BSS NH /PACKETS TO HOST FROM NET -33577 V HTPMTL: BSS NH /MESSAGES FROM HOST TO LOCAL HOST -33603 V HTPMFL: BSS NH /MESSAGES TO HOST FROM LOCAL HO1 -33607 V HTPPTL: BSS NH /PACKETS FROM HOST TO LOCAL HOST -33613 V HTPPFL: BSS NH /PACKETS TO HOST FROM LOCAL HOST -33617 V HTPWTI: BSS NH /WORDS FROM HOST TO IMP -33623 V HTPWFI: BSS NH /WORDS TO HOST FROM IMP - TABZE: - TABZL=TABZE+0-TABZB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 256 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON - IRP [PAGEN,,33,34,35,36] - PAGEND PAGEN,-0 - -02442 175627 C ENDIRP -02443 170053 C -02444 170061 C -02445 170067 C - - P36FB=FB - P36NB=NB -02446 170075 C PAGEND 37,-0 - P37NB=NB-1 /ALLOW FOR SAT CODE - P37FB=FB - - - 100003/ -0 VDHSTART VDHEND - .ASCII / VDH - - "Z"/ - NMAXS=4"T"CH - - 100001/ NBUFS-2 - .ASCII / TOTAL BUFFERS"Z"/ - - 100001/ P37NB - .ASCII / FEWER BUFFERS IF VDH PRESENT"Z"/ - - - 100001/ NMAXS - .ASCII / STORE AND FORWARD LIMIT"Z"/ - - 100001/ 0 0 [0 0 [NBUFS-NMAXS+10]"Q"10]"T"10+2 - .ASCII / REASSEMBLY LIMIT"Z"/ - - 100001/ NITB - .ASCII / IMP-TIP CONVERSION REGISTERS"Z"/ - - 100001/ NSTATS - .ASCII / STATISTICS GATHERING PLACES"Z"/ - - START - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 257 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST - 37000/ VDHSTART: - ITBVP=0 - /FILL IN THE VDH/IMP INITIALIZATION TABLE - - LEV CON -03366 C VDHD VDH2,JST VDH2. I,NOP -37717 121407 C -02346 101000 C -02361 003366 C -21126 C VDHD VDH3,JST VDH3. I,NOP -37720 121661 C -02347 101000 C -02362 021126 C - - - /BUILD INSTRUCTIONS DEPENDENT ON M.N & H.N AND FINISH TABLE - - IRPC [L,,1234] - REPEAT 1IF VZ L-1-H.N,[ - - VD.HOI=H'L'OTIL - VD.HII=H'L'INIL - VD.HIB=H'L'INBP - VD.IHB=H'L'OTBP - VDHD SKST H.N,NOP,H'L'RDY - VDHD IHED H.N,IRS VD.OT,H'L'FOUT - VDHD IHOT H.N,NOP,H'L'ROUT - VDHD HER H.N,NOP,H'L'ERR - VDHD HIN H.N,JMP HIFAKE,H'L'IN - VDHD EMIT H.N,SKP,H'L'EOM - VDHD HENABT H.N, IRS VD.RDY, H'L'ENAB - ] - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 258 IMP,3050,IMP 7:20 PM 9/16/1973 - - /END THE REPEAT -21663 C ENDIRP -37721 101000 C -02350 070160 C -02363 021663 C -16125 C -37722 024475 C -02351 030260 C -02364 016125 C -17057 C -37723 101000 C -02352 030060 C -02365 017057 C -13171 C -37724 101000 C -02353 070060 C -02366 013171 C -13201 C -37725 003531 C -02354 030160 C -02367 013201 C -13304 C -37726 100000 C -02355 070260 C -02370 013304 C -16317 C -37727 024476 C -02356 030560 C -02371 016317 C - /HOST34=0 - V.1=74000 - V.2=134000 - V.3=154000 - V.4=164000 - V.5=170000 - /HOST34>0 - V..1=70000 - V..2=130000 - V..3=150000 - V..4=160000 - V..5=170000 - /HOST34<0 - V...1=60000 - V...2=120000 - V...3=140000 - V...4=160000 - V...5=160000 - - IRPC [L,,12345] - - REPEAT 1IF VZ L-1-M.N,[ - - VD.IIM=V.'L - VD..IM=V..'L - VD...M=V...'L - VD.OIP=M'L'OTBP - VDHD 64 M.N,VD.II,M2I'L - - - VDHD 71 M.N,VD.OI,I2M'L - - ] /END OF REPEAT -00066 C ENDIRP -37730 037124 C -02357 010113 C -02372 000066 C -00073 C -37731 037331 C -02360 012117 C -02373 000073 C - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 259 IMP,3050,IMP 7:20 PM 9/16/1973 - - - - - /PACKET CONTROL WORD FORMAT - - /BITS MEANINGS - /1 LAST PACKET BIT - /2 PACKET'S ODD/EVEN BIT - /3-8 PACKET'S WORD COUNT - / 0 = ACKS ALONE - / 1-63 = NUMBER OF WORDS (INCLUDING LEADER) - /9 HOST/IMP BIT -- ONE FROM HOST - /10 UNUSED - /11-12 UNUSED (CHANNEL 3 < CHANNEL 2 ACKS) - /13 CHANNEL 1 ACK - /14 CHANNEL 0 ACK - /15 UNUSED (EXTENDED CHANNEL NUMBER) - /16 CHANNEL NUMBER - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 260 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST VARIABLES - VDHNC=2 /NUMBER OF CHANNELS - - LEV VAR -37000 V VD.TB: BSS VDHNC /TRANSMIT BUFFER POINTERS - /ZERO MEANS UNUSED - -37002 V VD.RB: BSS VDHNC /RECEIVE BUFFER POINTERS - /ZERO MEANS UNUSED - - VD.ZVB: /BEGINNING OF VARIABLES TO BE ZEROEI - -37004 000000 V VD.TFP: 0 /TRANSMIT FILL POINTER -- MUST "SEQ1 -37005 000000 V VD.TEP: 0 /TRANSMIT EMPTY POINTER - -37006 000000 V VD.REP: 0 /RECEIVE EMPTY POINTER -- MUST "SEQ1 - -37007 V VD.TOE: BSS VDHNC /TRANSMIT ODD/EVEN BITS - -37011 V VD.ROE: BSS VDHNC /RECEIVE ODD/EVEN BITS - -37013 000000 V VD.T: 0 /COUNTS IF TOO LONG WITHOUT ACK - /POSITIVE MEANS TOO LONG -37014 000000 V VD.R: 0 /COUNTS IF IT IS TIME TO SEND DUPL T - /POSITIVE MEANS SEND ON -37015 000000 V VD.D: 0 /COUNTS IF LINE HAS BEEN HELD DEAD T - /NEG MEANS NOT LONG ENOUGH - -37016 V VD.TE: BSS VDHNC /TRANSMIT LAST PACKET BIT -37020 V VD.RE: BSS VDHNC /RECEIVE LAST PACKET BIT - - - VD.ZVE: /END OF VARIABLES TO BE ZEROED - -37022 000000 V VD.HOL: 0 /EXPECTING OUTPUT OF LEADER FLAG - -37023 000000 V VD.RCN: 0 /RECEIVE CHANNEL NUMBER - -37024 000000 V VD.EXP: 0 /200 IF EXPECTING PKTS FROM HOST - /0 IF EXPECTING FROM SELF (LOOPED) - 15SECS=30 - 5SECS=10 - 2.5SECS=4 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 261 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST INITIALIZATION - - LEV BCK -37025 000000 7 VD.I: 0 -37026 005732 7 LDA (4000) -37027 026567 7 IMA VDHUPF /MARK VDH AS UP -37030 100040 7 SZE /WAS ALREADY UP? -37031 103025 7 JMP VD.I I /YES, JUST GO AWAY QUIETLY -37032 011000 7 STA VD.TB /ZERO RECEIVE AND TRANSMIT BUFFER ': -37033 011001 7 STA VD.TB 1 -37034 011002 7 STA VD.RB -37035 011003 7 STA VD.RB 1 -37036 005733 7 LDA (200) /BEGIN EXPECTING LINE UNLOOPED -37037 011024 7 STA VD.EXP -37040 001001 7 INH ALL -37041 121734 7 0 JST (GETFRE) I -37042 003112 7 0 JMP VD.I9 /NO BUFFERS FREE -37043 004000 7 0 LDA 0 -37044 015735 7 0 ADD (100000+CNTL+1) -37045 010024 7 0 STA M1INBP+2"T"M.N -37046 015736 7 0 ADD (BUFE-CNTL-1) -37047 010025 7 0 STA M1INBP+2"T"M.N+1 -37050 073737 7 0 LDX (-MAXVDH) -37051 045732 7 0 LDA ITBVDH+MAXVDH X /VDHDEFS -37052 111740 7 0 STA (ITBVDL+MAXVDH XI) I -37053 024000 7 0 IRS 0 -37054 003051 7 0 JMP .-3 -37055 030473 7 0 M1IN+M.N -37056 021060 7 0 JST VD.REI -37057 103025 7 0 JMP VD.I I - - LEV [VDI,T.O] LCK ALL -37060 000000 1 0 VD.REI: 0 /REINITIALIZE -37061 073741 1 0 LDX (VD.ZVB 0-VD.ZVE -37062 140040 1 0 CRA /ZERO VARIABLES WHICH NEED IT -37063 051022 1 0 STA VD.ZVE X -37064 024000 1 0 IRS 0 -37065 003063 1 0 JMP .-2 -37066 010036 1 0 STA VD.OIP /CLEAR OUTPUT INTERRUPT PENDING F1 -37067 072124 1 0 LDX MINUS4 /FREE ANY BUFFERS -37070 033022 1 0 STX VD.HOL /INITIALIZE TO NON-ZERO -37071 032475 1 0 STX VD.OT /FIX OUTPUT TYPE FLAG *TEMP* -37072 140040 1 0 VD.REK: CRA -37073 067004 1 0 IMA VD.TB 4 X -37074 101040 1 0 SNZ -37075 003103 1 0 JMP VD.REJ -37076 033114 1 0 STX VD.REX -37077 140100 1 0 SSP -37100 010000 1 0 STA 0 -37101 120671 1 0 JST FLUSHI I -37102 073114 1 0 LDX VD.REX -37103 024000 1 0 VD.REJ: IRS 0 -37104 003072 1 0 JMP VD.REK -37105 005742 1 0 LDA (-15SECS -37106 011015 1 0 STA VD.D /MARK TO HOLD LINE DEAD -37107 005743 1 0 LDA (NOP /DROP READY LINE -37110 111744 1 0 STA (SKST H.N) I - - -37111 103060 1 0 JMP VD.REI I /DONE, SO RETURN - -37112 024144 1 0 VD.I9: IRS VDHRSF /TRY AGAIN LATER -37113 003025 1 0 JMP VD.I - LEV VAR -37114 000000 V VD.REX: 0 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 262 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST INPUT INTERRUPT ROUTINE - LEV VAR -37115 000000 V VD.IK: 0 /SAVED KEYS -37116 000000 V VD.IIB: 0 /BUFFER POINTER -37117 000000 V VD.IA: 0 /SAVED A -37120 000000 V VD.IX: 0 /SAVED X -37121 000000 V VD.IM: 0 /SAVED MASK -37122 000000 V VD.RBL: 0 /RECEIVE BUFFER LENGTH -37123 000000 V VD.CWP: 0 /POINTER TO PACKET CONTROL WORD - -37124 000000 1 0 VD.II: INT VDI -37125 011117 1 0 STA VD.IA /SAVE MASK AND REGISTERS -37126 033120 1 0 STX VD.IX -37127 105745 1 0 LDA (HOST34) I -37130 073746 1 0 LDX (VD.IIM) /HOST34=0 -37131 100040 1 0 SZE -37132 073747 1 0 LDX (VD..IM) /HOST34>0 -37133 100400 1 0 SPL -37134 073750 1 0 LDX (VD...M) /HOST34<0 -37135 004000 1 0 LDA 0 -37136 170120 1 0 SMK INTM -37137 026134 1 0 IMA PRIM -37140 011121 1 0 STA VD.IM -37141 000043 1 0 INK -37142 011115 1 0 STA VD.IK -37143 120672 1 0 JST DODXA I RET VDI -37144 004025 1 LDA M1INBP+1 2"T"M.N /GET BUFFER POINTER -37145 140100 1 SSP -37146 017751 1 SUB (BUFE /SAVE BUFFER POINTER -37147 011116 1 STA VD.IIB -37150 015752 1 ADD (CNTL 1 -37151 011123 1 STA VD.CWP -37152 005015 1 LDA VD.D /IS LINE BEING HELD DEAD -37153 100400 1 SPL -37154 003171 1 JMP VD.II2 /YES -37155 070473 1 M1ERR M.N /ERROR? -37156 100000 1 SKP -37157 003171 1 JMP VD.II2 /YES -37160 105123 1 LDA VD.CWP I -37161 007733 1 ANA (200) -37162 013024 1 ERA VD.EXP /IS PACKET FROM WHOM EXPECTED? -37163 101040 1 SNZ -37164 003212 1 JMP VD.II1 /YES, GO PROCESS IT -37165 013024 1 ERA VD.EXP /NO, CHANGE STATE OF VD.EXP -37166 011024 1 STA VD.EXP -37167 001001 1 INH ALL - DEFHLT [VDH LOOP STATE CHANGED] -37170 021317 1 0 JST VD.APH - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 263 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VDI -37171 005116 1 VD.II2: LDA VD.IIB /DO INPUT -37172 015735 1 VD.II8: ADD (100000 CNTL 1 -37173 010024 1 STA M1INBP 2"T"M.N -37174 015736 1 ADD (BUFE-CNTL-1 -37175 010025 1 STA M1INBP+1 2"T"M.N -37176 030473 1 M1IN M.N -37177 073120 1 LDX VD.IX /RESTORE MASK AND REGISTERS -37200 001001 1 INH MSK -37201 005121 1 0 LDA VD.IM -37202 170120 1 0 SMK INTM -37203 010134 1 0 STA PRIM -37204 000013 1 0 EXA -37205 005115 1 0 LDA VD.IK -37206 171020 1 0 OTK -37207 005117 1 0 LDA VD.IA -37210 000401 1 0 ENB VDI -37211 103124 1 JMP VD.II I /RETURN - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 264 IMP,3050,IMP 7:20 PM 9/16/1973 - -37212 105123 1 VD.II1: LDA VD.CWP I /PROCESS ACKS -37213 072113 1 LDX ZERO /CHANNEL ZERO ACK -37214 040576 1 ARS 2 -37215 021273 1 JST VD.AP -37216 072114 1 LDX ONE /CHANNEL ONE ACK -37217 105123 1 LDA VD.CWP I -37220 040575 1 ARS 3 -37221 021273 1 JST VD.AP -37222 105123 1 LDA VD.CWP I /IS PACKET A DUPLICATE -37223 006114 1 ANA ONE -37224 011023 1 STA VD.RCN /SAVE CHANNEL # FOR LATER USE -37225 010000 1 STA 0 -37226 105123 1 LDA VD.CWP I /GET PACKET O/E BIT -37227 041676 1 ALR 2 -37230 053011 1 ERA VD.ROE X /MATCH AGAINST RECEIVE O/E BIT -37231 100100 1 SLZ -37232 003171 1 JMP VD.II2 /DUPLICATE -37233 105123 1 LDA VD.CWP I /IS THERE ANY DATA -37234 141340 1 ICA -37235 006752 1 ANA C77 -37236 101040 1 SNZ -37237 003171 1 JMP VD.II2 /NO -37240 011122 1 STA VD.RBL -37241 073023 1 LDX VD.RCN /IS THERE ROOM FOR THIS BUFFER -37242 045002 1 LDA VD.RB X -37243 100040 1 SZE -37244 003171 1 JMP VD.II2 /NO -37245 105123 1 LDA VD.CWP I /SAVE LAST PACKET BIT FOR BACKGROUN -37246 006112 1 ANA SIGN -37247 051020 1 STA VD.RE X -37250 001001 1 INH FRE /IS THERE A FREE BUFFER -37251 104324 1 0 LDA FREE I -37252 101040 1 0 SNZ /POSITIVE NO IN A REG -37253 003171 1 0 JMP VD.II2 /NO -37254 011014 1 0 STA VD.R /MARK THAT THERE IS ACK TO SEND -37255 045011 1 0 LDA VD.ROE X /COMPLEMENT O/E BIT -37256 012114 1 0 ERA ONE -37257 051011 1 0 STA VD.ROE X -37260 005116 1 0 LDA VD.IIB /USE NEW BUFFER FOR INPUT -37261 051002 1 0 STA VD.RB X /PASS RECEIVED BUFFER TO BACKGROUND -37262 010000 1 0 STA 0 /GET BUFFER LENGTH -37263 005122 1 0 LDA VD.RBL /PUT COUNT IN BUFE -37264 050111 1 0 STA BUFE X - LEV VDI -37265 001001 1 VD.II7: INH FRE -37266 024563 1 0 IRS NFS /GET A FREE BUFFER NFS -37267 104324 1 0 LDA FREE I -37270 026324 1 0 IMA FREE -37271 000401 1 0 ENB VDI -37272 003172 1 JMP VD.II8 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 265 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST ACKNOWLEDGE PROCESSOR - /CALL WITH ACK BIT IN AC - -37273 000000 1 VD.AP: 0 -37274 053007 1 ERA VD.TOE X /IS THIS A DUPLICATE ACK -37275 101100 1 SLN -37276 003312 1 JMP VD.AP1 /YES -37277 045007 1 LDA VD.TOE X /COMPLEMENT TRANSMIT O/E BIT -37300 012114 1 ERA ONE -37301 051007 1 STA VD.TOE X -37302 045000 1 LDA VD.TB X -37303 001001 1 INH ALL -37304 100040 1 0 SZE /SPURIOUS ACK? -37305 003307 1 0 JMP VD.AP2 /NO - DEFHLT [VDH SPURIOUS ACK] -37306 021317 1 0 JST VD.APH /YES -37307 000401 1 0 VD.AP2: ENB VDI -37310 140500 1 SSM /MARK CHANNEL UNUSED -37311 051000 1 STA VD.TB X -37312 005753 1 VD.AP1: LDA (-5SECS /RESET T -37313 011013 1 STA VD.T -37314 004112 1 LDA SIGN /BRING READY LINE UP -37315 111744 1 STA (SKST H.N) I -37316 103273 1 JMP VD.AP I - - LCK M2I -37317 000000 1 0 VD.APH: 0 -37320 120745 1 0 JST HLTNCC I -37321 021060 1 0 JST VD.REI -37322 003171 1 0 JMP VD.II2 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 266 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST OUTPUT INTERRUPT - LEV VAR -37323 000000 V VD.OK: 0 /SAVED KEYS -37324 000000 V VD.OA: 0 /SAVED A -37325 000000 V VD.OX: 0 /SAVED X -37326 000000 V VD.OM: 0 /SAVED MASK -37327 000000 V VD.OB: 0 /SAVED POINTER -37330 000000 V VD.CW: 0 /CONTROL WORD - -37331 000000 2 0 VD.OI: INT VDO -37332 011324 2 0 STA VD.OA /SAVE MASK AND REGISTERS -37333 004502 2 0 LDA MOM -37334 170120 2 0 SMK INTM -37335 026134 2 0 IMA PRIM -37336 011326 2 0 STA VD.OM -37337 000043 2 0 INK -37340 011323 2 0 STA VD.OK -37341 120672 2 0 JST DODXA I RET VDO -37342 033325 2 STX VD.OX -37343 140040 2 CRA -37344 010036 2 STA VD.OIP /CLEAR OUTPUT INT PENDING FLAG - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 267 IMP,3050,IMP 7:20 PM 9/16/1973 - -37345 005015 2 LDA VD.D /LINE BEING HELD DEAD? -37346 100400 2 SPL -37347 003364 2 JMP VD.OI2 /YES -37350 021407 2 JST VD.OIS /SERVICE ONE CHANNEL -37351 021407 2 JST VD.OIS /SERVICE ANOTHER CHANNEL -37352 005014 2 LDA VD.R /ACK WAITING TO GO BACK? -37353 100400 2 SPL -37354 003364 2 JMP VD.OI2 /NO -37355 021377 2 JST VD.OIT -37356 005754 2 LDA (VD.CW /SETUP OUTPUT POINTER TO SEND CW -37357 010036 2 STA M1OTBP 2"T"M.N -37360 010037 2 VD.OI3: STA M1OTBP+1 2"T"M.N -37361 005755 2 LDA (-2.5SECS /RESET R -37362 011014 2 STA VD.R -37363 030073 2 M1OUT M.N /DO OUTPUT - - -37364 073325 2 VD.OI2: LDX VD.OX /RESTORE MASK AND REGISTERS -37365 001001 2 INH MSK -37366 005326 2 0 LDA VD.OM -37367 170120 2 0 SMK INTM -37370 010134 2 0 STA PRIM -37371 000013 2 0 EXA -37372 005323 2 0 LDA VD.OK -37373 171020 2 0 OTK -37374 005324 2 0 LDA VD.OA -37375 000401 2 0 ENB VDO -37376 103331 2 JMP VD.OI I /RETURN - - -37377 000000 2 VD.OIT: 0 /BUILD ACKS -37400 001001 2 INH VDI -37401 005012 2 1 LDA VD.ROE 1 -37402 041577 2 1 ALS 1 -37403 013011 2 1 ERA VD.ROE -37404 041576 2 1 ALS 2 -37405 011330 2 1 STA VD.CW -37406 103377 2 1 JMP VD.OIT I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 268 IMP,3050,IMP 7:20 PM 9/16/1973 - - RET VDO -37407 000000 2 VD.OIS: 0 -37410 005005 2 LDA VD.TEP /TRY OTHER CHANNEL -37411 012114 2 ERA ONE -37412 011005 2 STA VD.TEP -37413 001001 2 INH VDI -37414 073005 2 1 LDX VD.TEP -37415 045000 2 1 LDA VD.TB X -37416 101040 2 1 SNZ -37417 103407 2 1 JMP VD.OIS I /NOTHING TO DO WITH CHANNEL -37420 100400 2 1 SPL -37421 003445 2 1 JMP VD.OI1 -37422 011327 2 1 STA VD.OB -37423 021377 2 1 JST VD.OIT -37424 045007 2 1 LDA VD.TOE X /SET UP MORE OF CONTROL WORD -37425 040676 2 1 ARR 2 -37426 013330 2 1 ERA VD.CW /O/E BIT -37427 013005 2 1 ERA VD.TEP /CHANNEL NUMBER -37430 053016 2 1 ERA VD.TE X /LAST PACKET BIT -37431 011330 2 1 STA VD.CW -37432 073327 2 1 LDX VD.OB /SET UP CONTROL WORD IN OUTPUT BUF*] -37433 044111 2 1 LDA BUFE X /PUT COUNT IN CW -37434 141240 2 1 ICR -37435 015330 2 1 ADD VD.CW -37436 050010 2 1 STA CNTL 1 X -37437 004000 2 1 LDA 0 /SET UP OUTPUT POINTERS -37440 015752 2 1 ADD (CNTL 1 -37441 010036 2 1 STA M1OTBP 2"T"M.N -37442 054111 2 1 ADD BUFE X -37443 140100 2 1 SSP 0"A"TWOQ -37444 003360 2 1 JMP VD.OI3 -37445 140040 2 1 VD.OI1: CRA -37446 067000 2 1 IMA VD.TB X -37447 140100 2 1 SSP /FREE BUFFER -37450 010000 2 1 STA 0 -37451 001001 2 1 INH FRE -37452 120671 2 0 JST FLUSHI I -37453 103407 2 0 JMP VD.OIS I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 269 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST TIMEOUT ROUTINE - - LEV T.O -37454 000000 5 VD.TO: 0 -37455 140040 5 CRA -37456 026476 5 IMA VD.RDY /DID IH FLAP READY LINE? -37457 100040 5 SZE -37460 003476 5 JMP VD.TO3 /YES -37461 005015 5 LDA VD.D /IS D COUNTING -37462 101400 5 SMI -37463 003471 5 JMP VD.TO1 /NO -37464 025015 5 IRS VD.D /WAITED LONG ENOUGH ? -37465 103454 5 JMP VD.TO I /NO -37466 005755 5 LDA (-2.5SECS /RESET R -37467 011014 5 STA VD.R -37470 103454 5 JMP VD.TO I -37471 005013 5 VD.TO1: LDA VD.T -37472 101400 5 SMI -37473 103454 5 JMP VD.TO I -37474 025013 5 IRS VD.T /HAS LINE GONE DEAD -37475 003501 5 JMP VD.TO2 /NO -37476 001001 5 VD.TO3: INH VDI -37477 021060 5 1 JST VD.REI /REINITIALIZE -37500 103454 5 1 JMP VD.TO I -37501 025014 5 1 VD.TO2: IRS VD.R /TIME TO SEND HELLO? -37502 101000 5 1 NOP -37503 103454 5 1 JMP VD.TO I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 270 IMP,3050,IMP 7:20 PM 9/16/1973 - - /VERY DISTANT HOST BACKGROUND ROUTINE - LEV VAR -37504 000000 V VD.BM: 0 /SAVED MASK -37505 000000 V VD.IB: 0 -37506 000000 V VD.BB: 0 -37507 000000 V VD.BBT: 0 -37510 000000 V VD.BBF: 0 - - LEV VDB -37511 000000 3 VD.B: 0 -37512 001001 3 INH MSK -37513 004500 3 0 LDA IHM -37514 170120 3 0 SMK INTM -37515 026134 3 0 IMA PRIM -37516 011504 3 0 STA VD.BM -37517 000401 3 0 ENB VDB -37520 105756 3 LDA (HITT H.N) I /IS HOST WAITING FOR INPU -37521 022121 3 CAS MINUS1 -37522 100000 3 SKP -37523 003612 3 JMP VD.B1 /ND -37524 005743 3 LDA (NOP -37525 111757 3 STA (EMFH H.N) I -37526 073006 3 LDX VD.REP /HAS THE NEXT SEQUENTIAL PACKET ARR -37527 045002 3 LDA VD.RB X -37530 101040 3 SNZ -37531 003612 3 JMP VD.B1 /NO -37532 011505 3 STA VD.IB /SAVE BUFFER POINTER FOR LATER USF -37533 004454 3 LDA HILO H.N -37534 013760 3 ERA (HIFRST /INITIAL INPUT EXPECTED BY HI -37535 101040 3 SNZ -37536 003605 3 JMP VD.B4 /YES -37537 013761 3 ERA (0 0 HIFRST"X"VD.1P /HI EXPECTING LEADER -37540 100040 3 SZE -37541 003560 3 JMP VD.B3 /NO -37542 073505 3 LDX VD.IB /SAVE LEADER IN HOST BUFFER -37543 044011 3 LDA DATA X -37544 110052 3 STA VD.HIB I -37545 044012 3 LDA DATA 1 X -37546 024052 3 IRS VD.HIB -37547 110052 3 STA VD.HIB I -37550 073006 3 LDX VD.REP /LAST PACKET IN MESSAGE -37551 045020 3 LDA VD.RE X -37552 100400 3 SPL -37553 003605 3 JMP VD.B4 /YES -37554 001001 3 VD.B53: INH FRE /FLUSH THE BUFFER THE LEADER CAME ' -37555 073505 3 0 LDX VD.IB -37556 120671 3 0 JST FLUSHI I -37557 003577 3 0 JMP VD.B13 - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 271 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV VDB -37560 005505 3 VD.B3: LDA VD.IB /SWAP RECEIVED BUFFER WITH HOST BUF[ -37561 127762 3 IMA (HISP H.N) I -37562 010000 3 STA 0 -37563 050111 3 STA BUFE X -37564 001001 3 INH FRE /RETURN HOST BUFFER TO FREE LIST -37565 120671 3 0 JST FLUSHI I -37566 073505 3 0 LDX VD.IB /SET UP HARDWARE BUFFER POINTER -37567 044111 3 0 LDA BUFE X -37570 015505 3 0 ADD VD.IB -37571 015763 3 0 ADD (DATA -37572 010052 3 0 STA VD.HIB -37573 073006 3 0 LDX VD.REP -37574 045020 3 0 LDA VD.RE X -37575 100400 3 0 SPL -37576 111757 3 0 STA (EMFH H.N) I -37577 073006 3 0 VD.B13: LDX VD.REP -37600 140040 3 0 CRA -37601 051002 3 0 STA VD.RB X /CLEAR CHANNEL -37602 005006 3 0 LDA VD.REP /SEQUENCE REP -37603 012114 3 0 ERA ONE -37604 011006 3 0 STA VD.REP - LEV VDB -37605 001001 3 VD.B4: INH SIN -37606 000013 3 0 EXA -37607 120101 3 0 JST VD.HII I RET VDB -37610 001001 3 INH ALL -37611 120672 3 0 JST DODXA I RET VDB - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 272 IMP,3050,IMP 7:20 PM 9/16/1973 - -37612 073004 3 VD.B1: LDX VD.TFP /IS NEXT SEQUENTIAL OUTPUT CHANNEL , -37613 045000 3 LDA VD.TB X -37614 100040 3 SZE -37615 003704 3 JMP VD.B2 /NO -37616 051016 3 STA VD.TE X /CLEAR LAST PACKET INDICATOR -37617 004046 3 LDA VD.IHB /IS THERE SOMETHING TO SEND FROM F'1 -37620 101040 3 SNZ -37621 003704 3 JMP VD.B2 /NO -37622 121734 3 JST (GETFRE) I LCK FRE /CAN WE HAVE A FREE BUFF T -37623 003704 3 0 JMP VD.B2 /NO -37624 000401 3 0 ENB VDB -37625 033506 3 STX VD.BB /PUT BUFFER IN OUTPUT CHANNEL -37626 027022 3 IMA VD.HOL /LEADER? -37627 100040 3 SZE -37630 003646 3 JMP VD.B6 /YES -37631 004047 3 LDA VD.IHB+1 /SAVE LENGTH -37632 016046 3 SUB VD.IHB -37633 141206 3 AOA -37634 050111 3 STA BUFE X -37635 104046 3 VD.B6N: LDA VD.IHB I /COPY A WORD -37636 050011 3 STA DATA X -37637 024000 3 IRS 0 -37640 024046 3 IRS VD.IHB -37641 004047 3 LDA VD.IHB+1 /DONE? -37642 016046 3 SUB VD.IHB -37643 101400 3 SMI -37644 003635 3 JMP VD.B6N /NO -37645 003662 3 JMP VD.B6D - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 273 IMP,3050,IMP 7:20 PM 9/16/1973 - -37646 104046 3 VD.B6: LDA VD.IHB I /COPY LEADER -37647 050011 3 STA DATA X -37650 024046 3 IRS VD.IHB -37651 104046 3 LDA VD.IHB I -37652 050012 3 STA DATA 1 X -37653 004115 3 LDA TWO /SET UP WORD COUNT -37654 050111 3 STA BUFE X -37655 004046 3 LDA VD.IHB -37656 024046 3 IRS VD.IHB -37657 016047 3 SUB VD.IHB 1 /ONLY LEADER IN MESSAGE? -37660 100040 3 SZE -37661 003676 3 JMP VD.B6K /NO -37662 140040 3 VD.B6D: CRA -37663 026475 3 IMA VD.OT /CLEAR FINAL OUT FLAG -37664 011022 3 STA VD.HOL /SET EXPECTING LEADER OR NOT -37665 100040 3 SZE -37666 004112 3 LDA SIGN /PASS LAST PACKET BIT TO OUTPUT -37667 073004 3 LDX VD.TFP -37670 051016 3 STA VD.TE X -37671 001001 3 INH SIN -37672 000013 3 0 EXA -37673 120077 3 0 JST VD.HOI I RET VDB /FAKE HOST INTERRUPT -37674 001001 3 INH SIN -37675 120672 3 0 JST DODXA I RET VDB -37676 073004 3 VD.B6K: LDX VD.TFP /FILL OUTPUT CHANNEL -37677 005506 3 LDA VD.BB -37700 051000 3 STA VD.TB X -37701 005004 3 LDA VD.TFP /SEQUENCE TFP -37702 012114 3 ERA ONE -37703 011004 3 STA VD.TFP - -37704 004036 3 VD.B2: LDA VD.OIP /OUTPUT INTERRUPT PENDING? -37705 001001 3 INH SIN -37706 000013 3 0 EXA -37707 101040 3 0 SNZ -37710 021331 3 0 JST VD.OI RET VDB /NO -- WAKE UP OUTPUT IT* -37711 001001 3 INH MSK -37712 005504 3 0 LDA VD.BM -37713 170120 3 0 SMK INTM -37714 010134 3 0 STA PRIM -37715 120672 3 0 JST DODXA I RET VDB -37716 103511 3 JMP VD.B I - - - - - *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** - *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** -PAGE 274 IMP,3050,IMP 7:20 PM 9/16/1973 - - LEV CON -37717 C ITBVDH: BSS MAXVDH -37732 004000 C CONSTANTS -37733 000200 C -37734 004372 C -37735 100010 C -37736 000101 C -37737 177765 C -37740 142374 C -37741 177762 C -37742 177750 C -37743 101000 C -37744 021663 C -37745 001005 C -37746 154000 C -37747 150000 C -37750 140000 C -37751 000111 C -37752 000010 C -37753 177770 C -37754 037330 C -37755 177774 C -37756 013140 C -37757 013314 C -37760 013400 C -37761 007453 C -37762 013334 C -37763 000011 C - VDHEND=37777 - START diff --git a/H316/tests/imp2.cmd b/H316/tests/imp2.cmd deleted file mode 100644 index 6502c13f..00000000 --- a/H316/tests/imp2.cmd +++ /dev/null @@ -1,19 +0,0 @@ -;; *** IMP NODE #2 SETUP *** - -; IMP #2 connects to IMP #2 via modem line 1 on both ends ... - -; Set the simulator configuration ... -echo Creating standard configuration for IMP #2 ... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -echo Attaching modem links ... -ATTACH MI1 4421::4431 - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imp3.cmd b/H316/tests/imp3.cmd deleted file mode 100644 index 1e4eeefe..00000000 --- a/H316/tests/imp3.cmd +++ /dev/null @@ -1,22 +0,0 @@ -;; *** IMP NODE #3 SETUP *** - -; IMP #3 connects to IMP #2 and #4 both. Modem line 1 on this end connects -; to line 1 on the IMP 2 end, and line 2 on this end connects to IMP 3 line 1. - -; Set the simulator configuration ... -echo Creating standard configuration for IMP #3 ... -do impconfig.cmd -SET IMP NUM=3 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -echo Attaching modem links ... -SET MI2 ENABLED -ATTACH MI1 4431::4421 -ATTACH MI2 4432::4441 - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imp4.cmd b/H316/tests/imp4.cmd deleted file mode 100644 index 355b7a6d..00000000 --- a/H316/tests/imp4.cmd +++ /dev/null @@ -1,20 +0,0 @@ -;; *** IMP NODE #4 SETUP *** - -; IMP #4 coneects to IMP #3 via modem line 1 on this end and modem line -; 2 on the IMP 3 end ... - -; Set the simulator configuration ... -echo Creating standard configuration for IMP #4 ... -do impconfig.cmd -SET IMP NUM=4 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -echo Attaching modem links ... -ATTACH MI1 4441::4432 - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/impcode.cmd b/H316/tests/impcode.cmd deleted file mode 100644 index af5213d3..00000000 --- a/H316/tests/impcode.cmd +++ /dev/null @@ -1,8237 +0,0 @@ -de all 000000 -de 00060 001261 -de 00061 001252 -de 00062 001017 -de 00063 025061 -de 00064 010043 -de 00065 010067 -de 00066 010113 -de 00067 010137 -de 00067 016012 -de 00070 010163 -de 00070 016020 -de 00071 012127 -de 00072 012123 -de 00073 012117 -de 00074 012113 -de 00074 013056 -de 00075 012107 -de 00075 013064 -de 00076 016034 -de 00100 013100 -de 00102 020022 -de 00103 005107 -de 00104 023033 -de 00105 003050 -de 00107 177721 -de 00110 177704 -de 00112 100000 -de 00114 000001 -de 00115 000002 -de 00116 000003 -de 00117 000004 -de 00120 000007 -de 00121 177777 -de 00122 177776 -de 00123 177775 -de 00124 177774 -de 00125 177773 -de 00126 177772 -de 00127 177773 -de 00130 000004 -de 00131 177770 -de 00132 177700 -de 00135 102104 -de 00143 177400 -de 00570 000004 -de 00574 031212 -de 00575 031304 -de 00576 031313 -de 00577 031202 -de 00600 031226 -de 00601 031236 -de 00602 031246 -de 00603 031256 -de 00604 031217 -de 00605 031160 -de 00606 031072 -de 00607 031055 -de 00610 031266 -de 00611 031276 -de 00612 031113 -de 00613 031076 -de 00622 032030 -de 00623 032040 -de 00624 032050 -de 00625 032060 -de 00626 032070 -de 00664 013210 -de 00665 003234 -de 00666 017347 -de 00667 003240 -de 00670 015371 -de 00671 005373 -de 00672 017343 -de 00677 053333 -de 00700 056155 -de 00745 022404 -de 00751 000010 -de 00752 000077 -de 00753 000100 -de 00766 016177 -de 00767 021664 -de 00775 013315 -de 00776 013141 -de 01000 003111 -de 01001 003031 -de 01002 001177 -de 01003 003021 -de 01004 003022 -de 01011 010045 -de 01012 024045 -de 01013 003012 -de 01014 024044 -de 01015 003011 -de 01016 003102 -de 01020 024133 -de 01021 140040 -de 01022 001001 -de 01023 030040 -de 01024 017560 -de 01025 041577 -de 01026 010047 -de 01027 005005 -de 01030 010046 -de 01031 005037 -de 01032 101000 -de 01033 000201 -de 01034 005561 -de 01035 000011 -de 01036 003154 -de 01037 001040 -de 01040 004047 -de 01041 101400 -de 01042 003046 -de 01043 131040 -de 01044 003043 -de 01045 007562 -de 01046 010000 -de 01047 005563 -de 01050 050032 -de 01051 015564 -de 01052 050033 -de 01053 005565 -de 01054 050020 -de 01055 005566 -de 01056 050021 -de 01057 143137 -de 01060 030071 -de 01061 003213 -de 01062 003073 -de 01063 030072 -de 01064 003213 -de 01065 003073 -de 01066 030073 -de 01067 003213 -de 01070 003073 -de 01071 030074 -de 01072 003213 -de 01073 005567 -de 01074 010044 -de 01075 010045 -de 01076 024045 -de 01077 003076 -de 01100 024044 -de 01101 003075 -de 01102 044020 -de 01103 013566 -de 01104 100040 -de 01105 003031 -de 01106 045140 -de 01107 010777 -de 01110 002777 -de 01111 031040 -de 01112 004046 -de 01113 011005 -de 01114 073570 -de 01115 044104 -de 01116 111571 -de 01117 024000 -de 01120 003115 -de 01121 005127 -de 01122 000201 -de 01123 005572 -de 01124 070042 -de 01125 005573 -de 01126 003154 -de 01127 001130 -de 01130 073570 -de 01131 105571 -de 01132 050104 -de 01133 024000 -de 01134 003131 -de 01135 024133 -de 01136 103574 -de 01137 001060 -de 01140 070471 -de 01141 001063 -de 01142 070472 -de 01143 001066 -de 01144 070473 -de 01145 001071 -de 01146 070474 -de 01147 040001 -de 01150 100001 -de 01153 040001 -de 01154 170120 -de 01155 073575 -de 01156 005002 -de 01157 050104 -de 01160 024000 -de 01161 003157 -de 01162 073576 -de 01163 030171 -de 01164 030172 -de 01165 030173 -de 01166 030174 -de 01167 030175 -de 01170 030470 -de 01171 030460 -de 01172 030450 -de 01173 030451 -de 01174 024000 -de 01175 003163 -de 01176 021177 -de 01200 000011 -de 01201 003202 -de 01202 000401 -de 01203 073577 -de 01204 024000 -de 01205 003204 -de 01206 000201 -de 01207 026000 -de 01210 170120 -de 01211 001001 -de 01212 042000 -de 01213 005600 -de 01214 010044 -de 01215 010045 -de 01216 024045 -de 01217 003216 -de 01220 024044 -de 01221 003215 -de 01222 043223 -de 01223 030471 -de 01224 003073 -de 01225 030472 -de 01226 003073 -de 01227 030473 -de 01230 003073 -de 01231 030474 -de 01232 003073 -de 01233 000001 -de 01234 000002 -de 01235 000004 -de 01236 000010 -de 01237 000020 -de 01240 000040 -de 01241 000100 -de 01242 000200 -de 01243 000400 -de 01244 001000 -de 01245 002000 -de 01246 000010 -de 01247 000004 -de 01250 000002 -de 01251 000001 -de 01253 001001 -de 01254 111601 -de 01255 133602 -de 01256 005252 -de 01257 111603 -de 01260 120062 -de 01262 030026 -de 01263 140040 -de 01264 010324 -de 01265 005604 -de 01266 010133 -de 01267 005273 -de 01270 010517 -de 01271 073274 -de 01272 002324 -de 01273 002000 -de 01274 102517 -de 01275 001001 -de 01276 000013 -de 01277 030451 -de 01300 030551 -de 01301 030251 -de 01302 000201 -de 01303 073605 -de 01304 044200 -de 01305 051551 -de 01306 024000 -de 01307 003304 -de 01310 024000 -de 01311 003310 -de 01312 000201 -de 01313 041577 -de 01314 010000 -de 01315 131041 -de 01316 003315 -de 01317 013606 -de 01320 101040 -de 01321 010000 -de 01322 005607 -de 01323 010075 -de 01324 005610 -de 01325 010077 -de 01326 004000 -de 01327 100040 -de 01330 005611 -de 01331 015612 -de 01332 050030 -de 01333 005613 -de 01334 050031 -de 01335 005610 -de 01336 010076 -de 01337 140407 -de 01340 010074 -de 01341 004077 -de 01342 100040 -de 01343 003347 -de 01344 024077 -de 01345 024076 -de 01346 024074 -de 01347 104077 -de 01350 110076 -de 01351 024077 -de 01352 024076 -de 01353 024074 -de 01354 003347 -de 01355 043356 -de 01356 030251 -de 01357 003371 -de 01360 030071 -de 01361 003371 -de 01362 030072 -de 01363 003371 -de 01364 030073 -de 01365 003371 -de 01366 030074 -de 01367 003371 -de 01370 030075 -de 01371 004077 -de 01372 013610 -de 01373 101040 -de 01374 003426 -de 01375 005614 -de 01376 010074 -de 01377 024074 -de 01400 003377 -de 01401 030026 -de 01402 004077 -de 01403 017615 -de 01404 100400 -de 01405 003326 -de 01406 104077 -de 01407 140401 -de 01410 126077 -de 01411 122077 -de 01412 100000 -de 01413 003416 -de 01414 110077 -de 01415 003326 -de 01416 140040 -de 01417 026077 -de 01420 010100 -de 01421 131041 -de 01422 003421 -de 01423 012100 -de 01424 010100 -de 01425 003326 -de 01426 073616 -de 01427 045451 -de 01430 050200 -de 01431 024000 -de 01432 003427 -de 01433 024000 -de 01434 003433 -de 01435 073605 -de 01436 045551 -de 01437 050200 -de 01440 024000 -de 01441 003436 -de 01442 030026 -de 01444 003442 -de 01445 054115 -de 01446 054114 -de 01447 054113 -de 01450 054112 -de 01451 054111 -de 01452 054110 -de 01453 054107 -de 01454 054106 -de 01455 054105 -de 01456 054104 -de 01457 054103 -de 01460 054102 -de 01461 054101 -de 01462 054100 -de 01463 054077 -de 01464 054076 -de 01465 054075 -de 01466 054074 -de 01467 054073 -de 01470 054072 -de 01471 054071 -de 01472 054070 -de 01473 054067 -de 01474 054066 -de 01475 054065 -de 01476 054064 -de 01477 054063 -de 01500 054062 -de 01501 054061 -de 01502 054060 -de 01503 054057 -de 01504 054056 -de 01505 054055 -de 01506 054054 -de 01507 054053 -de 01510 054052 -de 01511 054051 -de 01512 054050 -de 01513 054047 -de 01514 054046 -de 01515 054045 -de 01516 054044 -de 01517 054043 -de 01520 054042 -de 01521 054041 -de 01522 054040 -de 01523 054037 -de 01524 054036 -de 01525 054035 -de 01526 054034 -de 01527 054033 -de 01530 054032 -de 01531 054031 -de 01532 054030 -de 01533 054027 -de 01534 054026 -de 01535 054025 -de 01536 054024 -de 01537 054023 -de 01540 054022 -de 01541 054021 -de 01542 054020 -de 01543 054017 -de 01544 054016 -de 01545 054015 -de 01546 054014 -de 01547 054013 -de 01550 054012 -de 01551 054011 -de 01552 054010 -de 01553 054007 -de 01554 054006 -de 01555 054005 -de 01556 054004 -de 01557 102111 -de 01560 000001 -de 01561 177755 -de 01562 000006 -de 01563 001147 -de 01564 000004 -de 01565 100060 -de 01566 133000 -de 01567 172110 -de 01570 177752 -de 01571 070000 -de 01572 177757 -de 01573 177777 -de 01574 002000 -de 01575 177760 -de 01576 177776 -de 01600 176753 -de 01601 037775 -de 01602 037776 -de 01603 037774 -de 01604 000003 -de 01605 177674 -de 01606 000005 -de 01607 000011 -de 01610 000100 -de 01611 000002 -de 01612 000074 -de 01613 000177 -de 01614 100000 -de 01615 030000 -de 01616 177774 -de 02000 120672 -de 02001 001001 -de 02002 140040 -de 02003 170120 -de 02004 010134 -de 02005 026133 -de 02006 141206 -de 02007 111465 -de 02010 022114 -de 02011 022116 -de 02012 003202 -de 02013 101000 -de 02014 140040 -de 02015 010145 -de 02016 010136 -de 02017 010765 -de 02020 073466 -de 02021 045346 -de 02022 070042 -de 02023 045316 -de 02024 151266 -de 02025 024000 -de 02026 003021 -de 02027 073467 -de 02030 045361 -de 02031 151374 -de 02032 024000 -de 02033 003030 -de 02034 073470 -de 02035 045221 -de 02036 011212 -de 02037 045226 -de 02040 011213 -de 02041 140040 -de 02042 111212 -de 02043 025212 -de 02044 025213 -de 02045 003042 -de 02046 024000 -de 02047 003035 -de 02050 010144 -de 02051 131041 -de 02052 003051 -de 02053 010106 -de 02054 005471 -de 02055 111472 -de 02056 073473 -de 02057 005474 -de 02060 050414 -de 02061 141206 -de 02062 024000 -de 02063 003060 -de 02064 005475 -de 02065 010324 -de 02066 105476 -de 02067 006115 -de 02070 100040 -de 02071 004116 -de 02072 111477 -de 02073 105476 -de 02074 006114 -de 02075 010000 -de 02076 101040 -de 02077 010144 -de 02100 100040 -de 02101 005500 -de 02102 111501 -de 02103 045405 -de 02104 011445 -de 02105 045407 -de 02106 011446 -de 02107 004115 -de 02110 011212 -de 02111 073502 -de 02112 045447 -de 02113 040167 -de 02114 011213 -de 02115 005212 -de 02116 025212 -de 02117 041167 -de 02120 003126 -de 02121 024537 -de 02122 026324 -de 02123 110324 -de 02124 004324 -de 02125 015503 -de 02126 025213 -de 02127 003121 -de 02130 024000 -de 02131 003112 -de 02132 005504 -de 02133 010571 -de 02134 010573 -de 02135 140407 -de 02136 014537 -de 02137 014751 -de 02140 040575 -de 02141 041575 -de 02142 014115 -de 02143 010572 -de 02144 072122 -de 02145 045230 -de 02146 011212 -de 02147 045232 -de 02150 151234 -de 02151 011213 -de 02152 055236 -de 02153 111213 -de 02154 011213 -de 02155 025212 -de 02156 003152 -de 02157 140040 -de 02160 111213 -de 02161 024000 -de 02162 003145 -de 02163 004132 -de 02164 011212 -de 02165 072113 -de 02166 021374 -de 02167 024000 -de 02170 025212 -de 02171 003166 -de 02172 005505 -de 02173 111506 -de 02174 073507 -de 02175 045465 -de 02176 111510 -de 02177 024000 -de 02200 003175 -de 02201 103511 -de 02202 004567 -de 02203 010144 -de 02204 004145 -de 02205 140100 -de 02206 010145 -de 02207 004136 -de 02210 140100 -de 02211 003016 -de 02214 000160 -de 02215 032030 -de 02216 032030 -de 02217 030434 -de 02220 100063 -de 02221 177370 -de 02222 177730 -de 02223 176201 -de 02224 177740 -de 02225 177760 -de 02226 177771 -de 02227 177771 -de 02230 033317 -de 02231 032131 -de 02232 000326 -de 02233 000325 -de 02234 000014 -de 02235 000013 -de 02236 003070 -de 02237 003071 -de 02240 003072 -de 02241 003073 -de 02242 003321 -de 02243 004366 -de 02244 010264 -de 02245 012615 -de 02246 000101 -de 02247 013150 -de 02250 013151 -de 02251 013160 -de 02252 013161 -de 02253 013172 -de 02254 013202 -de 02255 013275 -de 02256 013305 -de 02257 000077 -de 02260 016126 -de 02261 016137 -de 02262 016147 -de 02263 017060 -de 02264 020543 -de 02265 021664 -de 02266 177660 -de 02267 177460 -de 02270 173600 -de 02271 163400 -de 02272 003334 -de 02273 100040 -de 02274 010303 -de 02275 012156 -de 02276 013072 -de 02277 000052 -de 02300 000056 -de 02301 000053 -de 02302 000057 -de 02303 070050 -de 02304 030150 -de 02305 013353 -de 02306 070250 -de 02307 016026 -de 02310 030250 -de 02311 000054 -de 02312 000055 -de 02313 030050 -de 02314 120464 -de 02315 070150 -de 02316 177664 -de 02317 177464 -de 02320 173624 -de 02321 163424 -de 02322 004136 -de 02323 100040 -de 02324 010303 -de 02325 012156 -de 02326 025061 -de 02327 000001 -de 02330 000772 -de 02331 000001 -de 02332 000773 -de 02333 101000 -de 02334 003531 -de 02335 013416 -de 02336 100000 -de 02337 025061 -de 02340 101000 -de 02341 000770 -de 02342 000771 -de 02343 101000 -de 02344 120464 -de 02345 101000 -de 02346 101000 -de 02347 101000 -de 02350 070160 -de 02351 030260 -de 02352 030060 -de 02353 070060 -de 02354 030160 -de 02355 070260 -de 02356 030560 -de 02357 010113 -de 02360 012117 -de 02361 000001 -de 02361 003366 -de 02362 000001 -de 02362 021126 -de 02363 000001 -de 02363 021663 -de 02364 000001 -de 02364 016125 -de 02365 000001 -de 02365 017057 -de 02366 000001 -de 02366 013171 -de 02367 000001 -de 02367 013201 -de 02370 000001 -de 02370 013304 -de 02371 000001 -de 02371 016317 -de 02372 000001 -de 02372 000066 -de 02373 000001 -de 02373 000073 -de 02375 005512 -de 02376 111513 -de 02377 005514 -de 02400 111515 -de 02401 140040 -de 02402 111516 -de 02403 111517 -de 02404 103374 -de 02405 170067 -de 02406 171067 -de 02407 172075 -de 02410 177777 -de 02411 174524 -de 02412 175637 -de 02413 175663 -de 02414 176744 -de 02415 176751 -de 02416 173373 -de 02417 175655 -de 02420 173433 -de 02421 176744 -de 02422 175557 -de 02423 176721 -de 02424 175566 -de 02425 175632 -de 02426 174464 -de 02427 175651 -de 02430 176745 -de 02431 175607 -de 02432 176700 -de 02433 174523 -de 02434 174532 -de 02435 175666 -de 02436 172274 -de 02437 175631 -de 02440 177030 -de 02441 176671 -de 02442 175627 -de 02443 170053 -de 02444 170061 -de 02445 170067 -de 02446 170075 -de 02447 025117 -de 02450 023066 -de 02451 030477 -de 02452 030056 -de 02453 025310 -de 02454 024012 -de 02455 030414 -de 02456 030474 -de 02457 004101 -de 02460 004206 -de 02461 004302 -de 02462 004347 -de 02463 004356 -de 02464 004365 -de 02465 003560 -de 02466 177750 -de 02467 177765 -de 02470 177773 -de 02471 003452 -de 02472 003450 -de 02473 177727 -de 02474 000272 -de 02475 000113 -de 02476 001005 -de 02477 005153 -de 02500 177775 -de 02501 020544 -de 02502 177742 -de 02503 000112 -de 02504 000024 -de 02505 032261 -de 02506 015155 -de 02507 177762 -de 02510 043433 -de 02511 003074 -de 02512 177477 -de 02513 072271 -de 02514 001400 -de 02515 072371 -de 02516 072471 -de 02517 072571 -de 03063 010047 -de 03064 010073 -de 03065 010117 -de 03066 010143 -de 03067 010167 -de 03074 105561 -de 03075 006124 -de 03076 072132 -de 03077 100040 -de 03100 073072 -de 03101 100400 -de 03102 073073 -de 03103 032500 -de 03104 073562 -de 03105 100040 -de 03106 073070 -de 03107 100400 -de 03110 073071 -de 03111 032501 -de 03112 073563 -de 03113 100040 -de 03114 073564 -de 03115 100400 -de 03116 073565 -de 03117 032502 -de 03120 072113 -de 03121 100040 -de 03122 072121 -de 03123 100400 -de 03124 072122 -de 03125 133566 -de 03126 073567 -de 03127 100040 -de 03130 073570 -de 03131 032070 -de 03132 073571 -de 03133 100400 -de 03134 073572 -de 03135 032067 -de 03136 073573 -de 03137 100040 -de 03140 073574 -de 03141 032075 -de 03142 073575 -de 03143 100400 -de 03144 073576 -de 03145 032074 -de 03146 121577 -de 03147 121600 -de 03150 131040 -de 03151 003150 -de 03152 101400 -de 03153 003150 -de 03154 121601 -de 03155 073602 -de 03156 005603 -de 03157 050032 -de 03160 024000 -de 03161 003157 -de 03162 005604 -de 03163 011174 -de 03164 072127 -de 03165 005605 -de 03166 151070 -de 03167 105606 -de 03170 016000 -de 03171 100040 -de 03172 117607 -de 03173 100040 -de 03175 025174 -de 03176 024000 -de 03177 003165 -de 03200 004131 -de 03201 011062 -de 03202 004117 -de 03203 050504 -de 03204 121610 -de 03205 121611 -de 03206 024000 -de 03207 025062 -de 03210 003202 -de 03211 004121 -de 03212 010137 -de 03213 010140 -de 03214 010134 -de 03215 170120 -de 03216 000401 -de 03217 131040 -de 03220 003217 -de 03221 100400 -de 03222 003217 -de 03223 005612 -de 03224 111613 -de 03225 005614 -de 03226 011410 -de 03227 005410 -de 03230 017614 -de 03231 010000 -de 03232 011412 -de 03233 143415 -de 03235 005234 -de 03236 051415 -de 03237 143421 -de 03241 005240 -de 03242 051421 -de 03243 000401 -de 03244 025410 -de 03245 003227 -de 03246 005615 -de 03247 011410 -de 03250 072113 -de 03251 133616 -de 03252 072114 -de 03253 001001 -de 03254 143260 -de 03255 021262 -de 03256 173616 -de 03257 143425 -de 03260 003254 -de 03261 003256 -de 03263 120745 -de 03264 000011 -de 03265 103262 -de 03267 000401 -de 03270 173616 -de 03271 005266 -de 03272 051425 -de 03273 024000 -de 03274 025410 -de 03275 003251 -de 03276 140040 -de 03277 100004 -de 03300 010137 -de 03301 004137 -de 03302 100400 -de 03303 004140 -de 03304 101400 -de 03305 021446 -de 03306 004415 -de 03307 027413 -de 03310 013413 -de 03311 100040 -de 03312 003316 -de 03313 025414 -de 03314 003320 -de 03315 120061 -de 03316 005617 -de 03317 011414 -de 03320 000401 -de 03322 101040 -de 03323 003331 -de 03324 000013 -de 03325 121620 -de 03326 001001 -de 03327 120672 -de 03330 003334 -de 03331 004063 -de 03332 010101 -de 03333 010077 -de 03334 073621 -de 03335 145446 -de 03336 100040 -de 03337 140500 -de 03340 041277 -de 03341 024000 -de 03342 003335 -de 03343 140040 -de 03344 040267 -de 03345 012452 -de 03346 011434 -de 03347 001001 -de 03350 000013 -de 03351 105433 -de 03352 120672 -de 03353 100020 -de 03354 004121 -de 03355 170026 -de 03356 101000 -de 03357 000201 -de 03360 025411 -de 03361 101000 -de 03362 140040 -de 03363 026144 -de 03364 100040 -de 03365 121622 -de 03366 101000 -de 03367 004172 -de 03370 101400 -de 03371 003223 -de 03372 072132 -de 03373 044265 -de 03374 101400 -de 03375 101040 -de 03376 003403 -de 03377 004000 -de 03400 016132 -de 03401 013623 -de 03402 003224 -de 03403 024000 -de 03404 003373 -de 03405 004106 -de 03406 003401 -de 03407 037511 -de 03433 003434 -de 03435 000433 -de 03436 000434 -de 03437 000435 -de 03440 000436 -de 03441 000504 -de 03442 000505 -de 03443 000506 -de 03444 000507 -de 03445 000765 -de 03447 103450 -de 03451 103446 -de 03452 004137 -de 03453 006120 -de 03454 041675 -de 03455 012140 -de 03456 007624 -de 03457 012140 -de 03460 012752 -de 03461 041675 -de 03462 101004 -de 03463 011560 -de 03464 140040 -de 03465 021525 -de 03466 000401 -de 03467 021543 -de 03470 004117 -de 03471 010504 -de 03472 010505 -de 03473 010506 -de 03474 010507 -de 03475 021543 -de 03476 004121 -de 03477 010573 -de 03500 021543 -de 03501 004127 -de 03502 011556 -de 03503 072113 -de 03504 001001 -de 03505 121625 -de 03506 024000 -de 03507 025556 -de 03510 003505 -de 03511 000401 -de 03512 021543 -de 03513 021543 -de 03514 004140 -de 03515 101400 -de 03516 103626 -de 03517 004137 -de 03520 101004 -de 03521 103627 -de 03522 030026 -de 03524 003522 -de 03526 001001 -de 03527 010515 -de 03530 004131 -de 03531 011556 -de 03532 005556 -de 03533 016131 -de 03534 010000 -de 03535 005630 -de 03536 120670 -de 03537 101000 -de 03540 025556 -de 03541 003532 -de 03542 103525 -de 03544 030026 -de 03545 004415 -de 03546 011557 -de 03547 021450 -de 03550 004415 -de 03551 017557 -de 03552 141044 -de 03553 101040 -de 03554 003547 -de 03555 103543 -de 03561 001005 -de 03562 177760 -de 03563 174000 -de 03564 170000 -de 03565 160000 -de 03566 020545 -de 03567 010163 -de 03570 016020 -de 03571 010137 -de 03572 016012 -de 03573 012107 -de 03574 013064 -de 03575 012113 -de 03576 013056 -de 03577 026070 -de 03600 020075 -de 03601 022320 -de 03602 177766 -de 03603 100001 -de 03604 030471 -de 03605 003207 -de 03606 020544 -de 03607 005153 -de 03610 016217 -de 03611 013256 -de 03612 000005 -de 03613 030456 -de 03614 177774 -de 03615 177772 -de 03616 004420 -de 03617 154360 -de 03620 040001 -de 03621 177767 -de 03622 037025 -de 03623 040300 -de 03624 177770 -de 03625 011133 -de 03626 002000 -de 03627 001022 -de 03630 001000 -de 04063 140040 -de 04064 011157 -de 04065 121417 -de 04066 021372 -de 04067 003065 -de 04070 005155 -de 04071 007603 -de 04072 050006 -de 04073 013155 -de 04074 013157 -de 04075 013160 -de 04076 050005 -de 04077 021435 -de 04100 121417 -de 04101 021473 -de 04102 003100 -de 04103 100000 -de 04104 003100 -de 04105 011155 -de 04106 007604 -de 04107 013604 -de 04110 101040 -de 04111 003063 -de 04112 005155 -de 04113 007605 -de 04114 100040 -de 04115 005606 -de 04116 014751 -de 04117 011157 -de 04120 004415 -de 04121 011156 -de 04122 121417 -de 04123 004415 -de 04124 017156 -de 04125 017607 -de 04126 100400 -de 04127 003134 -de 04130 005155 -de 04131 007610 -de 04132 100040 -de 04133 003063 -de 04134 001001 -de 04135 004542 -de 04136 016566 -de 04137 014541 -de 04140 016565 -de 04141 015157 -de 04142 022572 -de 04143 003122 -de 04144 003122 -de 04145 005611 -de 04146 027157 -de 04147 014542 -de 04150 010542 -de 04151 004107 -de 04152 041576 -de 04153 011161 -de 04154 003066 -de 04162 121612 -de 04163 003257 -de 04164 044111 -de 04165 140100 -de 04166 011262 -de 04167 044010 -de 04170 007613 -de 04171 013614 -de 04172 066010 -de 04173 056010 -de 04174 115262 -de 04175 111262 -de 04176 005605 -de 04177 073430 -de 04200 052005 -de 04201 050005 -de 04202 021435 -de 04203 005261 -de 04204 141206 -de 04205 023615 -de 04206 005615 -de 04207 014132 -de 04210 011261 -de 04211 121417 -de 04212 001001 -de 04213 105261 -de 04214 007604 -de 04215 013604 -de 04216 100040 -de 04217 003203 -de 04220 011262 -de 04221 021372 -de 04222 003211 -de 04223 033430 -de 04224 005261 -de 04225 017616 -de 04226 050006 -de 04227 105261 -de 04230 007617 -de 04231 111261 -de 04232 025262 -de 04233 040677 -de 04234 100400 -de 04235 003232 -de 04236 005262 -de 04237 141240 -de 04240 115261 -de 04241 141044 -de 04242 015620 -de 04243 050005 -de 04244 141044 -de 04245 052006 -de 04246 121621 -de 04247 003162 -de 04250 044030 -de 04251 007613 -de 04252 013614 -de 04253 050030 -de 04254 044000 -de 04255 007610 -de 04256 003177 -de 04257 005622 -de 04260 003177 -de 04263 121417 -de 04264 021372 -de 04265 003263 -de 04266 033431 -de 04267 121417 -de 04270 073431 -de 04271 005314 -de 04272 050006 -de 04273 001001 -de 04274 121623 -de 04275 003267 -de 04276 013622 -de 04277 050005 -de 04300 021435 -de 04301 121417 -de 04302 001001 -de 04303 004126 -de 04304 115624 -de 04305 100400 -de 04306 003301 -de 04307 105625 -de 04310 121626 -de 04311 003301 -de 04312 011314 -de 04313 003264 -de 04315 121417 -de 04316 173353 -de 04317 044111 -de 04320 100400 -de 04321 003315 -de 04322 011354 -de 04323 140500 -de 04324 050111 -de 04325 044005 -de 04326 007627 -de 04327 050005 -de 04330 105353 -de 04331 140100 -de 04332 111353 -de 04333 105354 -de 04334 015610 -de 04335 111354 -de 04336 140040 -de 04337 021435 -de 04340 121417 -de 04341 105353 -de 04342 100400 -de 04343 003315 -de 04344 005353 -de 04345 141206 -de 04346 023630 -de 04347 005630 -de 04350 017631 -de 04351 011353 -de 04352 003340 -de 04355 121417 -de 04356 073632 -de 04357 001001 -de 04360 121633 -de 04361 003355 -de 04362 140040 -de 04363 021435 -de 04364 003355 -de 04365 004145 -de 04367 121634 -de 04370 121417 -de 04371 003365 -de 04373 001001 -de 04374 004537 -de 04375 016563 -de 04376 016570 -de 04377 100400 -de 04400 103372 -de 04401 104324 -de 04402 101040 -de 04403 103372 -de 04404 026324 -de 04405 010000 -de 04406 024563 -de 04407 014751 -de 04410 050111 -de 04411 004106 -de 04412 050007 -de 04413 140040 -de 04414 050000 -de 04415 025372 -de 04416 103372 -de 04417 003266 -de 04436 101040 -de 04437 003446 -de 04440 004117 -de 04441 056004 -de 04442 056005 -de 04443 056006 -de 04444 056007 -de 04445 050010 -de 04446 005420 -de 04447 015635 -de 04450 050003 -de 04451 004000 -de 04452 073420 -de 04453 140100 -de 04454 051427 -de 04455 005435 -de 04456 051421 -de 04457 045427 -de 04460 001001 -de 04461 110401 -de 04462 010401 -de 04463 030041 -de 04464 121417 -de 04465 140040 -de 04466 066463 -de 04467 101100 -de 04470 143421 -de 04471 121417 -de 04472 003457 -de 04474 140040 -de 04475 026477 -de 04476 101040 -de 04477 103473 -de 04500 140040 -de 04501 011600 -de 04502 005636 -de 04503 011602 -de 04504 073601 -de 04505 105637 -de 04506 101040 -de 04507 003565 -de 04510 025600 -de 04511 105640 -de 04512 141140 -de 04513 006116 -de 04514 041576 -de 04515 140407 -de 04516 015641 -de 04517 011523 -de 04520 013642 -de 04521 011534 -de 04522 005643 -de 04524 001001 -de 04525 107637 -de 04526 101040 -de 04527 003565 -de 04530 113637 -de 04531 127637 -de 04532 113637 -de 04533 000401 -de 04535 023644 -de 04536 025473 -de 04537 101000 -de 04540 011160 -de 04541 007631 -de 04542 027160 -de 04543 006116 -de 04544 012115 -de 04545 101040 -de 04546 011602 -de 04547 012115 -de 04550 041672 -de 04551 113640 -de 04552 014000 -de 04553 016132 -de 04554 127640 -de 04555 015602 -de 04556 127640 -de 04557 024000 -de 04560 100000 -de 04561 072132 -de 04562 033601 -de 04563 025473 -de 04564 003576 -de 04565 000401 -de 04566 024000 -de 04567 003505 -de 04570 004132 -de 04571 027601 -de 04572 013601 -de 04573 101040 -de 04574 005600 -de 04575 100040 -de 04576 010477 -de 04577 103473 -de 04603 000077 -de 04604 000300 -de 04605 000200 -de 04606 177771 -de 04607 000050 -de 04610 000100 -de 04611 000002 -de 04612 015033 -de 04613 177770 -de 04614 000003 -de 04615 032371 -de 04616 032271 -de 04617 177477 -de 04620 176014 -de 04621 015205 -de 04622 000202 -de 04623 015161 -de 04624 020210 -de 04625 032261 -de 04626 015114 -de 04627 177677 -de 04630 033467 -de 04631 000010 -de 04632 000331 -de 04633 015504 -de 04634 037700 -de 04635 100010 -de 04636 000400 -de 04637 072671 -de 04640 072571 -de 04641 041700 -de 04642 001000 -de 04643 000017 -de 04644 000013 -de 05110 000011 -de 05111 003112 -de 05112 011140 -de 05113 033141 -de 05114 000043 -de 05115 011142 -de 05116 004122 -de 05117 170120 -de 05120 010134 -de 05121 000401 -de 05122 004330 -de 05123 001001 -de 05124 100040 -de 05125 003161 -de 05126 140401 -de 05127 010134 -de 05130 170120 -de 05131 073141 -de 05132 000013 -de 05133 005142 -de 05134 171020 -de 05135 005140 -de 05136 000401 -de 05137 103107 -de 05154 005710 -de 05155 010401 -de 05156 003171 -de 05157 105151 -de 05160 003215 -de 05161 010000 -de 05162 010514 -de 05163 140040 -de 05164 050002 -de 05165 066000 -de 05166 010330 -de 05167 101040 -de 05170 003154 -de 05171 000401 -de 05172 044003 -de 05173 011143 -de 05174 100400 -de 05175 003220 -de 05176 015711 -de 05177 011151 -de 05200 044005 -de 05201 100100 -de 05202 003407 -de 05203 044004 -de 05204 141340 -de 05205 006120 -de 05206 015712 -de 05207 011144 -de 05210 044004 -de 05211 100400 -de 05212 003157 -de 05213 105151 -de 05214 140401 -de 05215 107144 -de 05216 100040 -de 05217 003642 -de 05220 044006 -de 05221 007713 -de 05222 010000 -de 05223 044165 -de 05224 101040 -de 05225 103714 -de 05226 100400 -de 05227 003601 -de 05230 007715 -de 05231 016114 -de 05232 010000 -de 05233 044433 -de 05234 100040 -de 05235 003637 -de 05236 001001 -de 05237 004540 -de 05240 016564 -de 05241 141206 -de 05242 022573 -de 05243 003637 -de 05244 003637 -de 05245 004537 -de 05246 016563 -de 05247 016542 -de 05250 014566 -de 05251 016570 -de 05252 100400 -de 05253 003637 -de 05254 044653 -de 05255 140407 -de 05256 046653 -de 05257 101040 -de 05260 003637 -de 05261 011147 -de 05262 052653 -de 05263 050653 -de 05264 000401 -de 05265 033145 -de 05266 005147 -de 05267 022116 -de 05270 040575 -de 05271 100000 -de 05272 003277 -de 05273 022116 -de 05274 040575 -de 05275 014116 -de 05276 014116 -de 05277 016114 -de 05300 011150 -de 05301 054622 -de 05302 011146 -de 05303 005147 -de 05304 111146 -de 05305 046641 -de 05306 100040 -de 05307 005716 -de 05310 013150 -de 05311 141240 -de 05312 072514 -de 05313 011147 -de 05314 044111 -de 05315 140100 -de 05316 027147 -de 05317 066004 -de 05320 056004 -de 05321 115147 -de 05322 111147 -de 05323 044007 -de 05324 007717 -de 05325 073145 -de 05326 113720 -de 05327 072514 -de 05330 066007 -de 05331 056007 -de 05332 115147 -de 05333 111147 -de 05334 044006 -de 05335 007721 -de 05336 100040 -de 05337 021504 -de 05340 005146 -de 05341 050003 -de 05342 044005 -de 05343 007722 -de 05344 001001 -de 05345 101040 -de 05346 003357 -de 05347 044006 -de 05350 100400 -de 05351 003357 -de 05352 004514 -de 05353 073145 -de 05354 150363 -de 05355 050363 -de 05356 003363 -de 05357 004514 -de 05360 073145 -de 05361 150370 -de 05362 050370 -de 05363 024540 -de 05364 044440 -de 05365 100040 -de 05366 003604 -de 05367 121723 -de 05370 001001 -de 05371 000011 -de 05372 003604 -de 05374 044111 -de 05375 100400 -de 05376 003404 -de 05377 004324 -de 05400 050000 -de 05401 032324 -de 05402 024537 -de 05403 103373 -de 05404 140100 -de 05405 050111 -de 05406 103373 -de 05407 073143 -de 05410 040677 -de 05411 100100 -de 05412 003446 -de 05413 041677 -de 05414 141140 -de 05415 066160 -de 05416 100040 -de 05417 052160 -de 05420 100040 -de 05421 003452 -de 05422 065565 -de 05423 101000 -de 05424 044160 -de 05425 016106 -de 05426 100040 -de 05427 003433 -de 05430 004114 -de 05431 010452 -de 05432 003642 -de 05433 001001 -de 05434 004124 -de 05435 170120 -de 05436 010134 -de 05437 140040 -de 05440 000401 -de 05441 121724 -de 05442 072514 -de 05443 001001 -de 05444 021373 -de 05445 003116 -de 05446 040675 -de 05447 100100 -de 05450 064426 -de 05451 003642 -de 05452 001001 -de 05453 011576 -de 05454 121725 -de 05455 005576 -de 05456 021635 -de 05460 011152 -de 05461 044006 -de 05462 007726 -de 05463 066007 -de 05464 007726 -de 05465 013152 -de 05466 050006 -de 05467 044111 -de 05470 006112 -de 05471 014000 -de 05472 015727 -de 05473 050111 -de 05474 005730 -de 05475 056004 -de 05476 056005 -de 05477 056006 -de 05500 056007 -de 05501 056010 -de 05502 050011 -de 05503 103457 -de 05505 004416 -de 05506 016107 -de 05507 050003 -de 05510 044006 -de 05511 007721 -de 05512 100040 -de 05513 105731 -de 05514 101040 -de 05515 103504 -de 05516 004325 -de 05517 100040 -de 05520 003524 -de 05521 141206 -de 05522 010414 -de 05523 103504 -de 05524 033572 -de 05525 011573 -de 05526 050002 -de 05527 026341 -de 05530 127573 -de 05531 010325 -de 05532 004341 -de 05533 015732 -de 05534 011574 -de 05535 005572 -de 05536 015732 -de 05537 011575 -de 05540 072124 -de 05541 105575 -de 05542 111574 -de 05543 024000 -de 05544 003541 -de 05545 073572 -de 05546 044001 -de 05547 073573 -de 05550 050001 -de 05551 073572 -de 05552 044111 -de 05553 140100 -de 05554 016000 -de 05555 016117 -de 05556 073573 -de 05557 050012 -de 05560 131040 -de 05561 003560 -de 05562 050002 -de 05563 073572 -de 05564 103504 -de 05600 120745 -de 05601 072514 -de 05602 001001 -de 05603 021373 -de 05604 005143 -de 05605 100400 -de 05606 003622 -de 05607 010000 -de 05610 105144 -de 05611 050445 -de 05612 052646 -de 05613 050646 -de 05614 044440 -de 05615 101040 -de 05616 121723 -de 05617 001001 -de 05620 000011 -de 05621 003121 -de 05622 140100 -de 05623 010000 -de 05624 064453 -de 05625 064453 -de 05626 014131 -de 05627 000013 -de 05630 100400 -de 05631 121733 -de 05632 001001 -de 05633 000011 -de 05634 003121 -de 05636 120745 -de 05637 005143 -de 05640 100400 -de 05641 003646 -de 05642 072514 -de 05643 001001 -de 05644 021373 -de 05645 003121 -de 05646 010000 -de 05647 064453 -de 05650 003121 -de 05651 004326 -de 05652 101040 -de 05653 121734 -de 05654 004751 -de 05655 014541 -de 05656 016565 -de 05657 022572 -de 05660 101000 -de 05661 121734 -de 05662 004537 -de 05663 016563 -de 05664 016751 -de 05665 016570 -de 05666 100400 -de 05667 121734 -de 05670 104326 -de 05671 026326 -de 05672 010000 -de 05673 026340 -de 05674 050000 -de 05675 004751 -de 05676 014541 -de 05677 010541 -de 05700 004751 -de 05701 014566 -de 05702 010566 -de 05703 004112 -de 05704 050002 -de 05705 105735 -de 05706 050001 -de 05707 103736 -de 05710 000330 -de 05711 000646 -de 05712 001233 -de 05713 000077 -de 05714 006056 -de 05715 000037 -de 05716 000200 -de 05717 176777 -de 05720 050254 -de 05721 020000 -de 05722 000004 -de 05723 012604 -de 05724 026120 -de 05725 011133 -de 05726 050377 -de 05727 000011 -de 05730 000005 -de 05731 030434 -de 05732 040011 -de 05733 013106 -de 05734 005635 -de 05735 006664 -de 05736 006313 -de 06056 072514 -de 06057 044007 -de 06060 007674 -de 06061 011673 -de 06062 044005 -de 06063 141044 -de 06064 011661 -de 06065 013673 -de 06066 011664 -de 06067 044005 -de 06070 007675 -de 06071 100040 -de 06072 005676 -de 06073 013677 -de 06074 015673 -de 06075 011660 -de 06076 001001 -de 06077 105660 -de 06100 141044 -de 06101 017661 -de 06102 100400 -de 06103 003375 -de 06104 141140 -de 06105 022116 -de 06106 003375 -de 06107 101000 -de 06110 015700 -de 06111 011662 -de 06112 044005 -de 06113 007701 -de 06114 013701 -de 06115 101040 -de 06116 003431 -de 06117 105662 -de 06120 107660 -de 06121 000401 -de 06122 100040 -de 06123 103702 -de 06124 044005 -de 06125 007675 -de 06126 101040 -de 06127 103703 -de 06130 073673 -de 06131 001001 -de 06132 044165 -de 06133 100400 -de 06134 121704 -de 06135 007705 -de 06136 050165 -de 06137 072514 -de 06140 044005 -de 06141 007706 -de 06142 100040 -de 06143 003447 -de 06144 044006 -de 06145 121707 -de 06146 000401 -de 06147 010000 -de 06150 044504 -de 06151 072514 -de 06152 100040 -de 06153 005710 -de 06154 013711 -de 06155 011164 -de 06156 044005 -de 06157 141050 -de 06160 040572 -de 06161 015164 -de 06162 011164 -de 06163 001001 -de 06165 003302 -de 06166 003455 -de 06167 003227 -de 06170 105662 -de 06171 012114 -de 06172 101040 -de 06173 003204 -de 06174 044006 -de 06175 101400 -de 06176 003222 -de 06177 105660 -de 06200 052005 -de 06201 007712 -de 06202 100040 -de 06203 003222 -de 06204 004542 -de 06205 016566 -de 06206 014541 -de 06207 016565 -de 06210 141206 -de 06211 022572 -de 06212 003222 -de 06213 003222 -de 06214 004563 -de 06215 016537 -de 06216 141206 -de 06217 014570 -de 06220 100400 -de 06221 003244 -de 06222 005664 -de 06223 013713 -de 06224 121714 -de 06225 121704 -de 06226 103702 -de 06227 004541 -de 06230 016565 -de 06231 141206 -de 06232 022572 -de 06233 101000 -de 06234 121715 -de 06235 004563 -de 06236 016537 -de 06237 141206 -de 06240 014570 -de 06241 101400 -de 06242 121715 -de 06243 024566 -de 06244 024541 -de 06245 000401 -de 06246 033670 -de 06247 003350 -de 06250 003276 -de 06251 003455 -de 06252 024566 -de 06253 064010 -de 06254 044005 -de 06255 007716 -de 06256 050005 -de 06257 005717 -de 06260 121720 -de 06261 005664 -de 06262 072112 -de 06263 121714 -de 06264 121704 -de 06265 072514 -de 06266 132402 -de 06267 032402 -de 06270 021537 -de 06271 003463 -de 06272 044000 -de 06273 111667 -de 06274 121721 -de 06275 003463 -de 06276 004751 -de 06277 014566 -de 06300 010566 -de 06301 003253 -de 06302 000401 -de 06303 044006 -de 06304 141340 -de 06305 006120 -de 06306 011663 -de 06307 015722 -de 06310 011666 -de 06311 021537 -de 06312 103723 -de 06313 033665 -de 06314 105666 -de 06315 100040 -de 06316 103702 -de 06317 004514 -de 06320 111666 -de 06321 010000 -de 06322 044007 -de 06323 073665 -de 06324 101400 -de 06325 003334 -de 06326 005663 -de 06327 050002 -de 06330 016120 -de 06331 140407 -de 06332 014565 -de 06333 010565 -de 06334 044013 -de 06335 062002 -de 06336 100000 -de 06337 003342 -de 06340 064013 -de 06341 103724 -de 06342 044000 -de 06343 111667 -de 06344 000401 -de 06345 005665 -de 06346 140500 -de 06347 011670 -de 06350 021360 -de 06351 100100 -de 06352 003555 -de 06353 005670 -de 06354 026327 -de 06355 072327 -de 06356 050000 -de 06357 003471 -de 06361 001001 -de 06362 105660 -de 06363 141044 -de 06364 017661 -de 06365 141140 -de 06366 015700 -de 06367 011662 -de 06370 105662 -de 06371 113660 -de 06372 007725 -de 06373 111660 -de 06374 103360 -de 06375 044005 -de 06376 007701 -de 06377 013701 -de 06400 100040 -de 06401 103702 -de 06402 044005 -de 06403 007726 -de 06404 013676 -de 06405 066005 -de 06406 007727 -de 06407 013676 -de 06410 100040 -de 06411 003415 -de 06412 005730 -de 06413 052005 -de 06414 050005 -de 06415 140040 -de 06416 121720 -de 06417 132402 -de 06420 032402 -de 06421 103724 -de 06422 021537 -de 06423 003427 -de 06424 044000 -de 06425 111667 -de 06426 121721 -de 06427 005676 -de 06430 003453 -de 06431 105662 -de 06432 107660 -de 06433 100040 -de 06434 003402 -de 06435 044005 -de 06436 007727 -de 06437 101040 -de 06440 003422 -de 06441 007713 -de 06442 101040 -de 06443 003455 -de 06444 044005 -de 06445 007706 -de 06446 100040 -de 06447 004751 -de 06450 014566 -de 06451 010566 -de 06452 005727 -de 06453 072121 -de 06454 003456 -de 06455 140040 -de 06456 013664 -de 06457 121714 -de 06460 121704 -de 06461 072514 -de 06462 120671 -de 06463 021360 -de 06464 105660 -de 06465 101100 -de 06466 103724 -de 06467 073660 -de 06470 121731 -de 06471 005732 -de 06472 011667 -de 06473 001001 -de 06474 004327 -de 06475 101040 -de 06476 003464 -de 06477 011670 -de 06500 010000 -de 06501 100400 -de 06502 044003 -de 06503 010000 -de 06504 044007 -de 06505 013673 -de 06506 007674 -de 06507 100040 -de 06510 003532 -de 06511 044006 -de 06512 101400 -de 06513 003520 -de 06514 105660 -de 06515 052005 -de 06516 007712 -de 06517 003524 -de 06520 105660 -de 06521 017733 -de 06522 052005 -de 06523 141044 -de 06524 100040 -de 06525 003532 -de 06526 073670 -de 06527 066000 -de 06530 111667 -de 06531 003555 -de 06532 005670 -de 06533 140100 -de 06534 011667 -de 06535 105667 -de 06536 003475 -de 06540 073734 -de 06541 001001 -de 06542 044000 -de 06543 101040 -de 06544 103537 -de 06545 033667 -de 06546 010000 -de 06547 044001 -de 06550 013664 -de 06551 100040 -de 06552 003542 -de 06553 025537 -de 06554 103537 -de 06555 000401 -de 06556 004114 -de 06557 011672 -de 06560 073670 -de 06561 005670 -de 06562 100400 -de 06563 003625 -de 06564 011671 -de 06565 121735 -de 06566 044006 -de 06567 001001 -de 06570 121707 -de 06571 044006 -de 06572 006112 -de 06573 100040 -de 06574 005736 -de 06575 115737 -de 06576 026000 -de 06577 150343 -de 06600 005671 -de 06601 050343 -de 06602 005672 -de 06603 054517 -de 06604 050517 -de 06605 073670 -de 06606 044006 -de 06607 073660 -de 06610 101400 -de 06611 003622 -de 06612 121740 -de 06613 073670 -de 06614 105660 -de 06615 017733 -de 06616 052005 -de 06617 141044 -de 06620 073660 -de 06621 101040 -de 06622 121731 -de 06623 121741 -de 06624 003471 -de 06625 140100 -de 06626 011665 -de 06627 044003 -de 06630 011670 -de 06631 140040 -de 06632 050013 -de 06633 044004 -de 06634 150003 -de 06635 101040 -de 06636 003650 -de 06637 033671 -de 06640 010000 -de 06641 121735 -de 06642 073671 -de 06643 140040 -de 06644 050003 -de 06645 024000 -de 06646 025672 -de 06647 003633 -de 06650 066003 -de 06651 011671 -de 06652 073670 -de 06653 005665 -de 06654 001001 -de 06655 026326 -de 06656 110326 -de 06657 003565 -de 06674 000077 -de 06675 000004 -de 06676 000100 -de 06677 032271 -de 06700 001246 -de 06701 000014 -de 06702 005601 -de 06703 007063 -de 06704 005577 -de 06705 177437 -de 06706 000002 -de 06707 007244 -de 06710 000335 -de 06711 003165 -de 06712 000060 -de 06713 000200 -de 06714 015303 -de 06715 005635 -de 06716 177761 -de 06717 000400 -de 06720 005457 -de 06721 021321 -de 06722 040003 -de 06723 005651 -de 06724 005604 -de 06725 177477 -de 06726 177661 -de 06727 000300 -de 06730 000102 -de 06731 015347 -de 06732 000327 -de 06733 001400 -de 06734 000340 -de 06735 005504 -de 06736 000010 -de 06737 007257 -de 06740 015361 -de 06741 007222 -de 07063 044005 -de 07064 007327 -de 07065 101040 -de 07066 003134 -de 07067 105330 -de 07070 001001 -de 07071 121331 -de 07072 003220 -de 07073 011131 -de 07074 000401 -de 07075 072514 -de 07076 044005 -de 07077 007332 -de 07100 101040 -de 07101 003113 -de 07102 173131 -de 07103 044005 -de 07104 007333 -de 07105 101040 -de 07106 103334 -de 07107 105131 -de 07110 140500 -de 07111 111131 -de 07112 103334 -de 07113 021260 -de 07114 003125 -de 07115 173131 -de 07116 044010 -de 07117 021306 -de 07120 044007 -de 07121 021244 -de 07122 044006 -de 07123 007335 -de 07124 013132 -de 07125 073257 -de 07126 120670 -de 07127 003213 -de 07130 103336 -de 07134 105330 -de 07135 001001 -de 07136 121337 -de 07137 121340 -de 07140 033131 -de 07141 044000 -de 07142 006120 -de 07143 011133 -de 07144 072514 -de 07145 044005 -de 07146 007332 -de 07147 000401 -de 07150 101040 -de 07151 003166 -de 07152 001001 -de 07153 105341 -de 07154 013342 -de 07155 101040 -de 07156 103336 -de 07157 105343 -de 07160 111344 -de 07161 125341 -de 07162 044005 -de 07163 007333 -de 07164 101040 -de 07165 003233 -de 07166 021260 -de 07167 003176 -de 07170 073131 -de 07171 044030 -de 07172 021306 -de 07173 044014 -de 07174 007335 -de 07175 013132 -de 07176 073133 -de 07177 033257 -de 07200 120670 -de 07201 003215 -de 07202 072514 -de 07203 044005 -de 07204 007332 -de 07205 101040 -de 07206 103336 -de 07207 105343 -de 07210 121345 -de 07211 103336 -de 07212 103336 -de 07213 173131 -de 07214 120671 -de 07215 021222 -de 07216 140040 -de 07217 111131 -de 07220 121346 -de 07221 103334 -de 07223 073257 -de 07224 104700 -de 07225 000013 -de 07226 101040 -de 07227 121347 -de 07230 001001 -de 07231 120672 -de 07232 103222 -de 07233 073133 -de 07234 044453 -de 07235 017350 -de 07236 000013 -de 07237 101040 -de 07240 121351 -de 07241 001001 -de 07242 120672 -de 07243 003216 -de 07245 011257 -de 07246 007352 -de 07247 040672 -de 07250 027257 -de 07251 007353 -de 07252 100040 -de 07253 004130 -de 07254 015257 -de 07255 011257 -de 07256 103244 -de 07261 044006 -de 07262 007354 -de 07263 100040 -de 07264 003275 -de 07265 044005 -de 07266 007355 -de 07267 100040 -de 07270 005356 -de 07271 013357 -de 07272 011132 -de 07273 025260 -de 07274 103260 -de 07275 044010 -de 07276 001001 -de 07277 010515 -de 07300 044006 -de 07301 021244 -de 07302 044007 -de 07303 007335 -de 07304 013360 -de 07305 103260 -de 07307 001001 -de 07310 010515 -de 07311 007361 -de 07312 013362 -de 07313 100040 -de 07314 003317 -de 07315 005363 -de 07316 011132 -de 07317 005132 -de 07320 013364 -de 07321 101040 -de 07322 103306 -de 07323 004515 -de 07324 007365 -de 07325 010515 -de 07326 103306 -de 07327 000200 -de 07330 006664 -de 07331 015033 -de 07332 000002 -de 07333 000100 -de 07334 005601 -de 07335 070377 -de 07336 005637 -de 07337 015205 -de 07340 005577 -de 07341 015155 -de 07342 032271 -de 07343 006673 -de 07344 115155 -de 07345 015114 -de 07346 006360 -de 07347 016042 -de 07350 014445 -de 07351 013106 -de 07352 000300 -de 07353 040000 -de 07354 000400 -de 07355 000010 -de 07356 006000 -de 07357 002400 -de 07360 003400 -de 07361 000007 -de 07362 000004 -de 07363 004000 -de 07364 004400 -de 07365 177760 -de 10044 000011 -de 10045 033244 -de 10046 072113 -de 10050 000043 -de 10051 011245 -de 10052 070471 -de 10053 003231 -de 10054 004021 -de 10055 017625 -de 10056 010020 -de 10057 030471 -de 10060 005245 -de 10061 000013 -de 10062 171020 -de 10063 005243 -de 10064 073244 -de 10065 000401 -de 10066 103043 -de 10070 000011 -de 10071 033244 -de 10072 072114 -de 10074 000043 -de 10075 011245 -de 10076 070472 -de 10077 003231 -de 10100 004023 -de 10101 017625 -de 10102 010022 -de 10103 030472 -de 10104 005245 -de 10105 000013 -de 10106 171020 -de 10107 005243 -de 10110 073244 -de 10111 000401 -de 10112 103067 -de 10114 000011 -de 10115 033244 -de 10116 072115 -de 10120 000043 -de 10121 011245 -de 10122 070473 -de 10123 003231 -de 10124 004025 -de 10125 017625 -de 10126 010024 -de 10127 030473 -de 10130 005245 -de 10131 000013 -de 10132 171020 -de 10133 005243 -de 10134 073244 -de 10135 000401 -de 10136 103113 -de 10140 000011 -de 10141 033244 -de 10142 072116 -de 10144 000043 -de 10145 011245 -de 10146 070474 -de 10147 003231 -de 10150 004027 -de 10151 017625 -de 10152 010026 -de 10153 030474 -de 10154 005245 -de 10155 000013 -de 10156 171020 -de 10157 005243 -de 10160 073244 -de 10161 000401 -de 10162 103137 -de 10164 000011 -de 10165 033244 -de 10166 072117 -de 10170 000043 -de 10171 011245 -de 10172 070475 -de 10173 003231 -de 10174 004031 -de 10175 017625 -de 10176 010030 -de 10177 030475 -de 10200 005245 -de 10201 000013 -de 10202 171020 -de 10203 005243 -de 10204 073244 -de 10205 000401 -de 10206 103163 -de 10207 011243 -de 10210 044064 -de 10211 010000 -de 10212 044011 -de 10213 015626 -de 10214 011223 -de 10215 104324 -de 10216 101040 -de 10217 003227 -de 10220 026324 -de 10221 024563 -de 10222 015627 -de 10224 005207 -de 10225 050004 -de 10226 042011 -de 10227 005630 -de 10230 042013 -de 10231 032674 -de 10232 045254 -de 10233 011261 -de 10234 104324 -de 10235 101040 -de 10236 143604 -de 10237 024563 -de 10240 026324 -de 10241 015631 -de 10242 143262 -de 10247 010053 -de 10250 010077 -de 10251 010123 -de 10252 010147 -de 10253 010173 -de 10262 010317 -de 10263 010311 -de 10265 010275 -de 10266 010267 -de 10267 072030 -de 10270 010030 -de 10271 015625 -de 10272 026031 -de 10273 030475 -de 10274 003324 -de 10275 072026 -de 10276 010026 -de 10277 015625 -de 10300 026027 -de 10301 030474 -de 10302 003324 -de 10303 072024 -de 10304 010024 -de 10305 015625 -de 10306 026025 -de 10307 030473 -de 10310 003324 -de 10311 072022 -de 10312 010022 -de 10313 015625 -de 10314 026023 -de 10315 030472 -de 10316 003324 -de 10317 072020 -de 10320 010020 -de 10321 015625 -de 10322 026021 -de 10323 030471 -de 10324 017627 -de 10325 011611 -de 10326 026000 -de 10327 017630 -de 10330 050111 -de 10331 140040 -de 10332 050000 -de 10333 044005 -de 10334 100400 -de 10335 101100 -de 10336 100000 -de 10337 103632 -de 10340 005633 -de 10341 026111 -de 10342 011246 -de 10343 004000 -de 10344 056111 -de 10345 015634 -de 10346 011351 -de 10347 017635 -de 10350 103351 -de 10352 100040 -de 10353 003402 -de 10354 005246 -de 10355 010111 -de 10356 131040 -de 10357 003356 -de 10360 050001 -de 10361 004674 -de 10362 050003 -de 10363 044005 -de 10364 101100 -de 10365 003420 -de 10366 040677 -de 10367 100100 -de 10370 003404 -de 10371 040677 -de 10372 100100 -de 10373 103636 -de 10374 073611 -de 10375 132401 -de 10376 032401 -de 10377 030041 -de 10400 072674 -de 10401 143577 -de 10402 072674 -de 10403 121637 -de 10404 044005 -de 10405 141140 -de 10406 012106 -de 10407 101040 -de 10410 003375 -de 10411 004420 -de 10412 012674 -de 10413 100040 -de 10414 003426 -de 10415 044006 -de 10416 010417 -de 10417 003426 -de 10420 044007 -de 10421 007640 -de 10422 013261 -de 10423 101400 -de 10424 101040 -de 10425 103641 -de 10426 044004 -de 10427 140401 -de 10430 141050 -de 10431 011612 -de 10432 072674 -de 10433 052641 -de 10434 046653 -de 10435 100040 -de 10436 121642 -de 10437 005612 -de 10440 066641 -de 10441 052641 -de 10442 101040 -de 10443 003374 -de 10444 011612 -de 10445 052653 -de 10446 050653 -de 10447 005612 -de 10450 173643 -de 10451 140407 -de 10452 007612 -de 10453 013612 -de 10454 027612 -de 10455 013612 -de 10456 023644 -de 10457 003547 -de 10460 003563 -de 10461 022117 -de 10462 003566 -de 10463 003571 -de 10464 101100 -de 10465 003574 -de 10466 140040 -de 10467 066000 -de 10470 072674 -de 10471 023645 -de 10472 003475 -de 10473 101000 -de 10474 121642 -de 10475 062634 -de 10476 100000 -de 10477 003536 -de 10500 010000 -de 10501 044111 -de 10502 100400 -de 10503 003511 -de 10504 004324 -de 10505 050000 -de 10506 032324 -de 10507 024537 -de 10510 003513 -de 10511 140100 -de 10512 050111 -de 10513 024564 -de 10514 044002 -de 10515 100040 -de 10516 003543 -de 10517 044111 -de 10520 140100 -de 10521 016000 -de 10522 016116 -de 10523 072674 -de 10524 055613 -de 10525 100400 -de 10526 004112 -de 10527 051613 -de 10530 065620 -de 10531 101000 -de 10532 005612 -de 10533 101040 -de 10534 003374 -de 10535 003450 -de 10536 140500 -de 10537 050634 -de 10540 140100 -de 10541 010000 -de 10542 003514 -de 10543 121646 -de 10544 072674 -de 10545 073611 -de 10546 003517 -de 10547 022753 -de 10550 003560 -de 10551 003555 -de 10552 140040 -de 10553 066005 -de 10554 003470 -de 10555 140040 -de 10556 066006 -de 10557 003470 -de 10560 140040 -de 10561 066007 -de 10562 003470 -de 10563 140040 -de 10564 066004 -de 10565 003470 -de 10566 140040 -de 10567 066003 -de 10570 003470 -de 10571 140040 -de 10572 066002 -de 10573 003470 -de 10574 140040 -de 10575 066001 -de 10576 003470 -de 10577 010060 -de 10600 010104 -de 10601 010130 -de 10602 010154 -de 10603 010200 -de 10604 010054 -de 10605 010100 -de 10606 010124 -de 10607 010150 -de 10610 010174 -de 10625 000105 -de 10626 004000 -de 10627 100111 -de 10630 100001 -de 10631 100004 -de 10632 011116 -de 10633 010352 -de 10634 001562 -de 10635 001556 -de 10636 011170 -de 10637 011101 -de 10640 001000 -de 10641 011124 -de 10642 011127 -de 10643 040622 -de 10644 000020 -de 10645 001777 -de 10646 011144 -de 11102 120745 -de 11103 105366 -de 11104 010111 -de 11105 004537 -de 11106 016563 -de 11107 016751 -de 11110 100400 -de 11111 003123 -de 11112 105367 -de 11113 026342 -de 11114 111370 -de 11115 103371 -de 11116 072674 -de 11117 004124 -de 11120 050265 -de 11121 004112 -de 11122 050421 -de 11123 173367 -de 11124 120671 -de 11125 072674 -de 11126 103371 -de 11130 120745 -de 11131 021133 -de 11132 003103 -de 11134 005372 -de 11135 111373 -de 11136 005374 -de 11137 050265 -de 11140 050433 -de 11141 140040 -de 11142 050160 -de 11143 103133 -de 11145 011167 -de 11146 044001 -de 11147 073167 -de 11150 050003 -de 11151 131040 -de 11152 003151 -de 11153 050004 -de 11154 004112 -de 11155 052012 -de 11156 050012 -de 11157 005167 -de 11160 015375 -de 11161 011167 -de 11162 105144 -de 11163 011164 -de 11165 133167 -de 11166 103144 -de 11170 044007 -de 11171 013205 -de 11172 100040 -de 11173 003203 -de 11174 044004 -de 11175 101400 -de 11176 103376 -de 11177 004674 -de 11200 141206 -de 11201 010137 -de 11202 003124 -de 11203 072674 -de 11204 021101 -de 11205 175461 -de 11206 177777 -de 11207 000005 -de 11213 012114 -de 11214 111377 -de 11215 100400 -de 11216 003323 -de 11217 141140 -de 11220 010000 -de 11221 045331 -de 11222 011360 -de 11223 173400 -de 11224 055346 -de 11225 123401 -de 11226 003240 -de 11227 003245 -de 11230 021231 -de 11232 120745 -de 11233 105377 -de 11234 007402 -de 11235 013403 -de 11236 111377 -de 11237 003260 -de 11240 017360 -de 11241 017360 -de 11242 123401 -de 11243 021231 -de 11244 101000 -de 11245 105377 -de 11246 007403 -de 11247 100040 -de 11250 003263 -de 11251 045341 -de 11252 041477 -de 11253 055341 -de 11254 115401 -de 11255 040476 -de 11256 141216 -de 11257 051341 -de 11260 105401 -de 11261 051346 -de 11262 103404 -de 11263 105377 -de 11264 017405 -de 11265 111377 -de 11266 007403 -de 11267 100040 -de 11270 003260 -de 11271 073406 -de 11272 045331 -de 11273 123401 -de 11274 003300 -de 11275 003300 -de 11276 024000 -de 11277 003272 -de 11300 045340 -de 11301 011360 -de 11302 004000 -de 11303 140407 -de 11304 141340 -de 11305 173400 -de 11306 111377 -de 11307 141340 -de 11310 015407 -de 11311 051353 -de 11312 005360 -de 11313 051361 -de 11314 044433 -de 11315 100040 -de 11316 021133 -de 11317 105401 -de 11320 055346 -de 11321 040477 -de 11322 003257 -de 11323 140100 -de 11324 111377 -de 11325 003260 -de 11326 000161 -de 11327 001066 -de 11330 004202 -de 11331 000377 -de 11332 000177 -de 11333 000060 -de 11334 000060 -de 11335 177324 -de 11336 177704 -de 11337 177764 -de 11340 177771 -de 11366 010246 -de 11367 010611 -de 11370 110611 -de 11371 150577 -de 11372 101000 -de 11373 150247 -de 11374 177766 -de 11375 000011 -de 11376 001004 -de 11377 052620 -de 11400 012654 -de 11401 012644 -de 11402 177771 -de 11403 000006 -de 11404 012156 -de 11405 000002 -de 11406 177775 -de 11407 020274 -de 12110 033104 -de 12111 072117 -de 12112 003132 -de 12114 033104 -de 12115 072116 -de 12116 003132 -de 12120 033104 -de 12121 072115 -de 12122 003132 -de 12124 033104 -de 12125 072114 -de 12126 003132 -de 12130 033104 -de 12131 072113 -de 12132 033654 -de 12133 011103 -de 12134 000011 -de 12135 003136 -de 12136 000043 -de 12137 011105 -de 12140 004416 -de 12141 057632 -de 12142 017712 -de 12143 101400 -de 12144 003516 -de 12145 131040 -de 12146 003145 -de 12147 057637 -de 12150 011644 -de 12151 055625 -de 12152 051625 -de 12153 045620 -de 12154 100100 -de 12155 103713 -de 12156 004502 -de 12157 170120 -de 12160 026134 -de 12161 011652 -de 12162 140040 -de 12163 066634 -de 12164 101400 -de 12165 003173 -de 12166 140100 -de 12167 010000 -de 12170 120671 -de 12171 024564 -de 12172 073654 -de 12173 000401 -de 12174 044265 -de 12175 100040 -de 12176 003276 -de 12177 045660 -de 12200 141206 -de 12201 062627 -de 12202 101000 -de 12203 044622 -de 12204 051660 -de 12205 001001 -de 12206 145660 -de 12207 023714 -de 12210 003550 -de 12211 073654 -de 12212 000401 -de 12213 044317 -de 12214 100040 -de 12215 003363 -de 12216 044312 -de 12217 100040 -de 12220 003375 -de 12221 044445 -de 12222 101040 -de 12223 003500 -de 12224 140040 -de 12225 066421 -de 12226 100400 -de 12227 003262 -de 12230 100040 -de 12231 005715 -de 12232 013716 -de 12233 141340 -de 12234 012106 -de 12235 141340 -de 12236 151704 -de 12237 045704 -de 12240 016114 -de 12241 151665 -de 12242 011655 -de 12243 014117 -de 12244 151672 -de 12245 044646 -de 12246 073655 -de 12247 050000 -de 12250 004417 -de 12251 050002 -de 12252 004117 -de 12253 056000 -de 12254 056001 -de 12255 056002 -de 12256 056003 -de 12257 050004 -de 12260 073654 -de 12261 003465 -de 12262 005717 -de 12263 151665 -de 12264 005720 -de 12265 151672 -de 12266 003467 -de 12267 005721 -de 12270 151665 -de 12271 014117 -de 12272 151672 -de 12273 016117 -de 12274 010000 -de 12275 003252 -de 12276 100400 -de 12277 003500 -de 12300 016114 -de 12301 050265 -de 12302 022114 -de 12303 003267 -de 12304 003224 -de 12305 073361 -de 12306 055363 -de 12307 024000 -de 12310 003306 -de 12311 100040 -de 12312 120061 -de 12313 073654 -de 12314 125353 -de 12315 101000 -de 12316 004660 -de 12317 015355 -de 12320 151665 -de 12321 017356 -de 12322 151672 -de 12323 015357 -de 12324 010000 -de 12325 005354 -de 12326 026111 -de 12327 011653 -de 12330 005356 -de 12331 103332 -de 12332 001454 -de 12333 140407 -de 12334 072113 -de 12335 112660 -de 12336 027653 -de 12337 010111 -de 12340 005653 -de 12341 073654 -de 12342 001001 -de 12343 100040 -de 12344 021571 -de 12345 141206 -de 12346 053620 -de 12347 051620 -de 12350 105360 -de 12351 051645 -de 12352 003467 -de 12353 071615 -de 12354 012333 -de 12355 137675 -de 12356 177675 -de 12357 177671 -de 12360 026644 -de 12361 177722 -de 12362 044107 -de 12363 050634 -de 12364 140040 -de 12365 166634 -de 12366 050317 -de 12367 100040 -de 12370 003406 -de 12371 005722 -de 12372 015654 -de 12373 050370 -de 12374 003406 -de 12375 050634 -de 12376 140040 -de 12377 166634 -de 12400 050312 -de 12401 100040 -de 12402 003406 -de 12403 005723 -de 12404 015654 -de 12405 050363 -de 12406 173724 -de 12407 133725 -de 12410 005726 -de 12411 050003 -de 12412 011657 -de 12413 073654 -de 12414 044634 -de 12415 140100 -de 12416 015727 -de 12417 151665 -de 12420 011655 -de 12421 173724 -de 12422 131040 -de 12423 003422 -de 12424 050001 -de 12425 044111 -de 12426 140100 -de 12427 073654 -de 12430 151672 -de 12431 011656 -de 12432 005657 -de 12433 100040 -de 12434 003456 -de 12435 005730 -de 12436 026111 -de 12437 011653 -de 12440 005655 -de 12441 016117 -de 12442 010000 -de 12443 017656 -de 12444 015731 -de 12445 011450 -de 12446 017732 -de 12447 103450 -de 12451 100040 -de 12452 003524 -de 12453 005653 -de 12454 010111 -de 12455 073654 -de 12456 105655 -de 12457 141044 -de 12460 052646 -de 12461 127655 -de 12462 117655 -de 12463 115656 -de 12464 111656 -de 12465 140040 -de 12466 050445 -de 12467 004416 -de 12470 051632 -de 12471 131040 -de 12472 003471 -de 12473 051637 -de 12474 045677 -de 12475 011476 -de 12477 005711 -de 12500 050440 -de 12501 001001 -de 12502 005652 -de 12503 010134 -de 12504 170120 -de 12505 144071 -de 12506 011106 -de 12507 000013 -de 12510 005105 -de 12511 171020 -de 12512 005103 -de 12513 073104 -de 12514 000401 -de 12515 103106 -de 12516 005733 -de 12517 051625 -de 12520 045620 -de 12521 006122 -de 12522 051620 -de 12523 003156 -de 12524 001001 -de 12525 021526 -de 12527 120745 -de 12530 004000 -de 12531 026342 -de 12532 050000 -de 12533 000401 -de 12534 005653 -de 12535 010111 -de 12536 024564 -de 12537 044004 -de 12540 007734 -de 12541 141140 -de 12542 073654 -de 12543 054622 -de 12544 011653 -de 12545 140040 -de 12546 111653 -de 12547 003500 -de 12550 010000 -de 12551 131040 -de 12552 003551 -de 12553 056001 -de 12554 100400 -de 12555 140407 -de 12556 017735 -de 12557 100400 -de 12560 003211 -de 12561 064003 -de 12562 003575 -de 12563 120671 -de 12564 024564 -de 12565 073654 -de 12566 140040 -de 12567 151660 -de 12570 021571 -de 12572 120745 -de 12573 121736 -de 12574 003500 -de 12575 073654 -de 12576 140040 -de 12577 011657 -de 12600 145660 -de 12601 050634 -de 12602 000401 -de 12603 003415 -de 12605 033104 -de 12606 011103 -de 12607 033654 -de 12610 005604 -de 12611 150071 -de 12612 143613 -de 12613 012156 -de 12614 012156 -de 12616 012156 -de 12617 012156 -de 12665 000032 -de 12666 000034 -de 12667 000036 -de 12670 000040 -de 12671 000042 -de 12672 000033 -de 12673 000035 -de 12674 000037 -de 12675 000041 -de 12676 000043 -de 12677 030071 -de 12700 030072 -de 12701 030073 -de 12702 030074 -de 12703 030075 -de 12704 032101 -de 12705 032106 -de 12706 032113 -de 12707 032120 -de 12710 032125 -de 12711 175551 -de 12712 000012 -de 12713 011213 -de 12714 001777 -de 12715 000020 -de 12716 000003 -de 12717 000060 -de 12720 032777 -de 12721 011206 -de 12722 000317 -de 12723 000312 -de 12724 040634 -de 12725 140003 -de 12726 177470 -de 12727 000004 -de 12730 012451 -de 12731 001562 -de 12732 001556 -de 12733 014400 -de 12734 017400 -de 12735 002342 -de 12736 011133 -de 13057 033135 -de 13060 073056 -de 13061 033106 -de 13062 072116 -de 13063 003110 -de 13065 033135 -de 13066 073064 -de 13067 033106 -de 13070 072115 -de 13071 003110 -de 13073 033135 -de 13074 073072 -de 13075 033106 -de 13076 072114 -de 13077 003110 -de 13101 033135 -de 13102 073100 -de 13103 033106 -de 13104 072113 -de 13105 003110 -de 13107 033135 -de 13110 000011 -de 13111 003112 -de 13112 032675 -de 13113 011133 -de 13114 000043 -de 13115 011134 -de 13116 004501 -de 13117 170120 -de 13120 026134 -de 13121 011136 -de 13122 000401 -de 13123 142453 -de 13125 072675 -de 13126 005124 -de 13127 050453 -de 13130 004121 -de 13131 051137 -de 13132 003516 -de 13147 000050 -de 13152 000042 -de 13153 013323 -de 13154 013324 -de 13155 013325 -de 13156 013326 -de 13157 000051 -de 13162 000043 -de 13163 013327 -de 13164 013330 -de 13165 013331 -de 13166 013332 -de 13167 003014 -de 13170 070070 -de 13171 070060 -de 13173 070051 -de 13174 101000 -de 13175 101000 -de 13176 101000 -de 13177 101000 -de 13200 030170 -de 13201 030160 -de 13203 030151 -de 13204 003531 -de 13205 003531 -de 13206 003531 -de 13207 003531 -de 13211 151323 -de 13212 065323 -de 13213 004000 -de 13214 100400 -de 13215 003247 -de 13216 045327 -de 13217 057323 -de 13220 101400 -de 13221 103210 -de 13222 005177 -de 13223 051317 -de 13224 005210 -de 13225 051251 -de 13226 004000 -de 13227 140100 -de 13230 011255 -de 13231 014130 -de 13232 010000 -de 13233 001001 -de 13234 000013 -de 13235 021106 -de 13236 001001 -de 13237 120672 -de 13240 073255 -de 13241 045143 -de 13242 140401 -de 13243 100040 -de 13244 143251 -de 13245 120665 -de 13246 003241 -de 13247 004112 -de 13250 003223 -de 13257 140040 -de 13260 051333 -de 13261 011106 -de 13262 111535 -de 13263 045273 -de 13264 050453 -de 13265 045303 -de 13266 051313 -de 13267 000013 -de 13270 021106 -de 13271 120672 -de 13272 103256 -de 13273 013353 -de 13274 013353 -de 13276 013353 -de 13277 013416 -de 13300 013416 -de 13301 013416 -de 13302 013416 -de 13303 070270 -de 13304 070260 -de 13306 070251 -de 13307 100000 -de 13310 100000 -de 13311 100000 -de 13312 100000 -de 13353 005536 -de 13354 003417 -de 13355 004114 -de 13356 050504 -de 13357 140040 -de 13360 127535 -de 13361 101400 -de 13362 003367 -de 13363 005537 -de 13364 050453 -de 13365 140040 -de 13366 003470 -de 13367 045333 -de 13370 101040 -de 13371 003400 -de 13372 010000 -de 13373 050111 -de 13374 001001 -de 13375 120671 -de 13376 000401 -de 13377 072675 -de 13400 045313 -de 13401 011403 -de 13402 005537 -de 13404 003466 -de 13405 140040 -de 13406 051333 -de 13407 045313 -de 13410 011411 -de 13412 003457 -de 13413 045343 -de 13414 100040 -de 13415 003430 -de 13416 005540 -de 13417 050453 -de 13420 140040 -de 13421 051137 -de 13422 004000 -de 13423 041577 -de 13424 015541 -de 13425 151147 -de 13426 141206 -de 13427 003511 -de 13430 021124 -de 13431 003413 -de 13452 044453 -de 13453 051333 -de 13454 021124 -de 13455 045333 -de 13456 003466 -de 13457 005542 -de 13460 115543 -de 13461 111543 -de 13462 007544 -de 13463 101040 -de 13464 003357 -de 13465 005545 -de 13466 050453 -de 13467 005546 -de 13470 051137 -de 13471 001001 -de 13472 004537 -de 13473 016563 -de 13474 016570 -de 13475 100400 -de 13476 003452 -de 13477 104324 -de 13500 101040 -de 13501 003452 -de 13502 026324 -de 13503 024563 -de 13504 000401 -de 13505 051333 -de 13506 015547 -de 13507 151147 -de 13510 015550 -de 13511 140100 -de 13512 151157 -de 13513 045200 -de 13514 011515 -de 13516 005136 -de 13517 001001 -de 13520 170120 -de 13521 010134 -de 13522 000013 -de 13523 005134 -de 13524 171020 -de 13525 073135 -de 13526 005133 -de 13527 000401 -de 13530 103106 -de 13531 145147 -de 13532 140100 -de 13533 151147 -de 13534 003516 -de 13535 054177 -de 13536 013400 -de 13537 013357 -de 13540 014053 -de 13541 113432 -de 13542 000400 -de 13543 054147 -de 13544 003400 -de 13545 014544 -de 13546 176650 -de 13547 100011 -de 13550 000076 -de 14005 045042 -de 14006 012106 -de 14007 051147 -de 14010 004143 -de 14011 051167 -de 14012 103004 -de 14013 021004 -de 14014 045147 -de 14015 007627 -de 14016 013630 -de 14017 100040 -de 14020 103631 -de 14021 045167 -de 14022 012143 -de 14023 101040 -de 14024 125632 -de 14025 103631 -de 14027 072675 -de 14030 173633 -de 14031 044165 -de 14032 072675 -de 14033 100400 -de 14034 003272 -de 14035 044504 -de 14036 100040 -de 14037 003232 -de 14040 005026 -de 14041 103634 -de 14043 000100 -de 14044 000200 -de 14045 000300 -de 14046 040000 -de 14047 040100 -de 14050 040200 -de 14051 040300 -de 14052 121635 -de 14053 044504 -de 14054 022116 -de 14055 003052 -de 14056 101000 -de 14057 004000 -de 14060 041577 -de 14061 010000 -de 14062 105636 -de 14063 011003 -de 14064 105637 -de 14065 072675 -de 14066 007640 -de 14067 051167 -de 14070 005003 -de 14071 051147 -de 14072 007627 -de 14073 141140 -de 14074 015641 -de 14075 051137 -de 14076 017134 -de 14077 101400 -de 14100 103132 -de 14101 105642 -de 14102 011103 -de 14104 100000 -de 14105 003232 -de 14106 140040 -de 14107 066504 -de 14110 100040 -de 14111 104700 -de 14112 101040 -de 14113 003116 -de 14114 004107 -de 14115 111643 -de 14116 105644 -de 14117 011120 -de 14121 143137 -de 14122 003231 -de 14123 014243 -de 14124 013357 -de 14125 013355 -de 14126 014230 -de 14127 013357 -de 14130 014230 -de 14131 014230 -de 14132 014230 -de 14133 013357 -de 14134 114134 -de 14136 177777 -de 14230 065167 -de 14231 065167 -de 14232 140040 -de 14233 051147 -de 14234 005645 -de 14235 003273 -de 14236 005646 -de 14237 053167 -de 14240 051167 -de 14241 005647 -de 14242 003273 -de 14243 004675 -de 14244 012130 -de 14245 100040 -de 14246 005650 -de 14247 012126 -de 14250 051217 -de 14251 045147 -de 14252 007651 -de 14253 051177 -de 14254 010000 -de 14255 044165 -de 14256 072675 -de 14257 101400 -de 14260 007652 -de 14261 100040 -de 14262 003272 -de 14263 045147 -de 14264 007653 -de 14265 013654 -de 14266 101010 -de 14267 100040 -de 14270 003311 -de 14271 065167 -de 14272 005655 -de 14273 051137 -de 14274 001001 -de 14275 045167 -de 14276 010515 -de 14277 045147 -de 14300 053137 -de 14301 120670 -de 14302 103631 -de 14303 121635 -de 14304 003274 -de 14305 065217 -de 14306 100000 -de 14307 003236 -de 14310 021026 -de 14311 045147 -de 14312 007656 -de 14313 121657 -de 14314 003305 -de 14315 051137 -de 14316 045147 -de 14317 007660 -de 14320 012106 -de 14321 053042 -de 14322 051157 -de 14323 004675 -de 14324 013661 -de 14325 100040 -de 14326 105662 -de 14327 100040 -de 14330 025136 -de 14331 003341 -de 14332 045147 -de 14333 007663 -de 14334 013664 -de 14335 051147 -de 14336 105662 -de 14337 140407 -de 14340 011136 -de 14341 005665 -de 14342 103666 -de 14343 105667 -de 14344 101040 -de 14345 003353 -de 14346 105644 -de 14347 011350 -de 14351 003400 -de 14352 003361 -de 14353 140500 -de 14354 051177 -de 14355 045147 -de 14356 007670 -de 14357 013655 -de 14360 051147 -de 14361 005671 -de 14362 053137 -de 14363 051137 -de 14364 021464 -de 14365 003370 -de 14366 021026 -de 14367 172677 -de 14370 121672 -de 14371 003366 -de 14372 051207 -de 14373 045177 -de 14374 100400 -de 14375 003610 -de 14376 121673 -de 14377 003551 -de 14400 045177 -de 14401 121674 -de 14402 003412 -de 14403 021464 -de 14404 072675 -de 14405 003407 -de 14406 021026 -de 14407 121675 -de 14410 003406 -de 14411 003372 -de 14412 005676 -de 14413 053137 -de 14414 051137 -de 14415 021464 -de 14416 004000 -de 14417 015677 -de 14420 050111 -de 14421 072675 -de 14422 100000 -de 14423 021026 -de 14424 121675 -de 14425 003423 -de 14426 051207 -de 14427 172677 -de 14430 021520 -de 14431 001001 -de 14432 132401 -de 14433 032401 -de 14434 030041 -de 14435 121635 -de 14436 003435 -de 14437 003427 -de 14440 045177 -de 14441 121674 -de 14442 003444 -de 14443 003447 -de 14444 021026 -de 14445 003440 -de 14446 121635 -de 14447 172677 -de 14450 044111 -de 14451 100400 -de 14452 003446 -de 14453 072675 -de 14454 003456 -de 14455 021026 -de 14456 045177 -de 14457 121657 -de 14460 003455 -de 14461 051137 -de 14462 111667 -de 14463 003403 -de 14465 104677 -de 14466 015700 -de 14467 011135 -de 14470 045137 -de 14471 111135 -de 14472 025135 -de 14473 045147 -de 14474 111135 -de 14475 025135 -de 14476 045157 -de 14477 111135 -de 14500 025135 -de 14501 045167 -de 14502 111135 -de 14503 105701 -de 14504 140100 -de 14505 172677 -de 14506 050111 -de 14507 131040 -de 14510 003507 -de 14511 050001 -de 14512 004675 -de 14513 140500 -de 14514 050003 -de 14515 140040 -de 14516 050000 -de 14517 103464 -de 14521 005702 -de 14522 026111 -de 14523 011227 -de 14524 044111 -de 14525 140100 -de 14526 011543 -de 14527 140407 -de 14530 014000 -de 14531 015703 -de 14532 011535 -de 14533 017704 -de 14534 103535 -de 14536 140407 -de 14537 111543 -de 14540 005227 -de 14541 010111 -de 14542 103520 -de 14544 021464 -de 14545 072675 -de 14546 105667 -de 14547 101040 -de 14550 003610 -de 14551 105642 -de 14552 011553 -de 14554 003570 -de 14555 005646 -de 14556 153207 -de 14557 006120 -de 14560 153207 -de 14561 151207 -de 14562 172677 -de 14563 044005 -de 14564 007705 -de 14565 013706 -de 14566 050005 -de 14567 003616 -de 14570 045177 -de 14571 121707 -de 14572 105644 -de 14573 011574 -de 14575 003577 -de 14576 003612 -de 14577 045147 -de 14600 007655 -de 14601 013655 -de 14602 101040 -de 14603 003606 -de 14604 172677 -de 14605 003616 -de 14606 004114 -de 14607 003556 -de 14610 004115 -de 14611 003556 -de 14612 172677 -de 14613 044007 -de 14614 140500 -de 14615 050007 -de 14616 021520 -de 14617 001001 -de 14620 132401 -de 14621 032401 -de 14622 030041 -de 14623 121635 -de 14624 003623 -de 14625 003604 -de 14626 103710 -de 14627 007400 -de 14630 002000 -de 14631 013357 -de 14632 021431 -de 14633 054177 -de 14634 013127 -de 14635 013124 -de 14636 053432 -de 14637 053433 -de 14640 177760 -de 14641 114123 -de 14642 053170 -de 14643 056306 -de 14644 053313 -de 14645 000400 -de 14646 000004 -de 14647 004400 -de 14650 000704 -de 14651 000077 -de 14652 000340 -de 14653 040300 -de 14654 040200 -de 14655 003400 -de 14656 100077 -de 14657 015161 -de 14660 010000 -de 14661 000006 -de 14662 030457 -de 14663 157777 -de 14664 020000 -de 14665 014343 -de 14666 013466 -de 14667 053137 -de 14670 174377 -de 14671 000300 -de 14672 015064 -de 14673 022415 -de 14674 015114 -de 14675 015233 -de 14676 000100 -de 14677 100010 -de 14700 000005 -de 14701 153147 -de 14702 014536 -de 14703 001563 -de 14704 001557 -de 14705 177767 -de 14706 000010 -de 14707 022426 -de 14710 013405 -de 15034 011160 -de 15035 005521 -de 15036 011157 -de 15037 005522 -de 15040 011156 -de 15041 105156 -de 15042 101040 -de 15043 003060 -de 15044 010000 -de 15045 044005 -de 15046 141044 -de 15047 052006 -de 15050 007523 -de 15051 052006 -de 15052 013160 -de 15053 100040 -de 15054 003060 -de 15055 005156 -de 15056 025033 -de 15057 103033 -de 15060 025156 -de 15061 025157 -de 15062 003041 -de 15063 103033 -de 15065 004675 -de 15066 040576 -de 15067 140407 -de 15070 015524 -de 15071 011157 -de 15072 005522 -de 15073 011156 -de 15074 105156 -de 15075 100040 -de 15076 003110 -de 15077 133156 -de 15100 044111 -de 15101 140500 -de 15102 050111 -de 15103 004000 -de 15104 015525 -de 15105 072675 -de 15106 025064 -de 15107 103064 -de 15110 025156 -de 15111 025157 -de 15112 003074 -de 15113 103064 -de 15115 011153 -de 15116 033154 -de 15117 073526 -de 15120 024000 -de 15121 004000 -de 15122 023155 -de 15123 003150 -de 15124 003150 -de 15125 044000 -de 15126 013153 -de 15127 100040 -de 15130 003120 -de 15131 004000 -de 15132 013527 -de 15133 101040 -de 15134 111530 -de 15135 044001 -de 15136 050000 -de 15137 024000 -de 15140 004000 -de 15141 013155 -de 15142 100040 -de 15143 003135 -de 15144 005155 -de 15145 016114 -de 15146 011155 -de 15147 025114 -de 15150 073154 -de 15151 005153 -de 15152 103114 -de 15162 033204 -de 15163 011203 -de 15164 140100 -de 15165 015531 -de 15166 010000 -de 15167 044000 -de 15170 101100 -de 15171 003201 -de 15172 005203 -de 15173 100400 -de 15174 021361 -de 15175 021347 -de 15176 007532 -de 15177 013533 -de 15200 025161 -de 15201 073204 -de 15202 103161 -de 15206 011274 -de 15207 005534 -de 15210 011273 -de 15211 073535 -de 15212 044000 -de 15213 101040 -de 15214 003226 -de 15215 141044 -de 15216 052014 -de 15217 007523 -de 15220 052014 -de 15221 013274 -de 15222 100040 -de 15223 003226 -de 15224 025205 -de 15225 103205 -de 15226 024000 -de 15227 025273 -de 15230 003212 -de 15231 005274 -de 15232 103205 -de 15234 004000 -de 15235 113536 -de 15236 007537 -de 15237 113536 -de 15240 013540 -de 15241 011275 -de 15242 105541 -de 15243 011276 -de 15244 105542 -de 15245 011277 -de 15246 005534 -de 15247 011273 -de 15250 073535 -de 15251 044000 -de 15252 100040 -de 15253 003267 -de 15254 005275 -de 15255 050000 -de 15256 005276 -de 15257 050014 -de 15260 005277 -de 15261 050030 -de 15262 025233 -de 15263 004000 -de 15264 015543 -de 15265 072675 -de 15266 103233 -de 15267 024000 -de 15270 025273 -de 15271 003251 -de 15272 003263 -de 15304 011300 -de 15305 007544 -de 15306 015545 -de 15307 011301 -de 15310 004121 -de 15311 022000 -de 15312 141206 -de 15313 141206 -de 15314 141206 -de 15315 141206 -de 15316 041576 -de 15317 011302 -de 15320 005300 -de 15321 141140 -de 15322 006116 -de 15323 041576 -de 15324 140407 -de 15325 015546 -de 15326 011331 -de 15327 011341 -de 15330 005547 -de 15332 107301 -de 15333 100040 -de 15334 003346 -de 15335 005300 -de 15336 040672 -de 15337 006116 -de 15340 013302 -de 15342 113301 -de 15343 111301 -de 15344 010477 -de 15345 025303 -de 15346 103303 -de 15350 044000 -de 15351 007547 -de 15352 040477 -de 15353 052000 -de 15354 007547 -de 15355 052000 -de 15356 015550 -de 15357 050000 -de 15360 103347 -de 15362 044000 -de 15363 015551 -de 15364 052000 -de 15365 007552 -de 15366 052000 -de 15367 050000 -de 15370 103361 -de 15372 033501 -de 15373 011502 -de 15374 005501 -de 15375 022130 -de 15376 003442 -de 15377 101000 -de 15400 073553 -de 15401 004124 -de 15402 011500 -de 15403 003411 -de 15404 010000 -de 15405 064003 -de 15406 003462 -de 15407 004121 -de 15410 050003 -de 15411 025500 -de 15412 003415 -de 15413 025371 -de 15414 003476 -de 15415 044000 -de 15416 100040 -de 15417 003404 -de 15420 104324 -de 15421 101040 -de 15422 003413 -de 15423 026324 -de 15424 024563 -de 15425 050000 -de 15426 011500 -de 15427 026000 -de 15430 050001 -de 15431 005554 -de 15432 011503 -de 15433 050003 -de 15434 140040 -de 15435 050000 -de 15436 005500 -de 15437 014117 -de 15440 050002 -de 15441 003452 -de 15442 012120 -de 15443 100040 -de 15444 103371 -de 15445 005555 -de 15446 010503 -de 15447 030026 -de 15450 103371 -de 15451 044000 -de 15452 010000 -de 15453 014117 -de 15454 050000 -de 15455 005500 -de 15456 050003 -de 15457 025503 -de 15460 003451 -de 15461 073500 -de 15462 144002 -de 15463 066002 -de 15464 073501 -de 15465 150403 -de 15466 050403 -de 15467 010000 -de 15470 140040 -de 15471 050000 -de 15472 005502 -de 15473 050001 -de 15474 004515 -de 15475 050002 -de 15476 073501 -de 15477 103371 -de 15505 044000 -de 15506 101040 -de 15507 103504 -de 15510 144000 -de 15511 101040 -de 15512 133556 -de 15513 066000 -de 15514 010000 -de 15515 140040 -de 15516 050000 -de 15517 025504 -de 15520 103504 -de 15521 177770 -de 15522 033457 -de 15523 177700 -de 15524 177771 -de 15525 000010 -de 15526 032260 -de 15527 032261 -de 15530 020210 -de 15531 032271 -de 15532 177460 -de 15533 000004 -de 15534 177764 -de 15535 033477 -de 15536 054137 -de 15537 000277 -de 15540 000200 -de 15541 054147 -de 15542 054167 -de 15543 000030 -de 15544 000077 -de 15545 032571 -de 15546 041700 -de 15547 000017 -de 15550 000400 -de 15551 000020 -de 15552 000060 -de 15553 000337 -de 15554 177757 -de 15555 177324 -de 15556 040051 -de 16013 033121 -de 16014 073012 -de 16015 033042 -de 16016 072116 -de 16017 003044 -de 16021 033121 -de 16022 073020 -de 16023 033042 -de 16024 072115 -de 16025 003044 -de 16027 033121 -de 16030 073026 -de 16031 033042 -de 16032 072114 -de 16033 003044 -de 16035 033121 -de 16036 073034 -de 16037 033042 -de 16040 072113 -de 16041 003044 -de 16043 033121 -de 16044 000011 -de 16045 003046 -de 16046 011117 -de 16047 000043 -de 16050 011120 -de 16051 032676 -de 16052 004500 -de 16053 170120 -de 16054 026134 -de 16055 011122 -de 16056 000401 -de 16057 143107 -de 16061 004000 -de 16062 016130 -de 16063 100400 -de 16064 003071 -de 16065 004107 -de 16066 041576 -de 16067 051306 -de 16070 100000 -de 16072 005060 -de 16073 051107 -de 16074 005122 -de 16075 001001 -de 16076 170120 -de 16077 010134 -de 16100 000013 -de 16101 005120 -de 16102 171020 -de 16103 073121 -de 16104 005117 -de 16105 000401 -de 16106 103042 -de 16124 030270 -de 16125 030260 -de 16127 030251 -de 16130 016205 -de 16131 016207 -de 16132 016211 -de 16133 016213 -de 16134 016215 -de 16135 000044 -de 16136 000046 -de 16140 000030 -de 16141 017407 -de 16142 017410 -de 16143 017411 -de 16144 017412 -de 16145 000045 -de 16146 000047 -de 16150 000031 -de 16151 017413 -de 16152 017414 -de 16153 017415 -de 16154 017416 -de 16220 140040 -de 16221 051155 -de 16222 151135 -de 16223 011042 -de 16224 140500 -de 16225 111575 -de 16226 005576 -de 16227 021273 -de 16230 103217 -de 16232 014676 -de 16233 011303 -de 16234 015577 -de 16235 011304 -de 16236 004676 -de 16237 012120 -de 16240 101040 -de 16241 103231 -de 16242 105303 -de 16243 101040 -de 16244 103231 -de 16245 010000 -de 16246 005305 -de 16247 101040 -de 16250 003261 -de 16251 004416 -de 16252 056003 -de 16253 100400 -de 16254 003267 -de 16255 004676 -de 16256 016130 -de 16257 101400 -de 16260 103231 -de 16261 073303 -de 16262 121600 -de 16263 103231 -de 16264 121601 -de 16265 125304 -de 16266 003242 -de 16267 023305 -de 16270 011305 -de 16271 101000 -de 16272 103231 -de 16274 051107 -de 16275 001001 -de 16276 000013 -de 16277 021042 -de 16300 001001 -de 16301 120672 -de 16302 103273 -de 16316 030570 -de 16317 030560 -de 16320 030550 -de 16321 030551 -de 16323 011324 -de 16325 004121 -de 16326 051306 -de 16327 005322 -de 16330 003073 -de 16331 004110 -de 16332 016120 -de 16333 041577 -de 16334 051306 -de 16335 005602 -de 16336 003073 -de 16337 005603 -de 16340 021322 -de 16341 004172 -de 16342 100400 -de 16343 003347 -de 16344 007604 -de 16345 100040 -de 16346 003337 -de 16347 004116 -de 16350 003357 -de 16351 004000 -de 16352 016120 -de 16353 101040 -de 16354 103605 -de 16355 111575 -de 16356 004115 -de 16357 050504 -de 16360 121606 -de 16361 100000 -de 16362 003360 -de 16363 140040 -de 16364 151145 -de 16365 151135 -de 16366 067155 -de 16367 140100 -de 16370 101040 -de 16371 003400 -de 16372 024541 -de 16373 011305 -de 16374 045175 -de 16375 073305 -de 16376 050007 -de 16377 121601 -de 16400 140040 -de 16401 011305 -de 16402 005607 -de 16403 021231 -de 16404 005610 -de 16405 021231 -de 16406 072676 -de 16407 004000 -de 16410 016130 -de 16411 101400 -de 16412 003422 -de 16413 105575 -de 16414 101040 -de 16415 003422 -de 16416 105611 -de 16417 021322 -de 16420 045316 -de 16421 021322 -de 16422 004123 -de 16423 011303 -de 16424 000401 -de 16425 005612 -de 16426 001001 -de 16427 120670 -de 16430 101000 -de 16431 025303 -de 16432 003424 -de 16433 005613 -de 16434 120670 -de 16435 101000 -de 16436 000401 -de 16437 140040 -de 16440 111575 -de 16441 005603 -de 16442 021322 -de 16443 004107 -de 16444 011305 -de 16445 005607 -de 16446 021231 -de 16447 005610 -de 16450 021231 -de 16451 072676 -de 16452 121606 -de 16453 003503 -de 16454 151130 -de 16455 045130 -de 16456 151135 -de 16457 141206 -de 16460 151145 -de 16461 051155 -de 16462 004516 -de 16463 151155 -de 16464 045124 -de 16465 011071 -de 16466 004112 -de 16467 051155 -de 16470 051175 -de 16471 005305 -de 16472 051306 -de 16473 021060 -de 16474 140040 -de 16475 151135 -de 16476 051155 -de 16477 045306 -de 16500 101040 -de 16501 003351 -de 16502 003443 -de 16503 044302 -de 16504 101040 -de 16505 003510 -de 16506 005610 -de 16507 003514 -de 16510 044272 -de 16511 101040 -de 16512 003441 -de 16513 005607 -de 16514 014000 -de 16515 051165 -de 16516 004115 -de 16517 111614 -de 16520 145165 -de 16521 051155 -de 16522 045165 -de 16523 010000 -de 16524 144000 -de 16525 050000 -de 16526 101040 -de 16527 133615 -de 16530 064251 -de 16531 072676 -de 16532 172700 -de 16533 005616 -de 16534 026111 -de 16535 011123 -de 16536 004000 -de 16537 056111 -de 16540 015617 -de 16541 140100 -de 16542 011545 -de 16543 017620 -de 16544 103545 -de 16546 100040 -de 16547 003553 -de 16550 005123 -de 16551 010111 -de 16552 103621 -de 16553 027123 -de 16554 010111 -de 16555 004676 -de 16556 012120 -de 16557 101040 -de 16560 103621 -de 16561 005123 -de 16562 001001 -de 16563 021564 -de 16565 120745 -de 16566 000401 -de 16567 072676 -de 16570 045155 -de 16571 140500 -de 16572 051155 -de 16573 140100 -de 16574 103622 -de 16575 053343 -de 16576 016331 -de 16577 000251 -de 16600 015504 -de 16601 017237 -de 16602 016341 -de 16603 101000 -de 16604 000340 -de 16605 017143 -de 16606 017250 -de 16607 000272 -de 16610 000302 -de 16611 041170 -de 16612 002000 -de 16613 005000 -de 16614 057203 -de 16615 040051 -de 16616 016546 -de 16617 001562 -de 16620 001556 -de 16621 017062 -de 16622 017064 -de 17056 030070 -de 17057 030060 -de 17061 030051 -de 17062 072676 -de 17063 105424 -de 17064 015425 -de 17065 057203 -de 17066 111426 -de 17067 172700 -de 17070 131040 -de 17071 003070 -de 17072 050001 -de 17073 140040 -de 17074 050000 -de 17075 044111 -de 17076 140100 -de 17077 016114 -de 17100 072676 -de 17101 111427 -de 17102 024565 -de 17103 172700 -de 17104 044007 -de 17105 007430 -de 17106 066007 -de 17107 072676 -de 17110 111431 -de 17111 100400 -de 17112 003115 -de 17113 045056 -de 17114 100000 -de 17115 105432 -de 17116 111433 -de 17117 021127 -de 17120 105431 -de 17121 121434 -de 17122 105431 -de 17123 101400 -de 17124 103435 -de 17125 121436 -de 17126 103437 -de 17130 172700 -de 17131 004416 -de 17132 056003 -de 17133 072676 -de 17134 111440 -de 17135 100400 -de 17136 003143 -de 17137 004000 -de 17140 016130 -de 17141 100400 -de 17142 103441 -de 17143 121442 -de 17144 140040 -de 17145 111426 -de 17146 105440 -de 17147 101040 -de 17150 103441 -de 17151 172700 -de 17152 044002 -de 17153 001001 -de 17154 100040 -de 17155 121443 -de 17156 072676 -de 17157 000401 -de 17160 140040 -de 17161 067203 -de 17162 172700 -de 17163 100040 -de 17164 003214 -de 17165 072676 -de 17166 140040 -de 17167 126700 -de 17170 010000 -de 17171 001001 -de 17172 100400 -de 17173 003177 -de 17174 120671 -de 17175 072676 -de 17176 103127 -de 17177 140100 -de 17200 026342 -de 17201 050000 -de 17202 003175 -de 17214 044006 -de 17215 007444 -de 17216 100040 -de 17217 003165 -de 17220 044005 -de 17221 007445 -de 17222 100040 -de 17223 004121 -de 17224 011213 -de 17225 044005 -de 17226 007446 -de 17227 013447 -de 17230 052007 -de 17231 007450 -de 17232 052007 -de 17233 073213 -de 17234 121451 -de 17235 101000 -de 17236 003165 -de 17240 044005 -de 17241 007452 -de 17242 013445 -de 17243 050005 -de 17244 132352 -de 17245 032352 -de 17246 024526 -de 17247 103237 -de 17251 033337 -de 17252 044332 -de 17253 100040 -de 17254 003260 -de 17255 073337 -de 17256 005340 -de 17257 103250 -de 17260 011341 -de 17261 004000 -de 17262 022130 -de 17263 003255 -de 17264 101000 -de 17265 025250 -de 17266 073341 -de 17267 044001 -de 17270 011340 -de 17271 044002 -de 17272 010516 -de 17273 044003 -de 17274 011342 -de 17275 073337 -de 17276 144332 -de 17277 050332 -de 17300 100040 -de 17301 003305 -de 17302 005453 -de 17303 014000 -de 17304 050403 -de 17305 073342 -de 17306 044002 -de 17307 111341 -de 17310 005341 -de 17311 050002 -de 17312 044003 -de 17313 016114 -de 17314 050003 -de 17315 023454 -de 17316 003255 -de 17317 044001 -de 17320 054000 -de 17321 017455 -de 17322 101040 -de 17323 003255 -de 17324 044000 -de 17325 150001 -de 17326 044001 -de 17327 064000 -de 17330 150000 -de 17331 140040 -de 17332 050111 -de 17333 001001 -de 17334 120671 -de 17335 000401 -de 17336 003255 -de 17344 000011 -de 17345 000401 -de 17346 103343 -de 17350 045407 -de 17351 101040 -de 17352 003366 -de 17353 057413 -de 17354 022113 -de 17355 003374 -de 17356 003362 -de 17357 145407 -de 17360 065407 -de 17361 103347 -de 17362 105456 -de 17363 100400 -de 17364 025347 -de 17365 003357 -de 17366 005347 -de 17367 051420 -de 17370 120667 -de 17371 045420 -de 17372 011347 -de 17373 003350 -de 17374 033417 -de 17375 004000 -de 17376 014130 -de 17377 010000 -de 17400 001001 -de 17401 000013 -de 17402 121457 -de 17403 001001 -de 17404 120672 -de 17405 073417 -de 17406 003350 -de 17424 056155 -de 17425 000011 -de 17426 156135 -de 17427 156145 -de 17430 050377 -de 17431 056175 -de 17432 056124 -de 17433 016071 -de 17434 022462 -de 17435 016520 -de 17436 022451 -de 17437 016443 -de 17440 056306 -de 17441 016351 -de 17442 016060 -de 17443 011144 -de 17444 003400 -de 17445 000010 -de 17446 177600 -de 17447 000100 -de 17450 177700 -de 17451 015303 -de 17452 177767 -de 17453 000332 -de 17454 177756 -de 17455 000337 -de 17456 056201 -de 17457 016042 -de 20023 000011 -de 20024 003025 -de 20025 033145 -de 20026 025143 -de 20027 003034 -de 20030 073574 -de 20031 033143 -de 20032 072114 -de 20033 100000 -de 20034 072113 -de 20035 051146 -de 20036 045160 -de 20037 170120 -de 20040 026134 -de 20041 051156 -de 20042 000043 -de 20043 051150 -de 20044 005145 -de 20045 051152 -de 20046 005022 -de 20047 051154 -de 20050 024415 -de 20051 101000 -de 20052 024417 -de 20053 101000 -de 20054 030026 -de 20055 143162 -de 20056 001001 -de 20057 045154 -de 20060 011022 -de 20061 045152 -de 20062 011145 -de 20063 045156 -de 20064 170120 -de 20065 010134 -de 20066 000013 -de 20067 045150 -de 20070 171020 -de 20071 045146 -de 20072 073145 -de 20073 000401 -de 20074 103022 -de 20076 004127 -de 20077 010141 -de 20100 072113 -de 20101 140040 -de 20102 111575 -de 20103 004115 -de 20104 051300 -de 20105 005576 -de 20106 111577 -de 20107 005600 -de 20110 111601 -de 20111 004110 -de 20112 111602 -de 20113 004121 -de 20114 051452 -de 20115 021354 -de 20116 024000 -de 20117 024141 -de 20120 003101 -de 20121 004121 -de 20122 011143 -de 20123 010142 -de 20124 111603 -de 20125 111604 -de 20126 011210 -de 20127 111605 -de 20130 111606 -de 20131 111607 -de 20132 111610 -de 20133 011277 -de 20134 004122 -de 20135 073611 -de 20136 051277 -de 20137 024000 -de 20140 003136 -de 20141 030040 -de 20142 103075 -de 20160 177774 -de 20161 177774 -de 20162 020170 -de 20163 021075 -de 20164 005160 -de 20165 170120 -de 20166 010134 -de 20167 072114 -de 20170 033144 -de 20171 021211 -de 20172 021305 -de 20173 021327 -de 20174 121612 -de 20175 021200 -de 20176 073144 -de 20177 003056 -de 20201 005613 -de 20202 113614 -de 20203 101040 -de 20204 011210 -de 20205 025210 -de 20206 101000 -de 20207 103200 -de 20212 025274 -de 20213 100000 -de 20214 003255 -de 20215 025275 -de 20216 100000 -de 20217 003257 -de 20220 025276 -de 20221 100000 -de 20222 003261 -de 20223 072127 -de 20224 004121 -de 20225 123615 -de 20226 100000 -de 20227 003233 -de 20230 024000 -de 20231 003225 -de 20232 103211 -de 20233 045305 -de 20234 040677 -de 20235 100400 -de 20236 005616 -de 20237 051305 -de 20240 107617 -de 20241 101040 -de 20242 003253 -de 20243 100100 -de 20244 003264 -de 20245 001001 -de 20246 044272 -de 20247 101040 -de 20250 004115 -de 20251 050272 -de 20252 000401 -de 20253 004121 -de 20254 003230 -de 20255 005620 -de 20256 011274 -de 20257 005574 -de 20260 011275 -de 20261 004125 -de 20262 011276 -de 20263 003223 -de 20264 033273 -de 20265 004000 -de 20266 016127 -de 20267 010000 -de 20270 021354 -de 20271 073273 -de 20272 003245 -de 20306 072113 -de 20307 004127 -de 20310 011353 -de 20311 001001 -de 20312 044440 -de 20313 100040 -de 20314 003324 -de 20315 121621 -de 20316 001001 -de 20317 120672 -de 20320 024000 -de 20321 025353 -de 20322 003311 -de 20323 103305 -de 20324 064440 -de 20325 003320 -de 20326 003315 -de 20330 004131 -de 20331 011352 -de 20332 005352 -de 20333 012415 -de 20334 006120 -de 20335 010000 -de 20336 001001 -de 20337 105622 -de 20340 100040 -de 20341 125622 -de 20342 003346 -de 20343 000013 -de 20344 121623 -de 20345 001001 -de 20346 120672 -de 20347 025352 -de 20350 003332 -de 20351 103327 -de 20355 044265 -de 20356 100400 -de 20357 003445 -de 20360 140040 -de 20361 127575 -de 20362 101040 -de 20363 003367 -de 20364 064421 -de 20365 065457 -de 20366 101000 -de 20367 125624 -de 20370 101000 -de 20371 044426 -de 20372 101040 -de 20373 003416 -de 20374 016114 -de 20375 100040 -de 20376 004114 -de 20377 050426 -de 20400 044433 -de 20401 101040 -de 20402 003414 -de 20403 065452 -de 20404 103354 -de 20405 140040 -de 20406 050433 -de 20407 044160 -de 20410 016106 -de 20411 006112 -de 20412 040672 -de 20413 111625 -de 20414 004125 -de 20415 003431 -de 20416 044433 -de 20417 100040 -de 20420 003433 -de 20421 065452 -de 20422 003440 -de 20423 001001 -de 20424 121626 -de 20425 000401 -de 20426 105602 -de 20427 111625 -de 20430 050433 -de 20431 051452 -de 20432 103354 -de 20433 045452 -de 20434 123602 -de 20435 016114 -de 20436 003430 -de 20437 003426 -de 20440 045452 -de 20441 022123 -de 20442 100000 -de 20443 121627 -de 20444 103354 -de 20445 023630 -de 20446 100000 -de 20447 121627 -de 20450 021464 -de 20451 003426 -de 20465 004112 -de 20466 050440 -de 20467 004000 -de 20470 014127 -de 20471 023544 -de 20472 100000 -de 20473 103464 -de 20474 023545 -de 20475 103464 -de 20476 103464 -de 20477 115631 -de 20500 101040 -de 20501 103543 -de 20502 064265 -de 20503 103464 -de 20504 001001 -de 20505 033546 -de 20506 005632 -de 20507 021547 -de 20510 005633 -de 20511 021547 -de 20512 073546 -de 20513 005634 -de 20514 050646 -de 20515 050653 -de 20516 044622 -de 20517 111635 -de 20520 050627 -de 20521 005636 -de 20522 050634 -de 20523 140040 -de 20524 050641 -de 20525 050440 -de 20526 166627 -de 20527 010000 -de 20530 023637 -de 20531 021557 -de 20532 101000 -de 20533 073546 -de 20534 064627 -de 20535 064634 -de 20536 003523 -de 20537 005640 -de 20540 111641 -de 20541 000401 -de 20542 103464 -de 20550 015546 -de 20551 011573 -de 20552 073573 -de 20553 121642 -de 20554 103547 -de 20555 021557 -de 20556 003552 -de 20560 132402 -de 20561 032402 -de 20562 024564 -de 20563 044002 -de 20564 101040 -de 20565 103557 -de 20566 010000 -de 20567 005643 -de 20570 052012 -de 20571 050012 -de 20572 103557 -de 20574 177747 -de 20575 045565 -de 20576 101006 -de 20577 052620 -de 20600 020276 -de 20601 051353 -de 20602 051361 -de 20603 022273 -de 20604 022303 -de 20605 004601 -de 20606 027263 -de 20607 027264 -de 20610 021561 -de 20611 177775 -de 20612 022320 -de 20613 032261 -de 20614 015155 -de 20615 151360 -de 20616 000020 -de 20617 167274 -de 20620 177716 -de 20621 012604 -de 20622 053137 -de 20623 013106 -de 20624 062303 -de 20625 050254 -de 20626 011133 -de 20627 026120 -de 20630 177767 -de 20631 005153 -de 20632 000317 -de 20633 000312 -de 20634 000377 -de 20635 052660 -de 20636 177770 -de 20637 001777 -de 20640 003231 -de 20641 150247 -de 20642 015504 -de 20643 140000 -de 21075 021460 -de 21076 021362 -de 21077 021432 -de 21100 121672 -de 21101 121673 -de 21102 021564 -de 21103 021640 -de 21104 021134 -de 21105 021500 -de 21106 000401 -de 21107 021526 -de 21110 073674 -de 21111 005675 -de 21112 123676 -de 21113 100000 -de 21114 100000 -de 21115 120061 -de 21116 016114 -de 21117 024000 -de 21120 003112 -de 21121 005677 -de 21122 113676 -de 21123 100040 -de 21124 120061 -de 21125 010452 -de 21126 101000 -de 21127 001001 -de 21130 024416 -de 21131 024503 -de 21132 103700 -de 21133 120061 -de 21135 005701 -de 21136 011356 -de 21137 072113 -de 21140 033355 -de 21141 044165 -de 21142 101400 -de 21143 003274 -de 21144 073356 -de 21145 001001 -de 21146 044000 -de 21147 007702 -de 21150 013702 -de 21151 101040 -de 21152 003232 -de 21153 004124 -de 21154 011357 -de 21155 044000 -de 21156 017703 -de 21157 050000 -de 21160 100100 -de 21161 003226 -de 21162 141044 -de 21163 013355 -de 21164 121704 -de 21165 003203 -de 21166 010000 -de 21167 140040 -de 21170 066000 -de 21171 140100 -de 21172 010000 -de 21173 120671 -de 21174 044010 -de 21175 141044 -de 21176 010515 -de 21177 044007 -de 21200 121705 -de 21201 044006 -de 21202 003221 -de 21203 105356 -de 21204 141044 -de 21205 013355 -de 21206 121706 -de 21207 003226 -de 21210 010000 -de 21211 140040 -de 21212 066000 -de 21213 006120 -de 21214 011361 -de 21215 044030 -de 21216 141044 -de 21217 010515 -de 21220 044014 -de 21221 007707 -de 21222 013710 -de 21223 073361 -de 21224 120670 -de 21225 101000 -de 21226 073356 -de 21227 121711 -de 21230 025357 -de 21231 003160 -de 21232 005355 -de 21233 121712 -de 21234 100000 -de 21235 003232 -de 21236 073713 -de 21237 044000 -de 21240 101040 -de 21241 003244 -de 21242 021303 -de 21243 003237 -de 21244 073714 -de 21245 044000 -de 21246 101040 -de 21247 003271 -de 21250 100400 -de 21251 003267 -de 21252 033360 -de 21253 010000 -de 21254 044007 -de 21255 013355 -de 21256 007715 -de 21257 100040 -de 21260 003245 -de 21261 044000 -de 21262 111360 -de 21263 120671 -de 21264 024565 -de 21265 073360 -de 21266 003245 -de 21267 021303 -de 21270 003245 -de 21271 073355 -de 21272 121716 -de 21273 000401 -de 21274 024000 -de 21275 025356 -de 21276 004000 -de 21277 014132 -de 21300 100400 -de 21301 003140 -de 21302 103134 -de 21304 140100 -de 21305 033360 -de 21306 010000 -de 21307 044001 -de 21310 013355 -de 21311 007715 -de 21312 100040 -de 21313 103303 -de 21314 044000 -de 21315 111360 -de 21316 021321 -de 21317 073360 -de 21320 103303 -de 21322 004000 -de 21323 026326 -de 21324 110326 -de 21325 005717 -de 21326 011353 -de 21327 140040 -de 21330 050013 -de 21331 044002 -de 21332 100400 -de 21333 004120 -de 21334 141206 -de 21335 014565 -de 21336 010565 -de 21337 140040 -de 21340 066003 -de 21341 101040 -de 21342 003347 -de 21343 033354 -de 21344 010000 -de 21345 120671 -de 21346 073354 -de 21347 024000 -de 21350 025353 -de 21351 003337 -de 21352 103321 -de 21363 004131 -de 21364 011430 -de 21365 072113 -de 21366 045662 -de 21367 011372 -de 21370 001001 -de 21371 044504 -de 21373 015720 -de 21374 015721 -de 21375 011376 -de 21377 021423 -de 21400 021423 -de 21401 021423 -de 21402 021411 -de 21403 021423 -de 21404 021421 -de 21405 021423 -de 21406 021421 -de 21407 021423 -de 21410 021423 -de 21411 140040 -de 21412 050504 -de 21413 104700 -de 21414 101040 -de 21415 003423 -de 21416 004107 -de 21417 111722 -de 21420 003423 -de 21421 005723 -de 21422 121724 -de 21423 000401 -de 21424 024000 -de 21425 025430 -de 21426 003366 -de 21427 103362 -de 21433 072127 -de 21434 001001 -de 21435 004116 -de 21436 111455 -de 21437 005717 -de 21440 011457 -de 21441 044627 -de 21442 011456 -de 21443 105456 -de 21444 100040 -de 21445 125455 -de 21446 025456 -de 21447 025457 -de 21450 003443 -de 21451 000401 -de 21452 024000 -de 21453 003434 -de 21454 103432 -de 21455 066505 -de 21461 004131 -de 21462 011477 -de 21463 072113 -de 21464 125722 -de 21465 003473 -de 21466 001001 -de 21467 000013 -de 21470 121725 -de 21471 001001 -de 21472 120672 -de 21473 024000 -de 21474 025477 -de 21475 003464 -de 21476 103460 -de 21501 073726 -de 21502 001001 -de 21503 044543 -de 21504 056567 -de 21505 101400 -de 21506 003513 -de 21507 021510 -de 21511 120745 -de 21512 140040 -de 21513 050543 -de 21514 140040 -de 21515 050567 -de 21516 000401 -de 21517 024000 -de 21520 003502 -de 21521 001001 -de 21522 125727 -de 21523 103500 -de 21524 010542 -de 21525 103500 -de 21527 025561 -de 21530 103526 -de 21531 072132 -de 21532 001001 -de 21533 105730 -de 21534 007702 -de 21535 013702 -de 21536 101040 -de 21537 003550 -de 21540 105730 -de 21541 007731 -de 21542 013731 -de 21543 101040 -de 21544 003550 -de 21545 005732 -de 21546 115730 -de 21547 111730 -de 21550 000401 -de 21551 024000 -de 21552 003532 -de 21553 004107 -de 21554 040575 -de 21555 014107 -de 21556 040577 -de 21557 011561 -de 21560 103526 -de 21565 101000 -de 21566 005733 -de 21567 011565 -de 21570 004141 -de 21571 013562 -de 21572 101040 -de 21573 103564 -de 21574 004141 -de 21575 006120 -de 21576 101040 -de 21577 003626 -de 21600 010000 -de 21601 004141 -de 21602 040575 -de 21603 006752 -de 21604 011563 -de 21605 055630 -de 21606 011624 -de 21607 004000 -de 21610 022116 -de 21611 003624 -de 21612 100000 -de 21613 003621 -de 21614 073563 -de 21615 001001 -de 21616 044437 -de 21617 100040 -de 21620 103564 -de 21621 005563 -de 21622 015734 -de 21623 011565 -de 21625 000401 -de 21626 004141 -de 21627 011562 -de 21630 103564 -de 21631 030270 -de 21632 030370 -de 21633 030170 -de 21634 030300 -de 21635 030500 -de 21636 030400 -de 21637 101000 -de 21641 001001 -de 21642 004142 -de 21643 100400 -de 21644 003656 -de 21645 010000 -de 21646 044332 -de 21647 100040 -de 21650 003656 -de 21651 004143 -de 21652 010515 -de 21653 005735 -de 21654 120670 -de 21655 025660 -de 21656 000401 -de 21657 103640 -de 21661 037454 -de 21662 070170 -de 21663 070160 -de 21665 070151 -de 21666 100000 -de 21667 100000 -de 21670 100000 -de 21671 100000 -de 21672 027112 -de 21673 026512 -de 21674 177666 -de 21675 054115 -de 21676 041557 -de 21677 102111 -de 21700 020164 -de 21701 032271 -de 21702 000017 -de 21703 001400 -de 21704 015033 -de 21705 007244 -de 21706 015205 -de 21707 070377 -de 21710 003400 -de 21711 015347 -de 21712 015114 -de 21713 000340 -de 21714 000327 -de 21715 000077 -de 21716 002374 -de 21717 177770 -de 21720 000005 -de 21721 103377 -de 21722 056306 -de 21723 016341 -de 21724 016273 -de 21725 016042 -de 21726 177754 -de 21727 004161 -de 21730 072371 -de 21731 000300 -de 21732 000100 -de 21733 101000 -de 21734 030470 -de 21735 002000 -de 22057 005524 -de 22060 011301 -de 22061 121525 -de 22062 073526 -de 22063 001001 -de 22064 044510 -de 22065 100040 -de 22066 004112 -de 22067 140024 -de 22070 041277 -de 22071 024000 -de 22072 003064 -de 22073 040274 -de 22074 013272 -de 22075 021310 -de 22076 127527 -de 22077 021310 -de 22100 026746 -de 22101 021310 -de 22102 004747 -de 22103 021310 -de 22104 004750 -de 22105 021310 -de 22106 072124 -de 22107 001001 -de 22110 044543 -de 22111 056567 -de 22112 021310 -de 22113 024000 -de 22114 003107 -de 22115 004105 -de 22116 021310 -de 22117 105530 -de 22120 021310 -de 22121 000013 -de 22122 105531 -de 22123 001001 -de 22124 120672 -de 22125 021310 -de 22126 004142 -de 22127 021310 -de 22130 127532 -de 22131 021310 -de 22132 127533 -de 22133 021310 -de 22134 011277 -de 22135 072127 -de 22136 001001 -de 22137 140040 -de 22140 127534 -de 22141 057310 -de 22142 140407 -de 22143 100400 -de 22144 140040 -de 22145 023535 -de 22146 005535 -de 22147 101000 -de 22150 011302 -de 22151 004121 -de 22152 067310 -de 22153 023535 -de 22154 005535 -de 22155 101000 -de 22156 021310 -de 22157 044440 -de 22160 100040 -de 22161 005536 -de 22162 052165 -de 22163 022106 -de 22164 100000 -de 22165 012753 -de 22166 141340 -de 22167 013302 -de 22170 021310 -de 22171 105537 -de 22172 141340 -de 22173 006116 -de 22174 013277 -de 22175 041676 -de 22176 011277 -de 22177 024000 -de 22200 003136 -de 22201 041674 -de 22202 021310 -de 22203 072123 -de 22204 105540 -de 22205 021310 -de 22206 024000 -de 22207 003204 -de 22210 027301 -de 22211 140407 -de 22212 121525 -de 22213 140040 -de 22214 027276 -de 22215 100040 -de 22216 103541 -de 22217 073542 -de 22220 004112 -de 22221 120664 -de 22222 105543 -de 22223 121525 -de 22224 105544 -de 22225 121525 -de 22226 005545 -de 22227 021310 -de 22230 072127 -de 22231 127546 -de 22232 021310 -de 22233 127547 -de 22234 021310 -de 22235 024000 -de 22236 003231 -de 22237 073526 -de 22240 005550 -de 22241 011277 -de 22242 005551 -de 22243 011300 -de 22244 140040 -de 22245 127300 -de 22246 021310 -de 22247 025300 -de 22250 025277 -de 22251 003244 -de 22252 024000 -de 22253 003240 -de 22254 027301 -de 22255 140407 -de 22256 121525 -de 22257 103541 -de 22260 073563 -de 22261 073567 -de 22262 073573 -de 22263 073577 -de 22264 073603 -de 22265 073607 -de 22266 073613 -de 22267 073617 -de 22270 073623 -de 22271 073627 -de 22275 003014 -de 22311 000401 -de 22312 027301 -de 22313 015301 -de 22314 027301 -de 22315 121525 -de 22316 140040 -de 22317 103310 -de 22321 005552 -de 22322 111553 -de 22323 072121 -de 22324 105527 -de 22325 101040 -de 22326 105554 -de 22327 100040 -de 22330 033272 -de 22331 004142 -de 22332 027273 -de 22333 023273 -de 22334 100000 -de 22335 003345 -de 22336 033272 -de 22337 010000 -de 22340 005275 -de 22341 127555 -de 22342 072142 -de 22343 127555 -de 22344 011275 -de 22345 004753 -de 22346 111556 -de 22347 140040 -de 22350 127556 -de 22351 012473 -de 22352 100020 -de 22353 012751 -de 22354 100010 -de 22355 012117 -de 22356 100004 -de 22357 012115 -de 22360 100002 -de 22361 012114 -de 22362 072124 -de 22363 011274 -de 22364 105557 -de 22365 100040 -de 22366 105560 -de 22367 013274 -de 22370 024000 -de 22371 003363 -de 22372 012567 -de 22373 027272 -de 22374 013272 -de 22375 101040 -de 22376 103320 -de 22377 011276 -de 22400 004417 -de 22401 117553 -de 22402 111561 -de 22403 103320 -de 22405 010747 -de 22406 032750 -de 22407 004122 -de 22410 015404 -de 22411 010746 -de 22412 104746 -de 22413 010746 -de 22414 103404 -de 22416 012106 -de 22417 100040 -de 22420 005562 -de 22421 015264 -de 22422 001001 -de 22423 021505 -de 22424 101000 -de 22425 103415 -de 22427 012106 -de 22430 100040 -de 22431 005562 -de 22432 015266 -de 22433 001001 -de 22434 021505 -de 22435 103426 -de 22436 172677 -de 22437 044111 -de 22440 016000 -de 22441 140100 -de 22442 017563 -de 22443 072675 -de 22444 115564 -de 22445 100400 -de 22446 004112 -de 22447 111564 -de 22450 103426 -de 22452 012106 -de 22453 007565 -de 22454 100040 -de 22455 005562 -de 22456 015265 -de 22457 021505 -de 22460 101000 -de 22461 103451 -de 22463 012106 -de 22464 007565 -de 22465 100040 -de 22466 005562 -de 22467 015267 -de 22470 021505 -de 22471 103462 -de 22472 172700 -de 22473 044111 -de 22474 016000 -de 22475 140100 -de 22476 017563 -de 22477 072676 -de 22500 115566 -de 22501 100400 -de 22502 004112 -de 22503 111566 -de 22504 103462 -de 22506 016130 -de 22507 011523 -de 22510 004000 -de 22511 016130 -de 22512 101400 -de 22513 003521 -de 22514 105523 -de 22515 101400 -de 22516 141206 -de 22517 111523 -de 22520 025505 -de 22521 000401 -de 22522 103505 -de 22524 000301 -de 22525 030403 -de 22526 177774 -de 22527 003560 -de 22530 001005 -de 22531 040000 -de 22532 021660 -de 22533 021431 -de 22534 060464 -de 22535 000377 -de 22536 000200 -de 22537 052625 -de 22540 077777 -de 22541 030165 -de 22542 100003 -de 22543 030456 -de 22544 030450 -de 22545 000302 -de 22546 050625 -de 22547 050620 -de 22550 177766 -de 22551 122260 -de 22552 004000 -de 22553 030464 -de 22554 000746 -de 22555 053170 -de 22556 001777 -de 22557 070440 -de 22560 041246 -de 22561 030210 -de 22562 177760 -de 22563 000011 -de 22564 073617 -de 22565 000077 -de 22566 073623 -de 23033 005633 -de 23034 011163 -de 23035 005634 -de 23036 011164 -de 23037 005635 -de 23040 011632 -de 23041 011162 -de 23042 140040 -de 23043 010473 -de 23044 000013 -de 23045 003076 -de 23047 131004 -de 23050 003047 -de 23051 007636 -de 23052 013637 -de 23053 103046 -de 23055 070104 -de 23056 003075 -de 23057 030104 -de 23060 170004 -de 23061 003060 -de 23062 070004 -de 23063 003062 -de 23064 030004 -de 23065 103054 -de 23066 005640 -de 23067 011164 -de 23070 005641 -de 23071 011163 -de 23072 005635 -de 23073 011632 -de 23074 103642 -de 23075 021046 -de 23076 021165 -de 23077 140040 -de 23100 011145 -de 23101 021261 -de 23102 005643 -de 23103 121164 -de 23104 021215 -de 23105 140040 -de 23106 011145 -de 23107 011144 -de 23110 121163 -de 23111 006752 -de 23112 011161 -de 23113 015644 -de 23114 010000 -de 23115 044000 -de 23116 100400 -de 23117 003122 -de 23120 005162 -de 23121 021126 -de 23122 044000 -de 23123 010000 -de 23124 005161 -de 23125 042000 -de 23127 101040 -de 23130 103126 -de 23131 004473 -de 23132 101040 -de 23133 100002 -de 23134 103126 -de 23135 005645 -de 23136 121164 -de 23137 021173 -de 23140 003104 -de 23156 177777 -de 23163 024052 -de 23164 024163 -de 23166 005643 -de 23167 121164 -de 23170 005646 -de 23171 121164 -de 23172 103165 -de 23174 005647 -de 23175 121164 -de 23176 121164 -de 23177 121164 -de 23200 103173 -de 23202 007145 -de 23203 101040 -de 23204 025201 -de 23205 045144 -de 23206 103201 -de 23210 072113 -de 23211 004114 -de 23212 021201 -de 23213 025207 -de 23214 103207 -de 23216 140040 -de 23217 027146 -de 23220 100000 -de 23221 140407 -de 23222 015144 -de 23223 011144 -de 23224 004112 -de 23225 011220 -de 23226 103215 -de 23230 140100 -de 23231 011244 -de 23232 021165 -de 23233 005244 -de 23234 021302 -de 23235 005650 -de 23236 121164 -de 23237 021207 -de 23240 025145 -de 23241 005244 -de 23242 021244 -de 23243 103227 -de 23245 140100 -de 23246 011151 -de 23247 021207 -de 23250 003253 -de 23251 005151 -de 23252 011150 -de 23253 021173 -de 23254 073151 -de 23255 044000 -de 23256 021302 -de 23257 021173 -de 23260 103244 -de 23262 005651 -de 23263 011355 -de 23264 021215 -de 23265 005151 -de 23266 101400 -de 23267 021207 -de 23270 003277 -de 23271 011147 -de 23272 004114 -de 23273 021126 -de 23274 005147 -de 23275 073151 -de 23276 050000 -de 23277 140500 -de 23300 011151 -de 23301 103261 -de 23303 011147 -de 23304 000201 -de 23305 072125 -de 23306 004121 -de 23307 011333 -de 23310 005652 -de 23311 041077 -de 23312 023653 -de 23313 100000 -de 23314 003326 -de 23315 025333 -de 23316 101000 -de 23317 121164 -de 23320 005654 -de 23321 041075 -de 23322 024000 -de 23323 003312 -de 23324 121164 -de 23325 103302 -de 23326 025333 -de 23327 003317 -de 23330 004121 -de 23331 011333 -de 23332 003320 -de 23334 021173 -de 23335 005147 -de 23336 141140 -de 23337 121164 -de 23340 005147 -de 23341 141050 -de 23342 003136 -de 23343 021215 -de 23344 140040 -de 23345 027144 -de 23346 027143 -de 23347 027142 -de 23350 027141 -de 23351 005145 -de 23352 041477 -de 23353 011145 -de 23354 003110 -de 23356 015146 -de 23357 015146 -de 23360 040175 -de 23361 015146 -de 23362 041175 -de 23363 017655 -de 23364 011146 -de 23365 021207 -de 23366 025145 -de 23367 003110 -de 23370 005316 -de 23371 011355 -de 23372 003110 -de 23373 021215 -de 23374 005144 -de 23375 021302 -de 23376 003137 -de 23377 021215 -de 23400 003110 -de 23401 021215 -de 23402 005316 -de 23403 011220 -de 23404 003110 -de 23405 005150 -de 23406 003364 -de 23407 073146 -de 23410 044000 -de 23411 003364 -de 23412 005147 -de 23413 003364 -de 23414 005656 -de 23415 003364 -de 23416 105657 -de 23417 003364 -de 23420 021215 -de 23421 021207 -de 23422 005147 -de 23423 021244 -de 23424 003104 -de 23425 021215 -de 23426 021207 -de 23427 005147 -de 23430 011147 -de 23431 007660 -de 23432 100040 -de 23433 005150 -de 23434 013147 -de 23435 007661 -de 23436 013147 -de 23437 003423 -de 23440 021261 -de 23441 004121 -de 23442 003445 -de 23443 021261 -de 23444 004114 -de 23445 015150 -de 23446 011150 -de 23447 021227 -de 23450 003104 -de 23451 121163 -de 23452 141240 -de 23453 011147 -de 23454 121163 -de 23455 013147 -de 23456 011147 -de 23457 003364 -de 23460 021215 -de 23461 021207 -de 23462 100000 -de 23463 011157 -de 23464 004114 -de 23465 021126 -de 23466 072122 -de 23467 004117 -de 23470 021201 -de 23471 011160 -de 23472 072121 -de 23473 004115 -de 23474 021201 -de 23475 101000 -de 23476 073160 -de 23477 103157 -de 23500 021126 -de 23501 005662 -de 23502 003513 -de 23503 005154 -de 23504 050000 -de 23505 003553 -de 23506 005526 -de 23507 003513 -de 23510 005570 -de 23511 003513 -de 23512 005203 -de 23513 011546 -de 23514 072123 -de 23515 004751 -de 23516 021201 -de 23517 011156 -de 23520 072122 -de 23521 004117 -de 23522 021201 -de 23523 011154 -de 23524 021215 -de 23525 021207 -de 23526 100000 -de 23527 011153 -de 23530 072121 -de 23531 004115 -de 23532 021201 -de 23533 011152 -de 23534 005152 -de 23535 017153 -de 23536 016114 -de 23537 011155 -de 23540 101400 -de 23541 003135 -de 23542 073152 -de 23543 044000 -de 23544 013154 -de 23545 007156 -de 23547 003553 -de 23550 004000 -de 23551 021227 -de 23552 073151 -de 23553 024000 -de 23554 025155 -de 23555 003543 -de 23556 003076 -de 23557 021126 -de 23560 021215 -de 23561 021207 -de 23562 003135 -de 23563 120672 -de 23564 121663 -de 23565 000013 -de 23566 003076 -de 23567 004473 -de 23570 100040 -de 23571 003575 -de 23572 005162 -de 23573 021126 -de 23574 140040 -de 23575 013664 -de 23576 010473 -de 23577 040677 -de 23600 013665 -de 23601 121164 -de 23602 003076 -de 23603 021215 -de 23604 021207 -de 23605 003135 -de 23606 007666 -de 23607 013667 -de 23610 111670 -de 23611 003076 -de 23612 021215 -de 23613 072121 -de 23614 004115 -de 23615 021201 -de 23616 111671 -de 23617 021207 -de 23620 100000 -de 23621 111672 -de 23622 003076 -de 23623 021126 -de 23624 005632 -de 23625 027164 -de 23626 011632 -de 23627 003076 -de 23631 103630 -de 23633 023046 -de 23634 023054 -de 23635 023630 -de 23636 000177 -de 23637 000200 -de 23640 024163 -de 23641 024052 -de 23642 024157 -de 23643 000215 -de 23644 024400 -de 23645 000243 -de 23646 000212 -de 23647 000240 -de 23650 000257 -de 23651 003360 -de 23652 000130 -de 23653 000260 -de 23654 000026 -de 23655 000060 -de 23656 016306 -de 23657 025506 -de 23660 001000 -de 23661 077000 -de 23662 003503 -de 23663 003525 -de 23664 000020 -de 23665 000306 -de 23666 170377 -de 23667 140000 -de 23670 025165 -de 23671 025166 -de 23672 025167 -de 24012 120666 -de 24013 140500 -de 24014 011050 -de 24015 007500 -de 24016 013501 -de 24017 100040 -de 24020 013502 -de 24021 100040 -de 24022 013503 -de 24023 111504 -de 24024 120666 -de 24025 011051 -de 24026 120666 -de 24027 003040 -de 24030 011047 -de 24031 141050 -de 24032 101040 -de 24033 003036 -de 24034 005047 -de 24035 021076 -de 24036 025067 -de 24037 003012 -de 24040 011047 -de 24041 021076 -de 24042 005047 -de 24043 141340 -de 24044 021076 -de 24045 003026 -de 24053 072114 -de 24054 001001 -de 24055 120672 -de 24056 100000 -de 24057 120665 -de 24060 140040 -de 24061 027067 -de 24062 101040 -de 24063 003070 -de 24064 005505 -de 24065 011163 -de 24066 003116 -de 24070 027046 -de 24071 101040 -de 24072 003057 -de 24073 001001 -de 24074 000013 -de 24075 103052 -de 24077 101400 -de 24100 103076 -de 24101 140100 -de 24102 141140 -de 24103 100040 -de 24104 003110 -de 24105 010472 -de 24106 005335 -de 24107 011052 -de 24110 011046 -de 24111 120667 -de 24112 005046 -de 24113 100040 -de 24114 003111 -de 24115 103076 -de 24116 005207 -de 24117 073506 -de 24120 120664 -de 24121 004112 -de 24122 021176 -de 24123 072114 -de 24124 005050 -de 24125 120664 -de 24126 005051 -de 24127 120664 -de 24130 005507 -de 24131 011213 -de 24132 005210 -de 24133 007510 -de 24134 000201 -de 24135 041050 -de 24136 013511 -de 24137 021176 -de 24140 004472 -de 24141 100040 -de 24142 003152 -de 24143 000201 -de 24144 072114 -de 24145 120664 -de 24146 025213 -de 24147 003154 -de 24150 004112 -de 24151 003117 -de 24152 005512 -de 24153 011163 -de 24154 004112 -de 24155 021176 -de 24156 003135 -de 24157 005335 -de 24160 011163 -de 24161 011067 -de 24162 003121 -de 24164 011210 -de 24165 007510 -de 24166 013207 -de 24167 000201 -de 24170 011211 -de 24171 033212 -de 24172 001001 -de 24173 120672 -de 24174 072114 -de 24175 103176 -de 24177 011207 -de 24200 005211 -de 24201 000201 -de 24202 005210 -de 24203 073212 -de 24204 001001 -de 24205 000013 -de 24206 103163 -de 24214 005337 -de 24215 011360 -de 24216 005340 -de 24217 015360 -de 24220 011361 -de 24221 010000 -de 24222 044000 -de 24223 101040 -de 24224 003244 -de 24225 121332 -de 24226 004000 -de 24227 121333 -de 24230 121334 -de 24231 005513 -de 24232 011362 -de 24233 073361 -de 24234 044000 -de 24235 101040 -de 24236 003244 -de 24237 011361 -de 24240 121333 -de 24241 121334 -de 24242 025362 -de 24243 003233 -de 24244 025360 -de 24245 003216 -de 24246 005357 -de 24247 011360 -de 24250 073360 -de 24251 045350 -de 24252 011361 -de 24253 045357 -de 24254 011362 -de 24255 073362 -de 24256 044000 -de 24257 101040 -de 24260 003305 -de 24261 011363 -de 24262 005362 -de 24263 010000 -de 24264 101400 -de 24265 003275 -de 24266 025362 -de 24267 044001 -de 24270 023506 -de 24271 100000 -de 24272 003305 -de 24273 017514 -de 24274 011363 -de 24275 121332 -de 24276 005362 -de 24277 140100 -de 24300 121333 -de 24301 121334 -de 24302 005363 -de 24303 121333 -de 24304 121334 -de 24305 025362 -de 24306 025361 -de 24307 003255 -de 24310 025360 -de 24311 003250 -de 24312 103335 -de 24313 073515 -de 24314 045400 -de 24315 033360 -de 24316 121336 -de 24317 073360 -de 24320 024000 -de 24321 003314 -de 24322 073516 -de 24323 044104 -de 24324 033360 -de 24325 121336 -de 24326 073360 -de 24327 024000 -de 24330 003323 -de 24331 103335 -de 24332 023165 -de 24333 023302 -de 24334 023173 -de 24335 023076 -de 24336 023227 -de 24337 177727 -de 24340 000343 -de 24341 177770 -de 24342 177770 -de 24343 177770 -de 24344 177730 -de 24345 177774 -de 24346 177730 -de 24347 177720 -de 24350 033457 -de 24351 013333 -de 24352 016155 -de 24353 032030 -de 24354 100020 -de 24355 000517 -de 24356 033477 -de 24357 177771 -de 24364 000134 -de 24365 000674 -de 24366 012654 -de 24367 012604 -de 24370 000675 -de 24371 013106 -de 24372 000676 -de 24373 016042 -de 24374 020144 -de 24375 003412 -de 24376 004420 -de 24377 000111 -de 24400 123076 -de 24401 123110 -de 24402 023414 -de 24403 123603 -de 24404 023370 -de 24405 023510 -de 24406 123110 -de 24407 123110 -de 24410 123612 -de 24411 024313 -de 24412 023101 -de 24413 123110 -de 24414 123612 -de 24415 023443 -de 24416 023512 -de 24417 123567 -de 24420 123110 -de 24421 023623 -de 24422 123110 -de 24423 023460 -de 24424 123416 -de 24425 123110 -de 24426 123110 -de 24427 023506 -de 24430 123110 -de 24431 123110 -de 24432 023500 -de 24433 123110 -de 24434 023425 -de 24435 123110 -de 24436 023440 -de 24437 023412 -de 24440 123377 -de 24441 024214 -de 24442 023451 -de 24443 123110 -de 24444 023557 -de 24445 123110 -de 24446 123110 -de 24447 123110 -de 24450 123110 -de 24451 123110 -de 24452 023407 -de 24453 123377 -de 24454 123343 -de 24455 123401 -de 24456 023405 -de 24457 023420 -de 24460 123355 -de 24461 123355 -de 24462 123355 -de 24463 123355 -de 24464 123355 -de 24465 123355 -de 24466 123355 -de 24467 123355 -de 24470 123355 -de 24471 123355 -de 24472 123110 -de 24473 123110 -de 24474 123110 -de 24475 123373 -de 24476 023334 -de 24477 023135 -de 24500 040377 -de 24501 040005 -de 24502 000033 -de 24503 040333 -de 24504 023162 -de 24505 024053 -de 24506 100001 -de 24507 177014 -de 24510 000177 -de 24511 100200 -de 24512 023110 -de 24513 177770 -de 24514 100111 -de 24515 177764 -de 24516 177760 -de 25062 011115 -de 25063 070004 -de 25064 003077 -de 25065 140040 -de 25066 022474 -de 25067 003112 -de 25070 003104 -de 25071 030104 -de 25072 005511 -de 25073 170004 -de 25074 003112 -de 25075 004121 -de 25076 010474 -de 25077 000043 -de 25100 171020 -de 25101 005115 -de 25102 000401 -de 25103 103061 -de 25104 005503 -de 25105 100040 -de 25106 003112 -de 25107 131004 -de 25110 003107 -de 25111 011116 -de 25112 030004 -de 25113 004114 -de 25114 003076 -de 25117 140040 -de 25120 011503 -de 25121 010673 -de 25122 011504 -de 25123 011163 -de 25124 111512 -de 25125 004106 -de 25126 013513 -de 25127 111514 -de 25130 012753 -de 25131 011165 -de 25132 005515 -de 25133 170020 -de 25134 003174 -de 25135 005170 -de 25136 011160 -de 25137 000401 -de 25140 072113 -de 25141 120665 -de 25142 005503 -de 25143 100040 -de 25144 003137 -de 25145 001001 -de 25146 026474 -de 25147 101400 -de 25150 101040 -de 25151 003137 -de 25152 005116 -de 25153 007516 -de 25154 013517 -de 25155 011163 -de 25156 000401 -de 25157 103160 -de 25161 011164 -de 25162 003137 -de 25170 025171 -de 25171 023520 -de 25172 100000 -de 25173 003221 -de 25174 005165 -de 25175 120664 -de 25176 140040 -de 25177 120664 -de 25200 005163 -de 25201 013517 -de 25202 100040 -de 25203 003207 -de 25204 004106 -de 25205 013521 -de 25206 011165 -de 25207 005163 -de 25210 140500 -de 25211 141340 -de 25212 011164 -de 25213 140040 -de 25214 011504 -de 25215 005164 -de 25216 072112 -de 25217 120664 -de 25220 003135 -de 25221 004673 -de 25222 011504 -de 25223 005166 -de 25224 120664 -de 25225 005167 -de 25226 120664 -de 25227 004112 -de 25230 021277 -de 25231 140500 -de 25232 141340 -de 25233 021277 -de 25234 013517 -de 25235 013164 -de 25236 120664 -de 25237 003227 -de 25240 140040 -de 25241 021277 -de 25242 023522 -de 25243 100000 -de 25244 003253 -de 25245 001001 -de 25246 040075 -de 25247 005164 -de 25250 041075 -de 25251 000401 -de 25252 003241 -de 25253 070104 -de 25254 003274 -de 25255 030104 -de 25256 005523 -de 25257 170004 -de 25260 003257 -de 25261 025503 -de 25262 120665 -de 25263 140040 -de 25264 026474 -de 25265 101040 -de 25266 003262 -de 25267 005503 -de 25270 016114 -de 25271 100400 -de 25272 140040 -de 25273 011503 -de 25274 005164 -de 25275 120664 -de 25276 003227 -de 25300 021160 -de 25301 023520 -de 25302 100000 -de 25303 003215 -de 25304 023524 -de 25305 103277 -de 25306 003240 -de 25307 103277 -de 25310 072113 -de 25311 033505 -de 25312 120666 -de 25313 025503 -de 25314 011501 -de 25315 007525 -de 25316 022106 -de 25317 022752 -de 25320 003323 -de 25321 101000 -de 25322 011506 -de 25323 120667 -de 25324 005501 -de 25325 041475 -de 25326 011502 -de 25327 101400 -de 25330 005504 -de 25331 101040 -de 25332 003353 -de 25333 005522 -de 25334 021450 -de 25335 005523 -de 25336 021450 -de 25337 005523 -de 25340 021450 -de 25341 005501 -de 25342 021412 -de 25343 120666 -de 25344 100000 -de 25345 003350 -de 25346 021412 -de 25347 003356 -de 25350 025505 -de 25351 021412 -de 25352 003370 -de 25353 120666 -de 25354 100000 -de 25355 003437 -de 25356 120666 -de 25357 003374 -de 25360 025505 -de 25361 011501 -de 25362 141050 -de 25363 101040 -de 25364 003370 -de 25365 005501 -de 25366 141140 -de 25367 021450 -de 25370 140040 -de 25371 011503 -de 25372 011502 -de 25373 003310 -de 25374 011501 -de 25375 005502 -de 25376 100400 -de 25377 003407 -de 25400 005501 -de 25401 141140 -de 25402 021450 -de 25403 005501 -de 25404 141050 -de 25405 021450 -de 25406 003356 -de 25407 005501 -de 25410 021412 -de 25411 003356 -de 25413 000201 -de 25414 004126 -de 25415 011507 -de 25416 005526 -de 25417 041077 -de 25420 000201 -de 25421 011510 -de 25422 000201 -de 25423 021450 -de 25424 005510 -de 25425 000201 -de 25426 005527 -de 25427 041075 -de 25430 025507 -de 25431 003420 -de 25432 005522 -de 25433 021450 -de 25434 005523 -de 25435 021450 -de 25436 103412 -de 25437 025505 -de 25440 005501 -de 25441 007530 -de 25442 013531 -de 25443 100040 -de 25444 003370 -de 25445 005511 -de 25446 021450 -de 25447 003370 -de 25451 023517 -de 25452 101000 -de 25453 100000 -de 25454 103450 -de 25455 072113 -de 25456 070104 -de 25457 003472 -de 25460 030104 -de 25461 170004 -de 25462 003472 -de 25463 120667 -de 25464 140040 -de 25465 026474 -de 25466 101400 -de 25467 101040 -de 25470 003463 -de 25471 103450 -de 25472 005505 -de 25473 100040 -de 25474 003370 -de 25475 120666 -de 25476 003472 -de 25477 010472 -de 25500 003370 -de 25511 000334 -de 25512 024046 -de 25513 140000 -de 25514 024050 -de 25515 000040 -de 25516 000177 -de 25517 000200 -de 25520 000273 -de 25521 140100 -de 25522 000215 -de 25523 000212 -de 25524 000272 -de 25525 000377 -de 25526 000130 -de 25527 000026 -de 25530 007400 -de 25531 004400 -de 26071 005645 -de 26072 010660 -de 26073 005646 -de 26074 010661 -de 26075 005647 -de 26076 010662 -de 26077 073346 -de 26100 005637 -de 26101 050265 -de 26102 140040 -de 26103 051500 -de 26104 005640 -de 26105 110660 -de 26106 110661 -de 26107 110662 -de 26110 024000 -de 26111 003100 -de 26112 072106 -de 26113 140040 -de 26114 011644 -de 26115 050165 -de 26116 111650 -de 26117 103070 -de 26121 033365 -de 26122 011372 -de 26123 073342 -de 26124 140040 -de 26125 055365 -de 26126 024000 -de 26127 003125 -de 26130 100040 -de 26131 120061 -de 26132 073365 -de 26133 045500 -de 26134 141206 -de 26135 011366 -de 26136 004000 -de 26137 141206 -de 26140 011367 -de 26141 141340 -de 26142 011370 -de 26143 013367 -de 26144 011371 -de 26145 005372 -de 26146 101040 -de 26147 003152 -de 26150 005344 -de 26151 003167 -de 26152 044433 -de 26153 100040 -de 26154 103120 -de 26155 072514 -de 26156 044006 -de 26157 141044 -de 26160 073365 -de 26161 067505 -de 26162 053505 -de 26163 101040 -de 26164 103120 -de 26165 004514 -de 26166 015343 -de 26167 011372 -de 26170 073346 -de 26171 105372 -de 26172 007347 -de 26173 015353 -de 26174 101040 -de 26175 005347 -de 26176 011373 -de 26177 141340 -de 26200 011374 -de 26201 105372 -de 26202 007350 -de 26203 015366 -de 26204 023350 -de 26205 005350 -de 26206 101000 -de 26207 011375 -de 26210 005371 -de 26211 052265 -de 26212 007363 -de 26213 023352 -de 26214 003262 -de 26215 101000 -de 26216 011376 -de 26217 104662 -de 26220 007350 -de 26221 013373 -de 26222 126662 -de 26223 007347 -de 26224 141340 -de 26225 017374 -de 26226 100400 -de 26227 003252 -de 26230 005376 -de 26231 100040 -de 26232 003320 -de 26233 104662 -de 26234 007347 -de 26235 013375 -de 26236 126662 -de 26237 007350 -de 26240 017375 -de 26241 015351 -de 26242 100400 -de 26243 003310 -de 26244 024000 -de 26245 003171 -de 26246 025377 -de 26247 101000 -de 26250 073365 -de 26251 103120 -de 26252 045500 -de 26253 007356 -de 26254 100040 -de 26255 003230 -de 26256 005356 -de 26257 053500 -de 26260 051500 -de 26261 003230 -de 26262 007352 -de 26263 011376 -de 26264 045500 -de 26265 007356 -de 26266 100040 -de 26267 003230 -de 26270 104662 -de 26271 007347 -de 26272 141340 -de 26273 023374 -de 26274 003277 -de 26275 003230 -de 26276 003230 -de 26277 141340 -de 26300 112662 -de 26301 013373 -de 26302 110662 -de 26303 044265 -de 26304 007361 -de 26305 013370 -de 26306 050265 -de 26307 003230 -de 26310 045500 -de 26311 007357 -de 26312 100040 -de 26313 003244 -de 26314 005357 -de 26315 053500 -de 26316 051500 -de 26317 003244 -de 26320 045500 -de 26321 007357 -de 26322 100040 -de 26323 003244 -de 26324 104662 -de 26325 007350 -de 26326 023375 -de 26327 003332 -de 26330 003244 -de 26331 003244 -de 26332 112662 -de 26333 013375 -de 26334 110662 -de 26335 044265 -de 26336 007360 -de 26337 013367 -de 26340 050265 -de 26341 003244 -de 26342 177534 -de 26343 040107 -de 26344 026345 -de 26345 177777 -de 26346 177700 -de 26347 174000 -de 26350 003777 -de 26351 000010 -de 26352 000037 -de 26353 004000 -de 26354 020000 -de 26355 000040 -de 26356 060000 -de 26357 000140 -de 26360 177740 -de 26361 160377 -de 26362 160340 -de 26363 017437 -de 26364 104676 -de 26513 073627 -de 26514 140040 -de 26515 055642 -de 26516 024000 -de 26517 003515 -de 26520 100040 -de 26521 120061 -de 26522 073630 -de 26523 033642 -de 26524 110660 -de 26525 024000 -de 26526 015642 -de 26527 011642 -de 26530 004106 -de 26531 141340 -de 26532 141206 -de 26533 110660 -de 26534 024000 -de 26535 015642 -de 26536 011642 -de 26537 005644 -de 26540 015631 -de 26541 011644 -de 26542 110660 -de 26543 024000 -de 26544 015642 -de 26545 011642 -de 26546 044265 -de 26547 100400 -de 26550 003602 -de 26551 104662 -de 26552 007347 -de 26553 141340 -de 26554 023633 -de 26555 003614 -de 26556 003614 -de 26557 044265 -de 26560 007636 -de 26561 050265 -de 26562 033643 -de 26563 104662 -de 26564 110660 -de 26565 015642 -de 26566 011642 -de 26567 024000 -de 26570 003546 -de 26571 140407 -de 26572 110660 -de 26573 073643 -de 26574 044265 -de 26575 007632 -de 26576 141340 -de 26577 016114 -de 26600 010420 -de 26601 103512 -de 26602 104662 -de 26603 007347 -de 26604 141340 -de 26605 023633 -de 26606 003624 -de 26607 003624 -de 26610 044265 -de 26611 007363 -de 26612 013634 -de 26613 003622 -de 26614 044265 -de 26615 007635 -de 26616 100040 -de 26617 003563 -de 26620 005635 -de 26621 052265 -de 26622 050265 -de 26623 003563 -de 26624 005640 -de 26625 110662 -de 26626 003564 -de 26627 177651 -de 26630 177675 -de 26631 000400 -de 26632 017400 -de 26633 000260 -de 26634 000340 -de 26635 060000 -de 26636 117777 -de 26637 100000 -de 26640 177777 -de 26641 125362 -de 26645 073106 -de 26646 073212 -de 26647 073316 -de 26650 073216 -de 27113 073261 -de 27114 140040 -de 27115 055263 -de 27116 024000 -de 27117 003115 -de 27120 100040 -de 27121 120061 -de 27122 073230 -de 27123 105241 -de 27124 007243 -de 27125 101040 -de 27126 003132 -de 27127 105241 -de 27130 017251 -de 27131 111241 -de 27132 105241 -de 27133 007244 -de 27134 101040 -de 27135 003141 -de 27136 105241 -de 27137 017252 -de 27140 111241 -de 27141 024000 -de 27142 003123 -de 27143 025263 -de 27144 003170 -de 27145 005237 -de 27146 011263 -de 27147 073230 -de 27150 044265 -de 27151 007245 -de 27152 101040 -de 27153 003166 -de 27154 044265 -de 27155 017246 -de 27156 050265 -de 27157 007245 -de 27160 100040 -de 27161 003166 -de 27162 005235 -de 27163 111242 -de 27164 005236 -de 27165 050265 -de 27166 024000 -de 27167 003150 -de 27170 025264 -de 27171 003206 -de 27172 005240 -de 27173 011264 -de 27174 073230 -de 27175 044265 -de 27176 007247 -de 27177 101040 -de 27200 003204 -de 27201 044265 -de 27202 017250 -de 27203 050265 -de 27204 024000 -de 27205 003175 -de 27206 073231 -de 27207 140040 -de 27210 011266 -de 27211 127232 -de 27212 017234 -de 27213 100400 -de 27214 003217 -de 27215 025266 -de 27216 003212 -de 27217 005233 -de 27220 017266 -de 27221 100400 -de 27222 140040 -de 27223 015260 -de 27224 051274 -de 27225 024000 -de 27226 003207 -de 27227 103112 -de 27230 177700 -de 27231 177773 -de 27232 052632 -de 27233 000004 -de 27234 002450 -de 27235 177777 -de 27236 100000 -de 27237 177772 -de 27240 177767 -de 27241 066500 -de 27242 073316 -de 27243 060000 -de 27244 000140 -de 27245 060000 -de 27246 020000 -de 27247 000340 -de 27250 000040 -de 27251 020000 -de 27252 000040 -de 27253 000001 -de 27254 000005 -de 27255 000015 -de 27256 000033 -de 27257 000037 -de 27260 027253 -de 27261 177630 -de 27262 147750 -de 30056 004114 -de 30057 011213 -de 30060 005436 -de 30061 027213 -de 30062 023436 -de 30063 100000 -de 30064 003104 -de 30065 101040 -de 30066 003075 -de 30067 073575 -de 30070 105576 -de 30071 111577 -de 30072 024000 -de 30073 003070 -de 30074 003104 -de 30075 021256 -de 30076 073575 -de 30077 005600 -de 30100 111577 -de 30101 141206 -de 30102 024000 -de 30103 003100 -de 30104 005601 -de 30105 011455 -de 30106 005602 -de 30107 011440 -de 30110 005603 -de 30111 011212 -de 30112 072125 -de 30113 033441 -de 30114 033211 -de 30115 105212 -de 30116 101040 -de 30117 003170 -de 30120 004417 -de 30121 057211 -de 30122 100400 -de 30123 140407 -de 30124 057465 -de 30125 100400 -de 30126 003170 -de 30127 140040 -de 30130 011214 -de 30131 004000 -de 30132 012124 -de 30133 100040 -de 30134 003153 -de 30135 045465 -de 30136 040572 -de 30137 101040 -de 30140 003153 -de 30141 140407 -de 30142 011215 -de 30143 004106 -de 30144 140407 -de 30145 011216 -de 30146 025214 -de 30147 025216 -de 30150 003146 -de 30151 025215 -de 30152 003143 -de 30153 045465 -de 30154 140407 -de 30155 006417 -de 30156 015214 -de 30157 051211 -de 30160 045457 -de 30161 021403 -de 30162 045451 -de 30163 021403 -de 30164 143204 -de 30165 073604 -de 30166 004112 -de 30167 120664 -de 30170 073211 -de 30171 025212 -de 30172 024000 -de 30173 003114 -de 30174 072116 -de 30175 120665 -de 30176 003060 -de 30177 030217 -de 30200 030243 -de 30201 030267 -de 30202 030347 -de 30203 022057 -de 30217 005605 -de 30220 021403 -de 30221 004415 -de 30222 021403 -de 30223 073606 -de 30224 001001 -de 30225 044543 -de 30226 056567 -de 30227 000401 -de 30230 021403 -de 30231 024000 -de 30232 003224 -de 30233 072132 -de 30234 044265 -de 30235 021403 -de 30236 105607 -de 30237 021403 -de 30240 024000 -de 30241 003234 -de 30242 003165 -de 30243 004115 -de 30244 021403 -de 30245 004417 -de 30246 021403 -de 30247 073610 -de 30250 105611 -de 30251 021403 -de 30252 024000 -de 30253 003250 -de 30254 021256 -de 30255 003165 -de 30257 073610 -de 30260 140040 -de 30261 001001 -de 30262 111611 -de 30263 024000 -de 30264 003262 -de 30265 000401 -de 30266 103256 -de 30267 072116 -de 30270 005465 -de 30271 007612 -de 30272 101040 -de 30273 003301 -de 30274 140407 -de 30275 011346 -de 30276 120664 -de 30277 025346 -de 30300 003276 -de 30301 131040 -de 30302 003301 -de 30303 140040 -de 30304 100040 -de 30305 004112 -de 30306 013454 -de 30307 011454 -de 30310 005446 -de 30311 101000 -de 30312 003165 -de 30313 101040 -de 30314 003333 -de 30315 015613 -de 30316 011446 -de 30317 100040 -de 30320 003165 -de 30321 004415 -de 30322 017345 -de 30323 111343 -de 30324 025343 -de 30325 005465 -de 30326 015342 -de 30327 011465 -de 30330 017344 -de 30331 101400 -de 30332 003337 -de 30333 004415 -de 30334 011345 -de 30335 005446 -de 30336 003315 -de 30337 140040 -de 30340 011437 -de 30341 003165 -de 30342 000010 -de 30343 030000 -de 30344 000760 -de 30347 001001 -de 30350 104342 -de 30351 026342 -de 30352 000401 -de 30353 011401 -de 30354 004746 -de 30355 021403 -de 30356 004747 -de 30357 021403 -de 30360 004750 -de 30361 021403 -de 30362 005401 -de 30363 010000 -de 30364 021403 -de 30365 005614 -de 30366 011402 -de 30367 044000 -de 30370 021403 -de 30371 024000 -de 30372 025402 -de 30373 003367 -de 30374 001001 -de 30375 073401 -de 30376 120671 -de 30377 000401 -de 30400 003165 -de 30404 033411 -de 30405 072116 -de 30406 120664 -de 30407 073411 -de 30410 103403 -de 30412 120666 -de 30413 003412 -de 30414 120666 -de 30415 120666 -de 30416 120666 -de 30417 100000 -de 30420 003414 -de 30421 100400 -de 30422 003412 -de 30423 007615 -de 30424 015616 -de 30425 011433 -de 30426 120666 -de 30427 100000 -de 30430 003414 -de 30431 111433 -de 30432 003416 -de 30474 120666 -de 30475 003474 -de 30476 003474 -de 30477 140500 -de 30500 003515 -de 30501 000401 -de 30502 005572 -de 30503 101040 -de 30504 003527 -de 30505 004112 -de 30506 073617 -de 30507 120664 -de 30510 120665 -de 30511 004341 -de 30512 101040 -de 30513 003510 -de 30514 140040 -de 30515 011572 -de 30516 005451 -de 30517 120664 -de 30520 005443 -de 30521 120664 -de 30522 004114 -de 30523 120664 -de 30524 140040 -de 30525 026414 -de 30526 120664 -de 30527 072115 -de 30530 120665 -de 30531 005621 -de 30532 011573 -de 30533 001001 -de 30534 105573 -de 30535 011573 -de 30536 105573 -de 30537 011574 -de 30540 101040 -de 30541 003501 -de 30542 010000 -de 30543 044012 -de 30544 101400 -de 30545 003534 -de 30546 044000 -de 30547 111573 -de 30550 000401 -de 30551 025572 -de 30552 005622 -de 30553 011571 -de 30554 072115 -de 30555 025574 -de 30556 105574 -de 30557 120664 -de 30560 025571 -de 30561 003555 -de 30562 005574 -de 30563 015622 -de 30564 001001 -de 30565 026325 -de 30566 110325 -de 30567 000401 -de 30570 003531 -de 30575 177760 -de 30576 072030 -de 30577 172010 -de 30600 120574 -de 30601 050057 -de 30602 100342 -de 30603 130434 -de 30604 100003 -de 30605 000005 -de 30606 177754 -de 30607 073106 -de 30610 177423 -de 30611 071716 -de 30612 000777 -de 30613 000400 -de 30614 177666 -de 30615 000037 -de 30616 030434 -de 30617 100002 -de 30620 000341 -de 30621 030620 -de 30622 177766 -de 31056 005753 -de 31057 001001 -de 31060 011121 -de 31061 004675 -de 31062 021123 -de 31063 015356 -de 31064 011356 -de 31065 000401 -de 31066 072675 -de 31067 172677 -de 31070 044007 -de 31071 103055 -de 31073 065375 -de 31074 101000 -de 31075 103754 -de 31077 005755 -de 31100 001001 -de 31101 011121 -de 31102 004676 -de 31103 172700 -de 31104 021123 -de 31105 015374 -de 31106 011374 -de 31107 000401 -de 31110 072676 -de 31111 105756 -de 31112 103076 -de 31114 141206 -de 31115 065405 -de 31116 101000 -de 31117 103113 -de 31124 016130 -de 31125 101400 -de 31126 003156 -de 31127 044111 -de 31130 016000 -de 31131 017757 -de 31132 140100 -de 31133 011122 -de 31134 021717 -de 31135 014120 -de 31136 015121 -de 31137 011120 -de 31140 125120 -de 31141 101000 -de 31142 044006 -de 31143 141340 -de 31144 006120 -de 31145 101040 -de 31146 003154 -de 31147 016114 -de 31150 015121 -de 31151 011121 -de 31152 125121 -de 31153 101000 -de 31154 005122 -de 31155 103123 -de 31156 073123 -de 31157 042002 -de 31161 111760 -de 31162 010000 -de 31163 044105 -de 31164 016000 -de 31165 016116 -de 31166 140100 -de 31167 011337 -de 31170 021717 -de 31171 173761 -de 31172 055331 -de 31173 011340 -de 31174 125340 -de 31175 101000 -de 31176 005337 -de 31177 055622 -de 31200 051622 -de 31201 103160 -de 31203 025627 -de 31204 070471 -de 31205 103202 -de 31206 025634 -de 31207 025202 -de 31210 101000 -de 31211 103202 -de 31213 064426 -de 31214 065641 -de 31215 101000 -de 31216 103212 -de 31220 100040 -de 31221 025217 -de 31222 101040 -de 31223 065646 -de 31224 101000 -de 31225 103217 -de 31227 025630 -de 31230 070472 -de 31231 103226 -de 31232 025635 -de 31233 025226 -de 31234 101000 -de 31235 103226 -de 31237 025631 -de 31240 070473 -de 31241 103236 -de 31242 025636 -de 31243 025236 -de 31244 101000 -de 31245 103236 -de 31247 025632 -de 31250 070474 -de 31251 103246 -de 31252 025637 -de 31253 025246 -de 31254 101000 -de 31255 103246 -de 31257 025633 -de 31260 070475 -de 31261 103256 -de 31262 025640 -de 31263 025256 -de 31264 101000 -de 31265 103256 -de 31267 050111 -de 31270 173762 -de 31271 131040 -de 31272 003271 -de 31273 050010 -de 31274 173763 -de 31275 103266 -de 31277 050030 -de 31300 131040 -de 31301 003300 -de 31302 050044 -de 31303 103276 -de 31305 131040 -de 31306 003305 -de 31307 173764 -de 31310 056010 -de 31311 021322 -de 31312 103765 -de 31314 131040 -de 31315 003314 -de 31316 173764 -de 31317 056044 -de 31320 021322 -de 31321 103766 -de 31323 040475 -de 31324 173767 -de 31325 055415 -de 31326 051415 -de 31327 065515 -de 31330 103322 -de 31331 031660 -de 31332 031666 -de 31333 031674 -de 31334 031702 -de 31335 031710 -de 31336 031716 -de 31720 033742 -de 31721 022120 -de 31722 003731 -de 31723 101000 -de 31724 100400 -de 31725 003733 -de 31726 010000 -de 31727 045743 -de 31730 003740 -de 31731 040575 -de 31732 022120 -de 31733 004120 -de 31734 101000 -de 31735 010000 -de 31736 045743 -de 31737 014116 -de 31740 073742 -de 31741 103717 -de 31745 000001 -de 31746 000001 -de 31747 000002 -de 31750 000002 -de 31751 000002 -de 31752 000002 -de 31753 031341 -de 31754 154137 -de 31755 031357 -de 31756 056124 -de 31757 000011 -de 31760 012655 -de 31761 012654 -de 31762 015156 -de 31763 115156 -de 31764 007131 -de 31765 007213 -de 31766 007215 -de 31767 006673 -de 31770 005450 -de 31771 007127 -de 31772 007201 -de 31773 010052 -de 31774 010076 -de 31775 010122 -de 31776 010146 -de 31777 010172 -de 32000 010235 -de 32001 012420 -de 32002 014121 -de 32003 014613 -de 32004 015102 -de 32005 015261 -de 32006 016457 -de 32007 017115 -de 32010 064426 -de 32011 003213 -de 32012 003215 -de 32013 070471 -de 32014 070472 -de 32015 070473 -de 32016 070474 -de 32017 070475 -de 32020 101040 -de 32021 011655 -de 32022 143137 -de 32023 044007 -de 32024 050111 -de 32025 050030 -de 32026 141206 -de 32027 105432 -de 37026 005732 -de 37027 026567 -de 37030 100040 -de 37031 103025 -de 37032 011000 -de 37033 011001 -de 37034 011002 -de 37035 011003 -de 37036 005733 -de 37037 011024 -de 37040 001001 -de 37041 121734 -de 37042 003112 -de 37043 004000 -de 37044 015735 -de 37045 010024 -de 37046 015736 -de 37047 010025 -de 37050 073737 -de 37051 045732 -de 37052 111740 -de 37053 024000 -de 37054 003051 -de 37055 030473 -de 37056 021060 -de 37057 103025 -de 37061 073741 -de 37062 140040 -de 37063 051022 -de 37064 024000 -de 37065 003063 -de 37066 010036 -de 37067 072124 -de 37070 033022 -de 37071 032475 -de 37072 140040 -de 37073 067004 -de 37074 101040 -de 37075 003103 -de 37076 033114 -de 37077 140100 -de 37100 010000 -de 37101 120671 -de 37102 073114 -de 37103 024000 -de 37104 003072 -de 37105 005742 -de 37106 011015 -de 37107 005743 -de 37110 111744 -de 37111 103060 -de 37112 024144 -de 37113 003025 -de 37125 011117 -de 37126 033120 -de 37127 105745 -de 37130 073746 -de 37131 100040 -de 37132 073747 -de 37133 100400 -de 37134 073750 -de 37135 004000 -de 37136 170120 -de 37137 026134 -de 37140 011121 -de 37141 000043 -de 37142 011115 -de 37143 120672 -de 37144 004025 -de 37145 140100 -de 37146 017751 -de 37147 011116 -de 37150 015752 -de 37151 011123 -de 37152 005015 -de 37153 100400 -de 37154 003171 -de 37155 070473 -de 37156 100000 -de 37157 003171 -de 37160 105123 -de 37161 007733 -de 37162 013024 -de 37163 101040 -de 37164 003212 -de 37165 013024 -de 37166 011024 -de 37167 001001 -de 37170 021317 -de 37171 005116 -de 37172 015735 -de 37173 010024 -de 37174 015736 -de 37175 010025 -de 37176 030473 -de 37177 073120 -de 37200 001001 -de 37201 005121 -de 37202 170120 -de 37203 010134 -de 37204 000013 -de 37205 005115 -de 37206 171020 -de 37207 005117 -de 37210 000401 -de 37211 103124 -de 37212 105123 -de 37213 072113 -de 37214 040576 -de 37215 021273 -de 37216 072114 -de 37217 105123 -de 37220 040575 -de 37221 021273 -de 37222 105123 -de 37223 006114 -de 37224 011023 -de 37225 010000 -de 37226 105123 -de 37227 041676 -de 37230 053011 -de 37231 100100 -de 37232 003171 -de 37233 105123 -de 37234 141340 -de 37235 006752 -de 37236 101040 -de 37237 003171 -de 37240 011122 -de 37241 073023 -de 37242 045002 -de 37243 100040 -de 37244 003171 -de 37245 105123 -de 37246 006112 -de 37247 051020 -de 37250 001001 -de 37251 104324 -de 37252 101040 -de 37253 003171 -de 37254 011014 -de 37255 045011 -de 37256 012114 -de 37257 051011 -de 37260 005116 -de 37261 051002 -de 37262 010000 -de 37263 005122 -de 37264 050111 -de 37265 001001 -de 37266 024563 -de 37267 104324 -de 37270 026324 -de 37271 000401 -de 37272 003172 -de 37274 053007 -de 37275 101100 -de 37276 003312 -de 37277 045007 -de 37300 012114 -de 37301 051007 -de 37302 045000 -de 37303 001001 -de 37304 100040 -de 37305 003307 -de 37306 021317 -de 37307 000401 -de 37310 140500 -de 37311 051000 -de 37312 005753 -de 37313 011013 -de 37314 004112 -de 37315 111744 -de 37316 103273 -de 37320 120745 -de 37321 021060 -de 37322 003171 -de 37332 011324 -de 37333 004502 -de 37334 170120 -de 37335 026134 -de 37336 011326 -de 37337 000043 -de 37340 011323 -de 37341 120672 -de 37342 033325 -de 37343 140040 -de 37344 010036 -de 37345 005015 -de 37346 100400 -de 37347 003364 -de 37350 021407 -de 37351 021407 -de 37352 005014 -de 37353 100400 -de 37354 003364 -de 37355 021377 -de 37356 005754 -de 37357 010036 -de 37360 010037 -de 37361 005755 -de 37362 011014 -de 37363 030073 -de 37364 073325 -de 37365 001001 -de 37366 005326 -de 37367 170120 -de 37370 010134 -de 37371 000013 -de 37372 005323 -de 37373 171020 -de 37374 005324 -de 37375 000401 -de 37376 103331 -de 37400 001001 -de 37401 005012 -de 37402 041577 -de 37403 013011 -de 37404 041576 -de 37405 011330 -de 37406 103377 -de 37410 005005 -de 37411 012114 -de 37412 011005 -de 37413 001001 -de 37414 073005 -de 37415 045000 -de 37416 101040 -de 37417 103407 -de 37420 100400 -de 37421 003445 -de 37422 011327 -de 37423 021377 -de 37424 045007 -de 37425 040676 -de 37426 013330 -de 37427 013005 -de 37430 053016 -de 37431 011330 -de 37432 073327 -de 37433 044111 -de 37434 141240 -de 37435 015330 -de 37436 050010 -de 37437 004000 -de 37440 015752 -de 37441 010036 -de 37442 054111 -de 37443 140100 -de 37444 003360 -de 37445 140040 -de 37446 067000 -de 37447 140100 -de 37450 010000 -de 37451 001001 -de 37452 120671 -de 37453 103407 -de 37455 140040 -de 37456 026476 -de 37457 100040 -de 37460 003476 -de 37461 005015 -de 37462 101400 -de 37463 003471 -de 37464 025015 -de 37465 103454 -de 37466 005755 -de 37467 011014 -de 37470 103454 -de 37471 005013 -de 37472 101400 -de 37473 103454 -de 37474 025013 -de 37475 003501 -de 37476 001001 -de 37477 021060 -de 37500 103454 -de 37501 025014 -de 37502 101000 -de 37503 103454 -de 37512 001001 -de 37513 004500 -de 37514 170120 -de 37515 026134 -de 37516 011504 -de 37517 000401 -de 37520 105756 -de 37521 022121 -de 37522 100000 -de 37523 003612 -de 37524 005743 -de 37525 111757 -de 37526 073006 -de 37527 045002 -de 37530 101040 -de 37531 003612 -de 37532 011505 -de 37533 004454 -de 37534 013760 -de 37535 101040 -de 37536 003605 -de 37537 013761 -de 37540 100040 -de 37541 003560 -de 37542 073505 -de 37543 044011 -de 37544 110052 -de 37545 044012 -de 37546 024052 -de 37547 110052 -de 37550 073006 -de 37551 045020 -de 37552 100400 -de 37553 003605 -de 37554 001001 -de 37555 073505 -de 37556 120671 -de 37557 003577 -de 37560 005505 -de 37561 127762 -de 37562 010000 -de 37563 050111 -de 37564 001001 -de 37565 120671 -de 37566 073505 -de 37567 044111 -de 37570 015505 -de 37571 015763 -de 37572 010052 -de 37573 073006 -de 37574 045020 -de 37575 100400 -de 37576 111757 -de 37577 073006 -de 37600 140040 -de 37601 051002 -de 37602 005006 -de 37603 012114 -de 37604 011006 -de 37605 001001 -de 37606 000013 -de 37607 120101 -de 37610 001001 -de 37611 120672 -de 37612 073004 -de 37613 045000 -de 37614 100040 -de 37615 003704 -de 37616 051016 -de 37617 004046 -de 37620 101040 -de 37621 003704 -de 37622 121734 -de 37623 003704 -de 37624 000401 -de 37625 033506 -de 37626 027022 -de 37627 100040 -de 37630 003646 -de 37631 004047 -de 37632 016046 -de 37633 141206 -de 37634 050111 -de 37635 104046 -de 37636 050011 -de 37637 024000 -de 37640 024046 -de 37641 004047 -de 37642 016046 -de 37643 101400 -de 37644 003635 -de 37645 003662 -de 37646 104046 -de 37647 050011 -de 37650 024046 -de 37651 104046 -de 37652 050012 -de 37653 004115 -de 37654 050111 -de 37655 004046 -de 37656 024046 -de 37657 016047 -de 37660 100040 -de 37661 003676 -de 37662 140040 -de 37663 026475 -de 37664 011022 -de 37665 100040 -de 37666 004112 -de 37667 073004 -de 37670 051016 -de 37671 001001 -de 37672 000013 -de 37673 120077 -de 37674 001001 -de 37675 120672 -de 37676 073004 -de 37677 005506 -de 37700 051000 -de 37701 005004 -de 37702 012114 -de 37703 011004 -de 37704 004036 -de 37705 001001 -de 37706 000013 -de 37707 101040 -de 37710 021331 -de 37711 001001 -de 37712 005504 -de 37713 170120 -de 37714 010134 -de 37715 120672 -de 37716 103511 -de 37717 121407 -de 37720 121661 -de 37721 101000 -de 37722 024475 -de 37723 101000 -de 37724 101000 -de 37725 003531 -de 37726 100000 -de 37727 024476 -de 37730 037124 -de 37731 037331 -de 37732 004000 -de 37733 000200 -de 37734 004372 -de 37735 100010 -de 37736 000101 -de 37737 177765 -de 37740 142374 -de 37741 177762 -de 37742 177750 -de 37743 101000 -de 37744 021663 -de 37745 001005 -de 37746 154000 -de 37747 150000 -de 37750 140000 -de 37751 000111 -de 37752 000010 -de 37753 177770 -de 37754 037330 -de 37755 177774 -de 37756 013140 -de 37757 013314 -de 37760 013400 -de 37761 007453 -de 37762 013334 -de 37763 000011 - -; ****** OFFICIAL BBN PATCHES FROM PATCH.3050 ****** -de 03631 140040 -de 03632 110147 -de 03633 004121 -de 03634 110146 -de 03635 003074 -de 02511 003631 -de 00146 011206 -de 00147 011211 - -de 22567 072121 -de 22570 004342 -de 22571 111573 -de 22572 003324 -de 22573 030440 -de 22323 003567 - -de 30107 101000 -de 30115 045442 -de 22524 000303 - - -; ****** NEUHAUSER/RLA LOCAL PATCHES ******* - -; Changing 3416 to -2 limits the startup to two "fake" hosts - DDT and the -; console terminal. It disables the statistics task, which was causing -; problems ... -;;d 3614 177776 - -; Disable the software WDT. I'm not completely sure what this was originally -; for, but it appears to reboot the IMP if it goes 3 minutes w/o receiving any -; message from a host or another IMP. That makes testing difficult! -d -m 21131 NOP - -; Patch the DELSPD table to give a wider range of acceptable line speeds .... -;;de 11331 777 -;;de 11332 577 -;;de 11333 577 -;;de 11334 577 - -; Disable the requirement for one IHY message every short interval ... -;;de -m 20375 NOP - -; One remaining kludge - the IMP code around IHWAIT trashes the DMC pointers -; for modem line #5. IHWAIT is actually IMP to HOST code, and it's deciding -; that host #4 is down, so it aborts any I/O and clears the host 4 DMC pointers. -; Trouble is, host 4 shares DMC channels with modem 5! Needless to say, that -; trashes modem 5. I think this is actually a bug in the original IMP code -; (the IHWAIT code should check the HOST34 flag to see if host 4 exists before -; zeroing the DMC pointers), but what do I know?? -; -; In any case, this patch will allow five modem lines to work. All it does -; is modify the host interface DMC tables at IHB1 and IHB2 so that the pointers -; for host 4 are the same as host 3. Since neither exists it doesn't really -; matter, and this keeps IHWAIT from trashing modem 5... -de 16140 46 -de 16150 47 - -; Set the start address ... -de p 02000 diff --git a/H316/tests/impconfig.cmd b/H316/tests/impconfig.cmd deleted file mode 100644 index 34706ed6..00000000 --- a/H316/tests/impconfig.cmd +++ /dev/null @@ -1,65 +0,0 @@ -;; ***** GENERIC IMP CONFIGURATION ***** - -; This simh command file sets up the H316 simulator configuration for a generic -; IMP node. Note that it doesn't load any IMP code (the caller is expected to -; do that) and it doesn't define any IMP node specific settings (e.g. modem -; links, IMP address, etc). -; -; RLA [4-Jun-13] -RESET ALL - -; Define the CPU configuration ... -; NOTE - real IMPs only had 16K of memory! -SET CPU 16K NOHSA DMA=0 DMC EXTINT=16 - -; Disable all the devices an IMP doesn't have ... -SET LPT DISABLED -SET MT DISABLED -SET CLK DISABLED -SET FHD DISABLED -SET DP DISABLED - -; Enable the IMP device but leave the station address undefined ... -SET IMP ENABLED -;;SET IMP NUM=1 - -; Enable the RTC to count at 50kHz (20us intervals) ... -SET RTC ENABLED -SET RTC INTERVAL=20 -SET RTC QUANTUM=32 - -; Enable the WDT but don't ever time out (we have enough problems!)... -SET WDT ENABLED -SET WDT DELAY=0 - -; Enable only modem line 1 and disable all the rest ... -SET MI1 ENABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 DISABLED -SET MI5 DISABLED - -; Enable only one host interface and disable all the rest ... -SET HI1 ENABLED -SET HI2 DISABLED -SET HI3 DISABLED -SET HI4 DISABLED - -; Just ignore I/Os to disconnected devices ... -DEPOSIT CPU STOP_DEV 0 - -; SS4 ON is required to run DDT! -DEPOSIT CPU SS4 1 - -; Set the TTY speed to realistic values (about 9600BPS in this case) ... -DEPOSIT TTY KTIME 1000 -DEPOSIT TTY TTIME 1000 - -; Don't know for sure what SS2 does, but it appears to have something to do -; with the IMP startup. Leave it ON for now... -DEPOSIT CPU SS2 1 - -; All done .... -SET CPU HISTORY=65000 -SET CONSOLE DEBUG=STDERR -SET WDT DEBUG=LIGHTS \ No newline at end of file diff --git a/H316/tests/implloop4.cmd b/H316/tests/implloop4.cmd deleted file mode 100644 index 927713b3..00000000 --- a/H316/tests/implloop4.cmd +++ /dev/null @@ -1,21 +0,0 @@ -;; *** IMP LINE FOUR (ONLY!) LOOPBACK TEST *** - -; Set the simulator configuration ... -echo IMP line four loopback test... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -SET MI1 DISABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 ENABLED -DEPOSIT MI4 LLOOP 1 -SET MI5 DISABLED - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imploop.cmd b/H316/tests/imploop.cmd deleted file mode 100644 index 9dc63784..00000000 --- a/H316/tests/imploop.cmd +++ /dev/null @@ -1,25 +0,0 @@ -;; *** IMP FIVE MODEM LINE LOOPBACK TEST *** - -; Set the simulator configuration ... -echo IMP five modem line interface loopback test... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -SET MI1 ENABLED -SET MI1 LOOPINTERFACE -SET MI2 ENABLED -SET MI2 LOOPINTERFACE -SET MI3 ENABLED -SET MI3 LOOPINTERFACE -SET MI4 ENABLED -SET MI4 LOOPINTERFACE -SET MI5 ENABLED -SET MI5 LOOPINTERFACE - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imploop4.cmd b/H316/tests/imploop4.cmd deleted file mode 100644 index 1611f80f..00000000 --- a/H316/tests/imploop4.cmd +++ /dev/null @@ -1,21 +0,0 @@ -;; *** IMP LINE FOUR (ONLY!) LOOPBACK TEST *** - -; Set the simulator configuration ... -echo IMP line four loopback test... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -SET MI1 DISABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 ENABLED -SET MI4 LOOPINTERFACE -SET MI5 DISABLED - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imploop4l.cmd b/H316/tests/imploop4l.cmd deleted file mode 100644 index cdae40f8..00000000 --- a/H316/tests/imploop4l.cmd +++ /dev/null @@ -1,22 +0,0 @@ -;; *** IMP LINE FOUR (ONLY!) LOOPBACK TEST *** - -; Set the simulator configuration ... -echo IMP line four loopback test... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -SET MI1 DISABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 ENABLED -ATTACH MI4 4424:4434 -SET MI4 LOOPLINE -SET MI5 DISABLED - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/imploopl.cmd b/H316/tests/imploopl.cmd deleted file mode 100644 index ba7efca9..00000000 --- a/H316/tests/imploopl.cmd +++ /dev/null @@ -1,30 +0,0 @@ -;; *** IMP FIVE MODEM LINE LOOPBACK TEST *** - -; Set the simulator configuration ... -echo IMP five modem line interface loopback test... -do impconfig.cmd -SET IMP NUM=2 - -; Load the IMP code ... -echo Loading IMP code ... -do impcode.cmd - -; Start up the modem links! -SET MI1 ENABLED -ATTACH MI1 4421:4431 -SET MI1 LOOPLINE -SET MI2 ENABLED -ATTACH MI2 4422:4432 -SET MI2 LOOPLINE -SET MI3 ENABLED -ATTACH MI3 4423:4433 -SET MI3 LOOPLINE -SET MI4 ENABLED -ATTACH MI4 4424:4434 -SET MI4 LOOPLINE -SET MI5 ENABLED -ATTACH MI5 4425:4435 -SET MI5 LOOPLINE - -; And we're done .. -echo Type GO to start ... diff --git a/H316/tests/mdmtest1.cmd b/H316/tests/mdmtest1.cmd deleted file mode 100644 index 854c0083..00000000 --- a/H316/tests/mdmtest1.cmd +++ /dev/null @@ -1,61 +0,0 @@ -; TEST1 - send a test modem message - -; Set up the configuration ... -RESET ALL -SET CPU 32K NOHSA DMA=0 DMC EXTINT=16 -SET LPT DISABLED -SET MT DISABLED -SET CLK DISABLED -SET FHD DISABLED -SET DP DISABLED -SET IMP DISABLED -SET RTC DISABLED -SET WDT DISABLED -SET MI1 ENABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 DISABLED -SET MI5 DISABLED -SET HI1 DISABLED -SET HI2 DISABLED -SET HI3 DISABLED -SET HI4 DISABLED - -; Deposit the test message in memory at 000100..000107 ... -DEPOSIT ALL 0 -DEPOSIT 100 100000 -DEPOSIT 101 011111 -DEPOSIT 102 122222 -DEPOSIT 103 033333 -DEPOSIT 104 144444 -DEPOSIT 105 055555 -DEPOSIT 106 166666 -DEPOSIT 107 077777 - -; Store a little program to set up the DMC and do start modem output .. -DEPOSIT 32 100 -DEPOSIT 33 107 -DEPOSIT -m 10 OCP 0071 -DEPOSIT -m 11 HLT -DEPOSIT P 10 - -; Tell the world ... -echo -echo Here are the DMC pointers before sending - -ex 32:33 -echo -echo And here is the data we're sending - -ex 100:107 - -; Away we go! -echo -echo Starting simulation ... -ATTACH MI1 4431::4432 -go - -; All done... -echo -echo Here are the DMC pointers after sending ... -ex 32:33 - - diff --git a/H316/tests/mdmtest2.cmd b/H316/tests/mdmtest2.cmd deleted file mode 100644 index 379aa460..00000000 --- a/H316/tests/mdmtest2.cmd +++ /dev/null @@ -1,54 +0,0 @@ -; TEST2 - receive a test modem message - -; Set up the configuration ... -RESET ALL -SET CPU 32K NOHSA DMA=0 DMC EXTINT=16 -SET LPT DISABLED -SET MT DISABLED -SET CLK DISABLED -SET FHD DISABLED -SET DP DISABLED -SET IMP DISABLED -SET RTC DISABLED -SET WDT DISABLED -SET MI1 ENABLED -SET MI2 DISABLED -SET MI3 DISABLED -SET MI4 DISABLED -SET MI5 DISABLED -SET HI1 DISABLED -SET HI2 DISABLED -SET HI3 DISABLED -SET HI4 DISABLED - -; Clear the receiver buffer at 000100 ... -DEPOSIT ALL 0 - -; Store a little program to receive the message ... -DEPOSIT 20 100 -DEPOSIT 21 177 -DEPOSIT -m 10 OCP 0471 -DEPOSIT -m 11 SKS 0271 -DEPOSIT -m 12 JMP 11 -DEPOSIT -m 13 HLT -DEPOSIT P 10 - -; Tell the world ... -echo -echo Here are the DMC pointers before receiving - -ex 20:21 - -; and wait for "GO" ... -echo -echo Starting simulation ... -ATTACH MI1 4432::4431 -go - -; All done ... -echo -echo Here is the data we received - -ex 100:107 -echo -echo And here are the DMC pointers after receiving - -ex 20:21 -echo diff --git a/H316/tests/testrtc.cmd b/H316/tests/testrtc.cmd deleted file mode 100644 index d4f9bc73..00000000 --- a/H316/tests/testrtc.cmd +++ /dev/null @@ -1,42 +0,0 @@ -; This is a super simple simh script to test the IMP RTC and verify that it is -; incrementing at the correct 100us interval. It simply waits for the clock -; count to overflow (which takes 65535 * 100us or about 6.5 seconds) and then -; repeats for a total of 10 iterations. If all is well, this loop should take -; pretty close to 65 seconds to complete. -; -; RLA [15-Jun-13] -echo -echo SIMH IMP RTC INTERVAL CALIBRATION TEST - -; Turn on the RTC (this requires extended interrupt support) -set cpu extint=16 -set rtc enabled - -; Turn the clock on (OCP 40 ==> CLKON) ... -d 1000 030040 - -; Loop reading the clock register until it becomes negative ... -d 1001 131040 -d -m 1002 HLT -d -m 1003 SMI -d -m 1004 JMP 1001 - -; Loop reading the clock register until it becomes positive again ... -d 1005 131040 -d -m 1006 HLT -d -m 1007 SPL -d -m 1010 JMP 1005 - -; And repeat the above for ten iterations ... -d -m 1011 IRS 1015 -d -m 1012 JMP 1001 -d -m 1013 HLT -d -m 1014 0 -d -m 1015 177766 - -; That's it... -d p 1000 -echo Start your stopwatch and at the same moment type "GO". -echo The program should halt in exactly 65 seconds ... - - diff --git a/I1401/i1401_mt_38.c b/I1401/i1401_mt_38.c deleted file mode 100644 index 65edf46a..00000000 --- a/I1401/i1401_mt_38.c +++ /dev/null @@ -1,408 +0,0 @@ -/* i1401_mt.c: IBM 1401 magnetic tape simulator - - Copyright (c) 1993-2007, Robert M. Supnik - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of Robert M Supnik shall not be - used in advertising or otherwise to promote the sale, use or other dealings - in this Software without prior written authorization from Robert M Supnik. - - mt 7-track magtape - - 07-Jul-07 RMS Removed restriction on load-mode binary tape - 28-Jun-07 RMS Revised read tape mark behavior based on real hardware - (found by Van Snyder) - 16-Feb-06 RMS Added tape capacity checking - 15-Sep-05 RMS Yet another fix to load read group mark plus word mark - Added debug printouts (from Van Snyder) - 26-Aug-05 RMS Revised to use API for write lock check - 16-Aug-03 RMS End-of-record on load read works like move read - (verified on real 1401) - Added diagnostic read (space forward) - 25-Apr-03 RMS Revised for extended file support - 28-Mar-03 RMS Added multiformat support - 15-Mar-03 RMS Fixed end-of-record on load read yet again - 28-Feb-03 RMS Modified for magtape library - 31-Oct-02 RMS Added error record handling - 10-Oct-02 RMS Fixed end-of-record on load read writes WM plus GM - 30-Sep-02 RMS Revamped error handling - 28-Aug-02 RMS Added end of medium support - 12-Jun-02 RMS End-of-record on move read preserves old WM under GM - (found by Van Snyder) - 03-Jun-02 RMS Modified for 1311 support - 30-May-02 RMS Widened POS to 32b - 22-Apr-02 RMS Added protection against bad record lengths - 30-Jan-02 RMS New zero footprint tape bootstrap from Van Snyder - 20-Jan-02 RMS Changed write enabled modifier - 29-Nov-01 RMS Added read only unit support - 18-Apr-01 RMS Changed to rewind tape before boot - 07-Dec-00 RMS Widened display width from 6 to 8 bits to see record lnt - CEO Added tape bootstrap - 14-Apr-99 RMS Changed t_addr to unsigned - 04-Oct-98 RMS V2.4 magtape format - - Magnetic tapes are represented as a series of variable 16b records - of the form: - - 32b byte count - byte 0 - byte 1 - : - byte n-2 - byte n-1 - 32b byte count - - If the byte count is odd, the record is padded with an extra byte - of junk. File marks are represented by a byte count of 0. -*/ - -#include "i1401_defs.h" -#include "sim_tape.h" - -#define MT_NUMDR 7 /* #drives */ -#define MT_MAXFR (MAXMEMSIZE * 2) /* max transfer */ - -uint8 dbuf[MT_MAXFR]; /* tape buffer */ - -extern uint8 M[]; /* memory */ -extern int32 ind[64]; -extern int32 BS, iochk; -extern UNIT cpu_unit; -extern FILE *sim_deb; - -t_stat mt_reset (DEVICE *dptr); -t_stat mt_boot (int32 unitno, DEVICE *dptr); -t_stat mt_map_status (t_stat st); -UNIT *get_unit (int32 unit); - -/* MT data structures - - mt_dev MT device descriptor - mt_unit MT unit list - mt_reg MT register list - mt_mod MT modifier list -*/ - -UNIT mt_unit[] = { - { UDATA (NULL, UNIT_DIS, 0) }, /* doesn't exist */ - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) }, - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) }, - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) }, - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) }, - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) }, - { UDATA (NULL, UNIT_DISABLE + UNIT_ATTABLE + - UNIT_ROABLE + UNIT_BCD, 0) } - }; - -REG mt_reg[] = { - { FLDATA (END, ind[IN_END], 0) }, - { FLDATA (ERR, ind[IN_TAP], 0) }, - { DRDATA (POS1, mt_unit[1].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { DRDATA (POS2, mt_unit[2].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { DRDATA (POS3, mt_unit[3].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { DRDATA (POS4, mt_unit[4].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { DRDATA (POS5, mt_unit[5].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { DRDATA (POS6, mt_unit[6].pos, T_ADDR_W), PV_LEFT + REG_RO }, - { NULL } - }; - -MTAB mt_mod[] = { - { MTUF_WLK, 0, "write enabled", "WRITEENABLED", NULL }, - { MTUF_WLK, MTUF_WLK, "write locked", "LOCKED", NULL }, - { MTAB_XTD|MTAB_VUN, 0, "FORMAT", "FORMAT", - &sim_tape_set_fmt, &sim_tape_show_fmt, NULL }, - { MTAB_XTD|MTAB_VUN, 0, "CAPACITY", "CAPACITY", - &sim_tape_set_capac, &sim_tape_show_capac, NULL }, - { 0 } - }; - -DEVICE mt_dev = { - "MT", mt_unit, mt_reg, mt_mod, - MT_NUMDR, 10, 31, 1, 8, 8, - NULL, NULL, &mt_reset, - &mt_boot, &sim_tape_attach, &sim_tape_detach, - NULL, DEV_DEBUG - }; - -/* Function routine - - Inputs: - unit = unit character - mod = modifier character - Outputs: - status = status -*/ - -t_stat mt_func (int32 unit, int32 mod) -{ -t_mtrlnt tbc; -UNIT *uptr; -t_stat st; - -if ((uptr = get_unit (unit)) == NULL) return STOP_INVMTU; /* valid unit? */ -if ((uptr->flags & UNIT_ATT) == 0) return SCPE_UNATT; /* attached? */ -switch (mod) { /* case on modifier */ - - case BCD_A: /* diagnostic read */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: diagnostic read\n", unit); - ind[IN_END] = 0; /* clear end of file */ - st = sim_tape_sprecf (uptr, &tbc); /* space fwd */ - break; - - case BCD_B: /* backspace */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: backspace\n", unit); - ind[IN_END] = 0; /* clear end of file */ - st = sim_tape_sprecr (uptr, &tbc); /* space rev */ - break; /* end case */ - - case BCD_E: /* erase = nop */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: erase\n", unit); - if (sim_tape_wrp (uptr)) return STOP_MTL; - return SCPE_OK; - - case BCD_M: /* write tapemark */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: write tape mark\n", unit); - st = sim_tape_wrtmk (uptr); /* write tmk */ - break; - - case BCD_R: /* rewind */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: rewind\n", unit); - sim_tape_rewind (uptr); /* update position */ - return SCPE_OK; - - case BCD_U: /* unload */ - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, - ">>MT%d: rewind and unload\n", unit); - sim_tape_rewind (uptr); /* update position */ - return detach_unit (uptr); /* detach */ - - default: - return STOP_INVM; - } - -return mt_map_status (st); -} - -/* Read and write routines - - Inputs: - unit = unit character - flag = normal, word mark, or binary mode - mod = modifier character - Outputs: - status = status - - Fine point: after a read, the system writes a group mark just - beyond the end of the record. However, first it checks for a - GM + WM; if present, the GM + WM is not changed. Otherwise, - an MCW read sets a GM, preserving the current WM; while an LCA - read sets a GM and clears the WM. -*/ - -t_stat mt_io (int32 unit, int32 flag, int32 mod) -{ -int32 t, wm_seen; -t_mtrlnt i, tbc; -t_stat st; -t_bool passed_eot; -UNIT *uptr; - -if ((uptr = get_unit (unit)) == NULL) return STOP_INVMTU; /* valid unit? */ -if ((uptr->flags & UNIT_ATT) == 0) return SCPE_UNATT; /* attached? */ - -switch (mod) { - - case BCD_R: /* read */ - if (DEBUG_PRS (mt_dev)) - fprintf (sim_deb, ">>MT%d: read from %d", unit, BS); - ind[IN_TAP] = ind[IN_END] = 0; /* clear error */ - wm_seen = 0; /* no word mk seen */ - st = sim_tape_rdrecf (uptr, dbuf, &tbc, MT_MAXFR); /* read rec */ - if (st == MTSE_RECE) ind[IN_TAP] = 1; /* rec in error? */ - else if (st == MTSE_TMK) { /* tape mark? */ - ind[IN_END] = 1; /* set indicator */ - tbc = 1; /* one char read */ - dbuf[0] = BCD_TAPMRK; /* BCD tapemark */ - } - else if (st != MTSE_OK) { /* stop on error */ - if (DEBUG_PRS (mt_dev)) - fprintf (sim_deb, ", stopped by status = %d\n", st); - break; - } - for (i = 0; i < tbc; i++) { /* loop thru buf */ - if (M[BS] == (BCD_GRPMRK + WM)) { /* GWM in memory? */ - if (DEBUG_PRS (mt_dev)) - fprintf (sim_deb, " to %d, stopped by GMWM\n", BS); - BS++; /* incr BS */ - if (ADDR_ERR (BS)) { /* test for wrap */ - BS = BA | (BS % MAXMEMSIZE); - return STOP_WRAP; - } - return SCPE_OK; /* done */ - } - t = dbuf[i]; /* get char */ - if (!(flag & MD_BIN) && (t == BCD_ALT)) /* BCD mode alt blank? */ - t = BCD_BLANK; /* real blank */ - if (flag & MD_WM) { /* word mk mode? */ - if ((t == BCD_WM) && (wm_seen == 0)) /* WM char, none prev? */ - wm_seen = WM; /* set flag */ - else { - M[BS] = wm_seen | (t & CHAR); /* char + wm seen */ - wm_seen = 0; /* clear flag */ - } - } - else M[BS] = (M[BS] & WM) | (t & CHAR); /* preserve mem WM */ - if (!wm_seen) BS++; - if (ADDR_ERR (BS)) { /* check next BS */ - BS = BA | (BS % MAXMEMSIZE); - return STOP_WRAP; - } - } - if (M[BS] != (BCD_GRPMRK + WM)) { /* not GM+WM at end? */ - if (flag & MD_WM) M[BS] = BCD_GRPMRK; /* LCA: clear WM */ - else M[BS] = (M[BS] & WM) | BCD_GRPMRK; /* MCW: save WM */ - } - if (DEBUG_PRS (mt_dev)) - fprintf (sim_deb, " to %d, stopped by EOR\n", BS); - BS++; /* adv BS */ - if (ADDR_ERR (BS)) { /* check final BS */ - BS = BA | (BS % MAXMEMSIZE); - return STOP_WRAP; - } - break; - - case BCD_W: - if (sim_tape_wrp (uptr)) return STOP_MTL; /* locked? */ - if (M[BS] == (BCD_GRPMRK + WM)) return STOP_MTZ;/* eor? */ - if (DEBUG_PRS (mt_dev)) - fprintf (sim_deb, ">>MT%d: write from %d", unit, BS); - ind[IN_TAP] = ind[IN_END] = 0; /* clear error */ - for (tbc = 0; (t = M[BS++]) != (BCD_GRPMRK + WM); ) { - if ((t & WM) && (flag & MD_WM)) /* WM in wm mode? */ - dbuf[tbc++] = BCD_WM; - if (((t & CHAR) == BCD_BLANK) && !(flag & MD_BIN)) - dbuf[tbc++] = BCD_ALT; - else dbuf[tbc++] = t & CHAR; - if (ADDR_ERR (BS)) { /* check next BS */ - BS = BA | (BS % MAXMEMSIZE); - return STOP_WRAP; - } - } - if (DEBUG_PRS (mt_dev)) fprintf (sim_deb, " to %d\n", BS - 1); - passed_eot = sim_tape_eot (uptr); /* passed EOT? */ - st = sim_tape_wrrecf (uptr, dbuf, tbc); /* write record */ - if (!passed_eot && sim_tape_eot (uptr)) /* just passed EOT? */ - ind[IN_END] = 1; - if (ADDR_ERR (BS)) { /* check final BS */ - BS = BA | (BS % MAXMEMSIZE); - return STOP_WRAP; - } - break; - - default: - return STOP_INVM; - } - -return mt_map_status (st); -} - -/* Get unit pointer from unit number */ - -UNIT *get_unit (int32 unit) -{ -if ((unit <= 0) || (unit >= MT_NUMDR)) return NULL; -return mt_dev.units + unit; -} - -/* Map tape status */ - -t_stat mt_map_status (t_stat st) -{ -switch (st) { - - case MTSE_OK: /* no error */ - case MTSE_BOT: /* reverse into BOT */ - break; - - case MTSE_FMT: /* illegal fmt */ - return SCPE_IERR; - - case MTSE_UNATT: /* not attached */ - return SCPE_UNATT; - - case MTSE_INVRL: /* invalid rec lnt */ - return SCPE_MTRLNT; - - case MTSE_TMK: /* end of file */ - ind[IN_END] = 1; /* set end mark */ - break; - - case MTSE_IOERR: /* IO error */ - ind[IN_TAP] = 1; /* set error */ - if (iochk) return SCPE_IOERR; - break; - - case MTSE_RECE: /* record in error */ - case MTSE_EOM: /* end of medium */ - ind[IN_TAP] = 1; /* set error */ - break; - - case MTSE_WRP: /* write protect */ - return STOP_MTL; - } - -return SCPE_OK; -} - -/* Reset routine */ - -t_stat mt_reset (DEVICE *dptr) -{ -int32 i; -UNIT *uptr; - -for (i = 0; i < MT_NUMDR; i++) { /* clear pos flag */ - if (uptr = get_unit (i)) MT_CLR_PNU (uptr); - } -ind[IN_END] = ind[IN_TAP] = 0; /* clear indicators */ -return SCPE_OK; -} - -/* Bootstrap routine */ - -t_stat mt_boot (int32 unitno, DEVICE *dptr) -{ -extern int32 saved_IS; - -sim_tape_rewind (&mt_unit[unitno]); /* force rewind */ -BS = 1; /* set BS = 001 */ -mt_io (unitno, MD_WM, BCD_R); /* LDA %U1 001 R */ -saved_IS = 1; -return SCPE_OK; -} diff --git a/I1620/i1620_cd.c b/I1620/i1620_cd.c index d72def88..2b63db45 100644 --- a/I1620/i1620_cd.c +++ b/I1620/i1620_cd.c @@ -26,6 +26,7 @@ cdr 1622 card reader cdp 1622 card punch + 23-Jun-17 RMS Unattached error does not set RDCHK/WRCHK 09-Mar-17 RMS Guardbanded translation table lookups (COVERITY) 31-Jan-15 TFM Changes to translation tables (Tom McBride) 10-Dec-13 RMS Fixed WA card punch translations (Bob Armstrong) @@ -339,10 +340,8 @@ t_stat cdr_read (void) int32 i; ind[IN_LAST] = 0; /* clear last card */ -if ((cdr_unit.flags & UNIT_ATT) == 0) { /* attached? */ - ind[IN_RDCHK] = 1; /* no, error */ +if ((cdr_unit.flags & UNIT_ATT) == 0) /* attached? */ return SCPE_UNATT; - } for (i = 0; i < CD_LEN + 2; i++) /* clear buffer */ cdr_buf[i] = ' '; @@ -351,7 +350,7 @@ if (feof (cdr_unit.fileref)) /* eof? */ return STOP_NOCD; if (ferror (cdr_unit.fileref)) { /* error? */ ind[IN_RDCHK] = 1; /* set read check */ - perror ("CDR I/O error"); + sim_perror ("CDR I/O error"); clearerr (cdr_unit.fileref); return SCPE_IOERR; } @@ -367,7 +366,7 @@ if ((i = strlen (cdr_buf)) > 0) { /* anything at all? */ } else { /* line too long */ ind[IN_RDCHK] = 1; - perror ("CDR line too long"); + sim_perror ("CDR line too long"); return SCPE_IOERR; } } @@ -520,10 +519,8 @@ return SCPE_OK; t_stat cdp_write (uint32 len) { -if ((cdp_unit.flags & UNIT_ATT) == 0) { /* attached? */ - ind[IN_WRCHK] = 1; /* no, error */ +if ((cdp_unit.flags & UNIT_ATT) == 0) /* attached? */ return SCPE_UNATT; - } while ((len > 0) && (cdp_buf[len - 1] == ' ')) /* trim spaces */ --len; @@ -534,7 +531,7 @@ fputs (cdp_buf, cdp_unit.fileref); /* write card */ cdp_unit.pos = ftell (cdp_unit.fileref); /* count char */ if (ferror (cdp_unit.fileref)) { /* error? */ ind[IN_WRCHK] = 1; - perror ("CDP I/O error"); + sim_perror ("CDP I/O error"); clearerr (cdp_unit.fileref); return SCPE_IOERR; } diff --git a/I1620/i1620_cpu.c b/I1620/i1620_cpu.c index dabe64c8..cbe6dda9 100644 --- a/I1620/i1620_cpu.c +++ b/I1620/i1620_cpu.c @@ -26,6 +26,8 @@ This CPU module incorporates code and comments from the 1620 simulator by Geoff Kuenning, with his permission. + 23-Jun-17 RMS BS should not enable indexing unless configured + 15-Jun-17 RMS Added more information to IO in progress message 26-May-17 RMS Added deferred IO mode for slow devices 20-May-17 RMS Changed to commit PC on certain stops Added SET CPU RELEASE command @@ -94,6 +96,7 @@ cpuio_mode set if IO in progress cpuio_opc saved IO opcode + cpuio_dev saved IO device number cpuio_cnt character counter; increments PAR P address; increments @@ -152,6 +155,7 @@ uint32 io_stop = 1; /* I/O stop */ uint32 ar_stop = 1; /* arith stop */ uint32 cpuio_inp = 0; /* IO in progress */ uint32 cpuio_opc = 0; +uint32 cpuio_dev = 0; uint32 cpuio_cnt = 0; int32 ind_max = 16; /* iadr nest limit */ uint16 pcq[PCQ_SIZE] = { 0 }; /* PC queue */ @@ -245,9 +249,10 @@ REG cpu_reg[] = { { FLDATA (WRCHK, ind[IN_WRCHK], 0) }, { FLDATA (ARSTOP, ar_stop, 0) }, { FLDATA (IOSTOP, io_stop, 0) }, - { FLDATA (IOINP, cpuio_inp, 0), REG_RO }, - { DRDATA (IOOPC, cpuio_opc, 6), REG_RO }, - { DRDATA (IOCNT, cpuio_cnt, 16), REG_RO }, + { FLDATA (IOINP, cpuio_inp, 0), REG_HRO }, + { DRDATA (IOOPC, cpuio_opc, 6), REG_HRO }, + { DRDATA (IODEV, cpuio_dev, 7), REG_HRO }, + { DRDATA (IOCNT, cpuio_cnt, 16), REG_HRO }, { BRDATA (IND, ind, 10, 1, NUM_IND) }, { FLDATA (IAE, iae, 0) }, { FLDATA (IDXE, idxe, 0) }, @@ -956,7 +961,7 @@ while (reason == SCPE_OK) { /* loop until halted */ } break; -/* Branch and select - P is valid */ +/* Branch and select - P is valid - Model 2 only */ case OP_BS: t = M[ADDR_A (saved_PC, I_SEL)] & DIGIT; /* get select */ @@ -965,10 +970,12 @@ while (reason == SCPE_OK) { /* loop until halted */ idxe = idxb = 0; /* indexing off */ break; case 1: - idxe = 1; idxb = 0; /* index band A */ + if ((cpu_unit.flags & IF_IDX) != 0) /* indexing present? */ + idxe = 1; idxb = 0; /* index band A */ break; case 2: - idxe = idxb = 1; /* index band B */ + if ((cpu_unit.flags & IF_IDX) != 0) /* indexing present? */ + idxe = idxb = 1; /* index band B */ break; case 8: iae = 0; /* indirect off */ @@ -1107,8 +1114,13 @@ for (i = 0; commit_pc[i] != 0; i++) { /* check stop code */ actual_PC = PC; /* save cur PC for RLS */ pcq_r->qptr = pcq_p; /* update pc q ptr */ upd_ind (); -if (cpuio_inp != 0) /* flag IO in progress */ - sim_printf ("\r\nIO in progress"); +if (cpuio_inp != 0) { /* flag IO in progress */ + char *opstr = opc_lookup (cpuio_opc, cpuio_dev * 100, NULL); + + if (opstr != NULL) + sim_printf ("\r\nIO in progress (%s %05d)", opstr, PAR); + else sim_printf ("\r\nIO in progress (%02d %05d,%05d)", cpuio_opc, PAR, cpuio_dev * 100); + } return reason; } @@ -2160,10 +2172,11 @@ return SCPE_OK; /* Set and clear IO in progress */ -t_stat cpuio_set_inp (uint32 op, UNIT *uptr) +t_stat cpuio_set_inp (uint32 op, uint32 dev, UNIT *uptr) { cpuio_inp = 1; cpuio_opc = op; +cpuio_dev = dev; cpuio_cnt = 0; if (uptr != NULL) sim_activate_abs (uptr, uptr->wait); @@ -2174,6 +2187,7 @@ t_stat cpuio_clr_inp (UNIT *uptr) { cpuio_inp = 0; cpuio_opc = 0; +cpuio_dev = 0; cpuio_cnt = 0; if (uptr != NULL) sim_cancel (uptr); @@ -2221,6 +2235,7 @@ DEVICE *dptr; if (cpuio_inp != 0) { /* IO in progress? */ cpuio_inp = 0; cpuio_opc = 0; + cpuio_dev = 0; cpuio_cnt = 0; for (i = 0; (dptr = sim_devices[i]) != NULL; i++) { if (((dptr->flags & DEV_DEFIO) != 0) && (dptr->reset != NULL)) diff --git a/I1620/i1620_defs.h b/I1620/i1620_defs.h index 1d828e60..fd21f9d2 100644 --- a/I1620/i1620_defs.h +++ b/I1620/i1620_defs.h @@ -242,7 +242,8 @@ enum opcodes { /* Function declarations */ -t_stat cpuio_set_inp (uint32 op, UNIT *uptr); +t_stat cpuio_set_inp (uint32 op, uint32 dev, UNIT *uptr); t_stat cpuio_clr_inp (UNIT *uptr); +char *opc_lookup (uint32 op, uint32 qv, uint32 *fl); #endif diff --git a/I1620/i1620_error_matrix.txt b/I1620/i1620_error_matrix.txt new file mode 100644 index 00000000..891e5ac4 --- /dev/null +++ b/I1620/i1620_error_matrix.txt @@ -0,0 +1,29 @@ +Device Error Action + +CDR RN, RA invalid char set RDCHK; if IOSTOP set, stop simulator with INVCHR + unattached stop simulator with UNATT (CHANGED - used to set RDCHK too) + end of file stop simulator witn NOCD (CHANGED - used to set RDCHK too) + file read error set RDCHK; stop simulator with IOERR + input line too long set RDCHK; stop simulator with IOERR + +CDP WN,DN invalid digit set WRCHK; if IOSTOP set, stop simulator with INVCHR + WA invalid char set WRCHK; if IOSTOP set, stop simulator with INVCHR + unattached stop simulator with UNATT (CHANGED - used to set WRCHK too) + file write error set WRCHK; stop simulator with IOERR + +LPT bad K control field set PRCHK; if IOSTOP set, stop simulator with INVFNC + WN,DN invalid digit set PRCHK and WRCHK; if IOSTOP set, stop simulator with INVFNC + WA invalid char set PRCHK and WRCHK; if IOSTOP set, stop simulator with INVFNC + unattached stop simulator with UNATT (CHANGED - used to set WRCHK too) + file write error set PRCHK and WRCHK; stop simulator with IOERR + +PTR RN, RA invalid char set RDCHK but complete operation; if IOSTOP set at end, stop simulator with INVCHR + RN, RA parity error set RDCHK but complete operation; if IOSTOP set at end, stop simulator with INVCHR + WN, DN invalid digit set WRCHK; if IOSTOP set, stop simulator with INVCHR + WA invalid char set WRCHK; if IOSTOP set, stop simulator with INVCHR + unattached stop simulator with UNATT (CHANGED - used to set WRCHK too) + file write error set WRCHK; stop simulator with IOERR + +TTY RN, RA invalid char ignored, echoed as beep/bell + WN, DN invalid digit ignored, printed as : + WA invalid char set WRCHK; if IOSTOP set, stop simulator with INVCHR diff --git a/I1620/i1620_fp.c b/I1620/i1620_fp.c index 6e27ab10..489b8711 100644 --- a/I1620/i1620_fp.c +++ b/I1620/i1620_fp.c @@ -186,7 +186,8 @@ uint8 d, l, z; z = 1; /* assume zero */ for (l = 1; l <= FP_LMAX; l++) { /* scan to get length */ d = M[ad] & DIGIT; /* get mant digit */ - if (d) z = 0; /* non-zero? */ + if (d) /* non-zero? */ + z = 0; if ((l != 1) && (M[ad] & FLAG)) { /* flag past first dig? */ *lnt = l; /* set returns */ if (zro) diff --git a/I1620/i1620_lp.c b/I1620/i1620_lp.c index e23e57ef..ead1025c 100644 --- a/I1620/i1620_lp.c +++ b/I1620/i1620_lp.c @@ -1,6 +1,6 @@ /* i1620_lp.c: IBM 1443 line printer simulator - Copyright (c) 2002-2015, Robert M. Supnik + Copyright (c) 2002-2017, Robert M. Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -25,6 +25,8 @@ lpt 1443 line printer + 15-Jun-17 RMS Fixed K constants and print-no-spacing (Tom McBride) + Added option to emulate form feed with newlines 31-Jan-15 TFM Fixed various problems ... see comments in code 10-Dec-13 RMS Fixed DN wraparound (Bob Armstrong) Fixed test on VFU 10 (Bob Armstrong) @@ -37,10 +39,13 @@ #include "i1620_defs.h" #define LPT_BSIZE 197 /* buffer size */ +#define UNIT_V_FF (UNIT_V_UF + 0) +#define UNIT_FF (1 << UNIT_V_FF) -#define K_IMM 0x10 /* control now */ +/* decoded print control */ + +#define K_IMM 0x10 /* before print */ #define K_LIN 0x20 /* spc lines */ -#define K_CH10 0x40 /* chan 10 */ #define K_LCNT 0x03 /* line count */ #define K_CHAN 0x0F /* channel */ @@ -59,8 +64,9 @@ t_stat lpt_svc (UNIT *uptr); t_stat lpt_reset (DEVICE *dptr); t_stat lpt_attach (UNIT *uptr, char *cptr); void lpt_buf_init (void); -t_stat lpt_num(uint32 pa, uint32 f1, t_bool dump); /* tfm: length parameter removed, not needed */ -t_stat lpt_print (void); +t_stat lpt_num(uint32 pa, uint32 f1, t_bool dump); +t_stat lpt_print (uint32 flag); +t_stat lpt_spcop (int32 ctrl); t_stat lpt_space (int32 lines, int32 lflag); #define CHP(ch,val) ((val) & (1 << (ch))) @@ -79,7 +85,7 @@ UNIT lpt_unit = { REG lpt_reg[] = { { BRDATA (LBUF, lpt_buf, 8, 8, LPT_BSIZE + 1) }, { DRDATA (BPTR, lpt_bptr, 8) }, - { HRDATA (PCTL, lpt_savctrl, 8) }, + { HRDATA (PCTL, lpt_savctrl, 6) }, { FLDATA (PRCHK, ind[IN_PRCHK], 0) }, { FLDATA (PRCH9, ind[IN_PRCH9], 0) }, { FLDATA (PRCH12, ind[IN_PRCH12], 0) }, @@ -91,8 +97,14 @@ REG lpt_reg[] = { { NULL } }; +MTAB lp_mod[] = { + { UNIT_FF, 0, "no form feeds", "NOFF", NULL }, + { UNIT_FF, UNIT_FF, "form feeds", "FF", NULL }, + { 0 } + }; + DEVICE lpt_dev = { - "LPT", &lpt_unit, lpt_reg, NULL, + "LPT", &lpt_unit, lpt_reg, lp_mod, 1, 10, 31, 1, 8, 7, NULL, NULL, &lpt_reset, NULL, &lpt_attach, NULL @@ -103,10 +115,10 @@ DEVICE lpt_dev = { /* Numeric (flag plus digit) to lineprinter (ASCII) */ const int8 num_to_lpt[32] = { - '0', '1', '2', '3', '4', '5', '6', '7', /* tfm: All invalid char treated as errors */ - '8', '9', '|', -1, '@', -1, -1, 'G', /* tfm: @, G only print on DN; else NB is blank */ + '0', '1', '2', '3', '4', '5', '6', '7', /* All invalid char treated as errors */ + '8', '9', '|', -1, '@', -1, -1, 'G', /* @, G only print on DN; else NB is blank */ '-', 'J', 'K', 'L', 'M', 'N', 'O', 'P', - 'Q', 'R', 'W', -1, '*', -1, -1, 'X' /* tfm: W, *, X only print on DN */ + 'Q', 'R', 'W', -1, '*', -1, -1, 'X' /* W, *, X only print on DN */ }; /* Alphameric (digit pair) to lineprinter (ASCII) */ @@ -146,6 +158,24 @@ const int8 alp_to_lpt[256] = { /* tfm: invalid codes 02 -1, -1, -1, -1, -1, -1, -1, -1 }; +/* K validation and translation table - entryies 80:FF always 0 */ + +static const int8 lpt_ktbl[128] = { + 0, 0, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 00 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 10 */ + 0, K_LIN|1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20 */ + 0, 0, 0, K_IMM|11, K_IMM|12, 0, 0, 0, 0, 0, /* 30 */ + 0, 0, 0, 0, 0, 0, + 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, /* 40 */ + 0, K_IMM|K_LIN|1, K_IMM|K_LIN|2, K_IMM|K_LIN|3, 0, /* 50 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, K_LIN|2, K_LIN|3, 0, 0, 0, 0, 0, 0, /* 60 */ + 0, 0, 0, 0, 0, 0, + K_IMM|10, K_IMM|1, K_IMM|2, K_IMM|3, K_IMM|4, /* 70 */ + K_IMM|5, K_IMM|6, K_IMM|7, K_IMM|8, K_IMM|9, + 0, 0, 0, 0, 0, 0, + }; + /* Line printer IO routine - Hard errors halt the system. @@ -157,6 +187,7 @@ t_stat lpt (uint32 op, uint32 pa, uint32 f0, uint32 f1) { int8 lpc; uint8 z, d; +int32 ctrl; t_stat r, sta; sta = SCPE_OK; @@ -166,16 +197,24 @@ ind[IN_PRBSY] = 0; /* printer free */ switch (op) { /* decode op */ case OP_K: /* control */ - lpt_savctrl = (f0 << 4) | f1; /* form ctrl */ - if (lpt_savctrl & K_IMM) /* immediate? */ - return lpt_print (); - break; + ctrl = lpt_ktbl[((f0 & 0x7) << 4) | (f1 & 0xF)]; /* xlate ctrl */ + if ((f0 > 7) || (ctrl == 0)) { /* invalid? */ + ind[IN_PRCHK] = 1; /* print chk */ + if (io_stop) /* set return status */ + sta = STOP_INVFNC; + } + else { + if ((ctrl & K_IMM) != 0) /* immediate? */ + return lpt_spcop (ctrl); /* execute */ + else lpt_savctrl = ctrl; /* otherwise, save */ + } + return sta; case OP_DN: - return lpt_num (pa, f1, TRUE); /* dump numeric (tfm: removed len parm ) */ + return lpt_num (pa, f1, TRUE); /* dump numeric */ case OP_WN: - return lpt_num (pa, f1, FALSE); /* write numeric (tfm: removed len parm ) */ + return lpt_num (pa, f1, FALSE); /* write numeric */ case OP_WA: for ( ; lpt_bptr < LPT_BSIZE; lpt_bptr++) { /* only fill buf */ @@ -192,11 +231,9 @@ switch (op) { /* decode op */ lpt_buf[lpt_bptr] = lpc & 0x7F; /* fill buffer */ pa = ADDR_A (pa, 2); /* incr mem addr */ } - if ((f1 & 1) == 0) { ; /* print now? */ - r = lpt_print (); /* print line */ - if (r != SCPE_OK) - return r; - } + r = lpt_print (f1); /* print line */ + if (r != SCPE_OK) + return r; return sta; default: /* invalid function */ @@ -208,7 +245,7 @@ return SCPE_OK; /* Print numeric */ -t_stat lpt_num (uint32 pa, uint32 f1, t_bool dump) /* tfm: removed len parm and reorganized code */ +t_stat lpt_num (uint32 pa, uint32 f1, t_bool dump) { uint8 d; int8 lpc; @@ -232,57 +269,55 @@ for ( ; lpt_bptr < LPT_BSIZE; lpt_bptr++) { /* only fill buf */ lpt_buf[lpt_bptr] = lpc & 0x7F; /* put char into buffer (tfm: correct increment)*/ PP (pa); /* incr mem addr */ } -if ((f1 & 1) == 0) { /* print now? */ - r = lpt_print (); /* print line */ - if (r != SCPE_OK) - return r; - } +r = lpt_print (f1); /* print line */ +if (r != SCPE_OK) + return r; return sta; } -/* Print and space */ +/* Print and possibly space - any spacing operation is non-immediate */ -t_stat lpt_print (void) +t_stat lpt_print (uint32 flag) { -int32 i, chan, ctrl = lpt_savctrl; +int32 i; if ((lpt_unit.flags & UNIT_ATT) == 0) { /* not attached? */ - ind[IN_PRCHK] = ind[IN_WRCHK] = 1; /* wr, pri check */ + ind[IN_PRCHK] = 1; /* pri check */ return SCPE_UNATT; } -ind[IN_PRBSY] = 1; /* print busy */ -sim_activate (&lpt_unit, lpt_unit.wait); /* start timer */ - for (i = LPT_WIDTH; i <= LPT_BSIZE; i++) /* clear unprintable */ lpt_buf[i] = ' '; while ((lpt_bptr > 0) && (lpt_buf[lpt_bptr - 1] == ' ')) lpt_buf[--lpt_bptr] = 0; /* trim buffer */ -if (lpt_bptr) { /* any line? */ +if (lpt_bptr != 0) { /* any line? */ fputs (lpt_buf, lpt_unit.fileref); /* print */ + if ((flag & 1) != 0) /* no space? */ + fputc ('\r', lpt_unit.fileref); /* bare return */ lpt_unit.pos = ftell (lpt_unit.fileref); /* update pos */ lpt_buf_init (); /* reinit buf */ if (ferror (lpt_unit.fileref)) { /* error? */ - ind[IN_PRCHK] = ind[IN_WRCHK] = 1; /* wr, pri check */ - perror ("LPT I/O error"); + ind[IN_PRCHK] = 1; /* pri check */ + sim_perror ("LPT I/O error"); clearerr (lpt_unit.fileref); return SCPE_IOERR; } } +if ((flag & 1) == 0) /* spacing? */ + return lpt_spcop (lpt_savctrl); /* execute */ +return SCPE_OK; /* done */ +} -lpt_savctrl = 0x61; /* reset ctrl */ -if ((ctrl & K_LIN) == ((ctrl & K_IMM)? 0: K_LIN)) /* space lines? */ - return lpt_space (ctrl & K_LCNT, FALSE); -chan = lpt_savctrl & K_CHAN; /* basic chan */ -if ((lpt_savctrl & K_CH10) == 0) { /* chan 10-12? */ - if (chan == 0) - chan = 10; - else if (chan == 3) - chan = 11; - else if (chan == 4) - chan = 12; - else chan = 0; - } +/* Space operation - direct (K) or deferred (WA, WN, DN) */ + +t_stat lpt_spcop (int32 ctrl) +{ +int32 chan, i; + +lpt_savctrl = K_LIN|1; /* reset saved control */ +if ((ctrl & K_LIN) != 0) /* space lines? */ + return lpt_space (ctrl & K_LCNT, FALSE); /* execute spacing op */ +chan = lpt_savctrl & K_CHAN; /* get chan */ if ((chan == 0) || (chan > 12)) return STOP_INVFNC; for (i = 1; i < cct_lnt + 1; i++) { /* sweep thru cct */ @@ -304,7 +339,8 @@ t_stat lpt_space (int32 count, int32 sflag) int32 i; cct_ptr = (cct_ptr + count) % cct_lnt; /* adv cct, mod lnt */ -if (sflag && CHP (0, cct[cct_ptr])) /* skip, top of form? */ +if (sflag && CHP (0, cct[cct_ptr]) && /* skip, top of form, */ + ((lpt_unit.flags & UNIT_FF) != 0)) /* and use form feeds? */ fputs ("\n\f", lpt_unit.fileref); /* nl, ff */ else { for (i = 0; i < count; i++) /* count lines */ @@ -315,10 +351,12 @@ ind[IN_PRCH9] = CHP (9, cct[cct_ptr]) != 0; /* set indicators */ ind[IN_PRCH12] = CHP (12, cct[cct_ptr]) != 0; if (ferror (lpt_unit.fileref)) { /* error? */ ind[IN_PRCHK] = ind[IN_WRCHK] = 1; /* wr, pri check */ - perror ("LPT I/O error"); + sim_perror ("LPT I/O error"); clearerr (lpt_unit.fileref); return SCPE_IOERR; } +ind[IN_PRBSY] = 1; /* print busy */ +sim_activate (&lpt_unit, lpt_unit.wait); /* start timer */ return SCPE_OK; } @@ -348,7 +386,7 @@ t_stat lpt_reset (DEVICE *dptr) { lpt_buf_init (); /* clear buffer */ cct_ptr = 0; /* clear cct ptr */ -lpt_savctrl = 0x61; /* clear cct action */ +lpt_savctrl = K_LIN|1; /* reset cct action */ ind[IN_PRCHK] = ind[IN_PRBSY] = 0; /* clear indicators */ ind[IN_PRCH9] = ind[IN_PRCH12] = 0; return SCPE_OK; diff --git a/I1620/i1620_pt.c b/I1620/i1620_pt.c index 669f8b00..d29e9189 100644 --- a/I1620/i1620_pt.c +++ b/I1620/i1620_pt.c @@ -25,7 +25,8 @@ ptr 1621 paper tape reader ptp 1624 paper tape punch - + + 23-Jun-17 RMS PTR/PTP errors does not set read check 10-Jun-17 RMS Fixed typo in PTP unit (Dave Wise) 26-May-17 RMS Added deferred IO 25-May-17 RMS Fixed treatment of X0C82 on RN (Tom McBride) @@ -230,7 +231,7 @@ if ((op != OP_RN) && (op != OP_RA)) /* RN & RA only */ if ((ptr_unit.flags & UNIT_ATT) == 0) /* catch unattached */ return SCPE_UNATT; ptr_mode = 0; -cpuio_set_inp (op, &ptr_unit); +cpuio_set_inp (op, IO_PTR, &ptr_unit); return SCPE_OK; } @@ -243,7 +244,7 @@ if (op != OP_RA) /* RA only */ if ((ptr_unit.flags & UNIT_ATT) == 0) /* catch unattached */ return SCPE_UNATT; ptr_mode = 1; -cpuio_set_inp (op, &ptr_unit); +cpuio_set_inp (op, IO_BTR, &ptr_unit); return SCPE_OK; } @@ -341,13 +342,12 @@ int32 temp; do { if ((temp = getc (ptr_unit.fileref)) == EOF) { /* read char */ - ind[IN_RDCHK] = 1; /* err, rd chk */ if (feof (ptr_unit.fileref)) { /* EOF? */ sim_printf ("PTR end of file\n"); clearerr (ptr_unit.fileref); return SCPE_EOF; } - else perror ("PTR I/O error"); /* no, io err */ + else sim_perror ("PTR I/O error"); /* no, io err */ clearerr (ptr_unit.fileref); return SCPE_IOERR; } @@ -395,7 +395,7 @@ if ((op != OP_WN) && (op != OP_WA) && (op != OP_DN)) if ((ptp_unit.flags & UNIT_ATT) == 0) /* catch unattached */ return SCPE_UNATT; ptp_mode = 0; -cpuio_set_inp (op, &ptp_unit); +cpuio_set_inp (op, IO_PTP, &ptp_unit); return SCPE_OK; } @@ -408,7 +408,7 @@ if (op != OP_WA) /* WA only */ if ((ptp_unit.flags & UNIT_ATT) == 0) /* catch unattached */ return SCPE_UNATT; ptp_mode = 1; -cpuio_set_inp (op, &ptp_unit); +cpuio_set_inp (op, IO_BTP, &ptp_unit); return SCPE_OK; } @@ -502,8 +502,7 @@ return SCPE_OK; t_stat ptp_write (uint32 c) { if (putc (c, ptp_unit.fileref) == EOF) { /* write char */ - ind[IN_WRCHK] = 1; /* error? */ - perror ("PTP I/O error"); + sim_perror ("PTP I/O error"); clearerr (ptp_unit.fileref); return SCPE_IOERR; } diff --git a/I1620/i1620_sys.c b/I1620/i1620_sys.c index 1f94938d..e91a2d6a 100644 --- a/I1620/i1620_sys.c +++ b/I1620/i1620_sys.c @@ -304,6 +304,34 @@ if ((cpu_unit.flags & IF_IDX) && flg) { /* indexing? */ return; } +/* Look up an opcode + + Inputs: + op = opcode (decimal) + qv = Q value (full 5 digits) + Outputs: + *opcst = pointer to opcode string + (NULL if not found) + *fl = opcode flags (optional) +*/ + +char *opc_lookup (uint32 op, uint32 qv, uint32 *fl) +{ +uint32 i, opfl; + +for (i = 0; opcode[i].str != NULL; i++) { /* find opcode */ + opfl = opcode[i].opv & 0xFF0000; /* get flags */ + if ((op == (opcode[i].opv & 0xFF)) && /* op match? */ + ((qv == opcode[i].qv) || /* q match or */ + ((opfl != I_1E) && (opfl != I_0E)))) { /* not needed? */ + if (fl != NULL) + *fl = opfl; + return opcode[i].str; + } + } +return NULL; +} + /* Symbolic decode Inputs: @@ -324,6 +352,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val, { int32 pmp, qmp, i, c, d, any; uint32 op, qv, opfl; +char *opstr; if (uptr == NULL) uptr = &cpu_unit; @@ -384,14 +413,9 @@ for (i = qv = pmp = qmp = 0; i < ADDR_LEN; i++) { /* test addr */ } if ((val[0] | val[1]) & FLAG) /* flags force */ pmp = qmp = 1; -for (i = 0; opcode[i].str != NULL; i++) { /* find opcode */ - opfl = opcode[i].opv & 0xFF0000; - if ((op == (opcode[i].opv & 0xFF)) && - ((qv == opcode[i].qv) || - ((opfl != I_1E) && (opfl != I_0E)))) - break; - } -if (opcode[i].str == NULL) { /* invalid opcode */ +opstr = opc_lookup (op, qv, &opfl); /* find opcode */ + +if (opstr == NULL) { /* invalid opcode */ if ((sw & SIM_SW_STOP) != 0) { /* stop message? */ fprintf (of, "%02d", op); /* print numeric opcode */ return -(INST_LEN - 1); /* report success */ @@ -401,7 +425,7 @@ if (opcode[i].str == NULL) { /* invalid opcode */ if (I_GETQP (opfl) == I_M_QNP) /* Q no print? */ qmp = 0; -fprintf (of, "%-4s", opcode[i].str); /* print opcode */ +fprintf (of, ((sw & SIM_SW_STOP)? "%s": "%-4s"), opstr);/* print opcode */ if (I_GETPP (opfl) == I_M_PP) /* P required? */ fprint_addr (of, ' ', &val[I_P], I_M_QX); else if ((I_GETPP (opfl) == I_M_PCP) && (pmp || qmp)) /* P opt & needed? */ diff --git a/I1620/i1620_tty.c b/I1620/i1620_tty.c index 3130ab45..d0b53706 100644 --- a/I1620/i1620_tty.c +++ b/I1620/i1620_tty.c @@ -132,7 +132,7 @@ DEVICE tty_dev = { /* The following constant is a list of valid 1620 numeric characters that can be entered from the keyboard. They are the digits 0-9, record mark(|), numeric blank(@) and group mark(}). All others - are cosidered invalid. When entering data, these characters may + are considered invalid. When entering data, these characters may all be preceeded by tilde(~) or accent(`) to indicate that the following character should be entered into storage with a flag. @@ -281,7 +281,7 @@ switch (op) { /* case on op */ case OP_WN: case OP_DN: case OP_WA: - cpuio_set_inp (op, &tty_unit[UTTO]); /* set IO in progress */ + cpuio_set_inp (op, IO_TTY, &tty_unit[UTTO]); /* set IO in progress */ break; case OP_RN: @@ -289,7 +289,7 @@ switch (op) { /* case on op */ tti_unlock = 1; /* unlock keyboard */ tti_flag = 0; /* init flag */ tto_write ('>'); /* prompt user */ - cpuio_set_inp (op, NULL); /* set IO in progress */ + cpuio_set_inp (op, IO_TTY, NULL); /* set IO in progress */ break; default: /* invalid function */ @@ -312,7 +312,7 @@ if ((temp = sim_poll_kbd ()) < SCPE_KFLAG) /* no char or error? */ return temp; if (tti_unlock == 0) /* expecting input? */ return SCPE_OK; /* no, ignore */ -raw = (int8) temp; +raw = (int8) (temp & 0x7F); if (raw == '\r') { /* return? */ tto_write (raw); /* echo */ diff --git a/PDP11/pdp11_cpu.c b/PDP11/pdp11_cpu.c index d09c228c..d6306c59 100644 --- a/PDP11/pdp11_cpu.c +++ b/PDP11/pdp11_cpu.c @@ -1,6 +1,6 @@ /* pdp11_cpu.c: PDP-11 CPU simulator - Copyright (c) 1993-2016, Robert M Supnik + Copyright (c) 1993-2018, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -25,6 +25,7 @@ cpu PDP-11 CPU + 04-Jun-18 RMS Removed CPU model entries for UC15 (Mark Pizzolato) 04-Dec-16 RMS Removed duplicate IDLE entries in MTAB 30-Aug-16 RMS Fixed overloading of -d in ex/mod 14-Mar-16 RMS Added UC15 support @@ -620,12 +621,8 @@ MTAB cpu_mod[] = { { MTAB_XTD|MTAB_VDV, 0, NULL, "NOAUTOCONFIG", &set_autocon, NULL }, #else - { MTAB_XTD|MTAB_VDV, MOD_1104, NULL, "11/04", &cpu_set_model }, - { MTAB_XTD|MTAB_VDV, MOD_1105, NULL, "11/05", &cpu_set_model }, - { MTAB_XTD|MTAB_VDV, MOD_1120, NULL, "11/20", &cpu_set_model }, { UNIT_MSIZE, 16384, NULL, "16K", &cpu_set_size}, { UNIT_MSIZE, 24576, NULL, "24K", &cpu_set_size}, - { UNIT_MSIZE, 32768, NULL, "32K", &cpu_set_size}, #endif { MTAB_XTD|MTAB_VDV|MTAB_NMO, 0, "IOSPACE", NULL, NULL, &show_iospace }, diff --git a/PDP11/pdp11_fp.c b/PDP11/pdp11_fp.c index 1526c305..f21185c0 100644 --- a/PDP11/pdp11_fp.c +++ b/PDP11/pdp11_fp.c @@ -1,6 +1,6 @@ /* pdp11_fp.c: PDP-11 floating point simulator (32b version) - Copyright (c) 1993-2015, Robert M Supnik + Copyright (c) 1993-2018, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 28-May-18 RMS Fixed FPCHG macro to avoid undefined operation (Mark Pizzolato) 24-Mar-15 RMS MMR1 does not track register changes (Johnny Billquist) 20-Apr-13 RMS MMR1 does not track PC changes (Johnny Billquist) 22-Sep-05 RMS Fixed declarations (Sterling Garwood) @@ -152,7 +153,7 @@ /* Reg change word */ -#define FPCHG(v,r) (((v) << FPCHG_V_VAL) | (r)) +#define FPCHG(v,r) ((int32)((((uint32)(v)) << FPCHG_V_VAL) | (r))) #define FPCHG_REG 07 /* register number */ #define FPCHG_V_VAL 3 /* offset to value */ #define FPCHG_GETREG(x) ((x) & FPCHG_REG) diff --git a/PDP11/pdp11_sys.c b/PDP11/pdp11_sys.c index 8680e97d..f9e80bb6 100644 --- a/PDP11/pdp11_sys.c +++ b/PDP11/pdp11_sys.c @@ -1,6 +1,6 @@ /* pdp11_sys.c: PDP-11 simulator interface - Copyright (c) 1993-2016, Robert M Supnik + Copyright (c) 1993-2018, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 23-May-18 RMS Changed UC15 simulator name 14-Mar-16 RMS Added UC15 support 02-Sep-13 RMS Added third Massbus, RS03/RS04 29-Apr-12 RMS Fixed compiler warning (Mark Pizzolato) @@ -121,7 +122,11 @@ extern int32 saved_PC; sim_load binary loader */ +#if !defined (UC15) char sim_name[] = "PDP-11"; +#else +char sim_name[] = "UC-15"; +#endif REG *sim_PC = &cpu_reg[0]; diff --git a/PDP11/pdp11_uc15.c b/PDP11/pdp11_uc15.c new file mode 100644 index 00000000..e75cd72e --- /dev/null +++ b/PDP11/pdp11_uc15.c @@ -0,0 +1,543 @@ +/* pdp11_uc15.c: UC15 interface simulator + + Copyright (c) 2016, Robert M Supnik + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Robert M Supnik shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Robert M Supnik. + + uca DR11 #1 + ucb DR11 #2 + + The DR11Cs provide control communications with the DR15C in the PDP15. + + The PDP15 and UC15 use a master/slave communications protocol. + - The PDP15 initiates a request to the PDP11 by writing TCBP and + clearing TCBP acknowledge. This alerts/interrupts the PDP11. + - The PDP11 reads TCBP. This sets TCBP acknowledge, which is + not wired to interrupt on the PDP15. Note that TCBP has been + converted from a word address to a byte address by the way + the two systems are wired together. + - The PDP11 processes the request. + - The PDP11 signals completion by writing a vector into one of + four API request levels. + - The PDP15 is interrupted, and the request is considered complete. + + The UC15 must "call out" to the PDP15 to signal two conditions: + - the TCB pointer has been read + - an API interrupt is requested + + The DR15 must "call in" to the UC15 for two reasons: + - the TCBP has been written + - API interrupt status has changed + + The DR15 and UC15 use a shared memory section and ATOMIC operations + to communicate. Shared state is maintained in shared memory, with one + side having read/write access, the other read-only. Actions are + implemented by setting signals with an atomic compare-and-swap. + The signals may be polled with non-atomic operations but must be + verified with an atomic compare-and-swap. +*/ + +#include "pdp11_defs.h" + +#include "sim_shmem.h" +#include "uc15_defs.h" + +/* Constants */ + +/* DR11 #1 */ + +#define UCAC_APID (CSR_DONE) +#define UCAB_V_TCBHI 0 +#define UCAB_M_TCBHI 03 +#define UCAB_API2 0000100 +#define UCAB_API0 0000200 +#define UCAB_V_LOCAL 8 +#define UCAB_M_LOCAL 07 +#define UCAB_API3 0040000 +#define UCAB_API1 0100000 + +/* DR11 #2 */ + +#define UCBC_NTCB (CSR_DONE) + +/* Declarations */ + +extern int32 int_req[IPL_HLVL]; +extern UNIT cpu_unit; +extern uint16 *M; + +int32 uca_csr = 0; /* DR11C #1 CSR */ +int32 uca_buf = 0; /* DR11C #1 input buffer */ +int32 ucb_csr = 0; +int32 ucb_buf = 0; +int32 uc15_poll = 3; /* polling interval */ +SHMEM *uc15_shmem = NULL; /* shared state identifier */ +int32 *uc15_shstate = NULL; /* shared state base */ +SHMEM *pdp15_shmem = NULL; /* PDP15 mem identifier */ +int32 *pdp15_mem = NULL; +uint32 uc15_memsize = 0; + +DEVICE uca_dev, ucb_dev; +t_stat uca_rd (int32 *data, int32 PA, int32 access); +t_stat uca_wr (int32 data, int32 PA, int32 access); +t_stat ucb_rd (int32 *data, int32 PA, int32 access); +t_stat ucb_wr (int32 data, int32 PA, int32 access); +t_stat uc15_reset (DEVICE *dptr); +t_stat uc15_svc (UNIT *uptr); +t_stat uc15_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw); +t_stat uc15_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw); +t_stat uc15_attach (UNIT *uptr, char *cptr); +t_stat uc15_detach (UNIT *uptr); + +void uc15_set_memsize (void); +int32 uc15_get_uca_buf (void); +t_stat uc15_api_req (int32 lvl, int32 vec); + +/* UC15 data structures + + uca_dev, ucb_dev UC15 device descriptor + uca_unit, ucb_unit UC15 unit descriptor + uca_reg, ucb reg UC15 register list + + The two DR11Cs must be separate devices because they interrupt at + different IPLs and must have different DIBs! +*/ + +DIB uca_dib = { + IOBA_UCA, IOLN_UCA, &uca_rd, &uca_wr, + 1, IVCL (UCA), VEC_UCA, { NULL } + }; + +UNIT uca_unit = { UDATA (&uc15_svc, 0, UNIT_ATTABLE) }; + +REG uca_reg[] = { + { ORDATA (CSR, uca_csr, 16) }, + { ORDATA (BUF, uca_buf, 16) }, + { FLDATA (APID, uca_csr, CSR_V_DONE) }, + { FLDATA (IE, uca_csr, CSR_V_IE) }, + { DRDATA (POLL, uc15_poll, 10), REG_NZ }, + { DRDATA (UCMEMSIZE, uc15_memsize, 18), REG_HRO }, + { NULL } + }; + +MTAB uc15_mod[] = { + { MTAB_XTD|MTAB_VDV, 006, "ADDRESS", "ADDRESS", + NULL, &show_addr, NULL }, + { MTAB_XTD|MTAB_VDV, 0, "VECTOR", "VECTOR", + NULL, &show_vec, NULL }, + { 0 } + }; + +DEVICE uca_dev = { + "UCA", &uca_unit, uca_reg, uc15_mod, + 1, 8, 10, 1, 8, 32, + &uc15_ex, &uc15_dep, &uc15_reset, + NULL, &uc15_attach, &uc15_detach, + &uca_dib, DEV_DISABLE | DEV_DEBUG + }; + +DIB ucb_dib = { + IOBA_UCB, IOLN_UCB, &ucb_rd, &ucb_wr, + 1, IVCL (UCB), VEC_UCB, { NULL } + }; + +UNIT ucb_unit = { UDATA (NULL, 0, 0) }; + +REG ucb_reg[] = { + { ORDATA (CSR, ucb_csr, 16) }, + { ORDATA (BUF, ucb_buf, 16) }, + { FLDATA (NTCB, ucb_csr, CSR_V_DONE) }, + { FLDATA (IE, ucb_csr, CSR_V_IE) }, + { NULL } + }; + +DEVICE ucb_dev = { + "UCB", &ucb_unit, ucb_reg, uc15_mod, + 1, 8, 18, 1, 8, 18, + NULL, NULL, NULL, + NULL, NULL, NULL, + &ucb_dib, DEV_DISABLE + }; + +/* IO routines */ + +/* DR11 #1 */ + +t_stat uca_rd (int32 *data, int32 PA, int32 access) +{ +switch ((PA >> 1) & 03) { /* case on PA<2:1> */ + +case 0: /* CSR */ + *data = uca_csr; + return SCPE_OK; + +case 1: /* output buffers */ + return SCPE_OK; + +case 2: /* input buffer */ + *data = uc15_get_uca_buf (); /* assemble buffer */ + return SCPE_OK; + } + +return SCPE_NXM; +} + +t_stat uca_wr (int32 data, int32 PA, int32 access) +{ +switch ((PA >> 1) & 03) { /* case on PA<2:1> */ + +case 0: /* CSR */ + if (PA & 1) + return SCPE_OK; + if ((data & CSR_IE) == 0) + CLR_INT (UCA); + else if ((uca_csr & (UCAC_APID + CSR_IE)) == UCAC_APID) + SET_INT (UCA); + uca_csr = (uca_csr & ~CSR_IE) | (data & CSR_IE); + return SCPE_OK; + +case 1: /* output buffer */ + if (PA & 1) /* odd byte? API 1 */ + uc15_api_req (1, data & 0377); + else { + if (access == WRITE) /* full word? API 1 */ + uc15_api_req (1, (data >> 8) & 0377); + uc15_api_req (0, data & 0377); /* API 0 */ + } + return SCPE_OK; + +case 2: + return SCPE_OK; + } + +return SCPE_NXM; +} + +t_stat ucb_rd (int32 *data, int32 PA, int32 access) +{ +switch ((PA >> 1) & 03) { /* case on PA<2:1> */ + +case 0: /* CSR */ + *data = ucb_csr; + return SCPE_OK; + +case 1: /* output buffers */ + return SCPE_OK; + +case 2: /* input buffer */ + *data = ucb_buf = (UC15_SHARED_RD (UC15_TCBP) << 1) & 0177777; + ucb_csr &= ~UCBC_NTCB; /* clear TCBP rdy */ + CLR_INT (UCB); /* clear int */ + UC15_ATOMIC_CAS (UC15_TCBP_RD, 0, 1); /* send ACK */ + if (DEBUG_PRS (uca_dev)) { + uint32 apiv, apil, fnc, tsk, pa; + t_bool spl; + + pa = ucb_buf + MEMSIZE; + apiv = RdMemB (pa); + apil = RdMemB (pa + 1); + fnc = RdMemB (pa + 2); + spl = (RdMemB (pa + 3) & 0200) != 0; + tsk = RdMemB (pa + 3) & 0177; + fprintf (sim_deb, ">> UC15: TCB rcvd, API = %o/%d, fnc = %o, %s task = %o, eventvar = %o\n", + apiv, apil, fnc, spl? "Spooled": "Unspooled", tsk, RdMemW (pa + 4)); + fprintf (sim_deb, "Additional parameters = %o %o %o %o %o\n", + RdMemW (pa + 6), RdMemW (pa + 8), RdMemW (pa + 10), RdMemW (pa + 12), RdMemW (pa + 14)); + } + return SCPE_OK; + } + +return SCPE_NXM; +} + +t_stat ucb_wr (int32 data, int32 PA, int32 access) +{ +switch ((PA >> 1) & 03) { /* case on PA<2:1> */ + +case 0: /* CSR */ + if (PA & 1) + return SCPE_OK; + if ((data & CSR_IE) == 0) /* IE = 0? */ + CLR_INT (UCB); + else if ((ucb_csr & (UCBC_NTCB + CSR_IE)) == UCBC_NTCB) + SET_INT (UCB); + ucb_csr = (ucb_csr & ~CSR_IE) | (data & CSR_IE); + return SCPE_OK; + +case 1: /* output buffer */ + if (PA & 1) /* odd byte? API 3*/ + uc15_api_req (3, data & 0377); + else { + if (access == WRITE) /* full word? API 3 */ + uc15_api_req (3, (data >> 8) & 0377); + uc15_api_req (2, data & 0377); /* API 2 */ + } + return SCPE_OK; + +case 2: + return SCPE_OK; + } + +return SCPE_NXM; +} + +/* Request PDP15 to take an API interrupt */ + +t_stat uc15_api_req (int32 lvl, int32 vec) +{ +UC15_SHARED_WR (UC15_API_VEC + (lvl * UC15_API_VEC_MUL), vec); +UC15_ATOMIC_CAS (UC15_API_REQ + (lvl * UC15_API_VEC_MUL), 0, 1); +if (DEBUG_PRS (uca_dev)) + fprintf (sim_deb, ">>UC15: API request sent, API = %o/%d\n", + vec, lvl); +return SCPE_OK; +} + +/* Routine to poll for state changes from PDP15 */ + +t_stat uc15_svc (UNIT *uptr) +{ +uint32 t; + +t = UC15_SHARED_RD (UC15_TCBP_WR); /* TCBP written? */ +if ((t != 0) && UC15_ATOMIC_CAS (UC15_TCBP_WR, 1, 0)) { /* for real? */ + ucb_csr |= UCBC_NTCB; /* set new TCB flag */ + if (ucb_csr & CSR_IE) + SET_INT (UCB); + uc15_set_memsize (); /* update mem size */ + } +t = UC15_SHARED_RD (UC15_API_UPD); /* API update? */ +if ((t != 0) && UC15_ATOMIC_CAS (UC15_API_UPD, 1, 0)) { /* for real? */ + uc15_get_uca_buf (); /* update UCA buf */ + } +sim_activate (uptr, uc15_poll); /* next poll */ +return SCPE_OK; +} + +/* Routine to assemble/update uca_buf + + Note that the PDP-15 and PDP-11 have opposite interpretations of + API requests. On the PDP-15, a "1" indicates an active request. + On the PDP-11, a "1" indicates request done (API inactive). +*/ + +int32 uc15_get_uca_buf (void) +{ +int32 i, t; +static int32 ucab_api[4] = + { UCAB_API0, UCAB_API1, UCAB_API2, UCAB_API3 }; + +t = UC15_SHARED_RD (UC15_TCBP); /* get TCB ptr */ +uca_buf = (t >> 15) & UCAB_M_TCBHI; /* PDP15 bits<1:2> */ +t = cpu_unit.capac >> 13; /* local mem in 4KW */ +uca_buf |= ((t & UCAB_M_LOCAL) << UCAB_V_LOCAL); +t = UC15_SHARED_RD (UC15_API_SUMM); /* get API summary */ +for (i = 0; i < 4; i++) { /* check 0..3 */ + if (((t >> i) & 1) == 0) /* level inactive? */ + uca_buf |= ucab_api[i]; /* set status bit */ + } +if ((t == 0) && ((uca_csr & UCAC_APID) == 0)) { /* API req now 0? */ + uca_csr |= UCAC_APID; /* set flag */ + if ((uca_csr & CSR_IE) != 0) /* if ie, req int */ + SET_INT (UCA); + } +return uca_buf; +} + +/* Routine to set overall memory limit for UC15 checking */ + +void uc15_set_memsize (void) +{ +uint32 t = UC15_SHARED_RD (UC15_PDP15MEM); /* get PDP15 memory size */ +if (t == 0) /* PDP15 not running? */ + t = PDP15_MAXMEM * 2; /* max mem in bytes */ +uc15_memsize = t + MEMSIZE; /* shared + local mem */ +if (uc15_memsize > (UNIMEMSIZE - IOPAGESIZE)) /* more than 18b? */ + uc15_memsize = UNIMEMSIZE - IOPAGESIZE; /* limit */ +return; +} + +/* Reset routine + + Aside from performing a device reset, this routine sets up shared + UC15 state and shared PDP15 main memory. It also reads the size + of PDP15 main memory (in PDP11 bytes) from the shared state region. +*/ + +t_stat uc15_reset (DEVICE *dptr) +{ +t_stat r; +void *basead; + +uca_csr = 0; +uca_buf = 0; +ucb_csr = 0; +ucb_buf = 0; +CLR_INT (UCA); +CLR_INT (UCB); +if (uc15_shmem == NULL) { /* allocate shared state */ + r = sim_shmem_open ("UC15SharedState", UC15_STATE_SIZE, &uc15_shmem, &basead); + if (r != SCPE_OK) + return r; + uc15_shstate = (int32 *) basead; + } +if (pdp15_shmem == NULL) { /* allocate shared memory */ + r = sim_shmem_open ("PDP15MainMemory", PDP15_MAXMEM * sizeof (int32), &pdp15_shmem, &basead); + if (r != SCPE_OK) + return r; + pdp15_mem = (int32 *) basead; + } +uc15_set_memsize (); +sim_activate (dptr->units, uc15_poll); /* start polling */ +return SCPE_OK; +} + +/* Shared state ex/mod routines for debug */ + +t_stat uc15_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw) +{ +if (addr >= UC15_STATE_SIZE) + return SCPE_NXM; +if (vptr != NULL) + *vptr = UC15_SHARED_RD ((int32) addr); +return SCPE_OK; +} + +t_stat uc15_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw) +{ +if (addr >= UC15_STATE_SIZE) + return SCPE_NXM; +UC15_SHARED_WR ((int32) addr, (int32) val); +return SCPE_OK; +} + +/* Fake attach routine to kill attach attempts */ + +t_stat uc15_attach (UNIT *uptr, char *cptr) +{ +return SCPE_NOFNC; +} + +/* Shutdown detach routine to release shared memories */ + +t_stat uc15_detach (UNIT *uptr) +{ +if ((sim_switches & SIM_SW_SHUT) == 0) /* only if shutdown */ + return SCPE_NOFNC; +sim_shmem_close (uc15_shmem); /* release shared state */ +sim_shmem_close (pdp15_shmem); /* release shared mem */ +return SCPE_OK; +} + +/* Physical read/write memory routines + Used by CPU and IO devices + Physical address is known to be legal + We can use MEMSIZE rather than cpu_memsize because configurations + were limited to 16KW of local memory + 8b and 16b writes clear the upper 2b of PDP-15 memory +*/ + +int32 uc15_RdMemW (int32 pa) +{ +if (((uint32) pa) < MEMSIZE) + return M[pa >> 1]; +else { + pa = pa - MEMSIZE; + return (pdp15_mem[pa >> 1] & DMASK); + } +} + +int32 uc15_RdMemB (int32 pa) +{ +if (((uint32) pa) < MEMSIZE) + return ((pa & 1)? (M[pa >> 1] >> 8): (M[pa >> 1] & 0377)); +else { + pa = pa - MEMSIZE; + return ((pa & 1)? (pdp15_mem[pa >> 1] >> 8): (pdp15_mem[pa >> 1] & 0377)); + } +} + +void uc15_WrMemW (int32 pa, int32 d) +{ +if (((uint32) pa) < MEMSIZE) + M[pa >> 1] = d; +else { + pa = pa - MEMSIZE; + pdp15_mem[pa >> 1] = d & DMASK; + } +return; +} + +void uc15_WrMemB (int32 pa, int32 d) +{ +if (((uint32) pa) < MEMSIZE) + M[pa >> 1] = (pa & 1)? + ((M[pa >> 1] & 0377) | ((d & 0377) << 8)): \ + ((M[pa >> 1] & ~0377) | (d & 0377)); +else { + pa = pa - MEMSIZE; + pdp15_mem[pa >> 1] = (pa & 1)? + ((pdp15_mem[pa >> 1] & 0377) | ((d & 0377) << 8)): \ + ((pdp15_mem[pa >> 1] & ~0377) | (d & 0377)); + } +return; +} + +/* 18b DMA routines - physical only */ + +int32 Map_Read18 (uint32 ba, int32 bc, uint32 *buf) +{ +uint32 alim, lim; + +ba = (ba & UNIMASK) & ~01; /* trim, align addr */ +lim = ba + (bc & ~01); +if (lim < uc15_memsize) /* end ok? */ + alim = lim; +else if (ba < uc15_memsize) /* no, strt ok? */ + alim = uc15_memsize; +else return bc; /* no, err */ +for ( ; ba < alim; ba = ba + 2) { /* by 18b words */ + if (ba < MEMSIZE) + *buf++ = M[ba >> 1]; + else *buf++ = pdp15_mem[(ba - MEMSIZE) >> 1] & 0777777; + } +return (lim - alim); +} + +int32 Map_Write18 (uint32 ba, int32 bc, uint32 *buf) +{ +uint32 alim, lim; + +ba = (ba & UNIMASK) & ~01; /* trim, align addr */ +lim = ba + (bc & ~01); +if (lim < uc15_memsize) /* end ok? */ + alim = lim; +else if (ba < uc15_memsize) /* no, strt ok? */ + alim = uc15_memsize; +else return bc; /* no, err */ +for ( ; ba < alim; ba = ba + 2) { /* by 18 bit words */ + if (ba < MEMSIZE) + M[ba >> 1] = *buf++ & DMASK; + else pdp15_mem[(ba - MEMSIZE) >> 1] = *buf++ & 0777777; + } +return (lim - alim); +} diff --git a/PDP11/pdp11_xq.c b/PDP11/pdp11_xq.c index 3dcabbe6..1c5198bf 100644 --- a/PDP11/pdp11_xq.c +++ b/PDP11/pdp11_xq.c @@ -2073,6 +2073,9 @@ t_stat xq_process_bootrom (CTLR* xq) /* set to next bdl (implicit chain) */ xq->var->rbdl_ba += 12; break; + + default: + break; } /* switch */ /* --------------------------- Done, finish up -----------------------------*/ diff --git a/PDP11/txt2cbn.c b/PDP11/txt2cbn.c index a45d42de..f22415ec 100644 --- a/PDP11/txt2cbn.c +++ b/PDP11/txt2cbn.c @@ -1,49 +1,49 @@ #include -#define ERROR 00404 +#define ERROR 00404 #include "pdp11_cr_dat.h" -static int colStart = 1; /* starting column */ -static int colEnd = 80; /* ending column */ +static int colStart = 1; /* starting column */ +static int colEnd = 80; /* ending column */ main () { - int col, c; + int col, c; - while (1) { - for (col = colStart; col <= colEnd; ) { - switch (c = fgetc (stdin)) { - case EOF: - /* fall through */ - case '\n': - while (col <= colEnd) { - fputc (o29_code[' '] & 077, stdout); - fputc ((o29_code[' '] >> 6) & 077, stdout); - col++; - } - break; - case '\t': - do { - fputc (o29_code[' '] & 077, stdout); - fputc ((o29_code[' '] >> 6) & 077, stdout); - col++; - } while (((col & 07) != 1) && (col <= colEnd)); - break; - default: - fputc (o29_code[c] & 077, stdout); - fputc ((o29_code[c] >> 6) & 077, stdout); - col++; - break; - } - } - /* flush long lines, or flag over-length card */ - if (c != '\n' && c != EOF) { - printf ("overlength line\n"); - do c = fgetc (stdin); - while ((c != EOF) && (c != '\n')); - } - if (c == EOF) - break; - } - exit (1); + while (1) { + for (col = colStart; col <= colEnd; ) { + switch (c = fgetc (stdin)) { + case EOF: + /* fall through */ + case '\n': + while (col <= colEnd) { + fputc (o29_code[' '] & 077, stdout); + fputc ((o29_code[' '] >> 6) & 077, stdout); + col++; + } + break; + case '\t': + do { + fputc (o29_code[' '] & 077, stdout); + fputc ((o29_code[' '] >> 6) & 077, stdout); + col++; + } while (((col & 07) != 1) && (col <= colEnd)); + break; + default: + fputc (o29_code[c] & 077, stdout); + fputc ((o29_code[c] >> 6) & 077, stdout); + col++; + break; + } + } + /* flush long lines, or flag over-length card */ + if (c != '\n' && c != EOF) { + printf ("overlength line\n"); + do c = fgetc (stdin); + while ((c != EOF) && (c != '\n')); + } + if (c == EOF) + break; + } + exit (1); } diff --git a/PDP18B/pdp18b_defs.h b/PDP18B/pdp18b_defs.h index 06398606..10295046 100644 --- a/PDP18B/pdp18b_defs.h +++ b/PDP18B/pdp18b_defs.h @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 17-Mar-16 PLB Added GRAPHICS-2 support for PDP-7 UNIX 10-Mar-16 RMS Added 3-cycle databreak set/show routines 26-Feb-16 RMS Added RB09 to PDP-7 for Unix "v0" and RM09 to PDP-9 13-Sep-15 RMS Added DR15C @@ -82,6 +83,7 @@ Type 550/555 DECtape Type 24 serial drum RB09 fixed head disk (Unix V0 only) + Bell Labs GRAPHICS-2 (Unix V0 only) PDP9 32K KE09A EAE KSR-33 Teletype KF09A auto pri intr PC09A paper tape reader and punch @@ -105,7 +107,7 @@ TC59D magnetic tape TC15/TU56 DECtape LT15/LT19 additional Teletypes - DR15C parallel interface to UC15 + DR15C parallel interface to UC15 ??Indicates not implemented. The PDP-4 manual refers to a memory ??extension control; there is no documentation on it. @@ -142,6 +144,7 @@ #define TYPE550 0 /* DECtape */ #define DRM 0 /* drum */ #define RB 0 /* fixed head disk */ +#define GRAPHICS2 0 /* BTL display */ #elif defined (PDP9) #define ADDRSIZE 15 #define TYPE647 0 /* sixbit printer */ @@ -162,6 +165,7 @@ #define MTA 0 /* magtape */ #define TC02 0 /* DECtape */ #define TTY1 16 /* second Teletype(s) */ +#define UC15 0 /* UC15 */ #define BRMASK 0377400 /* bounds mask */ #define BRMASK_XVM 0777400 /* bounds mask, XVM */ #endif @@ -287,6 +291,29 @@ typedef struct { #define DEV_MT 073 /* magtape */ #define DEV_DTA 075 /* dectape */ +#ifdef GRAPHICS2 +/* Bell Telephone Labs GRAPHICS-2 Display System ("as large as the PDP-7") + * Used by PDP-7 UNIX as a "Glass TTY" + */ +#define DEV_G2D1 005 /* Display Ctrl 1 */ +#define DEV_G2D 006 /* (Display Ctrl 2) */ +#define DEV_G2LP 007 /* (Light Pen) */ +#define DEV_G2DS 010 /* (Display Status) */ +#define DEV_G2D3 014 /* (Display Ctrl 3) */ +#define DEV_G2D4 034 /* (Display Ctrl 4) */ + +#define DEV_G2UNK 042 /* (???) */ +#define DEV_G2KB 043 /* Keyboard */ +#define DEV_G2BB 044 /* Button Box */ +#define DEV_G2IM 045 /* (PDP7 int. mask) */ + +/* PDP-7/9 to 201A Data Phone Interface + * (status bits retrieved with G2DS IOT) + * used for UNIX to GCOS Remote Job Entry + */ +#define DEV_DP 047 /* (Data Phone) */ +#endif + /* Interrupt system The interrupt system can be modelled on either the flag driven system @@ -433,6 +460,7 @@ typedef struct { #define INT_V_TTI 0 /* console keyboard */ #define INT_V_TTO 1 /* console output */ #define INT_V_PTP 2 /* paper tape punch */ +#define INT_V_G2 3 /* BTL GRAPHICS-2 */ #define INT_TTI (1 << INT_V_TTI) #define INT_TTO (1 << INT_V_TTO) @@ -442,6 +470,15 @@ typedef struct { #define API_TTO 4 #define API_PTP 4 +#ifdef GRAPHICS2 +/* + * A PDP-9 version existed, + * but we're only interested simulating a PDP-7 without API + */ +#define INT_G2 (1 << INT_V_G2) +#define API_G2 4 +#endif + /* Interrupt macros */ #define SET_INT(dv) int_hwre[API_##dv] = int_hwre[API_##dv] | INT_##dv @@ -452,7 +489,7 @@ typedef struct { This allows software to have a single definition for the interrupt bit position, regardless of level. The standard macros cannot be used. */ -#define INT_V_DR 7 /* to left of all */ +#define INT_V_DR 9 /* to left of all */ #define INT_DR (1 << INT_V_DR) #define API_DR0 0 #define API_DR1 1 @@ -522,4 +559,10 @@ t_stat show_3cyc_reg (FILE *st, UNIT *uptr, int32 val, void *desc); int32 clk_cosched (int32 wait); +/* Translation tables */ + +extern const int32 asc_to_baud[128]; +extern const char baud_to_asc[64]; +extern const char fio_to_asc[64]; + #endif diff --git a/PDP18B/pdp18b_dr15.c b/PDP18B/pdp18b_dr15.c new file mode 100644 index 00000000..6fae0b76 --- /dev/null +++ b/PDP18B/pdp18b_dr15.c @@ -0,0 +1,339 @@ +/* pdp18b_dr15.c: DR15C simulator + + Copyright (c) 2016, Robert M Supnik + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Robert M Supnik shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Robert M Supnik. + + dr PDP-15 DR15C interface for UC15 system + + The DR15C provides control communications with the DR11Cs in the UC15. + Its state consists of an 18b register (the Task Control Block Pointer), + a one bit flag (TCBP acknowledge, not wired to interrupt), four interrupt + requests wired to API, four interrupt vectors for the API levels, and an + API interrupt enable/disable flag. + + The PDP15 and UC15 use a master/save communications protocol. + - The PDP15 initiates a request to the PDP11 by writing TCBP and + clearing TCBP acknowledge. This alerts/interrupts the PDP11. + - The PDP11 reads TCBP. This sets TCBP acknowledge. + - The PDP11 processes the request. + - The PDP11 signals completion by writing a vector into one of + four API request levels. + - The PDP15 is interrupted, and the request is considered complete. + + The DR15 must "call out" to the UC15 to signal two conditions: + - a new TCBP has been written + - API requests have been updated + + The UC15 must "call in" to the DR15 for two reasons: + - the TCBP has been read + - an API interrupt is requested + + The DR15 and UC15 use a shared memory section and ATOMIC operations + to communicate. Shared state is maintained in shared memory, with one + side having read/write access, the other read-only. Actions are + implemented by setting signals with an atomic compare-and-swap. + The signals may be polled with non-atomic operations but must be + verified with an atomic compare-and-swap. + + Debug hooks - when DEBUG is turned on, the simulator will print + information relating to PIREX operation. +*/ + +#include "pdp18b_defs.h" +#include "sim_shmem.h" +#include "uc15_defs.h" + +/* Declarations */ + +extern int32 int_hwre[API_HLVL+1]; +extern int32 api_vec[API_HLVL][32]; +extern int32 *M; +extern UNIT cpu_unit; + +uint32 dr15_tcbp = 0; /* buffer = TCB ptr */ +int32 dr15_tcb_ack = 0; /* TCBP write ack */ +int32 dr15_ie = 0; /* int enable */ +uint32 dr15_int_req = 0; /* int req 0-3 */ +int32 dr15_poll = 3; /* polling interval */ +SHMEM *uc15_shmem = NULL; /* shared state identifier */ +int32 *uc15_shstate = NULL; /* shared state base */ +SHMEM *pdp15_shmem = NULL; /* PDP15 mem identifier */ + +DEVICE dr15_dev; +int32 dr60 (int32 dev, int32 pulse, int32 AC); +int32 dr61 (int32 dev, int32 pulse, int32 AC); +t_stat dr15_reset (DEVICE *dptr); +void dr15_set_clr_ie (int32 val); +t_stat dr15_svc (UNIT *uptr); +t_stat dr15_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw); +t_stat dr15_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw); +t_stat dr15_attach (UNIT *uptr, char *cptr); +t_stat dr15_detach (UNIT *uptr); + +t_stat uc15_new_api (int32 val); /* callouts */ +t_stat uc15_tcbp_wr (int32 val); + +/* DR15 data structures + + dr15_dev DR15 device descriptor + dr15_unit DR15 unit descriptor + dr15_reg DR15 register list +*/ + +DIB dr15_dib = { DEV_DR, 2 ,NULL, { &dr60, &dr61 } }; + +UNIT dr15_unit = { + UDATA (&dr15_svc, UNIT_FIX+UNIT_BINK+UNIT_ATTABLE, UC15_STATE_SIZE) + }; + +REG dr15_reg[] = { + { ORDATA (TCBP, dr15_tcbp, ADDRSIZE) }, + { FLDATA (TCBACK, dr15_tcb_ack, 0) }, + { FLDATA (IE, dr15_ie, 0) }, + { ORDATA (REQ, dr15_int_req, 4) }, + { FLDATA (API0, int_hwre[API_DR0], INT_V_DR) }, + { FLDATA (API1, int_hwre[API_DR1], INT_V_DR) }, + { FLDATA (API2, int_hwre[API_DR2], INT_V_DR) }, + { FLDATA (API3, int_hwre[API_DR3], INT_V_DR) }, + { ORDATA (APIVEC0, api_vec[API_DR0][INT_V_DR], 7) }, + { ORDATA (APIVEC1, api_vec[API_DR1][INT_V_DR], 7) }, + { ORDATA (APIVEC2, api_vec[API_DR2][INT_V_DR], 7) }, + { ORDATA (APIVEC3, api_vec[API_DR3][INT_V_DR], 7) }, + { DRDATA (POLL, dr15_poll, 10), REG_NZ }, + { ORDATA (DEVNO, dr15_dib.dev, 6), REG_HRO }, + { NULL } + }; + +MTAB dr15_mod[] = { + { MTAB_XTD|MTAB_VDV, 0, "DEVNO", "DEVNO", NULL, &show_devno }, + { 0 } + }; + +DEVICE dr15_dev = { + "DR", &dr15_unit, dr15_reg, dr15_mod, + 1, 8, 10, 1, 8, 32, + &dr15_ex, &dr15_dep, &dr15_reset, + NULL, &dr15_attach, &dr15_detach, + &dr15_dib, DEV_DISABLE | DEV_DIS | DEV_DEBUG + }; + +/* IOT routines */ + +int32 dr60 (int32 dev, int32 pulse, int32 AC) +{ +int32 subdev = (pulse >> 4) & 03; + +if (((pulse & 01) != 0) && (dr15_tcb_ack != 0)) /* SIOA */ + AC |= IOT_SKP; +if ((pulse & 02) != 0) /* CIOP */ + dr15_tcb_ack = 0; +if ((pulse & 04) != 0) { /* LIOR */ + dr15_tcbp = AC & AMASK; /* top bit zero */ + uc15_tcbp_wr (dr15_tcbp); /* inform UC15 */ + } +return AC; +} + +int32 dr61 (int32 dev, int32 pulse, int32 AC) +{ +int32 subdev = (pulse >> 4) & 03; + +if (pulse & 01) { /* SAPIn */ + if (((dr15_int_req >> subdev) & 01) != 0) + AC = AC | IOT_SKP; + } +if (pulse & 02) { + if (subdev == 0) /* RDRS */ + AC |= dr15_ie; + else if (subdev == 1) + dr15_set_clr_ie (AC & 1); + } +if (pulse & 04) { /* CAPI */ + int32 old_int_req = dr15_int_req; + dr15_int_req &= ~(1 << subdev); /* clear local req */ + int_hwre[subdev] &= ~INT_DR; /* clear hwre req */ + if (dr15_int_req != old_int_req) /* state change? */ + uc15_new_api (dr15_int_req); /* inform UC15 */ + } +return AC; +} + +/* Set/clear interrupt enable */ + +void dr15_set_clr_ie (int32 val) +{ +int32 i; + +dr15_ie = val; +for (i = 0; i < 4; i++) { + if ((dr15_ie != 0) && (((dr15_int_req >> i) & 01) != 0)) + int_hwre[i] |= INT_DR; + else int_hwre[i] &= ~INT_DR; + } +return; +} + +/* Routines to inform UC15 of state changes */ + +t_stat uc15_new_api (int32 req) +{ +UC15_SHARED_WR (UC15_API_SUMM, req); /* new value */ +UC15_ATOMIC_CAS (UC15_API_UPD, 0, 1); /* signal UC15 */ +return SCPE_OK; +} + +t_stat uc15_tcbp_wr (int32 tcbp) +{ +UC15_SHARED_WR (UC15_TCBP, tcbp); /* new value */ +UC15_ATOMIC_CAS (UC15_TCBP_WR, 0, 1); /* signal UC15 */ +if (DEBUG_PRS (dr15_dev)) { + uint32 apiv, apil, fnc, tsk; + t_bool spl; + + apiv = (M[tcbp] >> 8) & 0377; + apil = M[tcbp] & 0377; + fnc = (M[tcbp + 1] >> 8) & 0377; + spl = (M[tcbp + 1] & 0200) != 0; + tsk = (M[tcbp + 1] & 0177); + fprintf (sim_deb, ">> DR15: TCB write, API = %o/%d, fnc = %o, %s task = %o, eventvar = %o\n", + apiv, apil, fnc, spl? "Spooled": "Unspooled", tsk, M[tcbp + 2]); + fprintf (sim_deb, "Additional parameters = %o %o %o %o %o\n", + M[tcbp + 3], M[tcbp + 4], M[tcbp + 5], M[tcbp + 6], M[tcbp + 7]); + } +return SCPE_OK; +} + +/* Routine to poll for state changes from UC15 */ + +t_stat dr15_svc (UNIT *uptr) +{ +int32 i, t; +uint32 old_int_req = dr15_int_req; + +t = UC15_SHARED_RD (UC15_TCBP_RD); /* TCBP read? */ +if ((t != 0) && UC15_ATOMIC_CAS (UC15_TCBP_RD, 1, 0)) /* for real? clear */ + dr15_tcb_ack = 1; /* set ack */ +for (i = 0; i < 4; i++) { /* API req */ + t = UC15_SHARED_RD (UC15_API_REQ + (i * UC15_API_VEC_MUL)); + if ((t != 0) && /* API req? for real? */ + UC15_ATOMIC_CAS (UC15_API_REQ + (i * UC15_API_VEC_MUL), 1, 0)) { + api_vec[i][INT_V_DR] = UC15_SHARED_RD (UC15_API_VEC + (i * UC15_API_VEC_MUL)) & 0177; + dr15_int_req |= (1u << i); + if (dr15_ie != 0) + int_hwre[i] |= INT_DR; + if (DEBUG_PRS (dr15_dev)) + fprintf (sim_deb, ">>DR15: API request, API = %o/%d\n", + api_vec[i][INT_V_DR], i); + } /* end if changed */ + } /* end for */ +if (dr15_int_req != old_int_req) /* changes? */ + uc15_new_api (dr15_int_req); /* inform UC15 */ +sim_activate (uptr, dr15_poll); /* next poll */ +return SCPE_OK; +} + +/* Reset routine + + Aside from performing a device reset, this routine sets up shared + UC15 state and shared PDP15 main memory. It also writes the size + of PDP15 main memory (in PDP11 bytes) into the shared state region. +*/ + +t_stat dr15_reset (DEVICE *dptr) +{ +int32 i; +t_stat r; +void *basead; + +dr15_int_req = 0; /* clear API req */ +dr15_ie = 1; /* IE inits to 1 */ +dr15_tcb_ack = 1; /* TCBP ack inits to 1 */ +dr15_int_req = 0; +for (i = 0; i < 4; i++) { /* clear intr and vectors */ + int_hwre[i] &= ~INT_DR; + api_vec[i][INT_V_DR] = 0; + } +sim_cancel (dptr->units); +if ((dptr->flags & DEV_DIS) != 0) /* disabled? */ + return SCPE_OK; + +if (uc15_shmem == NULL) { /* allocate shared state */ + r = sim_shmem_open ("UC15SharedState", UC15_STATE_SIZE * sizeof (int32), &uc15_shmem, &basead); + if (r != SCPE_OK) + return r; + uc15_shstate = (int32 *) basead; + } +if (pdp15_shmem == NULL) { /* allocate shared memory */ + r = sim_shmem_open ("PDP15MainMemory", MAXMEMSIZE * sizeof (int32), &pdp15_shmem, &basead); + if (r != SCPE_OK) + return r; + free (M); /* release normal memory */ + M = (int32 *) basead; + } +UC15_SHARED_WR (UC15_PDP15MEM, cpu_unit.capac << 1); /* write mem size to shared state */ +uc15_new_api (dr15_int_req); /* inform UC15 of new API (and mem) */ +sim_activate (dptr->units, dr15_poll); /* start polling */ +return SCPE_OK; +} + +/* Shared state ex/mod routines for debug */ + +t_stat dr15_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw) +{ +if (addr >= UC15_STATE_SIZE) + return SCPE_NXM; +if (vptr != NULL) { + if (uc15_shmem != NULL) + *vptr = UC15_SHARED_RD ((int32) addr); + else *vptr = 0; + } +return SCPE_OK; +} + +t_stat dr15_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw) +{ +if (addr >= UC15_STATE_SIZE) + return SCPE_NXM; +if (uc15_shmem != NULL) + UC15_SHARED_WR ((int32) addr, (int32) val); +return SCPE_OK; +} + +/* Fake attach routine to kill attach attempts */ + +t_stat dr15_attach (UNIT *uptr, char *cptr) +{ +return SCPE_NOFNC; +} + +/* Shutdown detach routine to release shared memories */ + +t_stat dr15_detach (UNIT *uptr) +{ +if ((sim_switches & SIM_SW_SHUT) == 0) /* only if shutdown */ + return SCPE_NOFNC; +sim_shmem_close (uc15_shmem); /* release shared state */ +sim_shmem_close (pdp15_shmem); /* release shared mem */ +return SCPE_OK; +} + diff --git a/PDP18B/pdp18b_dt.c b/PDP18B/pdp18b_dt.c index d70fbd61..86d390bd 100644 --- a/PDP18B/pdp18b_dt.c +++ b/PDP18B/pdp18b_dt.c @@ -1154,7 +1154,7 @@ switch (fnc) { /* at speed, check fnc * if (ba >= uptr->hwmark) uptr->hwmark = ba + 1; } -/* /* ignore hdr */ + /* ignore hdr */ sim_activate (uptr, DT_WSIZE * dt_ltime); if (M[DT_WC] == 0) dt_substate = DTO_WCO; diff --git a/PDP18B/pdp18b_g2tty.c b/PDP18B/pdp18b_g2tty.c new file mode 100644 index 00000000..82409b27 --- /dev/null +++ b/PDP18B/pdp18b_g2tty.c @@ -0,0 +1,603 @@ +/* pdp18b_g2tty.c: PDP-7/9 Bell Labs "GRAPHIC-2" subsystem as a TTY via TELNET + from 13-Sep-15 version of pdp18b_tt1.c + + Copyright (c) 1993-2015, Robert M Supnik + Copyright (c) 2016, Philip L Budne + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Robert M Supnik shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Robert M Supnik. + + Doug McIlroy had this to say about the Bell Labs PDP-7 Ken Thompson + created UNIX on: + + The pdp7 was cast off by the visual and acoustics research department. + Bill Ninke et al. built graphic II on it -- a graphics attachment as big + as the pdp7 itself. The disk was an amazing thing about 2' in diameter, + mounted on a horizontal axis. Mystery crashes bedeviled it until somebody + realized that the axis was perpendicular to the loading dock 4 floors + below. A 90-degree turn solved the problem. + + GRAPHICS-2 was a command list based graphics display system, + and included a light pen, a "button box" and status bits + for a "dataphone" interface to speak to a GECOS system. + + The UNIX-7 system driver only uses text display, and reserves 269 + words (holding two characters each; the buffer is 273 words, but + three contain display "setup" commands, and the final word in the + buffer must be a display "TRAP" instruction that ends the display + list). + + The UNIX system code triggers a refresh every 10 60Hz "ticks" of + the real time clock. This driver attempts to do detect new text + and send it to a user who has TELNETed in. + + Thoughts on implementing a web interface: + + 538 characters redisplaying at 6Hz (every 10 "ticks") gives a + bandwith requirement of only 26Kbit, and most refreshes won't + change the screen and could be suppressed. So it seems like it + would be reasonable to create a web interface. + + Make a SIMH TCP server port which implements a tiny HTTP server. + The base URL serves up a skeletal page with (lighted) buttons, + and a "display window". + + And either: + + 1) Use "AJAX": an (invisible)