Jump to content
IGNORED

PERCOM ROM


glurk

Recommended Posts

Ok, I've spent a little time on this already, and I now have an ASM file that assembles back into the exact binary.  Used f9dasm disassembler, and it's companion A09 assembler.  Really easy.  Now just have to add the comments back in, I guess.

 

out.asm

Edited by glurk
mispelling
Link to comment
Share on other sites

On 5/4/2021 at 11:52 PM, glurk said:

I just fully checked out my old drive, it's an RFD44-S1.  Everything is A-OK, voltages, caps, regulators, etc.  I remounted the regs and added heat sinks on the back.  It's all good.  The one thing I worry about is the ROM.  I think someone here archives these, correct?  I would REALLY like to have a backup (or two) of this, but I can neither read it nor burn a new one due to lack of hardware.

Ever seen this?

 

DavidMil

Percom Primer from Atari Classics 03-95.pdf

Link to comment
Share on other sites

That Percom Primer is where I first read about the issue with the mounting of the voltage regulators.  I would have never thought about that, otherwise.  And mine WERE mounted wrongly.  However, I do think some of the info in there is wrong...  Sigh. 

 

Meanwhile, I REALLY like this f9dasm/A09 combo.  Using the author's pre-built A09 binary under Win7, I can just drag-and-drop the ASM file on it, and it spits out a 2K binary that binary compares exactly against the original ROM.  And it was really not too much work.

 

Now, moving all of phaeron's comments over is a bit of work, LOL.  But I'm motivated.  Even if no one else does, I think it's just a great idea to have the ASM code that will compile back into a working Percom firmware.  And I really doubt, at this late stage, that any better ROM is going to show up!  Even if one somehow does, the changes can be easily added back in.  And I now have a foolproof ROM backup method.  So I'm happy.

 

Also, with Phaeron's great emulator, it's possible to change the ROM, load it into Altirra, and test it right there!

Link to comment
Share on other sites

It's not that the back is a poor heat sink, it's that Percom put the insulators BETWEEN the regulators and the case.  I did put heat sinks on mine, on the back of the case.  It's in the photos in the very first post I made at  the start of this thread. 

Link to comment
Share on other sites

it's not so much the insulator doesn't belong there as much as it is that the heat sink grease isn't applied on both sides of the insulator as it should be... the other stupid move was putting the regulators in sockets... this is a really bad idea that screws with bias and leads to issues over time as oxidation sets in... higher current draw items should be soldered or clamped and never placed in sockets of this type. The insulators are still used today for protection against failures in a way that the grounded heat sink tab becomes exposed to a positive charge, either through a failure of components to the case, a direct contact of live power to the case... or in a rare instance of a failure of the regulator such that it makes the heat sink tab live with positive voltage/current. The alchemist is wise but did not see those particular demons lurking in the mist (magical smoke)

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

2 hours ago, _The Doctor__ said:

.. the other stupid move was putting the regulators in sockets...

I have a Percom AT88-S1 which has the voltage regulators soldered to the PCB next to the SIO ports.

I believe adding sockets for the regulators was to overcome the issue with legs breaking off due to accumulated stress when plugging/unplugging SIO cables, the PCB moves a little but the voltage regulator can't because it is screwed to the back of the case which acts as the heatsink, the sockets allowed some movement which reduced/removed this stress.

 

 

Link to comment
Share on other sites

On 7/28/2021 at 9:14 AM, kheller2 said:

Slightly off topic, but doesn’t the 1050 also have one of its regulators isolated from the heat sink for electrical purposes?

It most certainly does!  I bought a 1050 on Ebay that had the isolation removed and it drove me crazy for a while till I noticed the heat build up

around the TIP110 (Q6).

 

DavidMil 

  • Like 1
Link to comment
Share on other sites

On 7/28/2021 at 12:51 PM, BillC said:

I have a Percom AT88-S1 which has the voltage regulators soldered to the PCB next to the SIO ports.

I believe adding sockets for the regulators was to overcome the issue with legs breaking off due to accumulated stress when plugging/unplugging SIO cables, the PCB moves a little but the voltage regulator can't because it is screwed to the back of the case which acts as the heatsink, the sockets allowed some movement which reduced/removed this stress.

 

 

heh soldered copper braid across them... they flex and carry the current without drop, loss or breakage ... never a problem

Link to comment
Share on other sites

Looking through my Percom stuff, I found a EPROM with a Version level of AT88 V1.3, and a 16 pin AM27S19DC that was

stamped in white ink with the word PECOM-1 that is on a daughter board attached to the AT88 board.  The daughter board

fits into the U6 socket.

 

DavidMil

Link to comment
Share on other sites

OK, this was a lot of work, I spent several days on it.  What I have is the ROM disassembly for the Percom RFD's Version 2.1 that DavidMil supplied, and pharon commented.  What I've done is add labels, and structure to the code so that it's fairly easy to read (if you can read 6809 assembly) which I've kind of learned to do now...

 

And...  It's fully assemble-ble with the A09 6809 assembler: https://www.hermannseib.com/english/opensource.htm, and it assembles right back into the same exact 2K ROM.  But this time, it can be modified and re-assembled.  However, it's a really FULL 2K ROM, so it would be challenging to add much.

 

It would be EASY to change the sector interleaves, or the motor timeout, or other things like that.  One thing I'm looking at is the annoying fact that Percom's "motor-ons" every attached drive when one of them is selected.   And it MIGHT be possible to add a new SIO command.

 

The code can be shortened/optimized to get some more free bytes, by changing long branches to short ones as phareron noted.  I've done that, and a few other things in a "custom" version I was playing around with, but only saved about 28 bytes, lol!  It's pretty well coded from what I can tell.  If it were a 4K ROM, I guess all sorts of things could be done...  Anyways, I hope someone finds this useful.  It suits my hacker mentality to be able to build a custom firmware for the drive I own.  50K full assembly code below:

 

 

Percom-RFD-21.asm

Link to comment
Share on other sites

  • 1 month later...

Replying to old thread, but got an EPROM burner today and read the ROM from my RFD44-S1.  It's RFDV1.1, and it's the exact same CRC32 and everything as the known ones.  So, basically I'm reporting nothing new.  But now I can change the formatting bytes to 00, or hack on it, or anything.  So that's cool.

  • Like 1
Link to comment
Share on other sites

While I was rummaging around I found a manual for AT88 drives for Atari Computers.  It's in very bad condition because It's been in the attic

for at least 30 years.  The pages are so brittle that they crack apart if not handled carefully.  I'm going to need someone to carefully copy this

manual.  I'm going to check locally to see if I can get a decent price to make a couple of copies and maybe a pdf file too.  Here are a couple of

pics.

DavidMilCIMG0866.thumb.JPG.70bf8403f2e2696e0e8bd6ea5494c364.JPGCIMG0867.thumb.JPG.0d86d186238609606cad0af1793f2667.JPGCIMG0868.thumb.JPG.e631efd958a85e66db418fde119f794f.JPG

 

CIMG0865.JPG

  • Like 4
Link to comment
Share on other sites

Ok, today I bought/received a new (well, to me) Percom drive, an AT88-S1PD.  It came with a Tandon half-height drive, which is broken, but I think I can fix it.  It (the drive mech) had a shorted-out capacitor on the motor control board. 

 

I'm posting because this Percom has a 1.01 firmware, unseen before, I think.  I have an EPROM burner now, so I pulled it and dumped it.  I also took a photo of the controller board:

 

IMG_20210927_201126.thumb.jpg.af03a963e1dfc6b836311bb45de41017.jpg

 

And the ROM dump:

 

at88s1pd101.bin

 

This one has never before been dumped/posted, as far as I know.

  • Like 1
Link to comment
Share on other sites

1 hour ago, glurk said:

I'm posting because this Percom has a 1.01 firmware, unseen before, I think.  I have an EPROM burner now, so I pulled it and dumped it.  I also took a photo of the controller board:

 

at88s1pd101.bin 4 kB · 3 downloads

 

This one has never before been dumped/posted, as far as I know.

It looks like the only difference in the drive portion between this v1.01 and v1.11 is step rate -- this has a faster default step rate (0) than v1.11 (1). There is a bit more on the printer side, looks like v1.11 added logic to force-print a space on an empty line and increase some delays.

 

Link to comment
Share on other sites

17 minutes ago, cx2k said:

Picked up a couple of Percoms recently and just dumped the roms.

 

One was a Single Percom and the other was a Dual Percom. Here's pics of the chips and dumps in case anyone wants to dissect or check for differences.

 

Thanks for posting.

 

The ROM from the dual machine matches 2 other dumps from RFD drives that have been dumped already.

 

The AT-88 v1.10 ROM, I don't seem to have any previous dump matching that.

 

  • Like 1
Link to comment
Share on other sites

MrFish-

 

Do you have these Percom ROMs organized and downloadable from somewhere?  I know they are scattered all over in posts on this board, and probably on other sites.  I personally want to get the "newest" ROM for my AT88-S1PD drive, which I just fixed.  The one with 1.01 f/w I posted above.

 

This would be a great resource, and at least of help to everyone who owns these drives!

 

  • Like 1
Link to comment
Share on other sites

31 minutes ago, glurk said:

MrFish-

 

Do you have these Percom ROMs organized and downloadable from somewhere?  I know they are scattered all over in posts on this board, and probably on other sites.  I personally want to get the "newest" ROM for my AT88-S1PD drive, which I just fixed.  The one with 1.01 f/w I posted above.

 

This would be a great resource, and at least of help to everyone who owns these drives!

 

I have them (and ROM's for many other devices) fairly well organized at this point. I still want to standardize what information is in the file names, what order it appears, and what format it's in (with braces, parenthesis, etc.).

 

The purpose for me getting all these together is for a website I'm working on, which isn't too far from being ready to launch. It's completely devoted to hardware (and some related materials).

 

So, I plan to have all these ROM's neatly situated on pages and sections for the hardware they belong to.

 

In the mean time, here's the most recent AT88-S1PD ROM I have (v1.21). The checksum is the bracketed number in the filename. It was dumped/posted by @JR>

 

Percom AT88-S1PD (DD 1795-PL) (1.21) (5-4-84 0073) [FC6675F2] - JR.rom

 

Edited by MrFish
Link to comment
Share on other sites

Annotated disassembly of AT-88 V1.10 attached. Turns out it is almost exactly the same as a previous dump (https://atariage.com/forums/topic/304384-percom-at-88-doubler-rom/?do=findComment&comment=4500754), with one small exception. In V1.10, there is a bogus PULS X instruction that causes the firmware to crash if the sector number to a Write Sector or Put Sector command is invalid (0 or >720). In the linked version, this was hotfixed with two NOPs in-place. That means we have three known AT-88 dumps:

  • [942606D1] V1.10 12-8-82 (above), related to RFD 1.10
  • [404EFBE1] unknown version with write/put hotfix (V1.11?)
  • [2372FAE6] V1.20, related to RFD 1.20

The strange thing is that this is in a code fragment that sets the invalid data frame status bit (bit 1), which seems bogus; no version of the RFD firmware does this, instead just jumping directly to the NAK handler, but all versions of AT-88 at AT88-S1PD/SPD do. Not aware of any other drives that do this.

 

For completeness, known RFD versions (2K firmware):

  • [5A396459] V1.00
  • [E2D4A05C] V1.10 (8-28-82 and 11-8-82): deleted sector fix
  • [2AB65122] Astra 1001/1620; modified V1.10 with different step rate
  • [C6C73D23] V1.20: double-sided fixes
  • [AC141045] V2.10: many disk fixes

..and AT88-S1PD/SPD versions (4K firmware):

  • Pre-V1.11 with incomplete listing only
  • [87A0D7E7] V1.11 (1-9-84): step rate changed + printer fixes
  • [FC6675F2] V1.21 (5-4-84): more printer fixes
  • [575C9833] Unknown version >1.21: disk fixes in common with RFD V2.10

 

percom-at88-1.10.s

Edited by tep392
I took the liberty of fixing the check sum typo's for AT88-S1PD V1.11 and V1.21
  • Like 3
Link to comment
Share on other sites

1 hour ago, phaeron said:

[404EFBE1] V1.11 (1-9-84): step rate changed + printer fixes

 

I have a checksum of 87A0D7E7 for this one.

  

1 hour ago, phaeron said:

[2372FAE6] V1.21 (5-4-84): more printer fixes

 

This should match the one I just posted above, with a checksum of FC6675F2.

  

1 hour ago, phaeron said:

[575C9833] Unknown version >1.21: disk fixes in common with RFD V2.10

 

For this checksum, I have it listed as v1.3 (?) - as it was supposed at the time it was dumped. It's been determined to be v1.21 now?

 

Edited by MrFish
Link to comment
Share on other sites

12 hours ago, MrFish said:

 

I have a checksum of 87A0D7E7 for this one.

 

This should match the one I just posted above, with a checksum of FC6675F2.

Sorry, yeah, you're correct on those two. I miscopied the CRCs.

 

12 hours ago, MrFish said:

For this checksum, I have it listed as v1.3 (?) - as it was supposed at the time it was dumped. It's been determined to be v1.21 now?

>1.21 means newer than v1.21, since that version of the firmware has bug fixes beyond the one that is known to be v1.21 by the sticker on the ROM. However, this particular once I don't think we have a version for -- the source remembers there was a v1.3 and v1.4, but we don't have indication that this ROM version is either of those:

 

https://atariage.com/forums/topic/304384-percom-at-88-doubler-rom/?do=findComment&comment=4502153

 

It also doesn't appear that the S1PD/SPD firmwares tracked the version numbers of the RFD/AT88 firmwares, whereas the RFD and AT88 firmware versions do track closely.

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