• Please review our updated Terms and Rules here

Leading Edge Model D and the XTIDE

RWIndiana

Experienced Member
Joined
Dec 18, 2010
Messages
52
Had a couple snags, but now it works perfectly!
First of all, I wanted the XTIDE to work with my current MFM controller. Apparently there was a conflict there with the default ROM addresses. An easy fix (I ended up changing it to E800h on the XTIDE). Obviously, MFM controllers have differences, so this may be useless info.

The Real Time Clock on the Leading Edge Model D (at least on my motherboard revision, CC2) conflicts with the XTIDE, as it seemingly uses the same IO port, so although the XTIDE BIOS would boot up and seem to be working, it could not detect any drives. I was informed of this in another thread that I started, and I confirmed it by disabling the RTC and watching the XTIDE work as it should.

This ended up being a simple fix as well. Jeff guided me through re-flashing the BIOS and I changed the IO on the XTIDE to the range 340h-34Fh in the ROM (of course, the DIP switches on the card itself also need to be changed to set the card at IO 340h). Behold, a fully functional Leading Edge Model D with XTIDE! Wonderful feeling. :)

I used the older idecfg.com rather than xtidecfg.com to flash the EEPROM, as I could not see the option to change the boot menu options with the newer version. I'm not sure what the fundamental differences are between the two, but it seemed to work fine.
 
Excellent news! It's great to hear other Model D users are up and running!

I've been having trouble after flashing the XTIDE BIOS with a newer version...I'm getting "unhandled software interrupts" in the address range of the XTIDE board. I don't get this problem with the original XTIDE boards, but as I discovered and you confirmed, the I/O ports conflict with the internal RTC, which I'd really like to be able to use! What version of the BIOS did you manage to get working, and if you wouldn't mind, could you provide an image of your configured BIOS?

If you can get me a working image and/or if I can get one working on my own, I'd like to post it to my personal webspace for any other Model D users looking to add an XTIDE card to their system. I've been thinking about starting a Leading Edge or Model D user group, since there seem to be a few people still running Leading Edge hardware, but not a lot of specific resources.
 
It was version 1.1.5 of the BIOS that is working now with mine. Although I used the 1.1.0 flashing utility. I can give you the image, although the address is basically all I changed, but you're welcome to try it! :) Perhaps I could email it to you?
 
Does the Model D and its anciliary equipment come on the market often? I am looking to replace the one I gave away... years ago.

Also, what might I pay for one in v. good to excellent condition?

Thanks!
 
Does the Model D and its anciliary equipment come on the market often? I am looking to replace the one I gave away... years ago.

Also, what might I pay for one in v. good to excellent condition?

Thanks!

You don't see them on eBay every day, but they're not super-uncommon. I picked up a second one as a parts model, but ended up keeping it whole as it was complete + great condition...I think I paid $35 before shipping.
 
update

update

Update: tried the XTIDE at IO 340h on my other Leading Edge which has BIOS version 2.10. XTIDE ROM failed to load, with the Leading Edge reporting an unexpected software interrupt. However, swapping the BIOS with my other machine (version 3.00) fixes the problem.

I'm not sure how or if I should try updating/reflashing the BIOS.
 
Update: tried the XTIDE at IO 340h on my other Leading Edge which has BIOS version 2.10. XTIDE ROM failed to load, with the Leading Edge reporting an unexpected software interrupt. However, swapping the BIOS with my other machine (version 3.00) fixes the problem.

I'm not sure how or if I should try updating/reflashing the BIOS.

That's exactly the problem I've been having. I believe both of my Model Ds have 2.10 BIOSes. If you can dump the BIOS ROM to a file and get it to me, I can burn it to new EPROMs. I'd be happy to send you one in exchange for the ROM image!
 
That would be great!! If you let me know how to dump it (sorry never done this before - sometimes the old can be new. :) ), I will get that to you ASAP.
 
Huh. That's interesting. I have a couple of Model D's, I'll have to check what ROM revision they have. If I've got the version 3 one I'll dump it for you Glitch.

-Ian
 
Awesome! If the weather clears up perhaps I can just grab the ROM from you. I've got a manual programmer that has a "production mode" for copying ROMs en masse.
 
Yeah - the two of us definitely need to hang out one of these days, especially since we live so close...

I've got several EPROM programmers, so copying it is no problem here either.

-Ian
 
Okay a couple questions before you two leave me in the dark here! :)
Are all EPROM programmers essentially the same or do I need a certain kind for older systems?
Do I need a specific type of chip to put the ROM onto (they all look similar to me) or are they somewhat generic?

If you still need the 3.00 image, I'll be glad to oblige, soon as I figure out how to extract it. :)
 
All EPROM programmers are not the same; your best bet would be to see if you can find a list of supported devices on the manufacturer's page. You would need a matching type of chip (for example, a 2732 is not the same as a 2532, but after 32kbit they tend to unify anyway). If you're looking for older parts and can't find them on Digi-Key, Jameco is a good bet.
 
Do you guys know how to use debug to locate free blocks of IO space and/or memory? What I'd do is put 3.0 in, take the XTIDE out, boot the machine up and run debug.
Poke around reading IO ports from various locations til you find a space that no one else is using. Likewise for the memory space that the XTIDE will go into. Once you find an open spot, you should be able to program the XTIDE controller to fit in there. Find a free memory space first, as it is easier to change the dipswitches on the xtide card to be where the open spot is. Then if the IO space isn't what the card is set to, you will have to reflash the BIOS on the card and change the dipswitches for the IO at the same time. Happy to elaborate on any of these details if needed. There's GOT to be a space in there for everyone to have the resources they need.
 
Hargle, I tried that today. No luck. Port 340 was already empty, but I tried several others just in case. The exact error on the Leading Edge (Daewoo) BIOS version 2.10 is sw interrupt 40 at E800h:1258 ("E800" is relative, obviously, but the 1258 is always the same). You can get everything to work and boot up by just hitting enter enough times to bypass a bunch of unexpected interrupt messages (the XTIDE menu is unreadable).

I have a couple of other motherboards, one of them has BIOS version 2.01 and another has 2.13. On 2.01, there is a sw interrupt error at E800h:1211. But it only happens once (on HDD detection), and after that everything works fine (HDDs are detected, XTIDE menu pops up, system boots). I haven't tried 2.13 yet, but I will update with the results when I do.


EDIT: Would it make a difference programming the XTIDE to use an interrupt? The default option there is to disable.

Edit 2: XTIDE card works on 2.13 without a problem! According to my research, it seems that 2.13 and 3.0 of the Phoenix BIOS used in the model Ds were the ones used for "fixed disk" models, though I'm just speculating from random snippets I've been reading. But there could perhaps be a correlation.
 
Last edited:
OK, I dug out a Model D, and pulled the cover off. Of course, they didn't bother to write the BIOS revision number on the chip itself, so I won't know what version it is until I drag out a PC monitor and plug it in. The chip is a 27128 - an incredibly common EPROM. I read it in and looked at the hex, I can see some recognizable text strings in there, and things like LEADING EDGE and some copyright dates, but no version number

So, maybe later today I'll hook up the computer and see what this is.

-Ian
 
Do you guys know how to use debug to locate free blocks of IO space and/or memory?
Some help with this would be good. I know how to use the d command to display memory (i.e. dD000:0 to display segment d000, offset 0), but am not 100% sure about the i command to read the ports. Trying different ports typically returns 00 or FF. How do I know if the port is in use or not? Does FF mean not in use?
 
Some help with this would be good. I know how to use the d command to display memory (i.e. dD000:0 to display segment d000, offset 0), but am not 100% sure about the i command to read the ports. Trying different ports typically returns 00 or FF. How do I know if the port is in use or not? Does FF mean not in use?

No, you don't even know that. Some I/O ports are write-only and return nothing when read. The only reliable way that I know of is to itemize what you know that you have on the bus and what I/O ports are used from the device specifications.

On the other hand there are several diagnostic packages that will map the BOS ROMs, as that's pretty easy. Some of them (the AMI diagnostics?) wll also itemize the ports used by known hardware devices (not 100% accurate, but it gives you a good idea).
 
Is the leading edge one of those machines that doesn't terminate un-claimed IO access with an FF? The Tandy 1000 series was like that-anytime you'd read back IO from an unused port, it would just return whatever random data was on the bus from the previous cycle, IIRC. This proved to be a huge PITA when trying to locate a free spot to place devices in.

Chuck is correct in that there really is no 100% accurate way to know what stuff is being used in your machine, however, you can get to about 85% accuracy by reading in consecutive ports and if the data returned is FF, the odds are pretty good the space is free. [as mentioned above, this breaks down quickly if all unused ports return garbage]

The XTIDE card uses 16 consecutive IO addresses, starting from whatever base address you selected from the dipswitches. There should be large swathes of unused IO space between 200h and 400h on most 8088 based machines where the XTIDE will happily fit into. You will have to check all 16 ports to verify that no one else is using them.

To check IO spaces, you just load up debug and type i <port#>, for example:

Code:
-i 300
xx
-i 301
xx
-i 302
xx
...

you will need to check from 300 through 30f. (do this without the XTIDE installed)
the xx's above are the returned data from that IO port. If it's FF, chances are good that it is unused. If all 16 ports are FF, then that would be a place where I would be confident in putting the XTIDE. If they are not all FF's then either the port is busy, or you've run into the same problem I did on the tandy where unused IO's return random garbage.
 
Update: XTIDE playing nice with Model D!

Update: XTIDE playing nice with Model D!

I completed Chuck's address swap modification to the XTIDE and discovered something: the Hargle BIOS v0.11 works just fine with the Model D! I went through a bit of trouble changing the default port base from 0x0300, and I'll post a separate thread/page on my site about that once I get a chance to write it up.

Anyway, the Model D is now happily booting a 128 MB PQI module with MS-DOS 5 on a modified XTIDE controller with Leading Edge BIOS v2.01 and RTC enabled! ROM base is 0xD000 and I/O base is 0x0340 as recommended above.
 
Back
Top