4025 LX (250-5125) TEMMLX Faxback Doc. # 1638 This driver enables application programs to access memory beyond the traditional 640KB memory boundary on 80386-based computers. It emulates expanded memory as defined in the Lotus/Intel/Microsoft (LIM) expanded memory specification. With temmlx.sys, software can access RAM between 640KB and 1MB address (shadow RAM), as well as memory above 1MB. NOTE: You might find a similar program, temm.sys, on your Tandy MS-DOS system diskettes. This program is not written for your computer and should not be used. The standard Tandy 4025 LX is equipped with 2MB (2048KB) of RAM on the first memory board. Of this RAM, the operating system and applications use 640KB. The system also reserves an additional 640KB for the system BIOS and 32KB for the video BIOS. This leaves 1312KB of memory available to specially written software such as temmlx.sys. In order to understand the function of this driver, you need to know the definitions of shadow RAM, expanded memory, and extended memory. SHADOW RAM Your computer is equipped with 2MB (2048KB) of RAM (random access memory) on a 32-bit memory expansion adapter. By adding a second 32-bit memory expansion adapter and filling both adapters with 1MB SIMMs, you can configure the system with as much as 16MB of RAM. The first 640KB of RAM in any system is called base RAM. Base RAM is reserved for your operating system and applications. Memory from 640KB to 1024KB (a total of 384KB) is called shadow RAM. Your system BIOS (Basic Input-Output System) uses a portion of shadow RAM. Video adapter BIOS and SCSI BIOS (if applicable to your computer) might also use shadow RAM. The following diagram illustrates base RAM and shadow RAM in a 2MB memory configuration: ┌───────────────────┐ 2048 KB (2 MB) │ │ │ │ │ │ │ │ │ │ ├───────────────────┤ 1024 KB (1 MB) │ Shadow Ram │ │ (384 KB) │ ├───────────────────┤ 640 KB │ │ │ Base RAM │ │ (640 KB) │ └───────────────────┘ 0 KB Base RAM and Shadow RAM EXPANDED MEMORY Early microprocessors were not equipped to recognize memory address beyond 1MB (1024KB) of memory. When additional memory was required, systems based on such processors relied on expanded memory. Expanded memory was stored on a separate adapter, and it used a different addressing protocol from base and shadow RAM. Expanded memory was accessed in blocks of memory called pages. A group of pages is called a frame. The pages in a frame are not necessarily adjacent in the available supply of physical expanded memory. The following diagram shows two examples of valid frames. One includes sequential pages; the other does not. 8 MB ┌───────────────────────┐ │ Block 511 │ ├───────────────────────┤ ┌───────────────────────┐ │ | │ │ Block 511 │ │ | │ ├───────────────────────┤ ├───────────────────────┤ │ Block 52 │ │ Block 53 │ ├───────────────────────┤ 1 MB ├───────────────────────┤ │ Block 2 │ │ | │ └───────────────────────┘ │ | │ ├───────────────────────┤ ┌───────────────────────┐ │ Block 1 │ │ Block 1 │ ├───────────────────────┤ ├───────────────────────┤ │ Block 0 │ │ Block 0 │ 0 MB └───────────────────────┘ └───────────────────────┘ Expanded Memory Examples of Expanded Memory Frames EXTENDED MEMORY Current microprocessor technology supports memory beyond 1MB, so expanded memory is no longer required. Instead, current technology uses extended memory, defined as all memory (RAM) beyond the 1MB boundary, to emulate expanded memory. To emulate expanded memory, the processor copies a frame of extended memory into a segment of RAM between 640KB and 1024KB. The beginning of the RAM segment is called the frame address. Since RAM from 640KB to 1024KB is within the 1MB boundary, it is accessible to the processor. The following diagram shows base RAM, shadow RAM, and extended memory: ┌───────────────────┐ 2048 KB (2 MB) │ │ │ Extended │ │ Memory │ │ (Up to 15 MB) │ │ │ ├───────────────────┤ 1024 KB (1 MB) │ Shadow RAM │ │ (384 KB) │ ├───────────────────┤ 640 KB │ │ │ Base RAM │ │ (640 KB) │ └───────────────────┘ 0 KB Base RAM and Shadow RAM USING TEMMLX You can install up to 16MB of memory on the main logic board in your computer. All memory above 1MB is extended memory. TEMMLX.SYS uses all extended memory, plus any show RAM not allocated for other purposes, to emulate expanded memory as defined in the LIM (Lotus/Intel/Microsoft) 4.0 memory specification. TemmLx does not use any memory that is not on the 32-bit memory adapters in your computer. To use TemmLx: 1. If you have not already done so, copy temmLx.sys from the utilities diskette to your hard disk. To do this, insert the Utilities Diskette into Drive A and type the following command at the MS-DOS system prompt (A> or C>): copy a:temmLx.sys c: Then, press ENTER. 2. Add a device command for TemmLx to your config.sys file. The format for the TemmLx device command is: device=temmLx.sys [/s] [xxxx] [ly] [Mz] The following table summarizes the TemmLx device command parameters. ┌───────┬─────────────────────────────────────────────────────────────┐ │ Switch│ Function │ ├───────┼─────────────────────────────────────────────────────────────┤ │ /s │ Enables the software to access shadow RAM. │ ├───────┼─────────────────────────────────────────────────────────────┤ │ xxxxx │ Specifies the Amount of expanded memory (in kilobytes) to │ │ │ be emulated. Use a value from 304 to 8192 if you are │ │ │ using /s or 16 to 8192 if you are not using /s. Use a │ │ │ value that is a multiple of 16. The default value is 304KB │ │ │ with /s or 1024KB without /s. │ ├───────┼─────────────────────────────────────────────────────────────┤ │ Iy │ Identifies the I./O port addresses emulated by temmLx.sys. │ │ │ If one or more options in your computer access port │ │ │ addresses that conflict with the addresses emulated by │ │ │ temmLx.sys, use the following chart to select address │ │ │ that can be emulated without conflict. The default y │ │ │ value is 5. │ ├───────┼─────────────────────────────────────────────────────────────┤ │ y │ Port Addresses Used (Hex) │ │ 0 │ 208 4208 8208 C208 │ │ 1 │ 218 4218 8218 C218 │ │ 5 │ 258 4258 8258 C258 │ │ 6 │ 268 4268 8268 C268 │ │ 10 │ 2A8 42A8 82A8 C2A8 │ │ 11 │ 2B8 42B8 82B8 C2B8 │ │ 14 │ 2E8 42E8 82E8 C2E8 │ ├───────┼─────────────────────────────────────────────────────────────┤ │ Mz │ Frame Address (Hex) │ │ 0 │ C400 - D400 │ │ 1 │ C800 - D800 │ │ 2 │ CC00 - DC00 │ │ 3 │ D000 - E000 │ │ 4 │ D400 - E400 │ │ 5 │ D800 - E800 │ │ 6 │ DC00 - EC00 │ │ 7 │ E000 - F000 │ └───────┴─────────────────────────────────────────────────────────────┘ NOTES: * Do not use TemmLx.sys with software that uses the advanced features of the 80386 processor. * If you want to use expanded memory with other device drivers,the temmLx.sys device command must be the first device command in your config.sys. * Do not use a frame address that overlaps addresses used by the hardware. (/tmc-05/25/95)