CF card corruption issue on brand new Amiga

  • Thread starter Thread starter andrean
  • Start date Start date
  • Replies Replies 7
  • Views Views 133

andrean

Member
AmiBayer
Joined
May 2, 2023
Posts
63
Country
Serbia
Region
Vojvodina
Greetings!

I am reposting my question here as well, originally asked on https://eab.abime.net/showthread.php?t=121966 but I got no answers, hope somebody here might have an idea.

I am in the process of assembling a brand new Amiga 4000D computer.
- Brand new motherboard
- Brand new BFG9060 (paired with a 68060 rev6 CPU)
- 2MB of ChipRAM (not new)
- Brand new FastATA 4000 MK-VII CF/SATA/SSD Black Edition card.
- Brand new Corsair SF750 PSU with the PSU adapter made by a.mi.goun for ATX 3.0

I have connected a CF-IDE Adapter with a CF card where AmigaOS 3.2.3 is preinstalled (this is the preinstalled CF card from AmigaStore.eu).
This setup works correctly when I connect the CF adapter to the motherboard IDE connector.
But when I switch the IDE cable from the motherboard IDE port to the FastATA port, after the very first write operation occurrs, if I reboot the computer, the filesystem where the copy operation happend becomes corrupted. This is a copy operation executed from a Shell window i.e.:
copy file1.txt file1.bak
everything looks good after the copy, I can even open the new file. But after I reboot, the filesystem is not accessible anymore.
Read operations cause no problems whatsoever.
Interestingly, when I execute a copy operation from a Workbench window (select file, right click -> Icons -> Copy), I get a "Seek error" message and the copy doesn't even finish (as opposed to when executed from Shell).

At first I didn't have the FastATA drivers installed, so I thought that might be the reason, but even after I installed them it is the same.
FastATA Perf tool reports it is running in PIO4 by default. I tried first to lower it to PIO 3, and then even PIO=0 (I pass it as an argument in the Startup-Sequence script to the FastATA driver), but even in PIO=0 the same corruption happens.

Later I found this website: https://grimore.org/fuss/amiga#makin...ide_amigaos_32
I have added the DOWNGRADE keyword to LoadModule, and I moved the FastATA driver load after invoking LoadModule (but before SetPatch)
When the system booted with this script, the first thing I did was open FastATAPerfs, and verify if PIO is indeed 0, all looked good.
The same copy operation still causes the same problem.

I have also tried to set all partitions of my CF card have with the following attributes:
- MaxTransfer=0x1FE00
- Mask=0xFFFFFFFE

That also did not help.

I have also installed MMULib, so that I can use the MuSetCacheMode command to prevent buffered writes and switch to WRITETHROUGH mode. At the same time I also passed the NO32BIT flag (this was a suggestion from Gemini) to the FastATA driver. Below is the relevant part from Startup-Sequence:

Code:
SetPatch >NIL:
MuFastZero
MuSetCacheMode FROM 0x08000000 SIZE 0x08000000 WRITETHROUGH

;------------------- ROM CheckInstall Section ------------------------

Version exec.library version 48 >NIL:
If Warn
  Version exec.library version 47 >NIL:
  If Warn
    LoadModule L:System-Startup ROMUPDATE DOWNGRADE
  Else
    Version strap version 47 >NIL:
    If Warn
      LoadModule DOWNGRADE L:Ram-Handler L:Shell-Seg L:System-Startup Libs:dos.library Libs:gadtools.library Libs:graphics.library Libs:intuition.library Libs:Modules/bootmenu >NIL:
    Else
      Version exec.library revision 9 >NIL:
      If Warn
        LoadModule DOWNGRADE L:Ram-Handler L:System-Startup Libs:intuition.library Libs:Modules/bootmenu >NIL:
      EndIf
      Version exec.library revision 11 >NIL:
      If Warn
        LoadModule DOWNGRADE L:Ram-Handler L:System-Startup Libs:intuition.library Libs:Modules/bootmenu >NIL:
      EndIf
    EndIf
  EndIf
EndIf

Version ram-handler 47 >NIL:
If Warn
    C:RequestChoice "WARNING!" "Required V47+ ROM modules not found.*NPlease check installation or try a cold reboot." "OK" >NIL:
    QUIT
EndIf

C:CheckLMB
If WARN
    SYS:Prefs/FastATAPrefs
EndIf

If EXISTS C:FastATA.driver
    C:FastATA.driver PIO=0 NO32BIT QUIET
EndIf

With MMULib in place, I confirmed the two memory regions of the BFG9060 were no longer CopyBack (had no flags at all, MMULib changelog describes this as being in WRITETHROUGH mode, which should be slower, but avoids any potential caching issues).

All in all, this still causes the same problem. It is not random, it feels like a software issue, but no clue what I should be doing.

Any hints would be much appreciated.
 
What file system is on the card you're copying to? Make sure it's one that supports direct scsi like PFS3AIO as you might be overwriting the 4gb space. The FastATA driver should block split it by 4gb but the file system could still be the issue. Good luck. Ps. Could just be a faulty FastATA or incompatible drive.
 
What file system is on the card you're copying to? Make sure it's one that supports direct scsi like PFS3AIO as you might be overwriting the 4gb space. The FastATA driver should block split it by 4gb but the file system could still be the issue. Good luck. Ps. Could just be a faulty FastATA or incompatible drive.
Thanks, it is the FFS filesystem, I used it as-is, purchased from AmigaStore.eu (it contains AmigaOS preinstalled), so I assumed the CF card should be ok. And as I mentioned, I did try to plug it into the motherboard IDE connector, in which case the same CF adapter and CF card work fine with this same setup.
 
Hello, I have tried now two hard drives with the fastata4000 controller, one SATA and one IDE drive.
On both hard drives I have installed AmigaOS 3.2 with updates to 3.2.3, MMULib and FastATA drivers. both drives worked normally under WinUAE.

First I connected the SATA drive through a SATA-IDE adapter to the FastATA controller. It was not recognized at all, the insert floppy screen appeared. Then I reconnected the SATA-IDE adapter to my motherboard IDE connector and it booted the system correctly.

At this point I was still suspecting perhaps the SATA-IDE adapter could cause trouble, so I moved to the actual IDE drive to test. Connected to the FastATA controller (made sure jumpers are set for Master, brand new IDE80 cable used, the drive is connected to the last IDE connector on the cable, not the middle one). Again, no boot device found. But then I performed a Ctrl+A+A reboot while the HDD was powered on and it started to boot the OS. I got my hopes up, but it didn't even get to workbench, I just started getting "System has a checksum error on disk block 65280" errors. If I click Cancel or Retry, just another error pops up on a different block.

I moved the HDD back to WinUAE/PC and booted from there. It worked still fine. I added the PIO=0 parameter in my Startup-Sequence to the FastATA.driver, rebooted in WinUAE and confirmed the driver sets PIO mode correctly. Moved the disk again back to the A4000, and still the same checksum error messages.

Is my FastATA4000 controller faulty? Is this expected to happen in certain configurations maybe?

Any help would be much appreciated.
 
Last edited:
If you change back from Kickstart 3.2.3 to Kickstart 3.1 and then install AmigaOS 3.2.3.
Could you verify if you get the same problem?
Hm I'd like to check, though I only got Kickstart 3.2.3 ROMs (this is all a very recent purchase from me, don't have older versions). Do you suspect these newer versions have an issue with this hardware?
 
Yes, sometimes newer versions of Kickstart can create problems with your hardware. I used to upgrade my old AmigaOS 3.9 partition from 3.1.4 up to 3.2.2 on my Amiga 4000 . After that I couldn't change to my screen resolution.

The hardware you have, are mostly tested with Kickstart 3.1/AmigaOS 3.1 and not with the newer kickstart 3.2.3.

I have some examples.

I have a Blizzard1220/4 with ADD 4 expansion. It gives me total of 8 MB of memory. I cannot use a PCMCIA CF card reader under AmigaOS 3.1, because the PCMCIA CF card reader uses the same memory space of the 8 MB of RAM. After upgrading to Kickstart 3.1.4 I can have 8 MB of RAM and using a PCMCIA CF card reader together.
If I upgrade to Kickstart 3.2 or higher, then I cannot use 8 MB of RAM and using a PCMCIA CF card reader together.

I also have an ACA 1211 Memory expansion. It gives me 11 MB of RAM and works together with the PCMCIA. When I use Kickstart 3.1.4, then it doesn't work anymore, but with Kickstart 3.2 and higher it works well.
 
I tried reinstalling the OS again on the IDE drive, but I used the PFS3AIO filesystem. The boot process doesn't start again unless I soft-reset the machine after I hear the drive spin up. But even then, the FastATA4000 being in one of the Zorro III slots, it presents a black screen with yellow letters, saying "Recoverable alert. Press left mouse button to continue. Error 0100 000F Task 08003320". When I click the left mouse button just a black screen appears. Then I moved the drive again into my motherboard IDE connector, it worked fine. I installed the FastATA drivers from there, and moved the disk back to FastATA, but a different Zorro III slot, same boot procedure with soft reset, it boots but quickly restarts by itself. Second time boot it started the system, but DH1 partition is shown as uninitialized. I am afraid to try any write operation. Switching between Zorro III slots, I get random results, sometimes boots (as described earlier with DH1 uninitialized), sometimes I get the yellow Recoverable alert, one time I got a Software Error with red letters.
 
Back
Top Bottom