• Please review our updated Terms and Rules here

I wish to create a new DMA/RAM expansion card for the Tandy 1000 line.

Speaking of monitors, I should probably open a new thread about it when I get stuck into actually worrying about it, but mucking with a monitor was yesterday's project and it's raised (well, actually renewed) concerns that the RGB output on my EX might be blown. TL;DR, I opened a thread a while back about a dead Commodore 1084 that I got running by wiring around the switch, but upon connecting it to the EX with a long skinny printer cable found that it appeared that the "Green" line of the RGB port was either not registering at all or was doing so very weakly. Yesterday I built using shielded cable cut from an old KVM cable a short "proper" CGA cable, and the problem still persists. So either the output of the EX is hosed or something's wrong with the input on the 1084.
Break/disconnect pin 7 on your cable. From the Tandy side, this carries +12V, and should not be connected to the 1084.
 
Break/disconnect pin 7 on your cable. From the Tandy side, this carries +12V, and should not be connected to the 1084.

Really? Geeze...

Looking in the tech manual for the EX it says the RGBI pinout has "Green (Monochrome Video)" on pin 7. The original 1000 service manual *does* say that machine has +12 on pin 7. I'll cut it and see if it makes any difference. The 1084D pinout I can find says that pin is composite sync in analog mode and N/C in digital. if it really is +12v I'd think I would have melted the monitor spectacularly....
 
Looking in the tech manual for the EX it says the RGBI pinout has "Green (Monochrome Video)" on pin 7.
This actually makes more sense. I had +12V in my notes from a few years back, but don't recall where I'd even gotten that information. But yeah, the later service manuals just have it and pin 4 tied to the same green signal. The fix is the same, in any event. Here's hoping for success. :)
 
I had the machine sitting right next to me so I went ahead and tossed the meter on it, and... good news, it wasn't +12v. If the original 1000 had that on the port I'm guessing Radio Shack got more than one nastygram after someone connected an MDA monitor and saw it go nuclear. :nervous:

The meter was telling me it was seeing something on it, something under a volt. That may well be good news, because on a mostly black boot screen you'd expect to see a little on green, not a lot. Da**it, now I need to go get the 1084 out of the garage...

And, dude, that was totally it.

tandy64.jpg

It's amazing, I can have color and actually read the screen at the same time now! Thank you for cluing me in on this; I assumed that the RGBI pinout was standard and thus 7 was NC. This is definitely something everyone working on a Tandy 1000 needs to keep in their "tips and tricks" book.

Now I just need to find a replacement switch for the @#$%ing 1084 so I don't have to unplug it to turn it off...

(EDIT: Now I'm wondering what the deal is with all those oblique references to "350 line mode" in the manual are. I thought the SL/TLs were the first that included actual Hercules/MDA compatibility, do the "*X" generation actually have some strange hidden capability to drive a mono monitor?)
 
I'm not a 100% sure, I'm actually using a male to male serial cable. :D

That's interesting, because the gender combination with my 1084 needs a male-to-female cable. Commodore made so many variations of the 1084 I wouldn't rule out that there might be different gender plugs on some of them. I have two 1084s that came with an Amiga lot, the "D" that has the DB9 for RGB, and an "S" that uses a gawdawful 8-pin DIN plug... that being the reason I haven't dug that one out.

Anyway, I got the same results with a straight-through serial cable as my custom built one with all pins present, so at least with this combination there's something on the monitor end that pulls down the green line because of how it's connected to both pins 4 and 7. That crossover is definitely not present on a real CGA card.
 
An interesting addition to the XT-IDE firmware might be a bare "disk tools" menu that'd let you "low level format", IE, zero fill, an attached device...
I'd add that to the to-do list on the XT-IDE Universal Bios thread, because that's definitely something that would be useful.

Yeah, the 1000 keyboard is more novelty than practicality. Heck, Sierra games even had a setup option to select the Tandy keyboard over an IBM/PC keyboard. If I had the option, I'd swap it out for another, but Tandy's keyboards do their own thing. I recall a thread where somebody was discussing the possibility of doing up a converter to use a standard AT or PS/2 keyboard in place of the Tandy, but I don't recall if anything became of that. They send different signals, so it's not as simple as a pin to pin adapter, you'd need a micro-controller.
 
The prospects for an alternative are of course all the more dire for the EX/HX because not only is the keyboard built in it's just a matrix directly connected to the mainboard. I have a vague memory that there exists some kind of TSR program that helps resolve a few compatibility issues, I'll poke around.

(Meanwhile, if I really want a dos shell I guess I should dig up a copy of Norton Commander.)

I have to say I'm flatly amazed at how well the XT-CF works. A number of programs (especially Sierra software) that were neigh unplayable off the floppy emulator are fine running off the CF. (I mean, yeah, 286 CPU would still be great, but...) Even Lemmings plays basically fine.

Kind of a trip playing this stuff on a computer that I built this much of...
 
Kind of a note to self: I've been mulling this over back and forth, and I think I've about convinced myself I should spring for the additional decoding it'd take to make the flash memory occupy only 32k from C8000-CFFFF instead of taking up the whole C-page. Now that I'm kind of convinced that having UMBs in a 1000EX/HX might actually be useful I think it might be worth reserving some unused memory space for use by other peripherals that want it. (In particular it'd be nice, if such a thing ever exists, to have room for the buffer of a Tandy bus ethernet card without having to disable either half the UMBs or the *only* UMB you get on an HX. It'd also make it possible for this card to coexist with a VGA card for those so inclined.)

Thinking of piggybacking another 7400 onto the existing one to give me the gates to make it so on the prototype. If nothing else this would be a useful experiment to see if the SMARTWATCH software finds the calendar if it's at x8000, not just x0000.
 
While you're playing around with UMBs, do you have any idea what those little Hi RAM blocks are for? The EX/HX both seem to have a 16K block at BC00h, and my Tandy 1100FD as a 32K block of hi RAM at A800h as well as the 16K block at BC00h.
IMG_20190830_194246604.jpg
Forgive the lighting quality. The 1100FD has no backlight and it's even worse without the flash (cellphone cameras suck).
 
Huh, I have no idea why the 1100fd would have anything unusual in that region. It just has a plain CGA video system, right? (Not, say, one of those 400 line systems you found in quite a few laptops and fewer desktops?)

I was wondering about the phantom RAM at BC000 myself. I believe that when a Tandy 1000 is displaying a 32k-page video mode that's where the second half of the active video page is mapped, but I wasn't sure why it was showing up with only the default 16k allocated. I just now popped into BASIC and did some PEEK and POKE-ing, and I think my verdict is it's a phantom copy of the 16k page at B800. Executing "POKE 1,x" changes the color of the first character cell on the text screen if I set "DEF SEG" to either &HB800 or BC00.
 
Last edited:
Yeah, it does have CGA (with inverted colors), but I recommend playing games in monochrome if you're epileptic. It changes, either the AC frequency or the voltage (I don't remember which), of the pixel to get the two intermediate shades of the CGA pallet, and the flicker is noticeable.

Anyways, it would make sense if that extra 16K is for a 32K video page, the display can do 640x200. Question is what the 32K page at A800 is for.

I believe the 1100FD, rather than taking a hard drive option, used it's internal slot for a 128K hi-RAM card. But documentation on this laptop is scarce, and I've seen neither hide nor hair of a technical manual to get a pinout on that connector. The 1100HD has a 44-pin laptop IDE header, but the 1100FD's internal header is proprietary. If it has the necessary control lines, I'd rather make a CF-card controller instead of a memory board, but either possibility would be open if somebody had a pinout, or at least a schematic. Might just have to probe it out manually (project for later).
 
I believe it's at least theoretically possible to run CF cards in a memory-mapped mode instead of port I/O, but I'm fuzzy on the details. (I've seen minimal 8-bit interfaces using it, I think to do this you need to wire directly to the 50 pin socket, it won't work through a 40 pin adapter.) I don't know if the XTIDE BIOS has any support for this configuration, which takes up... 2k? of address space. Theoretically at least it seems like that could be an option if the connector has non-multiplexed address, data, and memr/memw lines.
 
As you say, I suspect it's just a trunchated XT bus header, but I'd need a pinout to be able to make use of it one way or the other.
IMG_20190720_180723415.jpgIMG_20190720_180808109.jpg
Fortunately, this machine comes with 640K onboard, so it's still pretty usable "out of the box."
 
I believe it's at least theoretically possible to run CF cards in a memory-mapped mode instead of port I/O, but I'm fuzzy on the details. (I've seen minimal 8-bit interfaces using it, I think to do this you need to wire directly to the 50 pin socket, it won't work through a 40 pin adapter.) I don't know if the XTIDE BIOS has any support for this configuration, which takes up... 2k? of address space. Theoretically at least it seems like that could be an option if the connector has non-multiplexed address, data, and memr/memw lines.

In memory mapped mode, you'd address it like a ROM, I think.

Somebody figured out how to do it for a single board computer http://xetexracing.com/page3/page38/page44/page45/page45.html

But anyways, that's a project for another day.
 
Somebody figured out how to do it for a single board computer http://xetexracing.com/page3/page38/page44/page45/page45.html

Huh. That's not the way I was thinking of, how he did it. His mapping is actually keeping the card in a mode where it does transfers through a single byte window. (It's clever, though, uses less space.) There's another mode (found it documented in a SanDisk datasheet just now) that presents the currently addressed block in two 512 byte windows (for read and write respectively) that allows you to do address-incrementing block moves, etc, with the CPU. The I/O registers are laid out in the other 1k of space.
 
You don't have to rely on the CF card to do such things. JR-IDE maps the ATA/IDE register map into PC memory space just above the option BIOS and aliases the data register at 512 consecutive address locations in PC memory space. It's so rep movsw can be used to transfer an entire disk block on an 8088 without intermediate instruction fetches slowing it down in a traditional loop.
 
Back
Top