I definitely do not have such a good grasp of how EMS/XMS is used, just trying to figure it out. Not something I ever had to deal with when I used DOS on a daily basis. You'll have to bear with me as it's ALL new to me, I apologize!
No need to apologize, it's not your fault that the manufacturers couldn't come together with some kinda standard naming conventions.
So far, here's what I do understand...
1) "Expanded Memory" works by bank switching segments of itself into a 64K window within the Upper Memory Area (the 384K above 640K conventional memory installed) that is normally reserved for the BIOS, peripherals, etc.
2) "Extended Memory" refers to any RAM installed above the base 1MB conventional and can only be utilized by software on 286 machines and higher.
You're good up to this point, however...
3) In Real Mode operating systems like MS-DOS, XMS is emulated as EMS - which can only be utilized by loading the OS itself (and respective device drivers) into it, as well as applications specifically written to take advantage of it. DOS cannot load normal programs into anything except conventional memory.
In Real Mode, There is no XMS, emulated or otherwise, Therefore, the OS cannot be located there. DOS can only be loaded in Conventional Memory in the absence of the HMA. If EMS is present, the EMS Manager may be loaded there, as well as some other programs, drivers, etc, but only if the EMS hardware and Manager software allow it and don't conflict with memory areas that are already reserved for other uses. In order for applications to take advantage of EMS, they must be written to do so.
4) Windows 3.0 run in Real Mode can load applications into EMS - however later versions (3.1 onward) can only utilize conventional and XMS natively through either Standard or 386 Enhanced Modes. This was essentially my initial question, but a few hours on Google and I've answered it myself.
Windows in Real Mode can load applications into EMS, and later versions can too, as well as using XMS, if it's available. Only Conventional & EMS can be used in Standard Mode, but in Enhanced Mode, All types of mem, Conventional, EMS & XMS can be used. When you install these later versions, the amount of RAM allocated for each type is defined by the user in the Setup program. Windows 3.1 (& later) has a memory manager program that allows XMS to emulate EMS (EMM386.EXE), but EMM cannot emulate XMS, you need the real thing. If you do have real EMS in your system, it can be used in the normal manner, without emulation.
5) The 128k RAM upgrade for the 1000TL series is neither EMS nor XMS - it's just additional RAM in the Upper Memory Area that the BIOS uses for video memory using the onboard graphics adapter. There is no method of utilizing this outside of it's intended purpose (ie: as a way to provide a 64k window for a LIM EMS compatible RAM board as I had initially thought possible).
True, the extra RAM in the 1000TL is neither EMS or XMS. It isn't video RAM either though. In Tandy's release of MS-DOS, there's a program that allows it to be used as a RAMdisk, nothing else. It cannot be used to locate the Page Frame foe EMS, this has to be located elsewhere. (The LIM 4.0 Manager allows the user to select the block of RAM for the Page Frame in case of conflict).
Now, I'm still very confused on some other things...and I'll get to the Tandy specific stuff in just a minute, but knowing the basics would really help.
No worries, everyone is a little confused by this point:wink:
From reading through the thread you linked, it is my understanding that the XT cannot even use EMS to load device drivers into Upper Memory as can be done with later x86 CPUs, only used as a RAM disk or with software explicitly designed to use it (Lotus 1-2-3, Windows 3.0, etc.). Why is this? Is it purely because of the 16-bit address bus and 1MB limitation of the XT/286XT architecture - or is it because of the inability of the CPU to function in anything other than Real Mode? In the case of the 286XT, is the situation that the chip does in fact have a 24-bit address bus and the ability to operate in Protected Mode - but some kind of limitation on the XT motherboard is preventing it from doing so?
Some EMM boards/managers could use the upper memory area for device drivers, some not. The RAMdisk only limitation is a Tandy thing (and a few other manufacturers). OTOH, nearly all EMS boards would allow all or part of their memory to be used as a RAMdisk.
In order to use EMS (after it's installed and set up correctly) the app still has to be written to use it.
The 8086/8 is limited to 1Mb of RAM due to having only 8-bit addressing. That's why EMM has to fool the CPU into thinking it's looking at Conventional Memory all the time (which it is, actually). The 286, OTOH, has 16-bit, external architecture, but some manufacturers (like Tandy) didn't jack-in all of the address lines, making the chip essentially a very fast 8086. (Still operating as a 286 internally, but running into an I/O bottleneck). Tandy, et.al. just wanted to make a faster machine without going to the expense of implementing a full-blown AT-compatible. (There was a niche market for such machines, not everyone needed a more expensive AT class machine at the time). There is no difference in the chips, just the way they're hooked up to the board. The 286 itself is not limited to 1Mb, only the 8086/8 is.
Of course, to add to the confusion, IBM came out with a machine they called the XT-286, which was a fully At-compatible, basically stuffed into an XT form-factor case.
If the former is the case, and the 286XT chips are different from standard 286 CPUs, would replacing it with something like the 486 chip I've also ordered eliminate this barrier? I realize in my particular case, there is no room for additional memory on the motherboard beyond 640k so it's all theoretical. I'm just curious. Finally, is there any software solution to using an EMS board as XMS in conjunction with newer processors? I seriously doubt it....but who knows. Would this even be a possibility?
I'm not sure, I'm less familiar with the 286 - 486 upgrade, but I am sure that the 486 upgrade would still be limited to the 16-bit I/O of the 286 mainboard, rather than the 32-bit of the 486. Not sure of any other quirks tho. I don't even know if it can be done at all with one of the partially-crippled 286-on-a-8-bit-board rigs like the TL/TX, etc.
As for my own past experiences with the RLX - I had no idea that the CPU was a "real" 286, I thought it was basically identical to the TL/TX models in architecture. It was an "-HD" model, so 1MB was standard from the factory. We're going back ten years (or more) here, but thinking back it might be possible that I was trying to install Windows directly on top of the ROM-based Tandy DOS (3.3?) that came with the RLX which wouldn't have loaded HIMEM.SYS at all and possibly screwed up the install. Otherwise, maybe I just got a bunk machine from Radio Shack. I dunno...having DOS in ROM saved a ton of conventional memory and I don't ever recall any DOS programs having trouble on it. Hence, I've never even thought about EMS/XMS usage until now!
The RLX is a completely different animule. It's a 286 chip on a (mostly) 286 board. The 16-bit bus is implemented on the board, just not carried out to the ISA slot. All the communications between CPU and memory, as well as other components on the mainboard are via this 16-bit bus (sort of a local bus), which speeds things up even more.
For anybody else in the same boat as me,
this page was very helpful.
Hope that answers most of your questions, but I'm sure we haven't covered everything. Anything else I can help with, holla at me.
--T