home *** CD-ROM | disk | FTP | other *** search
/ C/C++ User's Journal & Wi…eveloper's Journal Tools / C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso / sysembed / flexible.drh < prev    next >
Encoding:
Text File  |  1996-09-11  |  14.9 KB  |  260 lines

  1. [ 3. Configuration Options]
  2.        GENERAL SOFTWARE EMBEDDED DOS-ROM 6.22 [tm] CONFIGURABILITY
  3. ═════════════════════════════════════════════════════════════════════════
  4. Source code is available for Embedded DOS-ROM 6.22 for those who need it.
  5. Some of our customers require FAA, FDA, DoD, or other US governmental
  6. agency approval, and for this the source code is invaluable.  The
  7. source code also lets our civilian customers tailor the features of
  8. the operating system so closely, that individual commands can be added
  9. or removed from the CONFIG.SYS processor and COMMAND.COM interpreter.
  10.  
  11. KEY POINTS:
  12.  
  13.    1.   SOURCE CODE AIDS CERTIFICATION
  14.    2.   SOURCE CODE CAN BE USED TO BUILD TAILOR-MADE DOS ADAPTATIONS
  15.  
  16. CERTIFICATION
  17.  
  18. We have all types of customers.  Some test the O-rings for the U.S.
  19. Space Shuttle Program to ensure our Astronauts' future safety.  Others
  20. manufacture anesthesia machines that make medical operations possible
  21. where previously they would be impossible.  Others still guard the
  22. safety of our country's secrets, or carry the world's population in
  23. the newest Boeing 777 jets.  All of these kinds of applications rightly
  24. require that software meet certain standards and that the source code
  25. be available for inspection by the appropriate governing body.  We
  26. make the cost of the source code incidental, to help our customers
  27. meet these certifications' requirements as quickly as possible.
  28.  
  29. TAILORING THE DOS TO YOUR REQUIREMENTS
  30.  
  31. We've attached an actual sample copy of our CONFIGURATION FILE below
  32. so you'll see how truly easy it can be to modify EMBEDDED DOS-ROM 6.22
  33. if you really want to squeeze the last 1KB from the build.  Here it is:
  34.  
  35. ;       Basic booting options.  Select those that apply.
  36.  
  37. OPTION_VERBOSE_IPL      =       0       ; 1 to display boot debugging messages.
  38. OPTION_SUPPORT_ALWAYS_BOOT =    0       ; 1 to boot from INT 19h.
  39. OPTION_SUPPORT_BACKUP_BOOT =    1       ; 1 to boot from INT 18h.
  40. OPTION_SUPPORT_MINICMD  =       0       ; 1 to run integrated Mini-COMMAND.
  41. OPTION_SUPPORT_COMMAND  =       1       ; 1 to run external COMMAND.COM.
  42. OPTION_SUPPORT_CONFIGSYS =      1       ; 1 to parse CONFIG.SYS, 0 to not.
  43. OPTION_SUPPORT_SIGNON   =       1       ; 1 to display init messages.
  44.  
  45. ;       Feature enablers.  If you don't need these features, turn them off
  46. ;       and you'll save ROM space.  For example, if your target won't be
  47. ;       printing, disable the PRN device, etc.  Make sure you enable FCBs
  48. ;       if you want volume labels in directory displays, etc.
  49.  
  50. OPTION_SUPPORT_AUX      =       0       ; 1 to enable AUX device driver code.
  51. OPTION_SUPPORT_PRN      =       0       ; 1 to enable PRN device driver code.
  52. OPTION_SUPPORT_DISK     =       1       ; 1 if we're supporting INT 13h disks.
  53. OPTION_HARD_DISK_PARTITIONS =   1       ; 1 to support hard disks.
  54. OPTION_SUPPORT_FILESYS  =       1       ; 1 if we're supporting a DOS file system.
  55. OPTION_SUPPORT_ABSIO    =       1       ; 1 to enable INT 25h, INT 26h API.
  56. OPTION_SUPPORT_WIN3     =       1       ; 1 to add Win 3.x-compat data structures.
  57. OPTION_SUPPORT_DISK_IOCTLS =    1       ; 1 to support IOCTL i'face to disk driver.
  58. OPTION_SUPPORT_GENERIC_IOCTLS = 1       ; 1 to support INT 21h generic IOCTLs.
  59. OPTION_SUPPORT_IO_IOCTLS =      1       ; 1 to support INT 21h IOCTL read/writes.
  60. OPTION_SUPPORT_FILE_SHARING =   0       ; 1 to support file sharing/record locking.
  61. OPTION_SUPPORT_FCBS     =       1       ; 1 to support File Ctrl Blocks (FCBs).
  62. OPTION_SUPPORT_DPBS     =       1       ; 1 to support Drive Param Blocks (DPBs).
  63.  
  64. ;       Behavioral modifiers.  Choose options if required by the underlying
  65. ;       hardware.  For example, if you don't have a RTC on-board, disable the
  66. ;       RTC option.  FYI, Embedded BIOS does support READ_DRIVE_PARAMS, so
  67. ;       you will want to keep that enabled.
  68.  
  69. OPTION_SUPPORT_RTC      =       1       ; 1 to enable real-time clock (CMOS).
  70. OPTION_READ_DRIVE_PARAMS =      1       ; 1 if BIOS supports INT 13h, func 08h.
  71. OPTION_DISABLE_SERINIT  =       1       ; 1 to disable AUX driver initialization.
  72.  
  73. ;       CONFIG.SYS command-support options.  This section allows the
  74. ;       OEM to disable support for specific commands.  In order for
  75. ;       CONFIG.SYS processing to be supported at all, you need to enable
  76. ;       OPTION_SUPPORT_CONFIGSYS above, or these will have no effect.
  77.  
  78. OPTION_CONFIGSYS_FILES  =       1       ; 1 to enable FILES= command.
  79. OPTION_CONFIGSYS_FCBS   =       1       ; 1 to enable FCBS= command.
  80. OPTION_CONFIGSYS_BUFFERS=       1       ; 1 to enable BUFFERS= command.
  81. OPTION_CONFIGSYS_COUNTRY=       1       ; 1 to enable COUNTRY= command.
  82. OPTION_CONFIGSYS_STACKS =       1       ; 1 to enable STACKS= command.
  83. OPTION_CONFIGSYS_VERSION=       1       ; 1 to enable VERSION= command.
  84. OPTION_CONFIGSYS_BREAK  =       1       ; 1 to enable BREAK= command.
  85. OPTION_CONFIGSYS_VERIFY =       1       ; 1 to enable VERIFY= command.
  86. OPTION_CONFIGSYS_DEVICE =       1       ; 1 to enable DEVICE= command.
  87. OPTION_CONFIGSYS_SHELL  =       1       ; 1 to enable SHELL= command.
  88. OPTION_CONFIGSYS_COMMENT=       1       ; 1 to enable COMMENT= command.
  89. OPTION_CONFIGSYS_ECHO   =       1       ; 1 to enable ECHO= command.
  90. OPTION_CONFIGSYS_REM    =       1       ; 1 to enable REM= command.
  91. OPTION_CONFIGSYS_LASTDRIVE =    1       ; 1 to enable LASTDRIVE= command.
  92. OPTION_CONFIGSYS_INSTALL=       1       ; 1 to enable INSTALL= command.
  93. OPTION_CONFIGSYS_UMB    =       1       ; 1 to enable UMB= command.
  94. OPTION_CONFIGSYS_DOSHIGH=       1       ; 1 to enable DOSHIGH= command.
  95. OPTION_CONFIGSYS_INSTALLHIGH =  1       ; 1 to enable INSTALLHIGH= command.
  96. OPTION_CONFIGSYS_DEVICEHIGH =   1       ; 1 to enable DEVICEHIGH= command.
  97. OPTION_CONFIGSYS_JUMP =         1       ; 1 to enable JUMP= command.
  98.  
  99. ;       Mini-COMMAND support options.  Enable only the commands you
  100. ;       need to save ROM space.  Start with everything enabled.  Then,
  101. ;       if you only need to run a single EXE from EMBEDDED DOS-ROM on
  102. ;       your final target, we suggest turning off all but CHDIR & PATH.
  103.  
  104. OPTION_MINICMD_HELP     =       1       ; 1 to enable HELP command.
  105. OPTION_MINICMD_BREAK    =       1       ; 1 to enable BREAK command.
  106. OPTION_MINICMD_CHDIR    =       1       ; 1 to enable CHDIR/CD command.
  107. OPTION_MINICMD_CLS      =       1       ; 1 to enable CLS command.
  108. OPTION_MINICMD_COPY     =       1       ; 1 to enable COPY command.
  109. OPTION_MINICMD_DATE     =       1       ; 1 to enable DATE command.
  110. OPTION_MINICMD_DEL      =       1       ; 1 to enable DEL/ERA/ERASE commands.
  111. OPTION_MINICMD_DIR      =       1       ; 1 to enable DIR command.
  112. OPTION_MINICMD_ECHO     =       1       ; 1 to enable ECHO command.
  113. OPTION_MINICMD_EXIT     =       1       ; 1 to enable EXIT command.
  114. OPTION_MINICMD_GOTO     =       1       ; 1 to enable GOTO command.
  115. OPTION_MINICMD_IF       =       1       ; 1 to enable IF command.
  116. OPTION_MINICMD_MKDIR    =       1       ; 1 to enable MKDIR/MD command.
  117. OPTION_MINICMD_PATH     =       1       ; 1 to enable PATH command.
  118. OPTION_MINICMD_PAUSE    =       1       ; 1 to enable PAUSE command.
  119. OPTION_MINICMD_PROMPT   =       1       ; 1 to enable PROMPT command.
  120. OPTION_MINICMD_REM      =       1       ; 1 to enable REM command.
  121. OPTION_MINICMD_REBOOT   =       1       ; 1 to enable REBOOT command.
  122. OPTION_MINICMD_REN      =       1       ; 1 to enable REN/RENAME commands.
  123. OPTION_MINICMD_RMDIR    =       1       ; 1 to enable RMDIR/RD command.
  124. OPTION_MINICMD_SET      =       1       ; 1 to enable SET command.
  125. OPTION_MINICMD_SYNC     =       1       ; 1 to enable SYNC/SYNCH commands.
  126. OPTION_MINICMD_TIME     =       1       ; 1 to enable TIME command.
  127. OPTION_MINICMD_TYPE     =       1       ; 1 to enable TYPE command.
  128. OPTION_MINICMD_VERSION  =       1       ; 1 to enable VER command.
  129. OPTION_MINICMD_VERIFY   =       1       ; 1 to enable VERIFY command.
  130. OPTION_MINICMD_VOL      =       1       ; 1 to enable VOL command.
  131.  
  132. ;       Default system names.  You can change CONFIG.SYS if you wish to
  133. ;       have another operating system use CONFIG.SYS when it is available,
  134. ;       and then boot DOS with an alternate config file when it must boot.
  135. ;       The configurable name for COMMAND.COM serves a similar purpose.
  136.  
  137. CONFIG_FILE_NAME        EQU     'CONFIG.SYS'
  138. COMMAND_FILE_NAME       EQU     'COMMAND.COM'
  139.  
  140. ;       Boot drive (used to read CONFIG.SYS & default COMMAND.COM).
  141.  
  142. BOOT_DRIVE_NUMBER       =       2       ; 0=A, 1=B, 2=C, etc.
  143.  
  144. ;       Initial Program Load of the Operating System.  Mini-COMMAND
  145. ;       actually stays running on this stack.  Also, the number of
  146. ;       INT 21h stacks and their size is defined.
  147. ;
  148.  
  149. BOOT_STACK_SIZE         =       2048    ; a 1.5KB stack is sufficient.
  150. INT21_STACK_SIZE        =       2048    ; size of INT 21h stack.
  151. MIN_INT21_STACKS        =       5       ; number of INT 21h stacks.
  152.  
  153. ;       Loader tuning constants.
  154.  
  155. INCR_ENVIRONMENT        =       256     ; #bytes to increase environment/exec.
  156. LOAD_INITIALIZE         =       0       ; 1 if init load area to INT 3's.
  157. FIXUP_TABLE_SIZE        =       512     ; must be a multiple of 4.
  158. DEFAULT_ENVSIZE         =       1024    ; 1k environments by default.
  159.  
  160. ;       System memory configuration (private POOL.ASM constants).
  161.  
  162. MIN_FRAGMENT_SIZE       =       10      ; smallest fragment size possible in pool.
  163.  
  164. ;       I/O system constants.  Do not modify unless you are well-aware
  165. ;       of the system's internal architecture and are prepared to deal
  166. ;       with side-effects.
  167.  
  168. MAX_PARSE_PATH_SIZE     =       256     ; up to 256 bytes in pathname.
  169. DISK_BLOCK_SIZE         =       512     ; size of a logical disk block.
  170. INIT_FAT_CACHE_SIZE     =       8       ; FATFSD uses 2 buffers at init time.
  171. FAT_PRIORITY_BOOST      =       15      ; extra cache priority for FAT sectors.
  172. SHARE_VIOLATION_RETRIES =       3       ; default number of sharing violation retries.
  173. DISK_IO_RETRY_COUNT     =       3       ; # times to retry I/O on worn media.
  174. COOKED_BUFFER_SIZE      =       128     ; size of cooked buffer to allocate.
  175. DISK_CACHE_ENTRIES      =       5       ; size of cache for disk driver in sectors.
  176. MAX_SFDS                =       8       ; up to 8 concurrently open FCBs in system.
  177. DFS_PREFIX_ENTRY_SIZE   =       64      ; maximum size of a DFS prefix path.
  178. MAX_TEMPLATES           =       2       ; maximum number of I/O templates in system.
  179. MAX_TEMPLATE_SIZE       =       128     ; maximum size of input buffer.
  180. MAX_DDS                 =       3       ; max DOS Drive Structures defined.
  181. MAX_CONFIG_LINE_SIZE    =       256     ; max 256 bytes per line in CONFIG.SYS.
  182.  
  183. ;       System timeout values.
  184.  
  185. TIMEOUT_SHARE_VIOLATION =       (18*2)  ; timer ticks until lock attempt fails.
  186. TIMEOUT_DISK_BPBS       =       (18*2)  ; timer ticks until media is revalidated.
  187. TIMEOUT_CACHE_BUFFERS   =       (18*2)  ; timer ticks until cache block becomes stale.
  188.  
  189. ;       Hardware-specific interrupt vector assignments.
  190.  
  191. BIOS_VIDEO_SERVICE      =       10h     ; video BIOS interrupt vector.
  192. BIOS_KEYBOARD_SERVICE   =       16h     ; keyboard BIOS interrupt vector.
  193. BIOS_SERIAL_SERVICE     =       14h     ; serial port BIOS interrupt vector.
  194. BIOS_PRINTER_SERVICE    =       17h     ; parallel port BIOS interrupt vector.
  195. BIOS_MEMORY_SERVICE     =       12h     ; memory BIOS interrupt vector.
  196. BIOS_DISK_SERVICE       =       13h     ; diskette & hard disk BIOS interrupt vector.
  197. BIOS_TIME_SERVICE       =       1ah     ; date/time BIOS interrupt vector.
  198. BIOS_EQUIPMENT_SERVICE  =       11h     ; equipment flags BIOS interrupt vector.
  199. BIOS_VIRTUAL_SERVICE    =       15h     ; ext. memory BIOS interrupt vector.
  200. BIOS_KEYSCAN_SERVICE    =       15h     ; keyboard mapper BIOS interrupt vector.
  201.  
  202. VECTOR_SCRATCH          =       60h     ; scratchpad memory vector.
  203.  
  204. ;       Default CONFIG.SYS parameters.
  205.  
  206. PARAM_FILES             =       20      ; default number of files.
  207. PARAM_FCBS              =       20      ; default number of FCBs in system.
  208. PARAM_BUFFERS           =       20      ; default number of buffers (fake).
  209. PARAM_COUNTRY_CODE      =       0       ; selected country code (default).
  210. PARAM_BREAK             =       1       ; default break flag.
  211. PARAM_VERIFY            =       0       ; default verify flag (enables cache).
  212. PARAM_CACHESIZE         =       8       ; default # of cache blocks.
  213. PARAM_CACHEFLUSH        =       1000    ; default # ms before dirty block gets flushed.
  214. PARAM_CACHETTL          =       2000    ; default # ms before block gets destroyed.
  215.  
  216. ;       The following option is used by the disk driver ONLY IF YOU SET
  217. ;       OPTION_READ_DISK_PARAMS to 0.  In this event, you have told the
  218. ;       disk driver that the disk BIOS can't tell whether the form factor
  219. ;       of a drive is 3.5" or 5.25", so disks with a 0f9h media byte may
  220. ;       be either a 1.2Mb 5.25" floppy or a 720kb 3.5" floppy.  This means
  221. ;       you have to choose which one the disk driver will pick here.  You
  222. ;       must pick one of them if OPTION_READ_DISK_PARAMS is not 0.
  223.  
  224. DISK_F9_MEANS_12MB      =       0       ; 1 if f9h means 5.25" 1.2Mb floppy.
  225. DISK_F9_MEANS_720KB     =       1       ; 1 if f9h means 3.5" 720kb floppy.
  226.  
  227. ;       System memory configuration.  This is the size of the scratchpad
  228. ;       area, located at the top of memory, that DOS uses in RAM for itself.
  229. ;       This includes all system data, including file system cache blocks.
  230.  
  231. DOSDATA_SIZE_IN_KB      =       10      ; KB to use for DOSDATA.
  232.  
  233. ;       The following equate MAY be changed by the OEM customer to reflect
  234. ;       the current build (minor version number) of the product, in a way
  235. ;       that does not interfere with the base release version numbers assigned
  236. ;       by General Software.  This string will be appended to the General
  237. ;       Software base version number (of the form 1.nnn), where "1" means
  238. ;       major release 1, and nnn is the software base number at GS.
  239.  
  240. OEM_ADAPTATION_BUILD    EQU     '0'     ; this is a STRING, not a VALUE.
  241.  
  242. ;       The following equate MUST be changed by any OEM customer that
  243. ;       is adapting OEM DOS (i.e., rebuilding it.)  You MUST substitute
  244. ;       your own account number (assigned by General Software) in this
  245. ;       equate so that your DOS release can be tracked and so that
  246. ;       applications can be made that can take advantage of your
  247. ;       adaptation.  If you do not know your OEM account number, call
  248. ;       General Software to obtain it.  It is critical that you do not
  249. ;       use any other number here.  Even if you relink the DOS, you
  250. ;       MUST change this number to your account number.
  251.  
  252. OEM_ACCOUNT_NUMBER      =       0       ; 0 means General Software, Inc.
  253.  
  254. ;       The following constants MUST NOT be changed by the OEM.  Instead,
  255. ;       they mark the build as released by General Software.  You may freely
  256. ;       change the way in which GS_DOSTYPE is included in the sign-on banner,
  257. ;       however, including removing its use in that context altogether.
  258.  
  259. GS_RELEASE_BUILD        EQU     'EMBEDDED DOS-ROM' ; release string for SYSINIT.ASM.
  260.