Skip to content

karcherm/topemm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

*************************************************************************
*									*
*	EMS 4.0 Driver for TOPCAT mainboards, rev.02, Apr-20		*
*									*
*	This code is TASM source.					*
*									*
*	Based on original works Copyright (c) 1988, Alex Tsourikov.	*
*	All rights reserved.						*
*									*
*	Original source kindly provided subject to the BSD 3-Clause	*
*	License: http://opensource.org/licenses/BSD-3-Clause		*
*									*
*	Based on an adaption for the Lo-Tech EMS board, which is	*
*	provided subject to the terms of use at:			*
*									*
*	http://www.lo-tech.co.uk/wiki/lo-tech.co.uk:General_disclaimer	*
*									*
*									*
*	No charge has been made for this software.			*
*									*
*************************************************************************

Syntax:    DEVICE=LTEMM.EXE [/switches]
 /p:nnnn - Page frame address (E000)
 /h:nnn  - Maximal number of handles (64)
 /d:nn   - Depth of contest saves (5)
 /n      - Bypass memory test
 /x      - Perform long memory test
 /3      - Use only EMS 3.2 functions
 /q      - Quiet mode

Defaults in parentheses. This driver has been tested under MS-DOS 6.22.

This driver is compatible with UMB_DRVR by Christopher Blum. Load UMB_DRVR
first and exclude 64K UMB space (by putting '-' characters into the map).
This space can be used for as page frame for TOPEMM.

Issues remaining:
 - The initialization code is incompatible with the VL82C330 / Intel 82346
   80386DX system controller. It recognizes the chip, but treats it the
   wrong way:
    - SLTPTR is 10 bits instead of 8 bits, so top of XMS is not correctly
      determined.
    - The lookup table for memory size needs to be interpreted in whole
      megabytes instead of half megabytes.

History:
 - r02: better initialization for compatiblity with software doing strange
        things. Prevents crashes with the MS TCP stack and SPEEDSYS.
 - r01: Initial release
      
Nice-to-have:
 - Support for the alternate mapping registers
 - Support for more mapped pages (EMS 4.0 only)
 - Dynamic allocation of handle management and page management data.

Cancelled ideas:
 - Non-volatile memory. While the POST does not test memory allocated
   to EMS, it likely does some writes for memory sizing.

About

EMS driver for TOPCAT boards (VLSI 82C286 / Intel 82340SX)

Resources

Stars

Watchers

Forks

Packages

No packages published