Raw File
TPG.h
/****************************************************************************
 * TPG - TIME PULSE GENERATOR subsystem
 *
 * AUTHOR: John Pultorak
 * DATE: 9/22/01
 * FILE: TPG.h
 *
 * VERSIONS:
 *
 * DESCRIPTION:
 * Time Pulse Generator and Start/Stop Logic for the Block 1 Apollo Guidance
 * Computer prototype (AGC4).
 *
 * SOURCES:
 * Mostly based on information from "Logical Description for the Apollo
 * Guidance Computer (AGC4)", Albert Hopkins, Ramon Alonso, and Hugh
 * Blair-Smith, R-393, MIT Instrumentation Laboratory, 1963.
 *
 * NOTES:
 *
 *****************************************************************************
 */
#ifndef TPG_H
#define TPG_H
#include "reg.h"
// Start/Stop Logic and Time Pulse Generator Subsystem
enum tpType
{
  STBY = 0, PWRON = 1, TP1 = 2, // TIME PULSE 1: start of memory cycle time (MCT)
  TP2 = 3,
  TP3 = 4,
  TP4 = 5,
  TP5 = 6,
  TP6 = 7, // EMEM is available in G register by TP6
  TP7 = 8, // FMEM is available in G register by TP7
  TP8 = 9,
  TP9 = 10,
  TP10 = 11, // G register written to memory beginning at TP10
  TP11 = 12, // TIME PULSE 11: end of memory cycle time (MCT)
  TP12 = 13, // select new subsequence/select new instruction
  SRLSE = 14, // step switch release
  WAIT = 15
};
class regSG : public reg
{
public:
  regSG() :
      reg(4, "%02o")
  {
  }
};
class TPG
{
public:
  static void
  doexecWP_TPG();
  static regSG register_SG;
  static char* tpTypestring[];
};
#endif
back to top