[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::atarist

Title:Atari ST, TT, & Falcon
Notice:Please read note 1.0 and its replies before posting!
Moderator:FUNYET::ANDERSON
Created:Mon Apr 04 1988
Last Modified:Tue May 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1433
Total number of notes:10312

770.0. "hardware problem with external floppy" by BERN01::RUGGIERO () Tue Feb 13 1990 06:32

    Need help/advice with hardware related problem...
    
    I have connected a TEAC 5 1/4" to my 1040ST. This works fine in
    the beginning but after a while the drives seems to have problems
    to respond to the step signal. Is sounds as if it tried to step
    but fails and therefore the folppy controller issues another step
    signal to position the head over the correct track. 
    This error does not occur when I connect the same drive without
    any changes to my Mega2ST. 
    
    Last night I opened the case of the 1040 and tried to track down
    the signals with an oscilloscope. Very strange: I cannot see a true
    TTL signal on the step-pin. The signal also is different if I access
    the internal floppy or the external. All the other signals on the
    floppy port are fine and clear TTL. I describe what I see. Perhaps
    someone can tell me what I should see.
    
    Step signal when accessing the internal drive:  about +4.5V permanent
    with a 30ms/100mV pulse overlayed when stepping. The whole signal
    is very noisy. My understanding is that I should clearly see a positiv
    signal going low (<2.5V) for at least 10ms.
    When accessing the external drive the 30ms/100mV pulse is completely
    missing. There seem to be some very short pulses that are able to
    trigger the timebase of the oscilloscope but are not seen.
    
    What I am going to do tonight is replace the driver IC (7406) that
    sits between the WD1772 floppy controller and the output socket.
    Any other ideas what could cause my problems?
    
    ---markus---
T.RTitleUserPersonal
Name
DateLines
770.1Input driver faulty ?HAMSUP::MARXSENUniv.Milky.Sol.Earth.FRG.HamburgTue Feb 13 1990 11:3217
Hi Markus,

I also own a 5 1/4 " TEAC, running as the second drive connected to an old
520 ST. I never had the problem you describe.
I agree, the step signal should be TTL.
A not extracted pull-up-resistor-bank in the TEAC-drive can't be the
problem because accesses to internal and external drive should both make
trouble then. ...or am I wrong...?
I guess the step-signal-driver fan-in of the TEAC-drive could be faulty, 
because the floppy electronics get connected to the SHUGART bus only if
the appropriate drive select signal is present. So the step signal can
change its shape when applied to different drives.
But, pardon, I can't really present a solution...

Other suggestions ?

	Detlef.
770.2partial success, but main problem remainsBERN01::RUGGIEROWed Feb 14 1990 08:2616
Well, as I stated in my basenote I tried a fix last night. Replacing the 
7406 driver IC brougth back the TTL signal. This is fine now and I do not have
any complaints about that, but nevertheless the drive does still not work.
When I swithc on the system all if fine. After some 10 minutes or so I get
those seekerrors (you can hear them). Still the drive works fine with my
MegaST2 and yet all the signals look clean. So I really think it must be
a critical timing between the computer and the drive that shifts slightly 
when the system warms up.

I do have the schematics of the 1040 but no diagrams of the TEAC drive.
There are some testpoints on the board but I do not know what I can see
there (and under what circumstances/test conditions). Does anybody have 
the schematics? It is a TEAC 55 5 1/4" drive. If neccessaray I can look 
up the exact type.

---markus---
770.3TEAC 5 1/4" don't work under TOS - OK MS-DOSSKIVT::HEARNTime will tell...Tue Aug 06 1991 08:4326
    
    	I have a TEAC  5 1/4" (8823K was stamped inside the cover of
    the IB Computer box - and TEAC 8823 was on the label of the step-
    per) hooked up as drive "B:" on my 1040st (TOS 1.0).  I also have 
    PC-Ditto (for running MS-DOS).
    
    I have used the information in 42.0 (Usenet floppy STEP RATE loc-
    ations  A08 = (3)  A0C = (6) - after boot of course  :^)
    
    What all this is leading to is that I use the 5 1/4" under MS-DOS 
    and it appears to work just fine (MS-DOS has never had a problem 
    accessing it - for formats or read/write ops).  However, when I try 
    to use it with TOS, I usually get the "Drive not responding" message 
    - or something similar.
    
    Would anyone have any thoughts as to why this might be the case?
    
    I'd really like to be able to use the drive without having to run
    MS-DOS - especially since I'd be able to copy to/from it MS-DOS
    archives without having to run PC-Ditto.
    
    Any thoughts?   Need more info?   Need a new drive? (doubt it)
    
    						Thoughts welcome
    
    						         Rich
770.4If at 1st you don't succeed... keep trying :^)SKIVT::HEARNTime will tell...Thu Aug 08 1991 08:3713
    
    well, my previous query seems to be generating a lot of activity... :^)
    
    
    	Ray,
    
    		Would you have the entire old usenet article on the
    	floppy drives?  I've not been able to find it in the archived
    	version of this notesfile.
    
    							Tnx,
    
    							   Rich
770.5Huh!?YNOTME::WALLACEThu Aug 08 1991 15:443
Both articles I posted in 42.0 are complete articles.

	Ray
770.6Good eyes...SKIVT::HEARNTime will tell...Fri Aug 09 1991 12:074
    
    Sorry Ray, going back and re-reading again - I now see that
    
    						Tnx,
770.7Changing seek rate is legal in post TOS 1.4YNOTME::WALLACEFri Aug 09 1991 13:07194
I dug arround in my old files and found some more info on setting steprates.
Don't know if this will help or if it is what you are looking for.

	Ray

Article        25671
From: [email protected] (HC Johnson)
Newsgroups: comp.sys.atari.st
Subject: Re: 5.25" drive problems on the STe
Date: 15 Mar 90 15:28:47 GMT
Organization: AT&T BL Middletown/Lincroft NJ USA
 
In article <[email protected]>, [email protected] (,,,2684025) writes:
> From article <[email protected]>, by [email protected] (Arto Nummelin):
> > I'm trying to connect a 5.25" 360k drive to my 520STE (now expanded
> > to 2M with 1M SIMMs). The problem is (I guess) that the step rate
> > is to high so the drive can't step as fast as required. How can I lower
> > the step rate? I saw someone mention a program to put in your
> > auto folder. Does anybody have this program? If so, please e-mail me
> > a copy.
> 
> I have an INDUS GT-1000 external 5.25" drive, and my 1040STe hates it.
> The booting software that came with the drive won't work on the STe.
> And Future Systems (the makers of the drive) knew nothing about it.
> They were nice enough to send me another program that they thought might
> help, but no...
> 
TOS 1.4 and TOS 1.6 (STe) have added a BIOS call to change the floppy
seek rate without punching numbers into memory.
 
	XBIOS function 41
	oldrate = Floprate(devno,newrate);
	short devno,newrate;
	devno is 0=a 1 =b; newrate=1 12MS, the slowest for 5.25 drives.
 
MWC assembler:
	move.w	$1, -(a7) / slowest
	move.w	$0, -(a7) / or use $1 if drive B:
	move.w	$41,-(a7)
	trap	0x14
	addq.l	$6, a7
 
 
Howard C. Johnson
ATT Bell Labs
att!lzsc!hcj
[email protected]

Subject: Drive B Step Rate
Posted: 4 Jan 89 03:13:56 GMT
Organization: C.R.E.S.S., York University, North York, Ontario, Canada, M3J 1P3.
 
In article	<[email protected]>,
		[email protected] (Allen King) writes:
 
>   Speaking of "legal official atari sanctioned" ways, how do you set the step
>rate of one floppy (e.g. drive B) to 6ms. I know how to do it by modifying
>an unpublished address, and there is a call to set the default step rate. But
> [rest deleted]
 
Awhile back I hacked together a step rate program that tested the TOS version
number and then set drive B to a 6 ms step rate.  Last week I found out that
TOS 1.4 will have an official call to legally :-) set the step rate...
 
Anyway, here follows the (educational use only :-) 68000 source to my step
rate program:
 
*************************************************************************
*									*
*	Set Drive B Step Rate				08/03/88	*
*									*
*	J. Oklamcak @ Atari (Canada) Corp.				*
*									*
*************************************************************************
 
		text
 
		pea.l	SetRate			; Set drive B step rate
		move.w	#38,-(sp)
		trap	#14
		addq.l	#6,sp
 
		tst.b	SetFlag			; Check rate set flag
		bne.s	SetOk
		beq.s	NotOk
 
SetExit:	clr.w	-(sp)			; ...done...
		trap	#1
 
SetOk:		pea.l	RateSet			; Step rate set
		move.w	#9,-(sp)
		trap	#1
		addq.l	#6,-(sp)
		bra.s	SetExit
 
NotOk:		pea.l	IsNotSet		; Step rate not set
		move.w	#9,-(sp)
		trap	#1
		addq.l	#6,-(sp)
		bra.s	SetExit
 
 
SetRate:	move.l	$04F2,a0		; Base address of OS
		move.w	2(a0),d0		; Get OS version number
		lea.l	TOSVers,a0		; TOS version numbers
		lea.l	RateAddr,a1		; Step rate addresses
 
FindTOS:	move.w	(a0)+,d1		; Get version number
		bne.s	TestTOS			; Test version number
		sf.b	SetFlag			; Step rate not set
		rts
 
TestTOS:	move.w	(a1)+,a2		; Get address of step rate
		cmp.w	d0,d1			; Test TOS version number
		bne.s	FindTOS			; Next version number...
 
		move.b	#0,(a2)			; Set the step rate
		st.b	SetFlag			; Step rate is set
		rts
 
		data
 
TOSVers:	dc.w	$0100			; $0A0D
		dc.w	$0102			; $0A53
		dc.w	$0104			; $0A53
		dc.w	0
 
RateAddr:	dc.w	$0A0D			; 1.00
		dc.w	$0A53			; 1.02
		dc.w	$0A53			; 1.04
 
RateSet:	dc.b	$0D,$0A
		dc.b	"Drive B step rate : 6 ms"
		dc.b	$0D,$0A,0
 
IsNotSet:	dc.b	$0D,$0A
		dc.b	"Drive B step rate not set : OS version unknown"
		dc.b	$0D,$0A,0
 
		bss
 
SetFlag:	ds.w	1
 
		end

Article         1661
From: [email protected] (Van Snyder)
Newsgroups: comp.sys.atari.st,comp.sys.atari.st.tech
Subject: Re: Setting Floppy Seek Rate in all TOS versions
Date: 19 Mar 91 04:44:54 GMT
Organization: Jet Propulsion Laboratory, Pasadena, CA
 
Here's the poop on setting the seek step rate for floppies, from page 60
of the Rainbow TOS distribution:
 
"Floprate:      -  Floprate, XBIOS function 41, checks or sets the seek
                   rate for a floppy drive.  This is new; the seek rate
                   must be set with (previously) undocumented variables
                   on earlier versions of TOS.
 
                   Floprate example.
 
        int devno, newrate;
        oldrate = Floprate(devno,newrate);
 
                   This returns the current seek rate if newrate is -1,
                   otherwise sets the seek rate to newrate.  For doing this
                   with previous versions of TOS, the seekrate byte
                   locations for drive A and B are:
 
                   OS Version   Drive A   Drive B
                   ----------   -------   -------
                    0x0100       $A09      $A0D
                    0x0102       $A4F      $A53
 
                   In either case valid seek rate byte values are:
 
                   Value        Rate
                   -----        ----
                   00           6 ms
                   01          12 ms
                   02           2 ms
                   03           3 ms
 
                   This call does not range check the drive ID or new seek
                   rate.  If devno is zero, it assumes drive A:, if
                   nonzero, drive B:."  That's 41 decimal.
You can get the TOS version from offset 02.w from the place pointed at
by 0x4F2.L (_sysbase).
 
-- 
[email protected]
ames!elroy!jato!vsnyder
[email protected]
770.8Time to play... :^)SKIVT::HEARNTime will tell...Fri Aug 09 1991 15:2210
    
    	Ray,
    
    		Thanks for "digging" this out - I'll give it a try
    	over the weekend and let you know what happens.  Looking it
    	over, I can see a difference in the addresses already - so
    	hopefully, it'll be what I'm hoping for.
    							Tnx agn,
    
    							    Rich
770.9That did it! :^)SKIVT::HEARNTime will tell...Mon Aug 12 1991 08:4314
    
    
    	Ray,
    
    		THANK YOU!!!!   The info in your last posting provided
    	a 'missing' piece of info to me - the seekrate itself... 6ms
    	is not equal to six (it equals 0, of course  :^)  I also did
    	some "digging" after running a format program and found that
    	A0A was 0x27 for a 40 track 5.25 drive (makes sense H27 = 39)
    	which is what I'm using.   All appears to be just fine now
    
    							Tnx agn,
    
    							    Rich