• Please review our updated Terms and Rules here

Experiences loading DOS into upper memory on an XT-class Tandy 1000?

I thought so too, and the docs say it is. However it seems to work! The line in config.sys is:

DEVICE=C:\DRDOS\HIDOS.SYS /BDOS=AUTO /USE=C800-DFFF /CHIPSET=RAM

I do have a V20 CPU in this and my T1400LT which is where I first tried this trick, so maybe that's the difference? If you have an EX with an 8088 can you give it a shot to see what happens?
 
I have the 3-in-1 expansion card which gives me 96K of UMB's on my 1000EX, but I couldn not get MS-DOS 6.22 and USE!UMBS to work properly no matter what I tried.

The recipe for using USE!UMBS with MS-DOS 6.22 is widely documented and works, are you sure you weren't using an old/broken version of USE!UMBS or other such complication? (Be aware that the version of USE!UMBS you might find in old shareware compilations didn't accept command line switches for specifying what UMB spaces were available, make sure you're using one of the more recent ones that accepts the switches.) Also, you're not forgetting the "DOSMAX" part, correct? (DOSMAX is its own can of worms, because I think *some* of the versions of it out there won't work without a V20?)

Here's my config.sys for PC-DOS 7 on my Tandy 1000 HX with a card that has both 96K of UMB in the same place as a 3-1 card and a lo-tek compatible EMS card; just ignore the EMS-related stuff (IE, the HUGE heading); MS-DOS 6.22 is almost identical except I'm not sure it supports the "DOSDATA=UMB" command nor the "/P" switch for COMMAND.COM.

Code:
[MENU]

MENUITEM=HIGH,DOS High
MENUITEM=HUGE,DOS HIGH, EMS as UMB
MENUITEM=LOW,DOS LOW
MENUDEFAULT=HIGH, 15

[COMMON]
FILES=30
BUFFERS = 30
drivparm=/d:0 /f:2
devicehigh=c:\tandy\biosptch.sys

[HIGH]
DOS=HIGH,UMB
DOSDATA=UMB
REM Fixes VGA detection issues
device=c:\tandy\vgafudge.exe
REM Enable upper memory and load DOS high
device=c:\tandy\use!umbs.sys C800-DFFF
device=c:\tandy\dosmax.exe /P:-
DEVICEHIGH=C:\DOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /e:512 /P /H
devicehigh=c:\dos\ansi.sys
REM Use EMS card as EMS memory with standard driver
devicehigh=c:\tandy\ltemm.exe /p:E000
rem devicehigh=c:\dos\ramdrive.sys 512 /a

[HUGE]
DOS=HIGH,UMB
DOSDATA=UMB
REM Instructs EMS page registers to map first 4 pages into frame
REM place in file before use!umb.sys or other memory manager!
device=c:\tandy\ems2umb.exe
# Fixes VGA detection issues
device=c:\tandy\vgafudge.exe
REM Declare EMS page frame at E000 as part of UMB. 160k total.
device=c:\tandy\use!umbs.sys C800-EFFF
device=c:\tandy\dosmax.exe /P:-
DEVICEHIGH=C:\DOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /e:512 /P /H
devicehigh=c:\dos\ansi.sys
REM REMEMBER! LOADING EMS DRIVER WILL TRASH YOUR UMB!

[LOW]
rem device=c:\tandy\ltemm.exe /p:E000
DEVICE=C:\DOS\SETVER.EXE

Regarding DR-DOS, I've tried running that on my Tandy 1000s as well and it does work fine, although PC-DOS gave me slightly more base RAM. I ended up not making much use of it mostly because the subtle command-line differences got on my nerves.
 
Code:
device=c:\tandy\use!umbs.sys C800-DFFF
device=c:\tandy\use!umbs.sys C800-EFFF
You're wasting 16 bytes. These lines should be changed to include the last paragraph;
Code:
device=c:\tandy\use!umbs.sys C800-E000
device=c:\tandy\use!umbs.sys C800-F000
I made the same mistake. I wrote the code but somehow still managed to confuse myself which is why the example in the source for version 2.1 is wrong. Elle oh Elle.

BTW, make sure to use the latest version (2.2).
 
Oh, there were lots of issues, I was trying to bootstrap all of this off of the built-in 360k drive as I didn't have the firmware loaded onto the XT-IDE portion of the 3-in-1 card yet. The system I pulled MS-DOS 6.22 from (NuXT) definitely has an older version of use!umbs on it, so I'm sure that didn't help. Once I got the firmware flashed I got lazy and cloned the CF card from my T1400LT which had DR-DOS on it, and that's when I decided to see if upper memory would work using the native hidos driver.
 
I thought HIDOS.SYS was 286 above and only. Is that not accurate?

I thought so too, and the docs say it is. However it seems to work! The line in config.sys is:

DEVICE=C:\DRDOS\HIDOS.SYS /BDOS=AUTO /USE=C800-DFFF /CHIPSET=RAM

I think that the way the DR-DOS manuals word this is misleading. Version 5.0's manual says "on an Intel 80286-based computer with extended memory"... and later that it "also allows users with computers based on the Chips & Technologies LeAPSet, LeAPSetsx, NEAT"... which doesn't specifically mean that the CPU must be at least a 286. Further on, it describes /USE as a way to manually indicate which memory segments to make available. The option "overrides all HIDOS.SYS memory tests, and makes all specified upper memory available." So, it should "only be specified by advanced users with experience" in memory management.

Nothing clearly states 286+ required. The CHIPSET switch (which @ross.dykes is using as quoted above) wasn't available until version 6.0. Version 6.0's manual is worded a little better, but still not clear enough: "On an Intel 80286-based computer with extended memory"... later on: "On computers based on the following chipsets"... and later still: "HIDOS.SYS also supports EMS 4.0 upper memory blocks (or EEMS) and any permanent unused areas or upper RAM."

Since EMS doesn't require a 286+, this indicates the possibility that any IBM compatible can use HIDOS.SYS if it has the required memory. The "permanent unused areas or upper RAM" also hints at any computer being able to work with HIDOS.SYS.

Considering how many XT compatibles were being sold in the 1990's with more than 640K installed in them, it's likely the DR-DOS manual's writer(s) didn't think of HIDOS.SYS being usable on less than 286 machines.
 
Back
Top