• Please review our updated Terms and Rules here

1000HX max performance build

Respectfully, my first thought was, why 16:9 when 4:3 monitors are so cheap? But the Fraser River Valley (I have family that very successfully homesteaded on the east bank somewhat south of Quesnel) probably doesn't have the cheap thrift shops that Portland and Chicago have.

Following your work with interest and pleasure. I may have to drag my HX out again.

Mike

Quesnel is on the Northern end of the valley, I'm on the southern end, close to the border. We have cheap thrift stores, the problem is that they don't carry much electronics. The BC Bottle Depot has, at least for the past decade, maintained a VERY active electronics recycling program, and that's where most of the good stuff ends up if not on eBay or Craigslist. The most I usually see in the thrift stores is power bricks and assorted cables, the ugliest of PS/2 multimedia keyboards (that have a hope of still being useful in a modern system) maybe a joystick or two, or the occasional boxed CD-ROM game. Haven't seen floppies in the wild for years.

Sadly, most of the people who work at the Bottle Depot don't know anything about retro/vintage electronics, other than that it's old. They don't let non-employees back there to sort through stuff, so it just ends up getting palleted up, regardless of the vintage, and sent for scrap.
 
Congrats, amazing work! I wish there was a project to mod the Tandy 1000 SL with 768Kb of memory, like the TL and the RL. It's my only gripe with the SL, having to steal conventional memory for the video.

The HX steals conventional mem for video as well. One of my "to do" items in the software setup /optimizing the config steps is to see if this is mitigated by using the VGA card when running CGA games. Since the card has it's own memory it should not be using main memory of video RAM. The obvious limitation is that while the VGA card can run CGA it cannot run TGA so for games that support TGA over CGA I will pull the card and us the onboard TGA. Thankfully most of those games aren't the max memory hogs.

You could always try on of these: https://texelec.com/product/lo-tech-1mb-ram/ It is pretty configurable and cheap. I have one that I am going to play around with on the HX when time permits.
 
You should be able to use Check-It 3 to make a memory map and tell if it takes that 16KB while using the VGA card. Fortunately, VGA cards are backwards compatible with EGA, as far as I recall, which was just as good as TGA, so there shouldn't be much problem with most games.
 
That is exactly my plan. For CGA/EGA/VGA the VGA card is the way to go, should I have a TGA game or app I can pull the VGA card and use a CGA-VGA converter and display it on a modern monitor. I enjoy actively using these vintage PCs, the secret I have found to using them frequently is making them practical to use Via the modern storage, modern monitors, etc.
 
In my case, I have a bench dedicated to having my 1000HX and 1000RSX permanently set up, and I have matching Tandy CRT monitors for them. However, I'd also like to get one of the aforementioned CGA-VGA boxes, for when I travel to the monthly meetups, so I don't have to lug the CRT around.

As for using modern storage, only to a point. I don't like making it TOO convenient to copy files around, because the tedium of using floppies is part of the experience for me. However, I'm not opposed to using solid-state storage solutions, say, in an 8088 system where working MFM hard drives are expensive and hard to come by. But I like to keep the size appropriate to what it might have had in the day. For instance, the Tandy 1000HX wasn't made for a hard drive, but aftermarket kits did exist to install one, and a 16 or 32MB CF card would be just the size it might have had installed.
 
Last edited:
The build is mostly done for hardware and software. I am curating a list of games and apps for VGA, CGA, and TGA and sorting those into menus. So far it is a solid success and when I get back next week I will finish up the terminal software and modem configuration and keep adding to the games lists in each graphics mode category. Quite a few games ran far better than I thought using VGA mode, when I had my original VGA plus card back in the day I ran a few games and utilities and from what I recall it worked ok, and it was great for BBS use, but now with practically every game made available running through and finding the gems is really easy. And of course all the CGA stuff still works on the VGA card, only the TGA stuff needs a converter to go to a modern monitor. I also did some initial benchmarks and things seem to be about as expected. If someone can confirm what I am seeing in the memory map, it seems as if the video RAM/ROM is all pushed out of the lower 640k and the 1000HX normally uses some of the main RAM as video RAM. Unless I am mistaken it seems that running the VGA card frees up that memory, which is what I was hoping for.

Quite a few games run at a good speed and look fantastic coming out of this XT class machine! For whatever reason the Sierra stuff like Police Quest/Kings Quest etc. seem to work really well.

IMG_1195.jpg
IMG_1196.jpg
IMG_1201.jpg

CGA Vs VGA on the HX!

IMG_1192.jpg
IMG_1191.jpg

Some benchmarks and mem maps
IMG_1186.jpg
IMG_1187.jpg
IMG_1188.jpg
IMG_1189.jpg
IMG_1190.jpg
 
Quite a few games run at a good speed and look fantastic coming out of this XT class machine! For whatever reason the Sierra stuff like Police Quest/Kings Quest etc. seem to work really well.

Tonight I've been doing some experimenting (the bulk of the results of which probably belong in another thread, maybe?) on my EX equipped with my prototype RAM board (and now prototype CF daughterboard) and I'm really starting to wonder if it might be legit to claim no DMA as a selling point for Tandy RAM expansions. In a recently necro-ed thread I posted some TopBench benchmarks from my EX that showed it running about 14% faster than an HX similarly equipped with a V20 CPU. I saw your post with the Check-It benchmarks so I ran them on my machine too just now, here's my "CPU" and Disk" results:

check_it_cpu.jpgcheckit_disk.jpg

Similarly to TopBench the CPU test indicates about a 15% difference. (I don't know why that would also translate to a 30% improvement in CF performance; what version of XT-CF are you using? The guts of my daughterboard are based on the XT-CF-Lite v2.) The difference frankly surprises me because I always thought memory refresh took perhaps a couple percent of the available cycle time. I can't think of anything different about the EX and HX base hardware that could explain it.

Re: the discussion about the VGA card freeing up that 16k of RAM, the other thing I was alluding to is the main thing I've been playing with this evening is seeing if the UMBs on my RAM card are good for anything other than the RAMdisk software Tandy packaged with the rare 512k version of their Plus RAM card, and I'm thrilled to preliminarily announce that if you happen to have UMBs similar to what you'd get from one of those lo-tech 1MB cards you can get a 610k TPA using USE!UMBS.SYS and DOSMAX.EXE even with Big Blue sniping 16k for the default CGA framebuffer.

DOSmem.jpg

Maybe there's even better ways to skin this cat with QRAM or whatnot, this was my first try. DOS was plain-vanilla MS-DOS 5.0. I ran a few things using Tandy Graphics modes like Hoyle's Book of Games and they work fine, so there's nothing "hinky" going on. It's kind of crazy for me to see DOS take up only 14k of base RAM. (Checkit's memory map, which recognizes the UMB driver, shows about 50k of the 128k of UMBs available used. "Devicehigh" works for the one device driver not involved in the memory mapping... I'm really chomping at the bit to get a serial port so I can try loading mouse and possibly ppp/tcp drivers high.)
 
I found it curious that there were three DMA channel entries rather than just the one for floppy, I don’t know quite what to make of that

I do have an aftermarket memory card that does not have a DNA chip, I could try that by comparison and see what the behavior is, I also have an aftermarket memory card with a different DNA chip in town and he uses and I could try that too just in case any curious results show up. I’ll be back Monday and will do some more testing, and get the two boxes I need to mail mailed. I will check then and see what version of XTIDE I am running and post that here.

I do have one of the one megabyte expansion boards but it doesn’t fit well with all the other cards I’m running, I could certainly swap it out for testing though. I do have the dual serial port card that I’m using for the modem and mouse if it would help I could test those drivers loaded high, what method were you thinking about trying? I could try it Monday or Tuesday and post the memory map.

Oh, I’m also running DOS 6.22 if that could account for anything.
 
Last edited:
In a recently necro-ed thread I posted some TopBench benchmarks from my EX that showed it running about 14% faster than an HX similarly equipped with a V20 CPU.[/url] I saw your post with the Check-It benchmarks so I ran them on my machine too just now, here's my "CPU" and Disk" results:

View attachment 55602View attachment 55603

Is the base IBM-XT at 4.77MHz or 7.44MHz? The CF-card being faster is no surprise, it's solid-state after all.

I think what we were discussing earlier about the single AS6C4008 (8-bit, 55ns) being fundamentally much faster than the Tandy card's 4-bit/1-bit (100/120ns) array will make up for the lack of DMA. I'll need to do my own tests to do a proper comparison once I get the DMA circuitry worked out for my own project.

It's annoying when work gets in the way of your hobby. Been spending my free time working on maintenance on my landscaping equipment since Friday, so I should have time to play with THIS stuff tonight. Unless something else comes breaks :-x
 
I I do have one of the one megabyte expansion boards but it doesn’t fit well with all the other cards I’m running, I could certainly swap it out for testing though. I do have the dual serial port card that I’m using for the modem and mouse if it would help I could test those drivers loaded high, what method were you thinking about trying? I could try it Monday or Tuesday and post the memory map.

Since you have one of the two-ISA slot risers (correct?) an interesting, if really annoying-to-set-up experiment to try would be to yank all the other cards and configure the 1MB Lo-Tech to provide a similar RAM layout to what I have. (IE, map RAM from 0-384k and in the D page; E is of course occupied on the HX.) If you run with just the low-tech configured like that and your CF card it should effectively be the same what I have, I'm curious if it would bump your benchmarks up to a tie.

I am wondering that the deal is with that aftermarket card you have that doesn't have a DMA chip, you posted a picture of it at some point, right? Curious if it has static RAM or if it using some other technique to provide refresh to DRAM chips. (Don't quote me on this, but I think IBM PC sidecars have DRAM but refresh it without a DMA controller? I'm not sure how they arbitrate between refresh and CPU cycles, though.)

Oh, I’m also running DOS 6.22 if that could account for anything.

What does "mem" and "mem /c" tell you in terms of how much free memory your setup (with the VGA card) has? I know it's kind of comparing apples to oranges since you have 6.22 and I've got 5.0, but I don't *think* one takes much more than the other for a clean boot. For my system if I boot with the UMB management disabled (but otherwise the same config.sys) I get:

Code:
    638976 bytes total conventional memory
    638976 bytes available to MS-DOS
    580064 largest executable program size

While with USE!UMBS, DOSMAX, and DOS=high,umb I get:

Code:
    638976 bytes total conventional memory
    638976 bytes available to MS-DOS
    624480 largest executable program size

That's a 44k improvement in free memory(!). Presumably with a VGA card your baseline would be 16k larger. (Because, yes, having it does disable the base-memory stealing.) Unfortunately at the moment my card wouldn't be compatible with a VGA card unless the BIOS could be copied into its onboard flash and the socket on the card disabled.

I should probably start a new thread to talk about UMBs in a Tandy 1000. Basically I was coming into this wondering if there might be some sort of dealbreaker because I've seen several reports that UMBs didn't "work right" on their T1000s.
 
Is the base IBM-XT at 4.77MHz or 7.44MHz? The CF-card being faster is no surprise, it's solid-state after all.

In the disk results I was wondering about the 30%-ish difference Check-it claimed between RGR's setup and mine. I'm going to guess that it's not that I have a faster CF card, I think the card I'm using is around 15 years old. The XT-CF-Lite entirely just uses polling I/O, no interrupt or DMA, so it could be that whatever difference there is in RAM memory speed is somehow getting "double counted" in the software loop that pulls from the drive.

I think what we were discussing earlier about the single AS6C4008 (8-bit, 55ns) being fundamentally much faster than the Tandy card's 4-bit/1-bit (100/120ns) array will make up for the lack of DMA. I'll need to do my own tests to do a proper comparison once I get the DMA circuitry worked out for my own project.

The thing is, I don't think there's any arbitration circuitry on the original cards that would be telling the CPU that the RAM is slower. Lacking that if the RAM bank was *meaningfully* slower than the AS6C4008 (IE, not able to respond at "full blast") it'd just produce errors, not run any slower. (I think I did find a figure for how long the memory cycle is in the EX and it was pretty darn leisurely, something like 264ns?) The only explanation for the SRAM being faster I can think of is the bus cycles that are stolen by the timer chip firing off dummy DMA cycles every... 15ms? for refresh. That does technically entirely lock up the bus so far as the CPU is concerned; it can't read or write either I/O or RAM while the DMA chip is doing something with the bus. The reason DMA makes things like floppy I/O faster despite that is it keeps you from having to *task switch* the CPU to try to handle both floppy I/O and whatever else you wanted to overlay with it. (IE, the hardware is still single-threaded so the floppy controller and CPU have to take turns but you don't have to multi-thread the CPU so it's frantically switching software loops.)

Of course, I do say this without knowing for *sure* if there might be some arbitration circuitry that can independently insert wait states hidden in that custom chip Radio Shack uses instead of a generic Intel DMA controller. I *think* it just has the address demultiplexers, etc, in it though?

I don't imagine it's easily possible to disable all the RAM on a Radio Shack card and just keep the DMA controller. An interesting experiment would be to do that, supplement the missing RAM with SRAM, and then benchmark it. My guess is because the BIOS sets up the memory refresh timer cycle if it detects the DMA chip it'd initially benchmark the same as the card with DRAM on it. Then you could write a little program that disables that refresh cycle. (There already exist programs for reducing its frequency on XTs, in a "living dangerously" attempt to try to eek a tiny bit more speed out, should be straightforward to shut it right off.) Then I'm guessing it'd go "full speed". And presumably still work to accelerate floppy transfers or work with... whatever else you have that can actually use DMA.

It's annoying when work gets in the way of your hobby. Been spending my free time working on maintenance on my landscaping equipment since Friday, so I should have time to play with THIS stuff tonight. Unless something else comes breaks :-x

Totally keeping my fingers crossed. I shouldn't have all the fun. ;)
 
Well, if the mem read time is 264ns, then memory speed isn't going to mean a darn thing.
I gotta read up on my theory.

I don't imagine it's easily possible to disable all the RAM on a Radio Shack card and just keep the DMA controller. An interesting experiment would be to do that, supplement the missing RAM with SRAM, and then benchmark it.

Just for shits and giggles, I pulled the RAM chips and tried running the Tandy card without the RAM. It detects 256K, beeps, then goes to a blinking cursor and hangs there. Also tried flipping the 128K/256K jumper, and all it did was change the blinking cursor between 40/80 column mode (how?). So no, you can't run the DMA portion of the card separate from the RAM. All of the decoding logic is in the ASIC, and the only "option" is the jumper that tells it whether you've got just the base 128K expansion RAM or the additional 256K on top of that.
 
Just for shits and giggles, I pulled the RAM chips and tried running the Tandy card without the RAM. It detects 256K, beeps, then goes to a blinking cursor and hangs there. Also tried flipping the 128K/256K jumper, and all it did was change the blinking cursor between 40/80 column mode (how?). So no, you can't run the DMA portion of the card separate from the RAM. All of the decoding logic is in the ASIC, and the only "option" is the jumper that tells it whether you've got just the base 128K expansion RAM or the additional 256K on top of that.

Yeah, disappointed but not surprised. I hadn't dug into the card's specifics much, but given its low chip count it looked like that in addition to all the glue to make the DMA engine work that same ASIC has internal to it all the support circuitry for the DRAM, which includes the RAS/CAS address latches and, no doubt, an input/output buffer that's going to spit out garbage if you don't have any RAM behind it. :(

... Although I guess in theory you could kind of prove the theory that it's not the RAM itself responsible if you did a test in which you dumbed the Radio Shack card down to 128k, mapped another 256k between 20000h and 5FFFFh on a separate card, and ran some kind of software to test the performance of specific areas of RAM. (Code that could do that would also be interesting to run to see if the "Big Blue" RAM is actually slower than expansion memory of any kind.) If your SRAM fill in the middle of the memory map ran at the same speed as the bottom 128k then you'd know if it was the DMA cycles, while if it ran faster it would imply some kind of arbitration on the DRAM card. But, man, that sounds like a lot of work.
 
Last edited:
Back
Top