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-2024 The DPS8M Development Team
  12  *
  13  * This software is made available under the terms of the ICU License.
  14  * See the LICENSE.md file at the top-level directory of this distribution.
  15  *
  16  * ---------------------------------------------------------------------------
  17  */
  18 
  19 #if !defined(DPS8_EM_CONSTS_H)
  20 # define DPS8_EM_CONSTS_H
  21 
  22 ////////////////
  23 //
  24 // System components: SCU, IOM, CPU
  25 //
  26 ////////////////
  27 
  28 // SCU
  29 enum { N_SCU_UNITS_MAX = 8 };
  30 
  31 // IOM
  32 enum { N_IOM_UNITS_MAX = 4 };
  33 
  34 // CPU
  35 enum { N_CPU_UNITS_MAX = 8 };
  36 
  37 ////////////////
  38 //
  39 // Controllers
  40 //
  41 ////////////////
  42 
  43 // URP (Unit record processor)
  44 enum { N_URP_UNITS_MAX = 16 };
  45 
  46 // ABSI
  47 enum { N_ABSI_UNITS_MAX = 1 };
  48 
  49 // MGP (Chaosnet)
  50 enum { N_MGP_UNITS_MAX =  2 };
  51 
  52 // FNP
  53 enum { N_FNP_UNITS_MAX = 16 };
  54 
  55 // OPC (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] */