root/src/dps8/dps8_prom.h

/* [previous][next][first][last][top][bottom][index][help] */
   1 /*
   2  * vim: filetype=c:tabstop=4:ai:expandtab
   3  * SPDX-License-Identifier: ICU
   4  * scspell-id: c48941bf-f62e-11ec-b993-80ee73e9b8e7
   5  *
   6  * ---------------------------------------------------------------------------
   7  *
   8  * Copyright (c) 2007-2013 Michael Mondy
   9  * Copyright (c) 2012-2016 Harry Reed
  10  * Copyright (c) 2013-2016 Charles Anthony
  11  * Copyright (c) 2016 Michal Tomek
  12  * Copyright (c) 2021-2022 The DPS8M Development Team
  13  *
  14  * All rights reserved.
  15  *
  16  * This software is made available under the terms of the ICU
  17  * License, version 1.8.1 or later.  For more details, see the
  18  * LICENSE.md file at the top-level directory of this distribution.
  19  *
  20  * ---------------------------------------------------------------------------
  21  */
  22 
  23 unsigned char PROM[1024];
  24 memset (PROM, 255, sizeof (PROM));
  25 sprintf ((char *) PROM, \
  26 "%11s%11u%6s%32s%1s%19s%3s%3s%3s%3s%8s%1s%26s%2s%20s%20s",
  27   "DPS 8/EM   ",          //    0-10  CPU model          ("XXXXXXXXXXX"/%11s)
  28 #ifdef DPS8_SCP
  29   0,
  30 #else
  31   cpu.switches.serno,     //   11-21  CPU serial         ("DDDDDDDDDDD"/%11d)
  32 #endif
  33 #ifdef VER_H_PROM_SHIP
  34   VER_H_PROM_SHIP,        //   22-27  CPU ship date            ("YYMMDD"/%6s)
  35 #else
  36   "200101",               //   22-27  CPU ship date            ("YYMMDD"/%6s)
  37 #endif /* VER_H_PROM_SHIP */
  38   "\377\377\377\377\377\377\377\377"
  39   "\377\377\377\377\377\377\377\377"
  40   "\377\377\377\377\377\377\377\377"
  41   "\377\377\377\377\377\377\377\377",
  42                           //   28-59                                     (%32s)
  43   "1",                    //      60  layout_version number           ("N"/%1s)
  44   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377",
  45                           //   61-79                                     (%19s)
  46 #ifdef VER_H_PROM_MAJOR_VER
  47   VER_H_PROM_MAJOR_VER,   //   80-82  major release number          ("NNN"/%3s)
  48 #else
  49   "999",                  //   80-82  major release number          ("NNN"/%3s)
  50 #endif /* VER_H_PROM_MAJOR_VER */
  51 #ifdef VER_H_PROM_MINOR_VER
  52   VER_H_PROM_MINOR_VER,   //   83-85  minor release number          ("NNN"/%3s)
  53 #else
  54   "999",                  //   83-85  minor release number          ("NNN"/%3s)
  55 #endif /* VER_H_PROM_MINOR_VER */
  56 #ifdef VER_H_PROM_PATCH_VER
  57   VER_H_PROM_PATCH_VER,   //   86-88  patch version number          ("NNN"/%3s)
  58 #else
  59   "999",                  //   86-88  patch version number          ("NNN"/%3s)
  60 #endif /* VER_H_PROM_PATCH_VER */
  61 #ifdef VER_H_PROM_OTHER_VER
  62   VER_H_PROM_OTHER_VER,   //   89-91  iteration number              ("NNN"/%3s)
  63 #else
  64   "999",                  //   89-91  iteration number              ("NNN"/%3s)
  65 #endif /* VER_H_PROM_OTHER_VER */
  66   "\377\377\377\377\377\377\377\377",
  67                           //   98-99                                      (%8s)
  68 #ifdef VER_H_GIT_RELT
  69   VER_H_GIT_RELT,         //     100  rel type                        ("X"/%1s)
  70 #else
  71   "X",                    //     100  rel type                        ("X"/%1s)
  72 #endif /* VER_H_GIT_RELT */
  73 #ifdef VER_H_PROM_VER_TEXT
  74   VER_H_PROM_VER_TEXT,    // 101-127  rel   ("XXXXXXXXXXXXXXXXXXXXXXXXXX"/%26s)
  75 #else
  76   "Unknown                   ", // 101-127  ("XXXXXXXXXXXXXXXXXXXXXXXXXX"/%26s)
  77 #endif /* VER_H_PROM_VER_TEXT */
  78   "\377\377",             // 128-129                                      (%2s)
  79 #ifdef BUILD_PROM_OSA_TEXT
  80   BUILD_PROM_OSA_TEXT,    // 130-149   build arch ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  81 #else
  82 # ifdef VER_H_PROM_OSA_TEXT
  83   VER_H_PROM_OSA_TEXT,    // 130-149   build arch ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  84 # else
  85   "Unknown             ", // 130-149   build arch ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  86 # endif /* VER_H_PROM_OSA_TEXT */
  87 #endif /* BUILD_PROM_OSA_TEXT */
  88 #ifdef BUILD_PROM_OSV_TEXT
  89   BUILD_PROM_OSV_TEXT     // 150-169   build os   ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  90 #else
  91 # ifdef VER_H_PROM_OSV_TEXT
  92   VER_H_PROM_OSV_TEXT     // 150-169   build os   ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  93 # else
  94   "Unknown             "  // 150-169   build os   ("XXXXXXXXXXXXXXXXXXXX"/%20s)
  95 # endif /* VER_H_PROM_OSV_TEXT */
  96 #endif /* BUILD_PROM_OSV_TEXT */
  97                           //     170  ------ sprintf adds trailing NULL ------
  98   );
  99 for (int iz = 0; iz < 1024; ++iz) {
 100     if (PROM[iz] == 255) {
 101         PROM[iz] = '\0';
 102     }
 103 }

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