Jump to content
IGNORED

Percom AT-88 Doubler - ROM?


MrFish

Recommended Posts

Try this:

 

https://atariage.com/forums/topic/297197-need-help-percom-rfd-board/?do=findComment&comment=4471325

 

WD1771 / 1795 controller support, and Phaeron's disassembly suggests it's double density capable, but without printer port functionality.

 

I have another AT-88 with doubler I plan to dump the ROM from to compare. I'll try to do that sooner than later.

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

Thanks, I had already downloaded that one; but I had (wrongly) assumed it was a stock AT-88 ROM (hadn't taken the time to read phaeron's disassembly comments yet). So, it looks like this is potentially an AT-88 Doubler ROM? I look forward to seeing how it compares with your Doubler ROM.

 

I need to find a stock AT-88 ROM now, since the one referenced here isn't one.

 

Link to comment
Share on other sites

Doubler for the AT-88 Manual (thanks @Allan!) : https://archive.org/details/doublerfortheat88percomdatacorp/page/n21/

 

The manual includes steps to remove the ROM and replace it with an upgraded one: "The new AT-88 ROM supports double density" - suggesting there exists an older ROM that is only single density capable.

 

Oddly, illustrations in this manual depict a "1771" chip on the doubler board, which doesn't make sense as the WD1771 is not double density capable. There are no steps in the manual for inserting the 1771 into the doubler board, so the the doubler board must have already came with a WD1795 installed, but the new ROM would work just fine in a drive with a 1771, just only in double density.

 

 

I could have sworn there was a picture of the doubler board in a previous post somewhere, but can't find it at the moment.

 

 

  • Like 1
Link to comment
Share on other sites

Looking repro Percom doubler boards people are making for the TRS-80.. showing BOTH a 1771 and a 1791 on their board...

 

http://www.trs-80.com/wordpress/?s=dmk#gallery-61

news-160726-percom-doubler-2-model-i.jpg

 

and http://www.trs-80.com/wordpress/old-news-and-guestbook/site-news-2016/

news-161106-ian-percomdoubler.jpg

 

I wonder if they are the same / and will work in our Atari Percom drives - when combined with the requisite ROM upgrade....

  • Like 2
Link to comment
Share on other sites

1 hour ago, Nezgar said:

The manual includes steps to remove the ROM and replace it with an upgraded one: "The new AT-88 ROM supports double density" - suggesting there exists an older ROM that is only single density capable.

So, you're saying that the early AT-88's were single-density only, and thus they provided the Doubler as a means of upgrading; whereas later versions of the AT-88 were already double-density capable, and thus the AT-88 dump you pointed to above (the one disassembled by phaeron) was from a later production, stock AT-88 drive?

  

1 hour ago, Nezgar said:

Oddly, illustrations in this manual depict a "1771" chip on the doubler board, which doesn't make sense as the WD1771 is not double density capable. There are no steps in the manual for inserting the 1771 into the doubler board, so the the doubler board must have already came with a WD1795 installed, but the new ROM would work just fine in a drive with a 1771, just only in double density.

Actually, there are:

 

"Find the black plastic socket labeled U3 on the Doubler. Insert the Controller Integrated Circuit (labeled 1771) into this socket." (Page 2-3)

 

Where the 1771 referred to is the IC the user is told to remove from the controller board on the drive. (Page 2-2)
 

Edited by MrFish
Link to comment
Share on other sites

@MrFish Yes, exactly - Early AT-88's were released as single density only and were later upgradable with the DD board. Later production AT-88's came with DD preinstalled.

 

@MrFish @_The Doctor__ Thanks, I missed that it says to move the 1771 to the new board in the manual, makes sense now. But that's pretty silly to have both on there - it implies that it uses the 1771 for single density, and the 179X for double density, when technically the 179X is capable of serving both... Or, the 1771 simply gets disabled while the 179X is present, and it's just a placeholder... @phaeron's disassembly shows only a single FDC type flag:

;$5016          FDC type flag ($00 = 1771, otherwise 1795)

 

Link to comment
Share on other sites

22 minutes ago, Nezgar said:

@MrFish Yes, exactly - Early AT-88's were released as single density only and were later upgradable with the DD board. Later production AT-88's came with DD preinstalled.

So, as of yet there's no dump of any early-production AT-88's -- with a ROM that supports SD only?

 

Link to comment
Share on other sites

1 hour ago, MrFish said:

So, as of yet there's no dump of any early-production AT-88's -- with a ROM that supports SD only?

 

Correct - as far as I know. Looking for volunteers!

 

Edit: There's one listed on EBAY for $59.99 USD and free shipping within the US if anyone is interested - supposedly single density only one that would contain the earlier ROM we're after. But it would also be lucky if it indeed is DD capable, but the seller is unaware:

https://www.ebay.com/itm/133024789802

 

Shipping and exchange rate are too prohibitive to Canada... (Plus I already have a DD capable one). Maybe with a repro doubler PCB the TRS-80 folk made, and a replacement EPROM with the DD capable firmware, maybe it can be upgraded too.

 

Edit 2: oh i may have a lead!

Link to comment
Share on other sites

3 hours ago, Nezgar said:

Correct - as far as I know. Looking for volunteers!

 

Edit: There's one listed on EBAY for $59.99 USD and free shipping within the US if anyone is interested - supposedly single density only one that would contain the earlier ROM we're after. But it would also be lucky if it indeed is DD capable, but the seller is unaware:

https://www.ebay.com/itm/133024789802

 

Shipping and exchange rate are too prohibitive to Canada... (Plus I already have a DD capable one). Maybe with a repro doubler PCB the TRS-80 folk made, and a replacement EPROM with the DD capable firmware, maybe it can be upgraded too.

Not a bad price, with free shipping (I'm in U.S.). It looks pretty clean too. I might consider buying it.

 

I like the motto on the back of the drive, "Expanding Your Peripheral Vision". Pretty good! I forgot about that one.

  

3 hours ago, Nezgar said:

Edit 2: oh i may have a lead!

I'll wait to hear how your lead turns out...

 

Edited by MrFish
Link to comment
Share on other sites

4 hours ago, Nezgar said:

@MrFish Yes, exactly - Early AT-88's were released as single density only and were later upgradable with the DD board. Later production AT-88's came with DD preinstalled.

 

@MrFish @_The Doctor__ Thanks, I missed that it says to move the 1771 to the new board in the manual, makes sense now. But that's pretty silly to have both on there - it implies that it uses the 1771 for single density, and the 179X for double density, when technically the 179X is capable of serving both... Or, the 1771 simply gets disabled while the 179X is present, and it's just a placeholder... @phaeron's disassembly shows only a single FDC type flag:


;$5016          FDC type flag ($00 = 1771, otherwise 1795)

 

The firmware uses both: it detects the 1795 by whether it can store different values in the track registers of the two FDCs, and specifically switches between different read/write commands for the two. All of the places where deleted sector status is handled were updated to work with the 1771 returning record type bits instead of one. Why they did this instead of just switching completely over to the 1795 is a mystery.

 

  • Like 1
Link to comment
Share on other sites

the same general board template used throughout all the updates made it possible to use it with varied chips from/for the different machines...  also when one chip failed you still had the other... you still had some chance to access some of your data... and limp along till a suitable replacement arrived...

Link to comment
Share on other sites

Well, curiosity got my off of my arse and I dug out and cracked open my DD-capable AT88-S1, and dumped my ROM, and posted it over here:

https://atariage.com/forums/topic/297197-need-help-percom-rfd-board/?do=findComment&comment=4493122

 

I also confirmed what we've been talking about here the Percom doubler PCB indeed has both WD1771 and WD1791 controllers. What silliness...

 

Not sure if pictures of this PCB have been posted before, but I was unable to find any looking around yesterday and today, so here we are. Maybe a TRS-80 doubler is compatible? Maybe someone will recreate it one day in KiCad for OshPark? :D

 

1593989875_PercomDoublerPCBTop.thumb.jpg.93c0cb372ea0d6db512944408d74c70b.jpg861387024_PercomDoublerPCBBottom.thumb.jpg.73820451ca7ccc4a69c9151f42f67038.jpg

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

Found a page that might explain why Percom used such a dual-FDC scheme:

 

Quote

When they built their expansion interface, they provided for use of 8" drives, and also for "double density". But they failed to realize that the WD 179x FDC that they used in order to have double density was incapable of writing certain address marks that RS had used with the 1771 FDC in the TRS80. Thus, their machine was incapable of writing disks readable by a stock TRS80 running TRS-DOS. That is why the Percom Doubler had a spare socket to plug in the 1771 to have BOTH FDCs present.

http://oldcomputers.net/lobomax80.html

 

The feature in question is the ability to use two type bits in a Data Address Mark and compatibility with the TRSDOS 2.x filesystem:

 

Quote

The JV1 format is simply an array of 256-byte sectors stored in a file. Byte 0 of the file is byte 0 of track 0, sector 0; byte 256 is byte 0 of track 0, sector 1, and so forth. There are 10 sectors per track (i.e., single density), numbered 0 through 9, and only one side. Tracks are numbered starting at 0. All sectors on track 17 are formatted with the nonstandard data address mark 0xFA, indicating a TRSDOS 2.3 directory. All other sectors are formatted with the standard data address mark 0xFB.

Note: In emulations of the WD1791/3 floppy disk controller used in the Model III and 4, it is best to present track 17 as being formatted with the standard deleted data address mark 0xF8. The WD1791/3 cannot write 0xFA, and upon reading, returns it as 0xFB. So Model III/4 operating systems use 0xF8 on the directory track instead.

https://www.tim-mann.org/trs80/dskspec.html

 

The Atari disk format does not make use of alternate data address marks, but some copy protected disks do. Percom could have done this either for compatibility with the 810 or to reuse a common hardware design with their TRS-80 products.

 

  • Like 4
Link to comment
Share on other sites

Thanks phaeron for finding the definitive explanation on the TRS-80 front. It seems most plausible that Percom would just re-use their boards. I'd really like to see if a doubler board intended for a TRS-80 would work in an Atari Percom drive without having to spend $100+ to find out... I did see this on eBay: https://www.ebay.com/itm/153764663296

 

And the force was with you MrFish on finding that post by DavidMil - I'm going to followup with him!

Link to comment
Share on other sites

On 3/26/2020 at 7:43 PM, MrFish said:

I'll wait to hear how your lead turns out...

 

With many thanks to @BillC for extracting the 2716 EPROM from his drive for me and after a couple rounds of some cartridge gymnastics, I'm happy present a ROM dump from a single-density only Percom AT88-S1.

 

It's CRC32 of FBF0913C does not match any other Percom ROM's I know of, and a cursory look at the data shows it to be sufficiently different from the DD capable V1.2 ROM. Curious as always what @phaeron can unravel from it. :jango:

 

Edit: Attached ROM replaced with one matching CRC32 404EFBE1 later found to be correct.

 

Haven't heard back yet from @DavidMil regarding his V1.3 - hope he's ok.

 

Picture of the single-density only data separator board with only a 1771 controller:

IMG_20200330_214629532.jpg

 

And comparing the rear drive labels.. DD capable drive on left, SD capable on right:

AT88_SDvsDD_Rear_Labels.thumb.jpg.4f49bcb5afc565999f3f08cf6a8a8208.jpg

 

Anyone able to make an attempt at reading the label? The "DCA-0066-001" is the same as the first line of my V1.2 EPROM, but the rest... AT-88B0DA?

AT88-EPROM.jpg

 

 

AT88 V1.x 404EFBE1.bin

  • Like 2
Link to comment
Share on other sites

2 hours ago, Nezgar said:

Might need a redump, seeing a bunch of apparently corrupted bytes:

 

F8A2: A6A0              LDA     ,Y+
F8A4: A7EF              STA     <invalid:$EF>		<-- should be A780 (STA ,X+)
F8A6: 5A                DECB

F933: 3501              PULS    CCR
F935: A0D2              SUBA    <invalid:$D2>		<-- should be 20D2 (BRA)
F937: 35FF              PULS    PC,U,Y,X,DPR,B,A,CCR

F965: 16007A            LBRA    $F9E2
F968: 16008A            LBRA    $F9F5
F96B: 16019A            LBRA    $FB08
F96E: 16001A            LBRA    $F98B
F971: 16FFBF            LBRA    $F933		<-- should be 1600BF
F974: 16FF2C            LBRA    $F8A3		<-- should be 16002C 
F977: 16C111            LBRA    $BA8B		<-- should be 160011
F97A: 16000E            LBRA    $F98B
F97D: 16FF0B            LBRA    $F88B		<-- should be 16000B
F980: 16FF7F            LBRA    $F902
F983: 8645              LDA     #$45
F985: A00A              SUBA    10,X		<-- should be 200A (BRA)
F987: 8643              LDA     #$43
F989: 2006              BRA     $F991
F98B: 864E              LDA     #$4E
F98D: A0C3              SUBA    ,--U		<-- should be 2002 (BRA)

 

Link to comment
Share on other sites

6 hours ago, Nezgar said:

Anyone able to make an attempt at reading the label? The "DCA-0066-001" is the same as the first line of my V1.2 EPROM, but the rest... AT-88B0DA?

AT88-EPROM.jpg

 

It looks like it says "AT-88 ROM" to me. The "R" just looks a little slopped up.

 

Link to comment
Share on other sites

I remembered the raw dump actually repeated the 2KB 4 times, but I only posted the first without comparing the others.

 

#2 and #4 have matching CRC32 404EFBE1. Hopefully one of them is good... All 4 in attached ZIP.

 

 

Edit: With 16 more redumps, CRC32 404EFBE1 seems to be the most prevalent for 8 of the 16...

 

 

16xCRCs.png.af2af6c3fce0c7b8bcc5e071718da9a2.png

 

Edit 2: Replaced attachment in original post with good dump CRC32 404EFBE1.

  • Like 1
Link to comment
Share on other sites

Disassembly attached. The assembly listing looks clean now, so it's likely that 404EFBE1 is a good dump. I'll blacklist the other one.

 

This is also a double-density capable firmware, BTW. It's not the single-density only version.

 

Differences from AT-88 V1.2:

  • There is init code to clear the continuation handler pointer at 9,U. Pointless, because if the IRQ handler runs it'll just crash at $0000 instead.
  • V1.2 has an instruction to clear PIA interrupts after FDC detection. Not sure if this makes a difference.
  • V1.2 also has a fix to the IRQ routine to avoid unmasking IRQs while masking IRQs for the continuation routine. Probably a safety fix, since the IRQ was just acknowledged and cleared.
  • This version lacks the fixes to reverse interleave and skip the boot sector check on side 2 but retains the deleted sector fixes, which implies that this is older than AT-88 V1.2 and related to RFD 1.10 (maybe it is AT-88 V1.1?).

 

percom-at88-2.s

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

7 hours ago, Nezgar said:

I remembered the raw dump actually repeated the 2KB 4 times, but I only posted the first without comparing the others.

 

#2 and #4 have matching CRC32 404EFBE1. Hopefully one of them is good... All 4 in attached ZIP.

AT88x4.zip 7.12 kB · 3 downloads

 

Edit: With 16 more redumps, CRC32 404EFBE1 seems to be the most prevalent for 8 of the 16...

 

 

16xCRCs.png.af2af6c3fce0c7b8bcc5e071718da9a2.png

I notice all the good images are in the 2nd and 4th banks of each 8k dump, This would mean all the consistent dumps happened with the 12th address signal high(x800 to xFFF), and the inconsistent dumps with it low(x000 to x7FF).

 

This has to do with my using a 16K EPROM cartridge PCB to make the dumps. The 2716 was inserted in the lower 24 pins of the DIP-28 socket, and pin 26 jumpered to pin 28 to provide power, no other modifications. This left A11 connected to Vpp of the 2716, Vpp is supposed to be +5V for read operations so it only read properly when A11 was high.

 

 

  • Like 2
Link to comment
Share on other sites

4 minutes ago, BillC said:

I notice all the good images are in the 2nd and 4th banks of each 8k dump, This would mean all the consistent dumps happened with the 12th address signal high(x800 to xFFF), and the inconsistent dumps with it low(x000 to x7FF).

 

This has to do with my using a 16K EPROM cartridge PCB to make the dumps. The 2716 was inserted in the lower 24 pins of the DIP-28 socket, and pin 26 jumpered to pin 28 to provide power, no other modifications. This left A11 connected to Vpp of the 2716, Vpp is supposed to be +5V for read operations so it only read properly when A11 was high.

 

 

nice observation, this bit of information should be propagated not only through this but similar threads. thanks for the heads up!

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