Lo-tech 2MB EMS Board: Difference between revisions

From Lo-tech Wiki
Jump to navigation Jump to search
No edit summary
(Added narrative about how XMS words from https://mateusz.fr/exms86/)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
The [[Lo-tech 2MB EMS Board]] is an 8-bit ISA expansion card providing up to 2MB of EMS for [[IBM Personal Computer 5150|IBM compatible PCs]]. The small form factor makes the board suitable for the [[IBM Portable Computer 5155]].
The [[Lo-tech 2MB EMS Board]] is an 8-bit ISA expansion card providing up to 2MB of EMS for [[IBM Personal Computer 5150|IBM compatible PCs]]. The small form factor makes the board suitable for the [[IBM Portable Computer 5155]].


This board can be purchased online via [https://texelec.com/product-tag/lo-tech/ the TexElec Store].
'''This board can now provide XMS for XT class machines''' using [https://mateusz.fr/exms86/ EXMS86, a TSR that provides XMS 2.0 memory services by leveraging an EMS 3.2 source written by Mateusz Viste]. With the authors kind permission, v0.9.7 is also available for download here as [https://lo-tech.co.uk/downloads/exms86/exms86-0.9.7.zip Binaries] and [https://www.lo-tech.co.uk/downloads/exms86/exms86-0.9.7-source.zip Source].
 
To purchase this board, please visit [https://texelec.com/product-tag/lo-tech/ the TexElec Store].


Revision History:
Revision History:
Line 16: Line 18:


For operation, the EMS board requires a LIM memory manager driver, [[LTEMM.EXE]]. This driver provides LIM 4 compatibility.
For operation, the EMS board requires a LIM memory manager driver, [[LTEMM.EXE]]. This driver provides LIM 4 compatibility.
== XMS Capability ==
The following is included with the kind permission of Mateusz Viste.
''It is a common misconception that XMS is only possible on 386+ machines. XMS (v2.0) is fundamentally a memory-copying API. Applications using XMS do not care where the memory comes from. While XMS is commonly associated with RAM located above the 1 MB boundary (often called "extended memory") on 386+ PCs, that's a historical convention, not a technical requirement. Hence it is perfectly possible for a driver to expose memory via the XMS API even if said memory is not part of the system's RAM - like memory from an EMS board.''
Source: [https://mateusz.fr/exms86/ EXMS86 (EMS-backed XMS)]


== Design ==
== Design ==

Latest revision as of 09:02, 31 August 2025

Lo-tech 2MB EMS Board (r02), Assembled

The Lo-tech 2MB EMS Board is an 8-bit ISA expansion card providing up to 2MB of EMS for IBM compatible PCs. The small form factor makes the board suitable for the IBM Portable Computer 5155.

This board can now provide XMS for XT class machines using EXMS86, a TSR that provides XMS 2.0 memory services by leveraging an EMS 3.2 source written by Mateusz Viste. With the authors kind permission, v0.9.7 is also available for download here as Binaries and Source.

To purchase this board, please visit the TexElec Store.

Revision History:

Technical Description

The Lo-tech 2MB EMS Board utilises up to four AS6C4008-55SIN 4Mb static RAM chips to provide up to 16Mb (=2MB) total RAM capacity, buffered via a 74ACT245 to ensure compatibility with TTL logic levels, on an 8-bit ISA expansion card. For applications that support EMS, this provides a way to install more than the 1MB total address capacity of the 8086 and 8088 processors.

Following the LIM EMS specification, physical RAM is divided into 16KB pages and addressed via a single 64KB window (the 'page frame') in the upper memory. The pages presented within the window are determined by the value set in four page registers, which are programmed through IO ports. A jumper block enables the page frame IO port base addresses to configured to match the system requirements.

For operation, the EMS board requires a LIM memory manager driver, LTEMM.EXE. This driver provides LIM 4 compatibility.

XMS Capability

The following is included with the kind permission of Mateusz Viste.

It is a common misconception that XMS is only possible on 386+ machines. XMS (v2.0) is fundamentally a memory-copying API. Applications using XMS do not care where the memory comes from. While XMS is commonly associated with RAM located above the 1 MB boundary (often called "extended memory") on 386+ PCs, that's a historical convention, not a technical requirement. Hence it is perfectly possible for a driver to expose memory via the XMS API even if said memory is not part of the system's RAM - like memory from an EMS board.

Source: EXMS86 (EMS-backed XMS)

Design

Use of this design is provided subject to the lo-tech.co.uk Terms and Conditions. Copyright (c) 2013,2014 Peacon Ltd.

Assembly

This PCB makes use of SMT components:

  • SOIC chips have a pitch of 1.27mm
  • 0603 package capacitors and resistors

Assembly requires flux and a temperature controlled soldering station.

Bill of Materials

Part Value Device Package Qty Farnell Mouser
C1..C15 0.1uF X7R Ceramic Capacitor 0603 15 1414610 80-C0603C104K4R
C16 10uF 16V Electrolytic E2-5 1 9451056 140-REA100M1CBK0511P
IC1, IC5 - 74HCT688DW SOIC-20 2 1085321 771-HCT688D652 or 595-CD74HCT688M
IC2 - 74HCT139D SOIC-16 1 1085308 771-74HCT139D-T
IC3 - 74HCT04D SOIC-14 1 1085299 595-SN74HCT04D
IC4 - 74HCT32D SOIC-14 1 1201305 771-74HCT32D-T
IC6..IC9 - 74HCT573D SOIC-20 4 1201309 771-74HCT573D
IC10 - 74HCT245DW SOIC-20 1 1085315 771-74HCT245D
IC11 - 74HCT138D SOIC-16 1 1201307 771-74HCT138D-T
IC12..IC15 - AS6C4008-55SIN 4Mb SRAM SOIC-32 4 1562901 913-AS6C4008-55SIN
JP1 - PINHD-2X4 - 1 1593441 649-77313-101-08LF
RN1..RN3 10k RESISTOR, ARRAY-4, 10K, 1206 1206 3 1770137 652-CAY16-103J4LF

Note: Only one SRAM chip is required to build a functioning board (populate SRAM chips in order from IC12).

ISA Bracket

Uses Lo-tech ISA Slot Bracket Type 3.

JP1: Board Configuration

The board is configured via four jumpers on the pin-header JP1 (O=open, C=closed, position 1 is furthest from IC11 (74LS138D)):

Page Frame Base Address IO Port Base Address
Value (1,2) Base Address
C,C C000h
O,C D000h
C,O E000h
O,O (invalid)
Value (3,4) Base Address
C,C 260-263h
O,C 264-267h
C,O 268-26Bh
O,O 26C-26Fh

See Also