root/src/dps8/dps8_em_consts.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * vim: filetype=c:tabstop=4:ai:expandtab
   3  * SPDX-License-Identifier: ICU
   4  * scspell-id: 3ceeac54-f62e-11ec-b6e7-80ee73e9b8e7
   5  *
   6  * ---------------------------------------------------------------------------
   7  *
   8  * Copyright (c) 2007-2013 Michael Mondy
   9  * Copyright (c) 2012-2016 Harry Reed
  10  * Copyright (c) 2013-2018 Charles Anthony
  11  * Copyright (c) 2021-2022 The DPS8M Development Team
  12  *
  13  * All rights reserved.
  14  *
  15  * This software is made available under the terms of the ICU
  16  * License, version 1.8.1 or later.  For more details, see the
  17  * LICENSE.md file at the top-level directory of this distribution.
  18  *
  19  * ---------------------------------------------------------------------------
  20  */
  21 
  22 #ifndef DPS8_EM_CONSTS_H
  23 # define DPS8_EM_CONSTS_H
  24 
  25 ////////////////
  26 //
  27 // System components: SCU, IOM, CPU
  28 //
  29 ////////////////
  30 
  31 // SCU
  32 enum { N_SCU_UNITS_MAX = 8 };
  33 
  34 // IOM
  35 enum { N_IOM_UNITS_MAX = 4 };
  36 
  37 // CPU
  38 enum { N_CPU_UNITS_MAX = 8 };
  39 
  40 ////////////////
  41 //
  42 // Controllers
  43 //
  44 ////////////////
  45 
  46 // Unit record processor
  47 enum { N_URP_UNITS_MAX = 16 };
  48 
  49 // ABSI
  50 enum { N_ABSI_UNITS_MAX = 1 };
  51 
  52 // FNP
  53 enum { N_FNP_UNITS_MAX = 16 };
  54 
  55 // Operator console
  56 enum { N_OPC_UNITS_MAX =  8 };
  57 
  58 // MTP
  59 enum { N_MTP_UNITS_MAX = 16 };
  60 
  61 // MSP
  62 enum { N_MSP_UNITS_MAX = 16 };
  63 
  64 // IPC
  65 enum { N_IPC_UNITS_MAX = 16 };
  66 
  67 // DIA
  68 enum { N_DIA_UNITS_MAX = 16 };
  69 
  70 ////////////////
  71 //
  72 // Peripherals
  73 //
  74 ////////////////
  75 
  76 // Tape drive
  77 enum { N_MT_UNITS_MAX  = 34 };
  78 
  79 // Printer
  80 enum { N_PRT_UNITS_MAX = 34 };
  81 
  82 // Socket controller
  83 enum { N_SKC_UNITS_MAX = 64 };
  84 
  85 // Card reader
  86 enum { N_RDR_UNITS_MAX = 16 };
  87 
  88 // Card punch
  89 enum { N_PUN_UNITS_MAX = 16 };
  90 
  91 // Disk
  92 enum { N_DSK_UNITS_MAX = 64 };
  93 
  94 //
  95 // Memory
  96 //
  97 
  98 enum { MEMSIZE = MEM_SIZE_MAX };
  99 
 100 //
 101 // Controller ports
 102 //
 103 
 104 enum { MAX_CTLR_PORTS = 8 };
 105 
 106 //
 107 // CPU ports
 108 //
 109 
 110 enum { N_DPS8M_CPU_PORTS = 4 };
 111 enum { N_L68_CPU_PORTS   = 8 };
 112 enum { N_CPU_PORTS       = 8 }; // For data structures, allocate the worst case and enforce limit at run-time
 113 
 114 #endif // DPS8_EM_CONSTS_H

/* [previous][next][first][last][top][bottom][index][help] */