home *** CD-ROM | disk | FTP | other *** search
- [ 3. Configuration Options]
- GENERAL SOFTWARE EMBEDDED DOS-ROM 6.22 [tm] CONFIGURABILITY
- ═════════════════════════════════════════════════════════════════════════
- Source code is available for Embedded DOS-ROM 6.22 for those who need it.
- Some of our customers require FAA, FDA, DoD, or other US governmental
- agency approval, and for this the source code is invaluable. The
- source code also lets our civilian customers tailor the features of
- the operating system so closely, that individual commands can be added
- or removed from the CONFIG.SYS processor and COMMAND.COM interpreter.
-
- KEY POINTS:
-
- 1. SOURCE CODE AIDS CERTIFICATION
- 2. SOURCE CODE CAN BE USED TO BUILD TAILOR-MADE DOS ADAPTATIONS
-
- CERTIFICATION
-
- We have all types of customers. Some test the O-rings for the U.S.
- Space Shuttle Program to ensure our Astronauts' future safety. Others
- manufacture anesthesia machines that make medical operations possible
- where previously they would be impossible. Others still guard the
- safety of our country's secrets, or carry the world's population in
- the newest Boeing 777 jets. All of these kinds of applications rightly
- require that software meet certain standards and that the source code
- be available for inspection by the appropriate governing body. We
- make the cost of the source code incidental, to help our customers
- meet these certifications' requirements as quickly as possible.
-
- TAILORING THE DOS TO YOUR REQUIREMENTS
-
- We've attached an actual sample copy of our CONFIGURATION FILE below
- so you'll see how truly easy it can be to modify EMBEDDED DOS-ROM 6.22
- if you really want to squeeze the last 1KB from the build. Here it is:
-
- ; Basic booting options. Select those that apply.
-
- OPTION_VERBOSE_IPL = 0 ; 1 to display boot debugging messages.
- OPTION_SUPPORT_ALWAYS_BOOT = 0 ; 1 to boot from INT 19h.
- OPTION_SUPPORT_BACKUP_BOOT = 1 ; 1 to boot from INT 18h.
- OPTION_SUPPORT_MINICMD = 0 ; 1 to run integrated Mini-COMMAND.
- OPTION_SUPPORT_COMMAND = 1 ; 1 to run external COMMAND.COM.
- OPTION_SUPPORT_CONFIGSYS = 1 ; 1 to parse CONFIG.SYS, 0 to not.
- OPTION_SUPPORT_SIGNON = 1 ; 1 to display init messages.
-
- ; Feature enablers. If you don't need these features, turn them off
- ; and you'll save ROM space. For example, if your target won't be
- ; printing, disable the PRN device, etc. Make sure you enable FCBs
- ; if you want volume labels in directory displays, etc.
-
- OPTION_SUPPORT_AUX = 0 ; 1 to enable AUX device driver code.
- OPTION_SUPPORT_PRN = 0 ; 1 to enable PRN device driver code.
- OPTION_SUPPORT_DISK = 1 ; 1 if we're supporting INT 13h disks.
- OPTION_HARD_DISK_PARTITIONS = 1 ; 1 to support hard disks.
- OPTION_SUPPORT_FILESYS = 1 ; 1 if we're supporting a DOS file system.
- OPTION_SUPPORT_ABSIO = 1 ; 1 to enable INT 25h, INT 26h API.
- OPTION_SUPPORT_WIN3 = 1 ; 1 to add Win 3.x-compat data structures.
- OPTION_SUPPORT_DISK_IOCTLS = 1 ; 1 to support IOCTL i'face to disk driver.
- OPTION_SUPPORT_GENERIC_IOCTLS = 1 ; 1 to support INT 21h generic IOCTLs.
- OPTION_SUPPORT_IO_IOCTLS = 1 ; 1 to support INT 21h IOCTL read/writes.
- OPTION_SUPPORT_FILE_SHARING = 0 ; 1 to support file sharing/record locking.
- OPTION_SUPPORT_FCBS = 1 ; 1 to support File Ctrl Blocks (FCBs).
- OPTION_SUPPORT_DPBS = 1 ; 1 to support Drive Param Blocks (DPBs).
-
- ; Behavioral modifiers. Choose options if required by the underlying
- ; hardware. For example, if you don't have a RTC on-board, disable the
- ; RTC option. FYI, Embedded BIOS does support READ_DRIVE_PARAMS, so
- ; you will want to keep that enabled.
-
- OPTION_SUPPORT_RTC = 1 ; 1 to enable real-time clock (CMOS).
- OPTION_READ_DRIVE_PARAMS = 1 ; 1 if BIOS supports INT 13h, func 08h.
- OPTION_DISABLE_SERINIT = 1 ; 1 to disable AUX driver initialization.
-
- ; CONFIG.SYS command-support options. This section allows the
- ; OEM to disable support for specific commands. In order for
- ; CONFIG.SYS processing to be supported at all, you need to enable
- ; OPTION_SUPPORT_CONFIGSYS above, or these will have no effect.
-
- OPTION_CONFIGSYS_FILES = 1 ; 1 to enable FILES= command.
- OPTION_CONFIGSYS_FCBS = 1 ; 1 to enable FCBS= command.
- OPTION_CONFIGSYS_BUFFERS= 1 ; 1 to enable BUFFERS= command.
- OPTION_CONFIGSYS_COUNTRY= 1 ; 1 to enable COUNTRY= command.
- OPTION_CONFIGSYS_STACKS = 1 ; 1 to enable STACKS= command.
- OPTION_CONFIGSYS_VERSION= 1 ; 1 to enable VERSION= command.
- OPTION_CONFIGSYS_BREAK = 1 ; 1 to enable BREAK= command.
- OPTION_CONFIGSYS_VERIFY = 1 ; 1 to enable VERIFY= command.
- OPTION_CONFIGSYS_DEVICE = 1 ; 1 to enable DEVICE= command.
- OPTION_CONFIGSYS_SHELL = 1 ; 1 to enable SHELL= command.
- OPTION_CONFIGSYS_COMMENT= 1 ; 1 to enable COMMENT= command.
- OPTION_CONFIGSYS_ECHO = 1 ; 1 to enable ECHO= command.
- OPTION_CONFIGSYS_REM = 1 ; 1 to enable REM= command.
- OPTION_CONFIGSYS_LASTDRIVE = 1 ; 1 to enable LASTDRIVE= command.
- OPTION_CONFIGSYS_INSTALL= 1 ; 1 to enable INSTALL= command.
- OPTION_CONFIGSYS_UMB = 1 ; 1 to enable UMB= command.
- OPTION_CONFIGSYS_DOSHIGH= 1 ; 1 to enable DOSHIGH= command.
- OPTION_CONFIGSYS_INSTALLHIGH = 1 ; 1 to enable INSTALLHIGH= command.
- OPTION_CONFIGSYS_DEVICEHIGH = 1 ; 1 to enable DEVICEHIGH= command.
- OPTION_CONFIGSYS_JUMP = 1 ; 1 to enable JUMP= command.
-
- ; Mini-COMMAND support options. Enable only the commands you
- ; need to save ROM space. Start with everything enabled. Then,
- ; if you only need to run a single EXE from EMBEDDED DOS-ROM on
- ; your final target, we suggest turning off all but CHDIR & PATH.
-
- OPTION_MINICMD_HELP = 1 ; 1 to enable HELP command.
- OPTION_MINICMD_BREAK = 1 ; 1 to enable BREAK command.
- OPTION_MINICMD_CHDIR = 1 ; 1 to enable CHDIR/CD command.
- OPTION_MINICMD_CLS = 1 ; 1 to enable CLS command.
- OPTION_MINICMD_COPY = 1 ; 1 to enable COPY command.
- OPTION_MINICMD_DATE = 1 ; 1 to enable DATE command.
- OPTION_MINICMD_DEL = 1 ; 1 to enable DEL/ERA/ERASE commands.
- OPTION_MINICMD_DIR = 1 ; 1 to enable DIR command.
- OPTION_MINICMD_ECHO = 1 ; 1 to enable ECHO command.
- OPTION_MINICMD_EXIT = 1 ; 1 to enable EXIT command.
- OPTION_MINICMD_GOTO = 1 ; 1 to enable GOTO command.
- OPTION_MINICMD_IF = 1 ; 1 to enable IF command.
- OPTION_MINICMD_MKDIR = 1 ; 1 to enable MKDIR/MD command.
- OPTION_MINICMD_PATH = 1 ; 1 to enable PATH command.
- OPTION_MINICMD_PAUSE = 1 ; 1 to enable PAUSE command.
- OPTION_MINICMD_PROMPT = 1 ; 1 to enable PROMPT command.
- OPTION_MINICMD_REM = 1 ; 1 to enable REM command.
- OPTION_MINICMD_REBOOT = 1 ; 1 to enable REBOOT command.
- OPTION_MINICMD_REN = 1 ; 1 to enable REN/RENAME commands.
- OPTION_MINICMD_RMDIR = 1 ; 1 to enable RMDIR/RD command.
- OPTION_MINICMD_SET = 1 ; 1 to enable SET command.
- OPTION_MINICMD_SYNC = 1 ; 1 to enable SYNC/SYNCH commands.
- OPTION_MINICMD_TIME = 1 ; 1 to enable TIME command.
- OPTION_MINICMD_TYPE = 1 ; 1 to enable TYPE command.
- OPTION_MINICMD_VERSION = 1 ; 1 to enable VER command.
- OPTION_MINICMD_VERIFY = 1 ; 1 to enable VERIFY command.
- OPTION_MINICMD_VOL = 1 ; 1 to enable VOL command.
-
- ; Default system names. You can change CONFIG.SYS if you wish to
- ; have another operating system use CONFIG.SYS when it is available,
- ; and then boot DOS with an alternate config file when it must boot.
- ; The configurable name for COMMAND.COM serves a similar purpose.
-
- CONFIG_FILE_NAME EQU 'CONFIG.SYS'
- COMMAND_FILE_NAME EQU 'COMMAND.COM'
-
- ; Boot drive (used to read CONFIG.SYS & default COMMAND.COM).
-
- BOOT_DRIVE_NUMBER = 2 ; 0=A, 1=B, 2=C, etc.
-
- ; Initial Program Load of the Operating System. Mini-COMMAND
- ; actually stays running on this stack. Also, the number of
- ; INT 21h stacks and their size is defined.
- ;
-
- BOOT_STACK_SIZE = 2048 ; a 1.5KB stack is sufficient.
- INT21_STACK_SIZE = 2048 ; size of INT 21h stack.
- MIN_INT21_STACKS = 5 ; number of INT 21h stacks.
-
- ; Loader tuning constants.
-
- INCR_ENVIRONMENT = 256 ; #bytes to increase environment/exec.
- LOAD_INITIALIZE = 0 ; 1 if init load area to INT 3's.
- FIXUP_TABLE_SIZE = 512 ; must be a multiple of 4.
- DEFAULT_ENVSIZE = 1024 ; 1k environments by default.
-
- ; System memory configuration (private POOL.ASM constants).
-
- MIN_FRAGMENT_SIZE = 10 ; smallest fragment size possible in pool.
-
- ; I/O system constants. Do not modify unless you are well-aware
- ; of the system's internal architecture and are prepared to deal
- ; with side-effects.
-
- MAX_PARSE_PATH_SIZE = 256 ; up to 256 bytes in pathname.
- DISK_BLOCK_SIZE = 512 ; size of a logical disk block.
- INIT_FAT_CACHE_SIZE = 8 ; FATFSD uses 2 buffers at init time.
- FAT_PRIORITY_BOOST = 15 ; extra cache priority for FAT sectors.
- SHARE_VIOLATION_RETRIES = 3 ; default number of sharing violation retries.
- DISK_IO_RETRY_COUNT = 3 ; # times to retry I/O on worn media.
- COOKED_BUFFER_SIZE = 128 ; size of cooked buffer to allocate.
- DISK_CACHE_ENTRIES = 5 ; size of cache for disk driver in sectors.
- MAX_SFDS = 8 ; up to 8 concurrently open FCBs in system.
- DFS_PREFIX_ENTRY_SIZE = 64 ; maximum size of a DFS prefix path.
- MAX_TEMPLATES = 2 ; maximum number of I/O templates in system.
- MAX_TEMPLATE_SIZE = 128 ; maximum size of input buffer.
- MAX_DDS = 3 ; max DOS Drive Structures defined.
- MAX_CONFIG_LINE_SIZE = 256 ; max 256 bytes per line in CONFIG.SYS.
-
- ; System timeout values.
-
- TIMEOUT_SHARE_VIOLATION = (18*2) ; timer ticks until lock attempt fails.
- TIMEOUT_DISK_BPBS = (18*2) ; timer ticks until media is revalidated.
- TIMEOUT_CACHE_BUFFERS = (18*2) ; timer ticks until cache block becomes stale.
-
- ; Hardware-specific interrupt vector assignments.
-
- BIOS_VIDEO_SERVICE = 10h ; video BIOS interrupt vector.
- BIOS_KEYBOARD_SERVICE = 16h ; keyboard BIOS interrupt vector.
- BIOS_SERIAL_SERVICE = 14h ; serial port BIOS interrupt vector.
- BIOS_PRINTER_SERVICE = 17h ; parallel port BIOS interrupt vector.
- BIOS_MEMORY_SERVICE = 12h ; memory BIOS interrupt vector.
- BIOS_DISK_SERVICE = 13h ; diskette & hard disk BIOS interrupt vector.
- BIOS_TIME_SERVICE = 1ah ; date/time BIOS interrupt vector.
- BIOS_EQUIPMENT_SERVICE = 11h ; equipment flags BIOS interrupt vector.
- BIOS_VIRTUAL_SERVICE = 15h ; ext. memory BIOS interrupt vector.
- BIOS_KEYSCAN_SERVICE = 15h ; keyboard mapper BIOS interrupt vector.
-
- VECTOR_SCRATCH = 60h ; scratchpad memory vector.
-
- ; Default CONFIG.SYS parameters.
-
- PARAM_FILES = 20 ; default number of files.
- PARAM_FCBS = 20 ; default number of FCBs in system.
- PARAM_BUFFERS = 20 ; default number of buffers (fake).
- PARAM_COUNTRY_CODE = 0 ; selected country code (default).
- PARAM_BREAK = 1 ; default break flag.
- PARAM_VERIFY = 0 ; default verify flag (enables cache).
- PARAM_CACHESIZE = 8 ; default # of cache blocks.
- PARAM_CACHEFLUSH = 1000 ; default # ms before dirty block gets flushed.
- PARAM_CACHETTL = 2000 ; default # ms before block gets destroyed.
-
- ; The following option is used by the disk driver ONLY IF YOU SET
- ; OPTION_READ_DISK_PARAMS to 0. In this event, you have told the
- ; disk driver that the disk BIOS can't tell whether the form factor
- ; of a drive is 3.5" or 5.25", so disks with a 0f9h media byte may
- ; be either a 1.2Mb 5.25" floppy or a 720kb 3.5" floppy. This means
- ; you have to choose which one the disk driver will pick here. You
- ; must pick one of them if OPTION_READ_DISK_PARAMS is not 0.
-
- DISK_F9_MEANS_12MB = 0 ; 1 if f9h means 5.25" 1.2Mb floppy.
- DISK_F9_MEANS_720KB = 1 ; 1 if f9h means 3.5" 720kb floppy.
-
- ; System memory configuration. This is the size of the scratchpad
- ; area, located at the top of memory, that DOS uses in RAM for itself.
- ; This includes all system data, including file system cache blocks.
-
- DOSDATA_SIZE_IN_KB = 10 ; KB to use for DOSDATA.
-
- ; The following equate MAY be changed by the OEM customer to reflect
- ; the current build (minor version number) of the product, in a way
- ; that does not interfere with the base release version numbers assigned
- ; by General Software. This string will be appended to the General
- ; Software base version number (of the form 1.nnn), where "1" means
- ; major release 1, and nnn is the software base number at GS.
-
- OEM_ADAPTATION_BUILD EQU '0' ; this is a STRING, not a VALUE.
-
- ; The following equate MUST be changed by any OEM customer that
- ; is adapting OEM DOS (i.e., rebuilding it.) You MUST substitute
- ; your own account number (assigned by General Software) in this
- ; equate so that your DOS release can be tracked and so that
- ; applications can be made that can take advantage of your
- ; adaptation. If you do not know your OEM account number, call
- ; General Software to obtain it. It is critical that you do not
- ; use any other number here. Even if you relink the DOS, you
- ; MUST change this number to your account number.
-
- OEM_ACCOUNT_NUMBER = 0 ; 0 means General Software, Inc.
-
- ; The following constants MUST NOT be changed by the OEM. Instead,
- ; they mark the build as released by General Software. You may freely
- ; change the way in which GS_DOSTYPE is included in the sign-on banner,
- ; however, including removing its use in that context altogether.
-
- GS_RELEASE_BUILD EQU 'EMBEDDED DOS-ROM' ; release string for SYSINIT.ASM.
-