[Front]
[Next Chapter]
Introduction to Embedding Caldera DR-DOS
This chapter outlines the benefits of embedding Caldera(tm) DR-DOS(tm) in ROM, and explains the factors that have to be considered when you decide what type of implementation you require. The implementation may offer a ROMDISK, to allow the system to be booted without conventional disks, or it may allow the DOS kernel, the DOS BIOS, and applications to run from ROM.
Why Put DOS in ROM ?
The main advantage of embedding DR-DOS in ROM is for diskless devices
such as set-top boxes, PDA's, cash registers, etc.
Another advantage in executing DR-DOS from ROM, even for conventional computers
with disks, is that more Transient Program Area (TPA) is available for
application programs. In some implementations of DOS systems, the DOS
kernel code occupies
at least 40Kb of RAM, but when the DOS kernel executes from ROM this RAM
becomes available for applications. In addition, some of the BIOS code
can also execute from ROM, freeing more TPA, typically 3 to 4 Kbytes. Many
non-PC compatible computers have as little as 128Kb of RAM as standard,
and a large percentage of this RAM can be freed for applications if the
DOS kernel runs from ROM.
Another use of DR-DOS in ROM is for small computers that are not equipped
with conventional hard disk drives or diskette drives, but that may still
require applications and DOS to be available when the computer is switched
on. They may, for example, provide a disk system as an option, as in many
home and educational computers. Other notebook computers use small memory
cards; if the DOS system is in an inexpensive EPROM or a masked ROM, the
memory card space can be used for applications. If sufficient ROM space
is available, some of the DR-DOS utilities can also be placed in ROM. Caldera
advises that the ROMs are addressed as a "ROMDISK". This greatly simplifies
the building and maintenance of the ROM-based system. A ROMDISK allows
any mixture of utilities and applications to be loaded and executed just
as if a hard disk were being used.
Other computers that may require a ROM-based system are those that are:
Other typical applications for putting DR-DOS in ROM are:
Supporting Flash ROM
It is possible to implement DR-DOS in a flash ROM environment which allows the
system to have read and write capabilities. When creating the ROMDISK, you need to
carefully consider what structure of ROMDISK you need to create. Read the following
section to determine the type of ROMDISK you need to implement in your system. The
two types of ROMDISK are called Fixed File Format (FFF) and FAT.
Considerations
To decide which type of ROMDISK you need to create, refer to the following
table to see which operations you need to do on your particular hardware.
Advantages of a Fixed File Format (FFF) ROMDISK Updating System Software
Operation Fixed File Format (FFF) FAT Explanation
Boot DR-DOS from ROM
YES
YES
Either type can be used
Read Only
YES
YES
Either type can be used
Read/Write
NO
YES
Read/write operations can only be
done on a FAT ROMDISK.
Dynamic file updates
can be performed.
less than 1 MB capacity
in hardware. Less than
100 files/directories,
for example.)YES
YES
However, it is recommended that
you use the Fixed File Format ROMDISK.
Greater than 1 MB capacity
YES
YES
However, it is recommended that you
use the FAT ROMDISK.
When DOS is in ROM, the system software can only be modified by changing the ROM set. However, this manual’s example implementation using a ROMDISK simplifies the procedure for changing system software. The order of the ROMs is not fixed irrevocably, and it is often possible to add extra ROMs, or to swap them around without the necessity of changing the whole ROM set.
Hardware design
Another consideration is that on some machines the hardware design makes execution of the DOS kernel from ROM slower than execution from RAM. In practice, though, the longer access time of the DOS kernel in ROM is only noticeable if the application makes constant DOS calls and the machine’s ROM BIOS is executing either in faster ROM or in shadow RAM. The sample DOS implementation in this manual illustrates how the user can be given the option of changing to RAM execution on those machines or applications where speed of execution is an issue. Note though that a ROMDISK is always faster than physically accessing a hard disk.
DOS BIOS
Some of the DOS BIOS can execute from ROM. However, part of the BIOS is compressed in ROM, and any OEM-modified device drivers in the BIOS must not use or reference the compressed segments (INITCODE, INITDATA, INITPSP and INITENV). Programmers should refer to the device driver source code examples provided with the BIOS kit.
In a PC-compatible system, as described in Chapter 3, "Example ROM Implementation," the DOS BIOS and the DOS kernel require less than 64 Kbytes of ROM. This allows the system to execute from ROM with a 64 Kbyte memory window. The computer's ROM BIOS will, typically, require 16, 32, or 64 Kbytes in addition to the 64 Kbytes for the DOS BIOS and kernel. The DR-DOS COMMAND.COM file, or an embedded application can be in the paged part of the ROMDISK, and the amount of ROM they require can be determined by adding up the file sizes.
NOTE: Please check your ROM BIOS licence.
In this manual reference is made to the ROM BIOS. The ROM BIOS is normally supplied with your computer by the original equipment manufacturer (OEM). The ROM BIOS can only be used and copied under the terms and conditions of the license issued to you by the original equipment manufacturer or the supplier of your ROM BIOS. If you are in any doubt about these conditions, please contact your original equipment manufacturer or the supplier of your ROM BIOS.
Where To Go From Here
Once you have decided upon the type of ROMDISK you need to create, the next chapter describes the implementation procedure and how you build the ROMDISK. Chapter 3 "Example ROM Implementations" gives some examples of different types of implementations.