Welcome, Guest. Please login or register.

Author Topic: Another big CF issue  (Read 7687 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Thomas

Re: Another big CF issue
« on: June 05, 2010, 09:17:23 PM »
Known issue with some CF cards. Similar to the slow spin up problem of some harddrives. AFAIK nobody has found a solution for that yet. Just press Ctrl-A-A after power on.

Offline Thomas

Re: Another big CF issue
« Reply #1 on: June 05, 2010, 11:19:07 PM »
Quote
Coudn't it be fixed changing something in the Startup sequence?


Use your brain. How should a file stored on the HDD be able to influence something if the entire HDD is not recognised?

Offline Thomas

Re: Another big CF issue
« Reply #2 on: June 06, 2010, 12:38:44 AM »
I wonder how much magic you interpret into this partition thing. Partitions is a DOS feature. DOS is not even born when hard drives are recognised or not.

The first hard disk related OS part which jumps in after a reset is the hardware driver (scsi.device). It initialises the controller and checks which drives are connected. If your HDD is not recognised at this stage, it is completely ignored in all of the following steps. That's what happens in your Amiga.
The next step is that all recognised harddrives are checked for a valid partition table and a list of possible parttions is created.
Only now it is time for DOS to wake up. If no floppy disk is in the drives and if there are partitions in the list, then dos.library is initialised and the partitions are mounted, i.e. they are copied from the list created before in to the list of devices known to DOS.

You see, if the hardware driver does not recognise the HDD, then there is nothing in DOS or partitons or files which could change this.

Quote
About brains... I think I will taste yours...


Well, it's known that threadworms can learn from others by eating them. AFAIK this is not possible with humans (or humanoids).

Offline Thomas

Re: Another big CF issue
« Reply #3 on: June 06, 2010, 06:51:14 PM »
Quote from: Retrofan;563154
Sorry to insist, but coudn't a patched scsi.device solve the problem?


Yes, but how do you want to patch it if you cannot boot? You would have to put the patch into some kind of ROM. For example you could make your own Kickstart ROM which contains the patched scsi.device and burn it into an EPROM to replace the original Kickstart ROM. Or a flash ROM like on the Deneb USB controller. IMHO the latter is even more sure than the former because it's not said that the patched scsi.device will help, but the Deneb does a reset to activate updated modules, just like OS 3.9's SetPatch and this reset will surely help.

Offline Thomas

Re: Another big CF issue
« Reply #4 on: June 08, 2010, 07:14:24 AM »
Quote
what do you need -disableharddrivesafetycheck for?


You don't need it. It does not exist any more in recent versions of WinUAE. Older versions refused to add media with a PC partition table to WinUAE, even if it's empty. The command line option was the a around that. Recent versions have more intelligent checks. They only refuse to add drives with partitions on them.

Offline Thomas

Re: Another big CF issue
« Reply #5 on: June 08, 2010, 10:09:07 AM »
There are only two major issues with CF cards:

1. if the CF card identifies itself as a removable device, then it might not be recognised on the Amiga or might be refused by HDToolbox and similar programs. Behaviour might be different depending on which driver you use, i.e. Kick 3.1 scsi.device, OS 3.9 scsi.device, IDEfix or something else.

If your Amiga accepts the card as a harddrive, then you are fine.

Some removable cards can be redefined as fixed with some PC software. AFAIK such software only exists for Sandisk cards, therefore if you cought a removable card of another brand, you've bad luck.

2. IDE devices like CF cards will produce corrupted data if the MaxTransfer value is too high. The maximum possible MaxTransfer value for IDE is 0x1fe00 (255 blocks of 512 bytes each). Unfortunately WB 3.1's HDToolbox defaults to 0xffffff which is way too high.

Make sure that your MaxTransfer is set correctly for all partitions, then you are fine.

If both of the above is taken care of, then the card should work, no matter which brand it is.

Offline Thomas

Re: Another big CF issue
« Reply #6 on: June 09, 2010, 02:39:08 PM »
In WinUAE, did you use uaehf.device or scsi.device? Uaehf.device has all the modern features that scsi.device lacks: it is able to handle large harddrives with both NSD and TD64 commands and it is independant of MaxTransfer issues.

So if you prepare a harddrive with uaehf.device all might work right in UAE but once you connect to the real Amiga it might not work at all.

And even if you use scsi.device in UAE it might still work better than scsi.device in the real Amiga, because with UAE there is Windows and USB in the middle which might filter out some incompatibilities.

Offline Thomas

Re: Another big CF issue
« Reply #7 on: June 09, 2010, 07:36:37 PM »
When you add the harddrive, select IDE0 as controller. It's like real hardware: if you connect the HDD to one controller naturally it cannot be seen on another one.

In order to use IDE0 you need to make sure that you emulate a chipset which actually has an IDE controller and that your Kickstart ROM matches this chipset. Easiest way to be sure is to select A1200 from the quickstart menu. If you have an A1200 Kickstart ROM file, that is.

Offline Thomas

Re: Another big CF issue
« Reply #8 on: June 10, 2010, 10:21:14 AM »
Quote
I believe it isn't neccesary to use that kind of format, is it?


I think this has already been discussed a thousand times: you don't need to format a harddrive and you should never format a flash memory drive!

There are no format commands for IDE anyway. The drives are formatted by the manufacturer and you need special manufacturer-specific software to format them again.

The commands issued by the Format program are translated into write commands by the IDE driver. This means that Format does nothing but to write garbage into each and every sector of the harddrive. This is completely unnecessary unless you want to safely destroy all data before you sell the drive.

Writing to every sector on the drive just stresses the drive and in case of flash memory, which has a limited amount of write cycles, significantly reduces the life time.


Quote
packet request type unknown


Are you sure you use SFS? You can only initialize SFS partitions with SFSFormat. This message implies that you try to format an FFS partition.

Offline Thomas

Re: Another big CF issue
« Reply #9 on: July 01, 2010, 07:46:41 PM »
I'd vote for the completely different timing.

- although the 68060 is much faster than the 68020, its access to the motherboard is slower which makes the entire initialisation process a bit slower
- the accelerator is an expansion card which needs to be initialised before it is used (autoconfig)
- the accelerator has a firmware ROM which is executed before the IDE driver
- perhaps the firmware has some programmed delays, for example to wait for a key press to disable the accelerator

The sum of all these delays is probably just long enough for the CF card to wake up before the IDE driver searches for connected devices.