Jump to content
IGNORED

Atari 1050 Roms.


tregare

Recommended Posts

safe values are given for both, so as to allow the track to settle and the head to settle... so there is a cushion for each. cutting one too short may be absorbed by the other... that's how they are related...

Edited by _The Doctor__
Link to comment
Share on other sites

2 hours ago, Nezgar said:

If $2C, decimal 44 = 4400000 clock cycles. @1Mhz thats about 4.4ms

...

Even easier, I found references to these delay values in the Speedy-1050 source:

#$2C    Short (Decimal 44)
#$64    Normal (Decimal 100)

...

My theory of using the value of $45 equivalent to the Speedy-1050 is that it had a wide install base and record of reliable operation in many drives since that enhancement was released BITD.

 

I'm not very familiar with the Speedy firmware, but seems it fall backs to the normal step rate in case of error (not sure exactly in which error conditions). That's why you see the "normal" step rate in the code. While this might not be 100% full proof, it is of course much safer than using the fast step rate as a permanent constant.

 

The point is, since it has that fallback, that then you can't assume that most drives that had the Speedy worked reliably at the fast step rate.

 

Anyway, having the value stored in RAM, and not hardwired directly at the ROM, it is nice because it allows to be easily software configurable.

  • Like 1
Link to comment
Share on other sites

12 minutes ago, Jeffrey Worley said:

There is, I presume, a head settle delay somewhere in the firmware, as well as the track rate.  I would leave that alone.  ?  I suppose they might aggregate it into the step rate, but that would be strange?

 

Head settle delay is once per seek when you are ready to read or write, while step rate delay must be performed each (half) track step. If you are at track zero and you want to read a sector at track 39, you perform 39*2 step rate delays, but only one head settle delay at the end.

Link to comment
Share on other sites

7 minutes ago, ijor said:

I'm not very familiar with the Speedy firmware, but seems it fall backs to the normal step rate in case of error (not sure exactly in which error conditions). That's why you see the "normal" step rate in the code. While this might not be 100% full proof, it is of course much safer than using the fast step rate as a permanent constant.

Yes I presumed the "Normal" values are for when the drive is configured to "Stupid" mode like Happy's "Unhappy" mode (affectionately labelled in the source, or maybe a bad translation of "dumb" from German :D ) I've also seen it happen automatically when it encounters a non-standard format/protected disk. Included on the Speedy-1050 utility disk is a utility that uploads a relocated stock 1050 ROM into the drive's RAM as we've also seen done on Happy's for the highest (temporary) level of compatibility.

Link to comment
Share on other sites

by falling back on bad sectors or error you preserve copy protected disk timing for those that measure how long until something is reached, it stay within range. too fast or too slow depending on the title and it fails the check. Unhappy or dumb/stupid mode allows them to load.  It's nice that speedy falls back for those cases.

Link to comment
Share on other sites

17 hours ago, _The Doctor__ said:

by falling back on bad sectors or error you preserve copy protected disk timing for those that measure how long until something is reached, it stay within range. too fast or too slow depending on the title and it fails the check. Unhappy or dumb/stupid mode allows them to load.  It's nice that speedy falls back for those cases.

 

I'm not sure that the fall back to the standard, slower, step rate was designed to improve compatibility with copy protected disks. The "fallback" doesn't happen on just any error, but seems it happens only when failing to sense disk density, and almost no copy protected disk will fail disk sense.

 

I though initially that it would fallback if the mechanism happens to not work with the faster step rate. But I looked into the Speedy firmware a bit more, and doesn't seem so. I'm not completely sure, but I think that because of the way it is implemented, disk density sense will succeed regardless, and then it would fail (if the mechanism doesn't support the faster step rate) when attempting to read sectors on any track besides track 0.

 

That would mean that the fallback is mostly useless. It would happen only when inserting a blank disk, a foreign format such a C64 or an IBM one, or a very damaged Atari disk that can't be even sensed. Not sure what would be the purpose of this then. May be the idea was to be able to boot a diagnostic disk, so that it could at least temporarily disable the faster step rate.

 

So the probable conclusion is that, as Nezgar suspected, the faster step rate worked fine with most drives that installed the Speedy enhancement. May be they had a special "slow" firmware version that they offered to the rare case it didn't work. In turn this might be valid for any 1050 and the stock 1050 slow step rate is a waste. But it is also possible that the oldest 1050 units needed the slower step rate, and by the time the Speedy was released, most drives at the European market were already "newer". This is, of course, quite speculative.

 

Link to comment
Share on other sites

It would be a great idea none the less....

a density check makes sense at insertion or first read, once that passes and locks density in, a slow track and data rate fall back occurring on error would help with protections. Density changes would only be needed after disk eject/insertion, or if someone wanted to format a disk. It all sounds so simple until it's put into such a confined space...

Link to comment
Share on other sites

The speedy disk utilities have an option to engage "slow mode", similar to Happy's utility's to enable "unhappy" mode but with 4 levels of configuration:

Quote

3.1.3 3. SLOW-MODE CONTROL

 

You can also use the 'D' key to select the SPEEDY drive you want to set. Use buttons 1-4 to set the individual status bits for the following functions:

 

[1-3 snipped]

 

4. Drive in SLOW mode. This means that all additional commands that go beyond the normal command set of the 1050 operating system are no longer observed. This may be necessary if copy-protected software is to run on a SPEEDY drive. If after activating this status bit the SPEEDY should work again at increased speed, the only help is to switch the drive off and on again.

 

With the key 'R' all status bits are reset. After pressing the 'W' key, the set status is sent to the SPEEDY drive.

 

Choosing option 4 then W to send the command results in the drive using the normal step rate. I tested that options 1-2 turn off buffered reads/writes but still step fast.

 

I'll have to find the protected title(s) again that I observed it automatically switching to slow mode. I thought it was simply something like if the speedy saw a malformed track, or tracks with layouts different from track 0. I'm not sure that's a documented behaviour.

  • Like 1
Link to comment
Share on other sites

Quick testing found a few example disks that invoke 'slow mode' on the speedy.

  • Trains - track 0 contains duplicate/phantom sector 9's
  • Grandma's House - track 0 contains duplicate/phantom sector 3's
  • Clowns & Baloons - track 0 duplicate/phantom sector 17's, no sector 18
  • Halley's Project - track 0 duplicate/phantom sector 7, no sector 8

For protected disks without any funny business on track 0, the drive would remain in 'fast' mode. (ie Championship Loadrunniner, track 0 & 1 are fine, then 3 tracks sectors 1-17 TRN, no sector 18, track 5 duplicate/phantom sectors 2-9, and no sectors 11-18, and more)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

7 hours ago, Nezgar said:

Quick testing found a few example disks that invoke 'slow mode' on the speedy.

...

For protected disks without any funny business on track 0, the drive would remain in 'fast' mode. (ie Championship Loadrunniner, track 0 & 1 are fine, then 3 tracks sectors 1-17 TRN, no sector 18, track 5 duplicate/phantom sectors 2-9, and no sectors 11-18, and more)

 

Yes, but only a small minority of titles has any kind of protection on track 0.  Furthermore, not every protection on track 0 will force slow mode. The switch to slow mode happens when building the sector order/interleave to be able later to buffer a whole track as fast as possible. So only protections that involve a sector header, and not the sector itself are relevant because no sectors are actually read at that time, only headers. I.e., a sector with a CRC error or a deleted data mark on track 0, would not set slow mode.

 

So this strategy wouldn't be very effective to improve compatibility with copy protected disks, and not sure that was actually the purpose. I think that either this it is just an indirect consequence of failing to build the sector list. Or might be this was used in a similar way as the Happy "Force Slow". A Speedy copier could add an extra invalid header to track 0 that would force slow mode when inserting that disk. May be it was both.

 

Link to comment
Share on other sites

  • 1 month later...

Here is my US Doubler patched ROM - For Tandon mechs only. After a little research, it turns out the 1050 Turbo had the fastest "standard speed SIO" interleaves for formatting in ED and DD. It's possible this DD interleave is too fast for a real percom drive to read without blowing a lot of revs, I haven't tested that yet. But ED disks formatted by this ROM and used in a stock 1050 or a US Doubler in 1x/standard speed SIO will see a little pickup in performance in 1xSIO/non-ultraspeed mode!

 

Changes:

 

- Track step timing calculated to be the same as Speedy 1050 (Original value $A0, my value $45 - at offset $198)

 

- Enhanced Density format sector interleave replaced with that from the 1050 Turbo:

Original US Doubler: 1,3,5,7,9,11,13,15,17,19,21,23,25,2,4,6,8,10,12,14,16,18,20,22,24,26

1050 Turbo ED: 9,18,7,16,25,5,14,23,3,12,21,1,10,19,8,17,26,6,15,24,4,13,22,2,11,20

 

- Double Density format sector interleave replaced with that from the 1050 Turbo:

Original US Doubler: 18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1

1050 Turbo DD: 9,18,7,16,25,5,14,23,3,12,21,1,10,19,8,17,26,6,15,24,4,13,22,2,11,20 (Slightly faster than Percom's!)

 

USD ROM Sector Table Offsets:
  Single: 89C-8AD
  Double: 8BF-8D0
Enhanced: 8E2-8FB

 

After some testing of the ROM in Altirra, I programmed it to a 2732, plugged 2 6810's into one of my 6810 doubler PCB's, Moved JP1/3 to JP2/4 and the drive was off to the races! I've wanted a US Doubler ROM with these changes for quite some time. I guess next up is a modified version for WST mech's to incorporate these formatting interleaves.

Nezgar-usdblr-Tandon-DDED-fast.rom

Edited by Nezgar
  • Like 1
Link to comment
Share on other sites

  • 2 years later...
On 6/1/2020 at 3:12 PM, Nezgar said:

I think it's simply that the Tandon TM-50 manual states to use 20ms, so Atari just stuck with the official specs, or the lowest common denominator that might come in the mechs.

 

https://archive.org/details/bitsavers_tandonTM50iceManual1983_3569631/page/n13/mode/2up

 

Interesting there's mention of an optional "Fast Step Motor" specced at 6ms:

 

210534 "Stepper Assembly"
211004 "Stepper Assembly (Fast Seek)

 

Just checked two 1050's I have handy & open here, and they both have mechs with stepper part no. 210323, not in that list. Probably produced after printing of the manual.

 

Like 'overclocking' - it's highly possible that things may 'work' faster, but you're not going to get any manufacturer sympathy from the manufacturer if it causes problems... Unless Atari was already 'pushing the limits' with 2x10ms "half" steps.

 

Might have to see through trial-and-error how fast each stepper motor part # is capable of. :D

This post is a bit old, but I wanted to let you know what I found about the Tandon fast seek steppers.  I have two Tandon TM50-2FS PC drives.  They both are the Fast Seek version and I just installed them in a Percom drive.  I also moded the Percom ROM parameter that reduced the seek delay.  I've had no problems with it it so far. 

 

One drive has a 211005 stepper and the other is a 210323 like your 1050's.  So your 1050's might be capable of fast seek.  An important detail is the tuning of the one shot's used in the stepper control.  The TM50 service manual is available online and the schematic has details of the differences between the fast seek and standard versions.  It's basically just two caps and a resistor.  I haven't looked at the 1050 schematic, but if it uses a similar driver configuration, then you might be able to identify the equivalent components that would need to be updated.

  • Thanks 1
Link to comment
Share on other sites

52 minutes ago, _The Doctor__ said:

please out the note about the part number and fast seek as well as the fact the rom is modified inside the case in some fashion, to remind yourself and others that follow :)

I was searching for a different TM50 related post when I stumbled upon this topic.  I just clicked the link @Nezgar provided and it is the same TM50 manual that I was referring to.  This page is the schematic for the stepper motor control and two pages prior (page 1 of the motor control schematic) has a table noting the component differences for the various drive versions, including the Fast Seek version.

  • Like 1
Link to comment
Share on other sites

50 minutes ago, _The Doctor__ said:

Yup but a note in your drive letting yourself and posterity know your drives are now special :) they are fast seekers. FS's

Now I understand what you’re saying.  “Please out the note” confused me. I had a medical procedure yesterday so I’ll blame it on the drugs. ;) 
 

A note on the original 180k mpi drive that is busted. There were two parts in the lever mechanism that were broken. A lever that was weak and bent from use. Cracked when I tried to straitened it. And a little tab that holds the disk in had failed from fatigue. Not a great design. 

Link to comment
Share on other sites

16 hours ago, tep392 said:

This post is a bit old, but I wanted to let you know what I found about the Tandon fast seek steppers.  I have two Tandon TM50-2FS PC drives.  They both are the Fast Seek version and I just installed them in a Percom drive.  I also moded the Percom ROM parameter that reduced the seek delay.  I've had no problems with it it so far. 

 

One drive has a 211005 stepper and the other is a 210323 like your 1050's.  So your 1050's might be capable of fast seek.  An important detail is the tuning of the one shot's used in the stepper control.  The TM50 service manual is available online and the schematic has details of the differences between the fast seek and standard versions.  It's basically just two caps and a resistor.  I haven't looked at the 1050 schematic, but if it uses a similar driver configuration, then you might be able to identify the equivalent components that would need to be updated.

I took a look at the 1050 schematic and see that the stepper motor drivers are controlled thru the PIA and don't have any other timing circuits (one shots) like the PC drive.  So it seems the 1050 is 100% under software control and no component changes would be needed to take advantage of the fast steppers.  Just need to know which parameters to tune in the software.  Seek time, track to track, for the Fast Seek TM50's is specified at 6ms vs. 20ms for the standard.  Head settling time is 15ms vs. 20ms for the standard.

Link to comment
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...