Jump to content
IGNORED

Percom AT-88 Doubler - ROM?


MrFish

Recommended Posts

47 minutes ago, phaeron said:

There is a hardware divider that divides the 4MHz clock by 13 down to 308KHz, which is then divided by 16 in the UART to get 19.2KHz. The only faster divider available in the UART is /1, and that only works with synchronous clocks -- it won't work in a situation here where the drive's serial clock is skewed from the computer's serial clock.

 

The SPD hardware does supposedly have a high-speed option to use the Atari's serial clock instead of the internal serial clock. It requires a non-standard serial configuration on POKEY, though, so it isn't compatible with US Doubler or XF551 high speed and the firmware doesn't use it anyway. I'm assuming that the S1PD has the same option if it isn't just the same hardware, as firmware from drives labeled both SPD and S1PD seem to be compatible.

 

There's a default step rate code in a DCB init block at the top of the ROM that has either $00 or $01 that's then overridden by code later on to $02. Which makes it even more mysterious as to why different ROMs flipped back and forth between $00 and $01 in the init block.

So higher speeds ARE possible, but the UART clocks itself from the datarate of received data?  The way the docs read, the chip gets the serial data, figures out the bitrate, and then the divisor used applies to that computed bitrate.  That is the way I read the docs anyway.  So if the command bitrate is at 54kbaud and you select a divisor of 1, the output bitrate would be at 54k baud?  The Atari SIO DOES have a clock line, but I never knew of anything that actually USED it.

 

Best,

 

Jeff

Link to comment
Share on other sites

31 minutes ago, Jeffrey Worley said:

So higher speeds ARE possible, but the UART clocks itself from the datarate of received data?  The way the docs read, the chip gets the serial data, figures out the bitrate, and then the divisor used applies to that computed bitrate.  That is the way I read the docs anyway.  So if the command bitrate is at 54kbaud and you select a divisor of 1, the output bitrate would be at 54k baud?

It clocks itself from the incoming serial clock. The high speed switch in the SPD just swaps the 4KHz/13 clock for the SIO clock output. Thus, if the Atari is outputting a clock at 54KHz, the UART will run at 54Kbaud at a /1 divisor.

 

The gotcha is that it also needs this clock to send to the Atari at high speed. This normally doesn't happen because POKEY is configured for asynchronous receive mode, so it stops its clock while waiting for a start bit.

 

31 minutes ago, Jeffrey Worley said:

The Atari SIO DOES have a clock line, but I never knew of anything that actually USED it.

The Indus GT hardware has clock line support for the ill-fated Synchromesh, and the TOMS Turbo Drive is a clone of that also relies on the clock lines.

Link to comment
Share on other sites

1 hour ago, phaeron said:

It clocks itself from the incoming serial clock. The high speed switch in the SPD just swaps the 4KHz/13 clock for the SIO clock output. Thus, if the Atari is outputting a clock at 54KHz, the UART will run at 54Kbaud at a /1 divisor.

 

The gotcha is that it also needs this clock to send to the Atari at high speed. This normally doesn't happen because POKEY is configured for asynchronous receive mode, so it stops its clock while waiting for a start bit.

 

The Indus GT hardware has clock line support for the ill-fated Synchromesh, and the TOMS Turbo Drive is a clone of that also relies on the clock lines.

What if I swap the main clock crystal for a 12mhz version.  That would clock the board at 923khz, well within spec for all components, which divided by 13 would yield a acia clock of 57.6kbaud, right in the ballpark for Ultraspeed?  If a hardware mod will solve the problem them I'm game for that.  Would the timing have to be changed in code on the rom as well?  I wonder, as the ACIA is taking care of that aspect of the timing, but there may be other aspects that need tweaking if they use the clock vs absolute time for say, disk rotation rate etc.  I suspect what this would mean, would be that the drive would operate ONLY at 57.6 k baud.  Would that interfere with non-ultraspeed-enabled software?  I don't know how the Pokey get's its datarate from, if it senses it at chip-level or if it gets it from soft/firmware.

 

Best,

 

Jeff

 

 

Edited by Jeffrey Worley
Link to comment
Share on other sites

You still need to be able to do 19200 - as the ultraspeed protocol switches/negotiates between two speeds.

 

57600bps is also higher than ICD's USD implementation. (54000bps) - but close to the 1050 Speedy's rate.

 

Yes it would also need extensive firmware rework.

Link to comment
Share on other sites

  • 2 years later...
  • 2 weeks later...
On 3/29/2023 at 3:38 PM, slx said:

Quite a bump, there's one of these boards on EBay

All it does is add double-density to the drive.  It does not make it any faster.  Technically it IS a titch faster just by virtue of lower overhead, but it isn't anything like a US Doubler.

I think the version made for the TRS80 would probably work on our Percoms.

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...