• Please review our updated Terms and Rules here

8-Bit IDE Controller

I don't think it's his computer.

Oh... I'm not actually form an english speaking contery, but I thought a person actually owned a thing when (s)he used the word "the" instead of "a" before an object.

HOWEVER I might be wrong, and I don't want this topic to get off-topic, so I'll post a link to some information I just found. I don't know if you already know the information ,but for those who just are curious about the project, the information on the site would be a good explanation: http://www.pjrc.com/tech/8051/ide/wesley.html
 
Oh... I'm not actually form an english speaking contery, but I thought a person actually owned a thing when (s)he used the word "the" instead of "a" before an object.

HOWEVER I might be wrong, and I don't want this topic to get off-topic, so I'll post a link to some information I just found. I don't know if you already know the information ,but for those who just are curious about the project, the information on the site would be a good explanation: http://www.pjrc.com/tech/8051/ide/wesley.html

not quite, in the case of his post he used "the" as in the card, in a general sense. it is correct to use it that way as well. english is a very sloppy language.

:mrgreen:
 
sIDE IDE controller card

sIDE IDE controller card

Hi Gang !

Per just recently informed me of your August group. I own the XT computer with the sIDE 8/16 IDE controller card, and now that I have been made aware of what is trying to be done, I will dump the BIOS ROM, and get some quality scans of the card to post to a webpage for your use(s).

Great website, great discussions, great that I "found" it, thanks to "Per" !

I'll be in touch !

bobwatts
EartH
 
Hi Gang !

Per just recently informed me of your August group. I own the XT computer with the sIDE 8/16 IDE controller card, and now that I have been made aware of what is trying to be done, I will dump the BIOS ROM, and get some quality scans of the card to post to a webpage for your use(s).

Great website, great discussions, great that I "found" it, thanks to "Per" !

I'll be in touch !

bobwatts
EartH

Are you the Bob Watts in Ohio?

--T
 
Oh... I'm not actually form an english speaking contery, but I thought a person actually owned a thing when (s)he used the word "the" instead of "a" before an object.

Unfortunatey, us peeples in Nglish-speeking countrys (specialy USA), do'ntn always tawk much good inglish. R ritin' skills are also attrocious, abd don't even ask bout ar spelin...!!!

--T
 
Unfortunatey, us peeples in Nglish-speeking countrys (specialy USA), do'ntn always tawk much good inglish. R ritin' skills are also attrocious, abd don't even ask bout ar spelin...!!!

--T

Did you read the rest of my post? ;)

I would rather blame my english teacher than blaming you for spelling. :D
 
Hello !

Yes, I am the bobwatts in Ohio, USA, EartH.

But you're not supposed to know that. The statute of limitations has not run out on some things yet.

bobwatts
EartH
 
sIDE BIOS ROM

sIDE BIOS ROM

Hi Gang !

Finally got the 'ol WhiZZbanG XT out of deep deep storage. The last time this thing saw light, it performed flawlessly. It had been sitting since sometime last century, and hadn't seen the light of day for at least 6 or 7 years.

Naturally, this time I had some problems. First off was operator error. I plugged in an AT keyboard. :rolleyes:

Sat and stared at the "keyboard error" for a couple of seconds, then figured it out. Shut down. Went searching for an XT keyboard ( I know, but I rarely keep one handy ), and plugged that in. :mrgreen:

( how aggravating to use an old IBM XT keyboard. Nothing is in the "right place". :sly:)

Noted that the boot up time was pretty extended, but finally it mentioned that it was going to go ahead and start DOS 6.22. Fine. What the heck, it's only 10MHz, and it's probably not happy about being disturbed.

Went back to WhiZZbanG One, got the PCJRCART.EXE file, and inserted the floppy. ( remember, I have a hi-density controller in this World Class XT, and it supports a 1.44 drive, as well as a 360K ).

Since I had the computer sitting sideways to me, I didn't notice that any floppy drive lights were lit. The floppy drive didn't work. Dammit. :sneaky:

Fine. Shut down, take apart, and become PC Tech. Simple things first. Remove card, stare at it, and threaten it. ( no cuss words yet.... ) Clean contacts, and re-insert.

Reboot computer, starts a LOT faster,( obviously, it was looking for flop drives earlier ) floppy drive lights, and now a message is on boot up concerning the floppy controller, as well as the sIDE controller, and BOCA memory card. ( and the VGA card ). Now we're cooking! :p

Ran the PCJRCART.EXE program, dumped the ROM, and sent the files to PER. As soon as he "approves" of them, I'll pull the sIDE card, and get some better pictures, or scans, whatever it takes. I have a really good camera, and it might do the job, but if not, I can scan the thing.

At this point, if ANYONE wants to see something, let me know, 'cause when I get done with this little project, this computer goes back into long term storage. It's very aggravating to dig it out, and unwrap it. :twisted:

Great project, and put me in line for a controller card if it works out !

bobwatts
EartH
 
Here is the HDD BIOS file. There was also a system bios, VGA Bios and a FDD bios, but I figured they wheren't interesting in this thread.
 

Attachments

  • HDD BIOS.zip
    3.5 KB · Views: 2
Last edited:
thank you thank you thank you thank you thank you thank you thank you

I've started disassembling the BIOS already. Unfortunately i'm insanely busy at the moment, but this is going to be a top priority task for me to complete.

The images look really good too, I think we can identify the parts and pick apart some of the traces fairly well.

i'll post back more when I get somewhere with the BIOS...

Edit sometime later:
Here's an important snippet of code (IMO)
Code:
                mov     cx, 256
loc_C8437:                              ; CODE XREF: sub_C83FC+4Bj
                mov     dx, 360h        ; data register
                in      al, dx
                mov     es:[di], al
                inc     di
                mov     dx, 368h        ; upper data register
                in      al, dx
                mov     es:[di], al
                inc     di
                loop    loc_C8437

So, it looks like the standard IDE registers are being mapped by this card at 360-367. Other code snippets appear to match up when it's checking for busy, seek, etc.

Since it's 8bits only, the upper 8bits of the data are being decoded at I/O 368, and this code is reading both ports and merging the data in memory. This is pretty much exactly how I thought it should/would work, so yay.
 
Last edited:
hey gang,

the BIOS disassembly is going really well. I'd say I'm about 1/3 finished or better already.

I've come across a few things that I think might require some input:

1) there's code in here for read/write precompensation, and a lot of heavy duty status and error checking while it waits for seek completes and things like that.
With newer hard drives, a lot of this stuff is really pretty useless, especially the precomp.
Do we keep this stuff in there, or optimize it out? We'd break backwards compatibility with ancient IDE drives, but c'mon, if you're putting an IDE drive in an XT, why not use one that is > 40MB and utilize a modern drive's capabilities? Nuking that stuff will get us a smaller option rom, and probably faster performance since it won't be doing so much overhead.
(this can obviously be changed anytime)

2) There's an interactive menu at c800:5 that allows the user to override parameters of the drive. Do we care about it? I suspect it's for incompatibilities and operating system hacks and probably not important anymore. I've so far avoided it, but I'll comment it and flesh it out if people want.

3) there's support for a few obscure disk functions, like read w/ ECC data and the like. I've already fairly well documented them and disassembled them, but does anyone use that stuff anymore?

Oh, and BTW: this thing is using PIO only to do all data transfers. upgrading it to DMA would require more work. Probably doable, but I'd need to do some research on that.
 
Would eliminating the older code break compatibility with Tandy 1000-Series machines?

--T
to be perfectly honest, I have no idea. I'd think a DMA/PIO option would be selectable via jumper instead of requiring only DMA. The other code eliminations are more IDE drive specific than platform specific, so I think those are safe to eliminate, provide you use a drive that is ATA-3 spec compliant or higher.
 
I don't know anything about how IDE works, however, Will it be possible to use the original ROM if I don't choose to have DMA amd swich (replace the IC) to the custom ROM if I want DMA?

In other words, will the card you are planning and working on be compatible witht the original ROM as well as the custom ROM you are making?
 
Back
Top