News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_dionisisg

3.5 Drives disk Capacity

Started by dionisisg, 12:20, 13 September 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dionisisg

Hello everyone,


I finally got my amstrad working again with a 3.5 drive, after a lot of trial and error through various drives that wouldn't work i found a compatible mitsumi drive and finally its alive!, the problem i am facing is this, i format my disks to 720kb but my amstrad only reads 154k available on disk, i even tested the disks with a usb floppy on winape and the results are the same, what am i doing wrong??? formatting the floppy through the emulator gets it to 178k but when i put the disk into the real thing it still says only 154k free.

ComSoft6128

Amsdos will only recognise standard 3" formats, larger 3.5" formats require Parados.

Cheers,

Peter

dionisisg

Still, shouldn't the disks be recognized as 178k?

tjohnson

Can you use a disk formatter on the amstrad?  Multimark is a good bit of software for this 

dionisisg

as soon as i get my old pc(very old) out of the closet that has a proper floppy controller i will try different disk software to see what it going on, using my usb floppy to transfer dsk images has not been that successful .

ComSoft6128

I use 3.5" B drives only. Using one of these as an A drive is something I don't really know about but I am surprised that a 720k disk is recognised at all. Maybe one of the hardware guys could help?

dionisisg

 i went directly to installing it internally because i didn't have a ribbon cable with an edge connector handy and the mod is actually quite simple, the trick was to find a drive that works (stay away from citizen & alps drives), i believe that the capacity issue might be what sou said earlier and has to do with the rom, at least in the emulator with the parados rom loaded the capacity is correct, the goal is to read them as stock 180k capacity to copy some dsk's and run some software on the machine as it is, i still have no 3" drive or a floppy emulator so this is my only option for the time being.

dionisisg

one additional question that has risen is why can't i save files directly to the floppy through an emulator, it always returns the "write fail" error, i can write to disk using the real cpc even though it shows as 154k, i can read the saved files through an emulator, but i can't write to the disk through the emulator.

arnoldemu

#8
The PC 720KB format is 80 track, two sides, 9 sectors per track numbered 1-9, 512 bytes for each sector.
The filesystem is FAT12 or FAT16.
The CPC has many disc formats including DATA, SYSTEM and the one of interest here called "IBM". This is 40 track, 1 side, 8 sectors per track numbered 1-8, 512 bytes per sector. This is based on an early (late 1970's) disc format on the PC. I don't know which filesystem this format had on the PC.
If you're using AMSDOS then the filesystem is based on CP/M, it's different to FAT they are not compatible.

The CPC detects the disc format by reading track 0 and reading a sector ID from the track. Based on this it chooses one of it's formats and configures AMSDOS to read this.

So what is happening here is that the CPC is not detecting the PC format correctly and assuming it's one of it's formats. This is why you are seeing a low capacity. IBM disc format is something around 160KB a side. AMSDOS is also a single sided DOS because it assumes you take the disc out and turn it over.

To read PC based disc format on the CPC you need a program called "DOSCopy". This understands 720K PC disc format.
You ideally want to be able to put a DSK on a PC 720K disc and then on the CPC (using a 3.5" drive on the CPC) re-build it.This is possible, unfortunately I can't remember the name of the tool. It is something like "cpcdsktodisk". This runs on the CPC itself.
Nowadays, Gotek's and HxC are used because you can put dsk directly onto a memory stick and put that into the Gotek and plug that like a drive into the CPC.

So another issue is that the PC USB drives, the ones that plug into the PC,  assume they are using PC disc formats and I expect FAT filesystem. I haven't got one so I can't confirm. So they are limited in what you can do with them.

If you are writing disks on the PC the tool you need to use is CPCDiskXP, but you need a PC with an on-board floppy controller (because this is the most powerful and the tool targets that) and most likely an older version of windows such as Windows XP. Later versions of windows are unlikely to support drives and also control access to the floppy controller hardware directly.
On the CPC you need a 3.5" drive and preferably a way to configure it as drive A because many games boot from drive A - although this has improved a lot in the last few years.

To your final question:
It depends on how the emulator is accessing the drive, and also it depends on whether it is assuming a floppy controller inside the PC or a USB PC drive. I think Winape assumes a floppy controller in the PC. Also, it depends on the version of windows. On early versions of windows (95 and perhaps 98) didn't stop you accessing the floppy hardware so you could read of discs, later ones blocked this.
So I guess it's a later version of windows with a USB drive and it doesn't know how to access it.
My advice is save yourself loads of time, get a Gotek or HxC if you can afford one.

EDIT: The 178KB disc format is AMSDOS's "DATA" format. It is 40 tracks, 1 side, 9 sectors per track, numbered &c1-&c9. You can only write these on PC using a tool like CPCDiskXP.
EDIT: If you use a different DOS on CPC like ParaDOS you have more disc formats available. You can then use 800KB on a 3.5" drive on the CPC, but again these are not compatible with PC's 720KB disc format and the FAT filesystem so you'll still have problems writing this on a PC USB drive. It may be possible with a PC USB drive to make a special tool to write CPM filesystem but I've not seen one that does it and without access to a USB PC drive I can't tell you exactly what is and what is not possible.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

rpalmer

Quote from: arnoldemu on 19:57, 13 September 18
It may be possible with a PC USB drive to make a special tool to write CPM filesystem but I've not seen one that does it and without access to a USB PC drive I can't tell you exactly what is and what is not possible.

The use of USB Floppy Drives currently can not work with current utilities as windows does not support direct access to the drive via USB.

AMSDOS support 3 basic formats:

DATA -> 178K (40 tracks, 9 Sectors/Track, and 2K for directory entries, First sector is &C1)
SYSTEM - > 169K (40 tracks, 9 Sectors/Track, 2 reserved tracks for CP/M and 2K for directory entries, First sector is &41).
IBM -> 154K (40 tracks, 8 Sectors/Track, 1 reserved track and 2K for directory entries, First sector is &11).

The capacity of discs is down to the sector format used for the most part. It can be less than above if the number of sectors used per track is actually less (simple way to prevent piracy using standard CP/M tools).
When a PC reads the format of the disk, it uses that information to determines its capacity. The FAT file system does not specify a disks capacity, but does infer what file space is available.

As a point of note the FAT file system can be applied to any disk format, but whether a PC can handle the disk format is where the actual issue is.

rpalmer

robcfg

Actually, CPCDiskXP supports adding files and writing an IBM format image using a usb drive.


I find it a bit clumsy, but may work for you.

dionisisg

Quote from: robcfg on 10:22, 14 September 18
Actually, CPCDiskXP supports adding files and writing an IBM format image using a usb drive.


I find it a bit clumsy, but may work for you.


not really, once you select the image it reverts to low level driver which works only on proper  floppy drives on a real controller,

dionisisg

Quote from: rpalmer on 09:57, 14 September 18

IBM -> 154K (40 tracks, 8 Sectors/Track, 1 reserved track and 2K for directory entries, First sector is &11).



however i format my disks using Maxformat, Command prompt, From within an emulator with parados or any other conceivable way  this is how my disks are recognized

dionisisg

Quote from: arnoldemu on 19:57, 13 September 18
The PC 720KB format is 80 track, two sides, 9 sectors per track numbered 1-9, 512 bytes for each sector.
The filesystem is FAT12 or FAT16.
The CPC has many disc formats including DATA, SYSTEM and the one of interest here called "IBM". This is 40 track, 1 side, 8 sectors per track numbered 1-8, 512 bytes per sector. This is based on an early (late 1970's) disc format on the PC. I don't know which filesystem this format had on the PC.
If you're using AMSDOS then the filesystem is based on CP/M, it's different to FAT they are not compatible.

The CPC detects the disc format by reading track 0 and reading a sector ID from the track. Based on this it chooses one of it's formats and configures AMSDOS to read this.

So what is happening here is that the CPC is not detecting the PC format correctly and assuming it's one of it's formats. This is why you are seeing a low capacity. IBM disc format is something around 160KB a side. AMSDOS is also a single sided DOS because it assumes you take the disc out and turn it over.

To read PC based disc format on the CPC you need a program called "DOSCopy". This understands 720K PC disc format.
You ideally want to be able to put a DSK on a PC 720K disc and then on the CPC (using a 3.5" drive on the CPC) re-build it.This is possible, unfortunately I can't remember the name of the tool. It is something like "cpcdsktodisk". This runs on the CPC itself.
Nowadays, Gotek's and HxC are used because you can put dsk directly onto a memory stick and put that into the Gotek and plug that like a drive into the CPC.

So another issue is that the PC USB drives, the ones that plug into the PC,  assume they are using PC disc formats and I expect FAT filesystem. I haven't got one so I can't confirm. So they are limited in what you can do with them.

If you are writing disks on the PC the tool you need to use is CPCDiskXP, but you need a PC with an on-board floppy controller (because this is the most powerful and the tool targets that) and most likely an older version of windows such as Windows XP. Later versions of windows are unlikely to support drives and also control access to the floppy controller hardware directly.
On the CPC you need a 3.5" drive and preferably a way to configure it as drive A because many games boot from drive A - although this has improved a lot in the last few years.

To your final question:
It depends on how the emulator is accessing the drive, and also it depends on whether it is assuming a floppy controller inside the PC or a USB PC drive. I think Winape assumes a floppy controller in the PC. Also, it depends on the version of windows. On early versions of windows (95 and perhaps 98) didn't stop you accessing the floppy hardware so you could read of discs, later ones blocked this.
So I guess it's a later version of windows with a USB drive and it doesn't know how to access it.
My advice is save yourself loads of time, get a Gotek or HxC if you can afford one.

EDIT: The 178KB disc format is AMSDOS's "DATA" format. It is 40 tracks, 1 side, 9 sectors per track, numbered &c1-&c9. You can only write these on PC using a tool like CPCDiskXP.
EDIT: If you use a different DOS on CPC like ParaDOS you have more disc formats available. You can then use 800KB on a 3.5" drive on the CPC, but again these are not compatible with PC's 720KB disc format and the FAT filesystem so you'll still have problems writing this on a PC USB drive. It may be possible with a PC USB drive to make a special tool to write CPM filesystem but I've not seen one that does it and without access to a USB PC drive I can't tell you exactly what is and what is not possible.


For start thank you for the time you spent writing this down.


Doscopy runs on a stock CPC or does it require a different ROM?, as for the winape emu i really can't understand why it can read disks written on an amstrad but can't write to them, always write fail error in any format used. I will get my ancient pc out of storage to work around this problem because my current pc does not actually support a floppy and a Gotek is already on the schedule but just not immediately, the first money i wan't to spend is on a real 3" drive because i want my CPC to be complete and i don't want my genuine disks to go to waste. Just to find a working one...

Cholo

Quote from: dionisisg on 13:59, 14 September 18

not really, once you select the image it reverts to low level driver which works only on proper  floppy drives on a real controller,
Well, USB writing does work on my win7 gaming rig, no low level drivers required. I assume when Rpalmer mentions it dosnt work on a "modern" windows i assume he is thinking about Win8/10 (donno havnt tried) because it certainly work ok with win7. Also remember that to use this format you NEED to recreate the disc image first, aka you are not just writing back a normal DSK, but need to make a whole new image in the Editor, then add the files to that image & then write back that image using the right option.


Anyways, a bog standard 6128 can access a 720kb pc dos floppy format no troubles .. you just need the right amstrad software. Like i always suggest Symbos as it automaticly recognizes 720kb pc dos floppies so you can easily copy over single files in the filemanager or use the DSKextractor program to write back a full DSK image. Cant get much more userfriendly than that. As Symbos is a "windows" style OS i do like to mention that you can use a normal joystick as a "mouse" with no problem in the interface.

pelrun


First thing: "formatting" implies two different things. Writing the sector numbering out (which is called "low level formatting" in the PC world) and writing the filesystem (FAT/NTFS/AMSDOS/etc).


Obviously you can't manipulate a disk with an AMSDOS filesystem under windows; you're restricted to reading/writing raw images built with other tools. Raw image access is possible even on the latest OS'es.


The real problem is that the usb standard for floppy disk hardware is *very* restricted for low level formatting. It supports only IBM physical sector numbering (starting from 1). So no reading or writing any disc with a standard CPC or PARADOS format, let alone anything funky. If you want that, you *will* need a PC with a non-USB floppy drive connected, or one of the specialised USB drive tools (Kryoflux etc) which have a custom protocol and software.


If you build an image with an AMSDOS filesystem on an IBM formatted disk, though, you should be able to use that on both systems, as AMSDOS recognises the IBM format.


ComSoft6128

Hi Pelrun,

Slightly off topic but could a Kryoflux transfer individual files from CPC Romdos D20 disks to a PC?

Cheers,

Peter

robcfg

Actually no.


The KF will get you an image of the disk, which then you can process and extract the files.


And regarding Pelrun's statement on accessing amsdos filesystem on modern machines, it can actually be done using filesystems in user space.


That is, you create a program using Dokany or a similar library that mounts an amsdos disk image into a directory in the main filesystem and allows you to manipulate files through the file explorer.


Also, there are some programs for manipulating files on disk images like iDsk (I think that's the name but I'm not 100% sure).

rpalmer

Quote from: pelrun on 02:39, 16 September 18
First thing: "formatting" implies two different things. Writing the sector numbering out (which is called "low level formatting" in the PC world) and writing the filesystem (FAT/NTFS/AMSDOS/etc).

pelrun,

Low level formatting is actually only one form which is the first case you say. The second is what is more properly defined as filesystem initialisation, although windows does treat this as "format" which is incorrect.
Linux does treat the second reference correctly as "initialisation" hence why windows is often seen as incorrectly defining this as formatting.
I would also say that many argue that filesystem initialisation and formatting are the same. When storage media has many install-able file systems it can easily be seen as initialisation.

Cholo - "I assume when Rpalmer mentions it dosnt work on a "modern" windows i assume he is thinking about Win8/10".
I have not tried Win 7 (32bit) as I have Win 7 (64-bit) which does have trouble with direct access to USB Floppy via the drivers I have, I suspect it is the drivers (that I have tried) which i think are 32-bit and conflict with Win 7 64-Bit. For my part I still have a Win XP machine where the access to floppy drive is not a problem for the time being.
As for Win 8 (i dont have that OS), but I do have Win 10 (laptop) which I have yet to try and suspect it would not allow me to install the drivers.
rpalmer

dionisisg

#19
i've actually found a way to use 3.5 disks as standard cpc single side disks that read as 178k free and how to copy files from an amulator to usb drive(but afterwards do not work on the pc without reformatting)  it is a huge PITA but it is a start. The process is like this


Things required


3.5 disks & drive
Winape
JL-copy dsk
Diskette tool by John eliot
Amstrad with a coolformat disk




Step 1, format disk from cmd using format.com (format a: /f:720)


Step 2, start diskette tool, click file->copy, select a blank dsk image(very important in order for winape to be able to write on disk) and leave all settings to default, in the net step select the drive and in the final step disable format while copy and click finish  --- this step is to enable winape to write on the usb drive


Step 3, start winape with a cpc6128 stock setup and set floppy as drive b - PCW SS40


Step 4, cat disk to be certain it works and reads as 154k free


Step 5, insert Jl-copy to drive A, execute and select filecopy after that disable quick save and select disc as output


Step 6, insert cool format disk in drive A and press enter to select file to copy, select coolformat and copy it to the disk


Step 7,Use the freshly written coolformat 3.5 disk to format 3.5 disks as Single Sided 178k amsdos format on CPC!


The disks after this "Process" Will only work for a CPC, no PC, no emulators without taking step 1 again

pelrun

Quote from: robcfg on 07:11, 16 September 18
And regarding Pelrun's statement on accessing amsdos filesystem on modern machines, it can actually be done using filesystems in user space.


That's still *using another tool* even though it's interfacing through the filesystem layer. Windows obviously does not support AMSDOS out of the box.

robcfg

That's true.


But then again, Windows does not support many things out of the box. That's why you install drivers and programs.


Just wanted to make everyone aware that such solution is available.

dionisisg

Quote from: robcfg on 06:52, 17 September 18
That's true.


But then again, Windows does not support many things out of the box. That's why you install drivers and programs.


Just wanted to make everyone aware that such solution is available.


25 Years of Microsoft Windows Install/Welcome screens claim otherwise!! :P ;D 
You know the screen i am talking about, the one just before the BSOD.  :laugh: :laugh: :laugh:

dionisisg

Can anyone suggest a file copy program on the cpc other than JL-Copy (discology excluded)? seems it does not like big files (more than 30k) very much.

arnoldemu


Quote from: dionisisg on 09:34, 20 September 18
Can anyone suggest a file copy program on the cpc other than JL-Copy (discology excluded)? seems it does not like big files (more than 30k) very much.
nirvana is good.


If you can use roms then parados is great.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Powered by SMFPacks Menu Editor Mod