English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 21 March 2007, 08:57   #1
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
Question Formatting compact flash on real A1200

Yesterday I decided to look for a Compact Flash and an Adapter to use with my A1200 and my notebook to share files.

Well I found (all new):
1 SandDisk Compact Flash PC Card Adapter for € 11,90
1 SandDisk 64MB Compact Flash € 2,00
1 Dane-Elec 128MB Compact Flash € 2,00

(little memory but just to try with low money risk)

At home I installed cfd and fat95 and immediately all (copying, deleting files) worked quick and without problems! GREAT! MY AMIGA CDRW DRIVE CAN REST A BIT!

Later I tried to format any Compact flash card (ever on A1200) and unfortunately this doesn't work. The system ask for format options and if I'm sure to format, but when I confirm the Compact Flash icon displays "BUSY" and after a while the CF is there with its old name and the old files.
I tried to format with WB and with Shell/CLI command with the same result.

Does this happen to you too?
Could any one suggest a solution?
Thanks!

P.S.: This isn't a real problem. I can delete files with Amiga or format with PC, but just for curiosity... and BTW THIS IS A CHEAP AND EXCELLENT ADD-ON!!!

Last edited by fc.studio; 24 March 2007 at 07:32.
fc.studio is offline  
Old 21 March 2007, 09:28   #2
BippyM
Global Moderator
 
BippyM's Avatar
 
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
http://eab.abime.net/showthread.php?t=25274
BippyM is offline  
Old 22 March 2007, 12:22   #3
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
I read it and other threads about it, but unfortunately I did not understand.

Surely, on the Amiga, what I understand it's that it is possible to format CF card if connected by IDE adapter; but if the adapter is a PCMCIA type is it possible?
My notebook has not the PCMCIA but I connected to it an USB multi-format card reader and I can format the CF card without problems.

If the CF Card (PCMCIA connected) on the Amiga is like Ram Disk, why I can activate the Workbench format option?

Could you help me? I'm confused! Thanks!
fc.studio is offline  
Old 22 March 2007, 12:25   #4
Jope
-
 
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,861
It is not a ram disk when you connect it via PCMCIA, the cfd.device makes it show up like a normal disk drive.
Jope is offline  
Old 22 March 2007, 13:00   #5
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
To summarise the other thread.

Some Compact Flash cards do not have 100% ATA compliant controllers in them. The result is that cfd.device does not respond correctly to programs which try to format the device.

I wonder which ATA command it is broken? It must be the Verify command? (High-Level-Format = Write+Verify).

Did you "quick format" the card in Windows or Full Format? Might be worth trying FULL-FORMAT and see if that still works.

Windows Quick Format only erases a small part of the media but more importantly (for this thread) it doesnt issue ATA verify commands.

Does AmigaOS have anything like "quick format" maybe that will work?

Last edited by alexh; 22 March 2007 at 13:07.
alexh is offline  
Old 22 March 2007, 13:40   #6
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
Thanks for your quick helps!

The first time I used the cards on Amiga I didn't format them. I installed cfd and fat95, then inserted and they were immediately good for reading/writing. Then I tried to format on PC and they worked again on PC and Amiga.

I've no problem with PC-Windows. Win XP format them OK: Fat or Fat 32 (suggest me one for Amiga use), Normal or Quick don't create problems to Amiga for reading/writing.

The only problem is that Amiga/Workbench/CLI can't format them. I tried the option normal and quick in the Amiga format window (and trash/no trash) but same result.

I don't know if Amiga format command has verify option included.

To be sharp I'm enough sure Amiga succeeded one or two times at beginning, but then it didn't repeat. (Perhaps did I dream??).

Low level format in HD Tool Box can be a solution?

Last edited by fc.studio; 24 March 2007 at 07:36.
fc.studio is offline  
Old 22 March 2007, 13:54   #7
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
Forget about it and always format on the PC?
alexh is offline  
Old 22 March 2007, 14:32   #8
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
Quote:
Originally Posted by alexh
Forget about it and always format on the PC?
I'll certainly do if there is not solution!! (and I can always delete files with Amiga)

However I would like to know from other members if they can format
Compact Flash card with PCMCIA adapter or they have the same problem.

Thanks anyway!
fc.studio is offline  
Old 24 March 2007, 07:42   #9
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
Could anyone try to format with Amiga its CF card via PCMCIA and inform me, if format command works, what kind of CF card and PCMCIA adapter uses?
Thanks!
fc.studio is offline  
Old 25 March 2007, 14:24   #10
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
I formatted a CF(PCMCIA adapter, 1GB FFS partition) card under WinUAE using HDInstTool. Just like any other drive. So even if you can't format it on a real Amiga you could always use WinUAE and mount it later.

You have to run WinUAE with the -disableharddrivesafetycheck switch. Add the CF adapter in the Hard drives tab (Add Hard Drive...). Change the Device= tooltype in HDInstTools to uaehf.device. Create a partition. Reboot and do a quick format.

After all that I was able to use the CF card like a normal hard disk. You could probably do the same on the real A1200 by simply changing the device to compactflash.device. I'll try this later today on my A1200 anyway and post the results. I want to squeeze MBR and RDB on the same CF card to make a 'hybrid' disk. It was possible with a real hard drive so it should be possible with a CompactFlash card.
ppill is offline  
Old 27 March 2007, 22:47   #11
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
Here's the preliminary post (wait until I upload the pics and finish writing it)

Here's a quick, rough guide to making a 'hybrid' CF card.


A word of warning: If you're not careful you can wipe the partition table of your PC hard drive and be left with a non-bootable disk. Double check that the disk you selected is NOT your main HD before clicking that 'apply changes button'. This is not a step by step guide. It assumes you have some knowledge of computer hardware, WinUAE, AmigaOS. If you haven't partitioned an amiga drive before or changed tooltypes on an icon (and are at this very moment asking yourself what the hell are they exactly ;) ) please don't try this at home...

You'll need the following:
  • HDInstTools, cfd, fat95 (get it from Aminet)
  • An CF card + PCMCIA Adapter
  • WinUAE with some kind of AmigaOS setup installed (I use ClassicWB )
  • An Amiga with a PCMCIA slot

Start by prepping the CF card. Open your favorite windows partition manager (Partition Magic, Paragon Partition Manager, etc.).

You want to have something like this below:



There must be some empty space at the beginning and an 'unformatted primary/FAT16 formatted partition' (you can do this by resizing, deleting the original one and adding another one). The free part is where the Amiga partition will go. Make sure you note down the size of this empty space (in kilobytes; mine is 312528384 bytes / 1024 = 305203,5 kbytes).



Try to use a quick format for the FAT16 partition if your program has this feature (mine doesn't so I had to mount and format it using windows explorer)



You could possibly choose FAT32 as AFAIK fat95 supports it but I've never tried it myself.

Next you need to create an Amiga partition. Start WinUAE from the command line:



it's best to paste'n'copy this parameter form the README file ;)

Load your pre installed AmigaOS setup. Add the CF card:



You'll see this requester:



Add the right one:



Make sure you tick the read/write option:



When the system boots up install HDInstTools. When ready change the HDInstTools Tool Types:



Run HDInstTools and click Setup drive:



Make a note of these parameters you'll need them later for the mountlist.



If you plan to use FFS instead of SFS skip the next bit.

In the main window click File System and later Add, choose SmartFileSystem (if it's installed) and type in the right parameters:





Then you need to create the partition (Partition drive in the main window):



Note down the Start Cyl and End Cyl values. You can of course choose a different name and filesystem. Now for the important bit. The size of the partition.

Remember the size of the empty space? Subtract 288 kbytes from it. The partition must be smaller or equal to number you get. 288 bytes (first two cylinders; 512[block size]x288[blocks per track]x2[number of cylinders]/1024] is the size of the RDB so you must take it into account. You could experiment with the drive's geometry to get a tight fit (no space between the Amiga and PC partitions) but personally I can't be bothered for a couple of kbytes).

Click on Save changes to drive in the main window.

Reboot when prompted and quick format the newly created partition.

Now onto the real Amiga. Plug in your adapter, install cfd, fat95. To access the FAT16 part of the CF card simply mount CF0:. To access the Amiga part you need to use a mount file located in the Sys:devs/DosDrivers/, Sys:Storage/DosDrivers/. You have to create it manually. You can use the one I'm using as a guide:

Code:
FileSystem = L:SmartFileSystem ;change it to FastFileSystem if you're using FFS
Device = compactflash.device
Unit = 0
BlockSize = 512 ;from the Setup Drive window
Surfaces = 1 ;from the Setup Drive window
BlocksPerTrack = 288 ;from the Setup Drive window
Reserved = 2
PreAlloc = 0
Interleave = 0
MaxTransfer = 0xFFFFFF ;from the Partition Drive window
Mask = 0x7FFFFFFE ;from the Partition Drive window
LowCyl = 2 ;from the Partition Drive window
HighCyl = 2118 ;from the Partition Drive window
Buffers = 50
BufMemType = 1
StackSize = 16384
Priority = 10
GlobVec = -1
DosType = 0x53465300 ;this is SFS0 in hex, I'll add examples of FFS entries later
Activate = 1
Mount = 1
Without comments:
Code:
FileSystem = L:SmartFileSystem
Device = compactflash.device
Unit = 0
BlockSize = 512
Surfaces = 1
BlocksPerTrack = 288
Reserved = 2
PreAlloc = 0
Interleave = 0
MaxTransfer = 0xFFFFFF
Mask = 0x7FFFFFFE
LowCyl = 2
HighCyl = 2118
Buffers = 50
BufMemType = 1
StackSize = 16384
Priority = 10
GlobVec = -1
DosType = 0x53465300
Activate = 1
Mount = 1
Save the file naming it to whatever you like and store it in one of the two directories mentioned above (Storage/DosDrivers seems a better choice). Then all you have to do is type mount HDCF0: (the filename of the mountlist you edited) or it will be mounted during startup when saved in Devs/DosDrivers.

More to follow... and I can't use smiles (image limit per post) so this post might seem a bit impersonal.

I've just uploaded the boot disks. These come in two flavors:
Boot
Boot_FAST

The first one implements a pretty straightforward boot process. Here's the startup-sequence:
Code:
run <>NIL: c:NoIDE
c:cardreset
c:cardpatch
c:mount DH0:
c:wait 2
c:movesys cd DH0:
run >NIL: execute s:startup-sequence
endcli
The first line calls a patch that removes the irritating 20s IDE delay on the 3.1 version of kickstart (actually it disables the IDE port completely so if you plan on using it comment that line out. It's there because I assumed that if you're booting from a CF card connected via an adapter you won't be using the internal IDE port anyway and you can cut 20 seconds from boot times). It will become active after the first reset.

The next two lines take care of a couple of bugs of the PCMCIA port in the 1200.

Then it mounts the Amiga partition on the CF card. Here's the mountlist included on the disk:

Code:
FileSystem       = l:SmartFileSystem
Device           = compactflash.device
Unit             = 0
BlockSize        = 512
Surfaces         = 1
SectorsPerBlock  = 1
BlocksPerTrack   = 288
Reserved         = 2
PreAlloc         = 0
Interleave       = 0
MaxTransfer      = 0x00FFFFFF
Mask             = 0x7FFFFFFE
LowCyl           = 2
HighCyl          = 2118
Buffers          = 30
BufMemType       = 1
StackSize        = 16384
Priority         = 0
GlobVec          = -1
DosType          = 0x53465300
Activate         = 1
Mount            = 1
If you're followed the guide and used the same filesystem(SFS) you'll only have to change the LowCyl, HighCyl entries when setting a different size of the partition. After a short delay (to make sure the the drive is fully activated) all the system assigns like C:, DEVS:, LIBS: etc. are moved to the newly mounted drive and the startup-sequence on there is initiated (just like you would boot from an ordinary HardDrive).

This has a small drawback. Every time you reboot the Amiga the floppy must be in the drive and those floppy disks are not exacly fast. The other boot floppy overcomes this by using a RAD: like device that the Amiga boots from. Because the drive can survive a reset and it's using FAST memory (or CHIP if the first one isn't present. But in that case you'd be better off using the first floppy to conserve memory) it's a lot faster and you can forget about the floppy disk altogether!
Here's the startup-sequence:

Code:
run <>NIL: c:NoIDE
c:mount VD0:
;c:format drive vd0: name RadBoot ffs intl noicons
c:copy >NIL: df0:boot/ vd0: all
c:loadmodule devs:vdisk.device reverse
It mounts the virtual disk. Copies all the necassary files (you end up with an exact copy of the first boot floppy). Makes the device resident and reboots the computer. Then the startup process looks exacltly the same as the previous one.

I experienced some wierd problems when mounting the VD0: device and copying the files straight away. I kept getting validation errors for some reason. Formating the drive helped. This only happened on two occasions but I left it just in case you might be getting similiar errors.

That's it!
Any feedback appreciated :)

Last edited by ppill; 30 March 2007 at 21:44.
ppill is offline  
Old 27 March 2007, 23:36   #12
lopos2000
Zone Friend
 
lopos2000's Avatar
 
Join Date: Apr 2005
Location: Cider is best In The West
Posts: 1,238
That's a nice step by step guide ppill.
lopos2000 is offline  
Old 28 March 2007, 16:48   #13
fc.studio
Cat lover
 
fc.studio's Avatar
 
Join Date: May 2004
Location: Italy
Age: 54
Posts: 804
Many thanks for your great work!
I'll try as soon as possible on my A1200.
fc.studio is offline  
Old 28 March 2007, 20:54   #14
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
Thanks guys. Been playing around with this and will upload adf images of floppies that enable you to indirectly boot from an Amiga partition on a CF card later.
If you don't feel like experimenting you can always try the other method (HDF file on a FAT partition).
ppill is offline  
Old 01 April 2007, 19:48   #15
pbareges
Registered User
 
pbareges's Avatar
 
Join Date: Feb 2005
Location: montreal / canada
Age: 47
Posts: 722
hi guys....i'm using cf cards on IDE port mainly but i used one through pcmcia port with FAT fs to perform file transfers....to make it more efficient, i managed to partition my pcmcia plugged cf card the same way i did for my IDE plugged cf card (with FFS fs)...with hdtoolbox and hdinsttools i was able to do so switching DEVICE to compactflash.device...once dosformatted under hdinsttools, i was able to see the newly formatted partitions and write on them...but upon reboot they were all gone...i tried to build mount files inspired by the one you posted ppill (replaced fs by L:FastFileSystem, DosType to 0x444f5301) changing the parameters according to hdinsttools (blockpertrack 2176, interleave 1 instead of 0, stacksize 600, priority 10, lowcyl and highcyl depending on the partitionning)...i had to remove Activate=1 because it did not work with my mount version. i also tried giggledisk device compactflash.device unit 0 to test.mount but the generated file was empty ...what do you suggest ? thx in advance!
pbareges is offline  
Old 01 April 2007, 20:01   #16
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
Could you post these things so we can al have a look?

- screen shots of HDInsTools showing the two windows (setup and partition drive)

- the mountlist you're currently using to mount the partition

then it would be easier to see what's wrong
ppill is offline  
Old 01 April 2007, 20:44   #17
pbareges
Registered User
 
pbareges's Avatar
 
Join Date: Feb 2005
Location: montreal / canada
Age: 47
Posts: 722
ok i<ll try to this ...i have to find a way to get screen captures on my miggy...but i finally managed to make giggledisk work and it generates mount files for each partition with no filesystem attached (Filesystem = (Empty))...i also had to comment the activate line once again...when i comment filesystem line, i can mount the volume but with error message "no disk inserted" when trying to access the new volume whereas when i set filesystem to L:FastFileSystem it does not mount it at all...also i found that in my L: directory FastFileSystem is not the same as system default used by hdtoolbox (DOS/3 instead of DOS/1)...does it help ? how can we refer to default ROM FFS in mount file ? thx!
here follows the mount file :
/*
** DosDriver automatically created by GiggleDisk
**
** GiggleDisk (c)2005 Guido Mersmann
**
*/

/*FileSystem = L:FastFileSystem*/
Device = compactflash.device
Unit = 0
BlockSize = 512
Surfaces = 1
SectorsPerBlock = 1
BlocksPerTrack = 2176
Reserved = 2
PreAlloc = 0
Interleave = 0
MaxTransfer = 0x0001FE00
Mask = 0x7FFFFFFE
LowCyl = 2
HighCyl = 38
Buffers = 30
BufMemType = 0
StackSize = 16384
Priority = 0
GlobVec = -1
DosType = 0x444F5301
/*Activate = 1*/
Mount = 1
/* Bootable = FALSE */

Last edited by pbareges; 01 April 2007 at 20:50.
pbareges is offline  
Old 01 April 2007, 22:08   #18
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
The filesystem entry should be inculded and and not commented. The different versions of one single filesystem can be selected by using the dostype entry (it's in hex so I guess for for FFS\3 there should be '11' at the end). It's the same file for different versions of FFS (ROM, or disk). Not sure why the mount command keeps nagging you about the activate= parameter? Maybe it's also set in the mountlist's icon (Activate= tooltype)? What version of AmigaOS you're using?

You could also try:

diskchange x:

in shell where x is the name of the drive (DH0: for example).

I had a similiar problem (correct montlist that didn't seem to work) and the command above solved it. This was probably because I experimented with the CF card heavily (different partitions, mixed FAT/SFS etc.) and the space reserved for RDB/MBR possibly became messed up as a result. I then used 'Erase RDB' from HDInstTools pulldown menu. Partitioned the CF card again and then the mountlist started working without having to call diskchange. Maybe the same thing is happening here.
Try with the correct Filesystem=, DosType= entires plus diskchange and post what happens
ppill is offline  
Old 02 April 2007, 16:51   #19
pbareges
Registered User
 
pbareges's Avatar
 
Join Date: Feb 2005
Location: montreal / canada
Age: 47
Posts: 722
thank you very much...i decided to go the hard way! i deleted the the rdb block, partitionned my disk in FFS again, launched giggledisk again to generate mountfile and this time fastfilesystem field was correctly filled with L:FastFileSystem...i tried to mount without success! but finally i decided to add the L: file version of FastFileSystem i had to my filesystem setup in hdinsttools and then it worked for most of my partitions!!...(except for the last one - i have 4gbytes cf card and the last partition is 1.6gbytes long)..
so i'm gonna try to erase RDB block again, add my L: file version of Fastfilesystem to the hd setup FIRST (it is the international DOS/3 version), then try to partition everything with FFS International (DOS/3)instead of FFS..i will let you know how it works! and my os is 3.0 (original workbench and ks).
pbareges is offline  
Old 02 April 2007, 20:36   #20
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
best of luck then

I haven't used FFS with my CF card so can't really say whether the problems you're experiencing are connected with the filesystem not being installed in RDB. If you've got some extra ram why not check out SFS? Works great!
ppill is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Using a Compact Flash card on a600/a1200 PCMCIA tomcat666 support.Hardware 464 21 September 2023 09:02
Using a Compact Flash card on a600/a1200 IDE Smiley support.Hardware 744 22 March 2023 18:09
compact flash pcmcia not working in a1200 GurjSagoo support.Hardware 9 02 April 2018 21:01
[FS-UAE] Boot a real compact flash card on OSX ? gibs support.FS-UAE 9 26 June 2013 10:53
Formatting Compact Flash as Amiga Drive JeffreyUS support.WinUAE 13 17 December 2006 02:46

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:38.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11806 seconds with 13 queries