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