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) 2026 Eric Swenson
  12  * Copyright (c) 2026 Jeffrey H. Johnson
  13  * Copyright (c) 2021-2026 The DPS8M Development Team
  14  *
  15  * This software is made available under the terms of the ICU License.
  16  * See the LICENSE.md file at the top-level directory of this distribution.
  17  *
  18  * ---------------------------------------------------------------------------
  19  */
  20 
  21 #if !defined(DPS8_EM_CONSTS_H)
  22 # define DPS8_EM_CONSTS_H
  23 
  24 ////////////////
  25 //
  26 // System components: SCU, IOM, CPU
  27 //
  28 ////////////////
  29 
  30 // SCU
  31 enum { N_SCU_UNITS_MAX = 8 };
  32 
  33 // IOM
  34 enum { N_IOM_UNITS_MAX = 4 };
  35 
  36 // CPU
  37 enum { N_CPU_UNITS_MAX = 8 };
  38 
  39 ////////////////
  40 //
  41 // Controllers
  42 //
  43 ////////////////
  44 
  45 // URP (Unit record processor)
  46 enum { N_URP_UNITS_MAX = 16 };
  47 
  48 // ABSI
  49 enum { N_ABSI_UNITS_MAX = 1 };
  50 
  51 // MGP (Chaosnet)
  52 enum { N_MGP_UNITS_MAX =  2 };
  53 
  54 // NET (Internet)
  55 enum { N_NET_UNITS_MAX =  2 };
  56 
  57 // FNP
  58 enum { N_FNP_UNITS_MAX = 16 };
  59 
  60 // OPC (Operator console)
  61 enum { N_OPC_UNITS_MAX =  8 };
  62 
  63 // MTP
  64 enum { N_MTP_UNITS_MAX = 16 };
  65 
  66 // MSP
  67 enum { N_MSP_UNITS_MAX = 16 };
  68 
  69 // IPC
  70 enum { N_IPC_UNITS_MAX = 16 };
  71 
  72 // DIA
  73 enum { N_DIA_UNITS_MAX = 16 };
  74 
  75 ////////////////
  76 //
  77 // Peripherals
  78 //
  79 ////////////////
  80 
  81 // Tape drive
  82 enum { N_MT_UNITS_MAX  = 34 };
  83 
  84 // Printer
  85 enum { N_PRT_UNITS_MAX = 34 };
  86 
  87 // Socket controller
  88 enum { N_SKC_UNITS_MAX = 64 };
  89 
  90 // Card reader
  91 enum { N_RDR_UNITS_MAX = 16 };
  92 
  93 // Card punch
  94 enum { N_PUN_UNITS_MAX = 16 };
  95 
  96 // Disk
  97 enum { N_DSK_UNITS_MAX = 64 };
  98 
  99 //
 100 // Memory
 101 //
 102 
 103 enum { MEMSIZE = MEM_SIZE_MAX };
 104 
 105 //
 106 // Controller ports
 107 //
 108 
 109 enum { MAX_CTLR_PORTS = 8 };
 110 
 111 //
 112 // CPU ports
 113 //
 114 
 115 enum { N_DPS8M_CPU_PORTS = 4 };
 116 enum { N_L68_CPU_PORTS   = 8 };
 117 enum { N_CPU_PORTS       = 8 }; // For data structures, allocate the worst case and enforce limit at run-time
 118 
 119 #endif // DPS8_EM_CONSTS_H

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