moonlight_mile Posted October 21, 2019 Author Share Posted October 21, 2019 Good stuff. Alright, so it's an AM2716DC. (Manufactured March 1982) matching the RFD schematic. Unfortunately the pinout of the 2716 is incompatible with an Atari cartridge so that trick isn't going to work... Though it's possible your Smart Term cartridge has an EPROM inside that could be swapped out. I think it's a solakian shell, which has 4 plastic posts holding the two halves together. It can be separated with very gentle/even prying. Up to you if you feel comfortable dismantling that cartridge. Regardless, a 2732 EPROM programmed with the 2K repeated should be a compatible replacement and I can get one on it's way to you with the ROM image I have...Ha. No such luck. 1 Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted October 21, 2019 Author Share Posted October 21, 2019 For shits and giggles I popped open the basic xl cart. Would this work? Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted October 21, 2019 Author Share Posted October 21, 2019 Quote Link to comment Share on other sites More sharing options...
Nezgar Posted October 21, 2019 Share Posted October 21, 2019 Haha, I was going to say... Unfortunately that cart uses 28 pin 2764's, so it's again pin-incompatible with the 24-pin 2716/2732. Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted October 21, 2019 Author Share Posted October 21, 2019 Haha, I was going to say... Unfortunately that cart uses 28 pin 2764's, so it's again pin-incompatible with the 24-pin 2716/2732.In Lieu of spending the 60-75 for an eprom programmer is there a cart that you know of that have the correct pin outs that I can get an sacrifice? I also have an at-88 rom that I’d like to back up and possibly get a dd rom and see if I can get that upgraded. But that is another project for after the rfd is fixed. Or is there anyone in the Lehigh valley that has or knows of anyone with an eprom programmer that can help me dump my roms? Quote Link to comment Share on other sites More sharing options...
Nezgar Posted October 21, 2019 Share Posted October 21, 2019 Is your AT-88 currently only single density capable? If so, it will need more than just a new ROM to gain that functionality - there's a double density daughterboard to house the new WDC FDC as well: https://archive.org/details/doublerfortheat88percomdatacorp/page/n21 Lots of AT-88's apparently shipped with it already pre-installed though. If it DOES do DD currently, yes, the ROM from there should work - but again there's so few of these dumped it would also be good to dump / preserve... Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted October 21, 2019 Author Share Posted October 21, 2019 Is your AT-88 currently only single density capable? If so, it will need more than just a new ROM to gain that functionality - there's a double density daughterboard to house the new WDC FDC as well: https://archive.org/details/doublerfortheat88percomdatacorp/page/n21 Lots of AT-88's apparently shipped with it already pre-installed though. If it DOES do DD currently, yes, the ROM from there should work - but again there's so few of these dumped it would also be good to dump / preserve...Yeah I know. I was gonna but that Percom that was on eBay a few weeks ago that had the doubler board but I was already invested in the rfd Percom. Not to mention that Percom had been relisted a few times since so I figured it might get re-listed. But someone got it. Was a great deal. Yeah here is my sd daughter board. Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted January 14, 2020 Author Share Posted January 14, 2020 Here is a dump of the RFD 44 Eprom from my uncorking Percom. percom rfd 44.bin Quote Link to comment Share on other sites More sharing options...
Nezgar Posted January 15, 2020 Share Posted January 15, 2020 Thanks @moonlight_mile ! CRC32 is C6C73D23, which doesn't match any of the dumps I currently have. Did your EPROM chip have a label with a version # by chance? I just tested your ROM dump in Altirra under PERCOM full drive emulation and it seems to check out! it reads single and double density no problem, after the usual long POST. Edit: this "RFD 1.2" ROM has now been disassembled, and differences from previous known versions identified here: https://atariage.com/forums/topic/300650-anyone-have-percom-firmware-dumps/?do=findComment&comment=4432838 Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted February 9, 2020 Author Share Posted February 9, 2020 Here is the rom dump from my new Percom rfd40. percomrfd40_1.10.BIN 3 Quote Link to comment Share on other sites More sharing options...
Nezgar Posted February 12, 2020 Share Posted February 12, 2020 Much appreciated @moonlight_mile! Your v1.10 dump CRC32 E2D4A05C matches the v1.10 ROM previously dumped from an RFD40-S2 by @ballyalley Great to have v1.10 verified from 2nd source. 1 Quote Link to comment Share on other sites More sharing options...
ballyalley Posted February 13, 2020 Share Posted February 13, 2020 On 2/11/2020 at 11:36 PM, Nezgar said: Much appreciated @moonlight_mile! Your v1.10 dump CRC32 E2D4A05C matches the v1.10 ROM previously dumped from an RFD40-S2 by @ballyalley That's great news that the ROM dump has been confirmed! I know that the TOSEC "standard" of using the explanation point in a file name to designate a confirmed ROM is sort of out-dated now, but I still appreciate its use in filenames. Adam Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted February 25, 2020 Author Share Posted February 25, 2020 Here is my latest Percom acquisition. It is the at88 expander drive. I never saw one of this back in the 1980s, so when I saw this pop up, I grabbed it. Also solves my hunt for a case for two half height drives. It is nothing special, just a single sided tandon 100 and a power supply (missing the fuse holder) but thought it was somewhat unique. 1 Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted March 2, 2020 Author Share Posted March 2, 2020 Here is my AT-88 Rom dump. at88.bin 1 Quote Link to comment Share on other sites More sharing options...
phaeron Posted March 5, 2020 Share Posted March 5, 2020 AT-88 firmware disassembly attached. Firmware is a derivative of RFD 1.20 firmware. I'm guessing this is the AT88 V1.3 firmware seen in some other pictures. Some optimizations to the firmware were done to make room for new code, such as reducing long branches to short branches and reusing code. There are still useless [L]BSR + RTS sequences. The AT-88 firmware is not compatible with the RFD-40S1. The AT-88 uses a 6821 PIA for functions that the RFD controls with miscellaneous logic and hardware is assigned to different addresses, and there are no configuration switches. The RFD's NMI timer logic seems to be absent, INTRQ is just routed through the PIA to IRQ instead. This appears to be for an AT-88 without the printer port. The PIA setup is different than the AT88-S1PD/SPD schematic floating around that has the printer port connection. (Port B is criminally unused with only one bit for sensing write protect, probably why PERCOM then changed the design to squeeze in a printer port.) I have not been able to find a schematic matching this firmware. Unusually, this firmware is designed to work with both a 1771 and a 1795 FDC, as it detects which one is in use and switches read/write sector command values accordingly. The RFD V1.10/1.20 code to handle deleted sectors has also been modified again to handle the 1771. Also unusually, this is one of the few firmwares that can return an Error from a Write PERCOM Block command. This happens on an attempt to set a double-density configuration on a drive with a 1771. percom-at88.s 2 1 Quote Link to comment Share on other sites More sharing options...
Nezgar Posted March 28, 2020 Share Posted March 28, 2020 On 3/2/2020 at 8:07 AM, moonlight_mile said: Here is my AT-88 Rom dump. On 3/5/2020 at 2:25 AM, phaeron said: I'm guessing this is the AT88 V1.3 firmware seen in some other pictures. @moonlight_mile can you confirm what the ROM from your AT88-S1 label said? Because I just dumped the ROM from my double-density capable AT88-S1, labelled "460-0066-001 VER 1.2". The CRC32 of FD13A674 does not match yours, supporting @phaeron's guess that may be V1.3. This drive also does not have a printer port expansion, only the external drive connection card edge connector protruding from the back. The MPI mech has what looks like a QA tag and is stamped 2-20-84, bottom of mech Mfg date Oct 1983. With label removed, the EPROM is an NMC MM2716Q, mfg date June 27-July 3, 1983. * EDIT [Mar 31, 2020]: ROM dump removed - confirmed bad - see this post: https://atariage.com/forums/topic/297197-need-help-percom-rfd-board/?do=findComment&comment=4496546 1 1 Quote Link to comment Share on other sites More sharing options...
moonlight_mile Posted March 28, 2020 Author Share Posted March 28, 2020 Here is a pic of my At-88 Rom 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 28, 2020 Share Posted March 28, 2020 (edited) I just did a file compare on your two dumps, and there's only one byte different. @ Offset: $05CA Moonlight: $FD Nezgar: $FC (So, actually, only half a byte difference.) Edited March 28, 2020 by MrFish Quote Link to comment Share on other sites More sharing options...
StickJock Posted March 28, 2020 Share Posted March 28, 2020 3 hours ago, MrFish said: I just did a file compare on your two dumps, and there's only one byte different. @ Offset: $05CA Moonlight: $FD Nezgar: $FC (So, actually, only half a byte difference.) Well, if you want to be pedantic, it's actually only a single bit (bit 0) difference. ? 1 Quote Link to comment Share on other sites More sharing options...
Nezgar Posted March 28, 2020 Share Posted March 28, 2020 Interesting, thanks - I didn't think to do a binary compare last night. I re-ran a verify on my EPROM 10x just now and got the same result. Moonlight: $FD = 11111101 Nezgar: $FC = 11111100 1 bit difference.... Since EPROM's erase to 1's, if this is due to EPROM bit-rot, it would suggest $FC as thecorrect byte. But a source code check might better tell us what it should be. If I'm reading @phaeron's dissassembly correctly, offset $05CA in the ROM equates to $FDCA in the AT88's memory map. The BNE istruction at $FDC8 would branch to the previous instruction forming a decrementing loop until 'equal' is met: FDC8: 4A DECA FDC9: 26FD BNE $FDC8 $FCC8 would branch to the middle of two instructions much earlier in the ROM, which appears nonsensical: FCC6: AEC810 LDX 16,U FCC9: 10AE4E LDY 14,U So... I believe Moonlight's dump with $FD at $05CA is correct. Interesting that bit-rot "programmed" that bit to a 0! Quote Link to comment Share on other sites More sharing options...
StickJock Posted March 28, 2020 Share Posted March 28, 2020 Do these ROMs include an internal checksum or CRC? If so, then with only a single difference, only only one of them would checksum out correctly. Quote Link to comment Share on other sites More sharing options...
phaeron Posted March 28, 2020 Share Posted March 28, 2020 (edited) Bcc instructions use relative offsets, not absolute. The second byte of the instruction is a signed 8-bit offset from the address after the end of the branch. $FD causes a branch 3 bytes back for a loop of DECA / BNE *-3, while $FC branches 4 bytes back for EORB #$4A / BNE *-4. This makes the delay loop not work as intended. However, B=0 on entry to this loop, so the loop will still deterministically run two iterations. This delay loop is used after a Force Interrupt command is issued to the FDC to stop the Write Track command. There's already about 100 cycles between this command and the next even with this bug, so it's not clear whether the extra ~490 cycles makes a difference. Edited March 28, 2020 by phaeron Oops, mixed up the pictures, it's not V1.30 Quote Link to comment Share on other sites More sharing options...
Nezgar Posted March 28, 2020 Share Posted March 28, 2020 Thanks Phaeron - interesting. So basically we need more V1.20 dumps to tell if it's intentional, or a bit error. Or, maybe the earlier single density only ROM will help too. Stay tuned. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 28, 2020 Share Posted March 28, 2020 5 hours ago, StickJock said: Well, if you want to be pedantic, it's actually only a single bit (bit 0) difference. ? Eh, I was pedantic enough to get us to the next logical step. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 29, 2020 Share Posted March 29, 2020 5 hours ago, Nezgar said: So basically we need more V1.20 dumps to tell if it's intentional, or a bit error. Actually, I have a third dump, that matches the CRC of Moonlight_Mile's AT-88. I have no idea where I got it from (maybe Pigwa). It's labeled as "AT-88 Add-On Drive". Do the Add-On's carry their own ROM? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.