Jump to content
Gazoo

TI FDC head step times

Recommended Posts

Has anyone ever messed with the TI FDC head step times?

It seems that they could be speeded up considerably from the original, especially if one is using 3.5" drives.

 

Gazoo

 

Share this post


Link to post
Share on other sites

I have not sir, but wondered if it was possible or would it make a difference and not cause issues.

 

Well, I disassembled the Guion Eprom dumps and managed to put the code for the 12ms head step time in place of the 20ms code in my 80/80/40 eprom set. All seems to work well so far.

 

Wanna try it out and see what you think?

Share this post


Link to post
Share on other sites

It adds accessability to a DSK4 and also lets you use lowercase disk designations ( i.e., dsk1, dsk2,etc) which are seperate and distict from uppercase. It laso reduces the head step time to 12 ms..

Share this post


Link to post
Share on other sites

And where can I find Guion? I don't think Google can say something about it...

 

Ok, now I ask duckduckgo.com and it told me that Guion is nothing that I can eat, and it told me that mainbyte has some informations. I can read "Eproms Available from Hummingbird Eproms"...??? What on earth is an Hummingbird Eprom??? Is ist a sophisticated technology, based on a extra terrestrial substance?

Ok, they said "Available from", so it must be a location, right? But duckduckgo.com can't help me.

Do anyone ever use references? I'm not Sherlock Holmes. Why does everybody makes a secret around his knowledge?
Edited by HackMac

Share this post


Link to post
Share on other sites
To decrease the head step time from 20ms to 12ms on the TI Floppy Controller, make the changes below. This will work with any of the 80 track eprom sets as well as the original 40 track eproms.


Enjoy!


Gazoo




At offset >05CC in the U26 Eprom, you will find this code:


>D1A0,>5FF0,>0A16,>1E01,>1D01,>1806,>0206,>7530,>0B45,>0B45,>0606,>16FC


Replace it with this code:


>0460,>5FC2,>0301,>0101,>0101,>0000,>0000,>0000,>0000,>0000,>0000,>04C6




At offset >0FC2 in the U27 Eprom you will find this code:


>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF

>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF,>FFFF


Replace it with this code:


>D1A0,>5FF0,>0A16,>1E01,>1D01,>1806,>0206,>7530,>0B45,>0B45,>0606,>16FC

>D000,>1507,>F020,>45D0,>D1A9,>004C,>0986,>5026,>45D0,>0460,>45E2

Edited by Gazoo
  • Like 4

Share this post


Link to post
Share on other sites

Hi,

 

I have this card here in my repository, but seems not running....

Maybe the drives I had connected were wrong...

IIRC, the LED is ON, all the time... but it´s some time ago, so I have to check again...

 

Maybe you have an idea.

 

post-41141-0-66385800-1436396814_thumb.jpg

Share this post


Link to post
Share on other sites

This brings up a good question, does anyone know if the new DDCC-1 clone will have the reduced timing in the chip? I'm thinking anyone who will be purchasing one of these new cards will be using either a Lotharek HxC or a modern 3.5" drive. The standard seek time on those drive is 3ms, possibly 6ms if I'm not mistaken. The reduced timing would not only make things run faster, but reduce that annoying chatter. I think would reduce wear as well. So instead of 12... :-D

Share this post


Link to post
Share on other sites

 

To decrease the head step time from 20ms to 12ms on the TI Floppy Controller, make the changes below. This will work with any of the 80 track eprom sets as well as the original 40 track eproms.
Enjoy!
Gazoo

 

Thank you Gazoo!! Just to be clear, this will set ALL 3 drives to 12ms? No matter 40trk or 80trk.

I'll let you know how they work in my setup.

Edited by Fritz442

Share this post


Link to post
Share on other sites

Thank you Gazoo!! Just to be clear, this will set ALL 3 drives to 12ms? No matter 40trk or 80trk.

I'll let you know how they work in my setup.

 

Yes.

Share this post


Link to post
Share on other sites

I'd also LOVE to have the head step times bumped up (down) to either 6ms or 3ms. The Teac 3.5 datasheet says they are 3ms.

 

My CorComp FDC let's me change it and it's a huge difference in less chattering (more leads to advanced wear theoritcally) on the 3.5's. However, I have no idea whether the CC is doing 3ms or 6ms. The documentation says one thing, and the software says the other. Regardless, it makes a big difference, especially when you're pulling a long directory listing (crunch crunch crunch as the head seeks back and forth) on a diskette. I'm happy with the CC box but I'd like to change the TI one.

 

Gazoo, is there specific code that can be changed to experiment with the different XXms settings? I don't personally utilize the 80 track eprom's as anything I do on floppies is strictly 40-track for compatibility with others. I use HDX for EVERYTHING I can (and do I love it). I'd like to bit fiddle with the original TI ROM's to just change the milliseconds, nothing else. And I certinaly don't expect you to do that for me... however, I'm not smart enough (yet) to figure it out without some pointers. If you're willing/able?

 

-D

Share this post


Link to post
Share on other sites

 

... it makes a big difference, especially when you're pulling a long directory listing (crunch crunch crunch as the head seeks back and forth) on a diskette.

 

Is THAT why it get's so freakin' slow halfway into a 360K diskette? I know that sound drive me nutz on large diskettes... "Crunch Crunch, Crunch Crunch!!" It's downright painful to listen to.

Share this post


Link to post
Share on other sites

 

Gazoo, is there specific code that can be changed to experiment with the different XXms settings? I don't personally utilize the 80 track eprom's as anything I do on floppies is strictly 40-track for compatibility with others. I use HDX for EVERYTHING I can (and do I love it). I'd like to bit fiddle with the original TI ROM's to just change the milliseconds, nothing else. And I certinaly don't expect you to do that for me... however, I'm not smart enough (yet) to figure it out without some pointers. If you're willing/able?

 

-D

 

I believe that there's nothing else that can be accomplished with this particular patch, although I may be proven wrong, I hope. I've tried changing the values, but it doesn't get any better, only worse.

 

The 2nd patch looks at the data after the branch in the first patch and alters the delay based on the data. I've tried other data there, but to no avail. The original data was >0302,>0202,>0202 for 20ms and >0301,>0101,>0101 for 12ms.

 

Here's the source I disassembled from the Guion Eproms, I had to alter it a little as the CLR R6 didn't fit in the area of the 2nd patch (2 bytes short at the end of the Eprom), so I had to move it to the end of the first patch and adjust the return accordingly.

 

If anyone can figure out how to make the head step faster, have at it. Here's the source for it:

 

*
* First patch
*
AORG >45CC
B @>5FC2
DATA >0301,>0101,>0101
DATA >0000,>0000,>0000
DATA >0000,>0000,>0000
CLR R6
*
* Second patch
*
AORG >5FC2
MOVB @>5FF0,R6
SLA R6,1
SBZ >01
SBO >01
JOC AA
LI R6,>7530
AB SRC R5,4
SRC R5,4
DEC R6
JNE AB
AA MOVB R0,R0
JGT AC
SOCB @>45D0,R0
MOVB @>004C(R9),R6
SRL R6,8
AC SZCB @>45D0(R6),R0
B @>45E2
*

 

 

Gazoo

  • Like 2

Share this post


Link to post
Share on other sites

Hi Gazoo,

 

so what about my controller here, telling "6 ms" ? Is that the Guion-patch ?

...or something we have to investigate on ?

 

Ralf

Share this post


Link to post
Share on other sites

Hi Gazoo,

 

so what about my controller here, telling "6 ms" ? Is that the Guion-patch ?

...or something we have to investigate on ?

 

Ralf

 

 

No, that's something else. Can you dump the eproms?

You can do it with the memory editor in the XB v2.7 Suite cart if you have no other way.

 

Gazoo

Share this post


Link to post
Share on other sites

My USB-MiniPro-Erprommer is out of the house at the moment, but i think I can check that next week maybe.

 

Or is it easy, with the XB2.7er ?

Share this post


Link to post
Share on other sites

My USB-MiniPro-Erprommer is out of the house at the moment, but i think I can check that next week maybe.

 

Or is it easy, with the XB2.7er ?

 

Select memory editor.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 FF.

Press F1 again.

Make the top line read "c4000 Start 4000 Finish 5FFF".

Move the cursor to the page number.

Press F8.

The contents of the eproms will be saved to the file 'DSK1.TRIALDUMP'.

 

Gazoo

  • Like 2

Share this post


Link to post
Share on other sites

 

Select memory editor.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 FF.

Press F1 again.

Make the top line read "c4000 Start 4000 Finish 5FFF".

Move the cursor to the page number.

Press F8.

The contents of the eproms will be saved to the file 'DSK1.TRIALDUMP'.

 

Gazoo

 

 

Well, that won't work since we need to use the DSR that we're dumping. It's a bit more complicated, but it can be done.

 

Select memory editor.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 FF.

Press F1 again.

Make the top line read "c4000 Start 4000 Finish 5FFF".

Make the 2nd line read "Dest cC000"

Press F2, this will move the eprom contents to >C000.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 00. (this deselects the TI FDC eprom so it can be used by the system)

Press F1 again.

Make the top line read "cC000 Start C000 Finish DFFF".

Move the cursor to the page number.

Press F8.

The contents of the eproms will be saved to the file 'DSK1.TRIALDUMP'.

Gazoo
Edited by Gazoo
  • Like 3

Share this post


Link to post
Share on other sites

yes, will give´m a try. Otherwise I will pull the chips out for the miniPro :)

thanks a lot

  • Like 1

Share this post


Link to post
Share on other sites

 

 

 

Well, that won't work since we need to use the DSR that we're dumping. It's a bit more complicated, but it can be done.

 

Select memory editor.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 FF.

Press F1 again.

Make the top line read "c4000 Start 4000 Finish 5FFF".

Make the 2nd line read "Dest cC000"

Press F2, this will move the eprom contents to >C000.

Press F1, the cursor will move to the "CRU Base" in the lower right corner.

Make the values there 1100 00. (this deselects the TI FDC eprom so it can be used by the system)

Press F1 again.

Make the top line read "cC000 Start C000 Finish DFFF".

Move the cursor to the page number.

Press F8.

The contents of the eproms will be saved to the file 'DSK1.TRIALDUMP'.

Gazoo

 

 

<as so eliquently put in the movie; "Dude Where's my Car?">

 

Dude! Sweet! :thumbsup:

 

Thank you for posting a walk through example. That'd taken me years to figure out. Technically speaking... since I wanted to do that about 20+ years ago, it HAS been years!

 

-D

Share this post


Link to post
Share on other sites

 

I believe that there's nothing else that can be accomplished with this particular patch, although I may be proven wrong, I hope. I've tried changing the values, but it doesn't get any better, only worse.

 

The 2nd patch looks at the data after the branch in the first patch and alters the delay based on the data. I've tried other data there, but to no avail. The original data was >0302,>0202,>0202 for 20ms and >0301,>0101,>0101 for 12ms.

 

Here's the source I disassembled from the Guion Eproms, I had to alter it a little as the CLR R6 didn't fit in the area of the 2nd patch (2 bytes short at the end of the Eprom), so I had to move it to the end of the first patch and adjust the return accordingly.

 

If anyone can figure out how to make the head step faster, have at it. Here's the source for it:

 

<code snipped>

 

Gazoo

 

Ahh, thank you for the explanation and the disassembly. It'll probably take me a week to even begin to understand that but, that's okay! I need examples like this; as my brain just doesn't like assembly. I don't know what else to do but beat into submission with a club.

 

I've been trying to read up on disk controller programming and I must say it's VERY sparse documentation wise. It appears TI absolutely did not want anyone programming the disk controller at the lower levels. Got any pointers for documents to read up on? Specifically the lowest level.

 

-D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...