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