hi gang,
back from my vacation, and I see the wheels fell off while I was gone.
Here's a group catchup post.
I have the results of the "new" BIOS chip that was installed into my Acculogic sIDE card with pictures also.(not good )
Bob, that BIOS installed in your card is really, really old, so any of the results you're seeing are going to be discarded by me because so many changes have happened since I shipped your card back to you.
You should try to locate an eeprom burner and update your card's BIOS. You will need to use Per's setup utility to change the base IO address from the default of 300h to 360h before you flash the new eeprom in.
Alternatively, you could mail the eeprom back to me and I'll flash it for you, but that could get tiresome if we need to do this everytime there's an update.
I did not see a boot menu on this machine either. I started debug and dumped D000:0 and saw the code from the bios 0.9 that I downloaded. I then tried to re-flash the ROM. NOTHING. I got 30 minutes of D000 scrolling down the screen and nothing else. I tried server different options on the flash routine. Next step is to try this in a simpler machine. I have plenty to choose from.
I'm sorry to hear you're having such a troublesome time with this card.
Obviously it worked at one time, but sounds like something has corrupted the ROM on it. Even if 1 bit is wrong in the ROM, the computer will skip calling the option rom altogether, which is what I suspect is happening.
The scrolling D000 from flash doesn't make any sense either, so there's something weird with the flash program too. I've been using an older version of flash, and haven't been having any issues with it, so it's possible (sorry per) that something was introduced in the newer builds that caused this to happen.
Since I just got back from vacation, things are a little hectic for me at the moment, but sometime this week I will be able to try out the newest flash program, and if I can duplicate your results, can try to fix that, and I can also make available the flash version that I've been using. Worst case is that the eeprom itself has gone out to lunch, but it sounds to me like the flash program isn't even able to get itself into a position to try and re-flash it, so we don't know yet. You got double wammied by unrelated issues.
AFAIK, you're also the first to put this into a Tandy, so there may be all sorts of things going on that we're unprepared for.
I personally think we are ready to seriously consider a second run of the PCB design. Let me know when you go forward with this one and I will pre-order one :D
I am thinking the same thing. Better to spend 300 bucks and be safe than to spend 2k and have a bunch of hand re-working to do.
Especially if folks continue to buy them at prototype costs, then I don't get sunk too much, plus there is a possibility that if there are no changes between this next prototype and the real production run, they may waive the setup fees, since this is just another order of an existing product.
I had a similar issue in my PIII, it went away when I disabled the onboard IDE controller. That was with BIOS .05 I believe, havent re-enabled it since.
I am going to purchase my replacement parts this weekend and see about resurrecting my card and then I will test it with the onboard IDE enabled.
Good. I was just going to suggest that with 009 BIOS, you should be able to co-exist with the onboard IDE controller just fine. I should really test that with my 486 as well. In fact, on my 486, I would be using an onboard controller, plus the XTIDE, and the drive installed in the 486 is using an INT13 overlay. That should be really interesting to see if when booting to the XTIDE drive, if I can properly access the overlay driven 486 drive. wow, that could get scary.
My attempts at benchmarking are all over the map. I think I know why now.
You are turning off interrupts before reading a sector, and turning them back on after the 512 bytes are read. On a disk intensive benchmark where the time is spent reading and writing (as opposed to seeking) that causes a lot of missed timer interrupts.
Ah! that explains why coretest runs for several minutes, claiming only a few seconds worth of benchmarking results. It did that on the acculogic card too, so I assumed it isn't us.
I do wonder if turning off interrupts while reading that data is really required.
Obviously for safety it makes sense, but really, who else would be poking around at our IO addresses in the middle of a disk read? Certainly a quick experiment to keep interrupts enabled there and see what happens.
I've been doing a bit of testing - all of it was good. I've posted the results here:
http://wiki.vintage-computer.com/index.php?title=XTIDE_TestResults
Great results! Odd how 1 drive, that is pretty much in between your other IBM drives in size and likely manufacturing date, fails to read/write.
I'd love to get my paws on that drive and dig into it.
If you could, in debug, after issuing a read command which fails, then do IN port reads of 301 and 307 and lemme know the numbers there.
307 is probably just 51h, but 301 is error register, which may have some more details. Heck, dump all 300-308 registers if you'd please.
If you could, also send me a dump of the IDentify device data. I believe I've posted a utility to do that on the wiki, and if not, I've got one that will dump it out to a text file that I should make available. I'm wondering if the drive might be locked/frozen via some security settings? I can tell from the ID data if it is in a locked state.