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-2023 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 // URP (Unit record processor_
  47 enum { N_URP_UNITS_MAX = 16 };
  48 
  49 // ABSI
  50 enum { N_ABSI_UNITS_MAX = 1 };
  51 
  52 // MGP (Chaosnet)
  53 enum { N_MGP_UNITS_MAX =  2 };
  54 
  55 // FNP
  56 enum { N_FNP_UNITS_MAX = 16 };
  57 
  58 // OPC (Operator console)
  59 enum { N_OPC_UNITS_MAX =  8 };
  60 
  61 // MTP
  62 enum { N_MTP_UNITS_MAX = 16 };
  63 
  64 // MSP
  65 enum { N_MSP_UNITS_MAX = 16 };
  66 
  67 // IPC
  68 enum { N_IPC_UNITS_MAX = 16 };
  69 
  70 // DIA
  71 enum { N_DIA_UNITS_MAX = 16 };
  72 
  73 ////////////////
  74 //
  75 // Peripherals
  76 //
  77 ////////////////
  78 
  79 // Tape drive
  80 enum { N_MT_UNITS_MAX  = 34 };
  81 
  82 // Printer
  83 enum { N_PRT_UNITS_MAX = 34 };
  84 
  85 // Socket controller
  86 enum { N_SKC_UNITS_MAX = 64 };
  87 
  88 // Card reader
  89 enum { N_RDR_UNITS_MAX = 16 };
  90 
  91 // Card punch
  92 enum { N_PUN_UNITS_MAX = 16 };
  93 
  94 // Disk
  95 enum { N_DSK_UNITS_MAX = 64 };
  96 
  97 //
  98 // Memory
  99 //
 100 
 101 enum { MEMSIZE = MEM_SIZE_MAX };
 102 
 103 //
 104 // Controller ports
 105 //
 106 
 107 enum { MAX_CTLR_PORTS = 8 };
 108 
 109 //
 110 // CPU ports
 111 //
 112 
 113 enum { N_DPS8M_CPU_PORTS = 4 };
 114 enum { N_L68_CPU_PORTS   = 8 };
 115 enum { N_CPU_PORTS       = 8 }; // For data structures, allocate the worst case and enforce limit at run-time
 116 
 117 #endif // DPS8_EM_CONSTS_H

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