Cap resum de modificació |
|||
| Línia 56: | Línia 56: | ||
{|class=wikitable | {|class=wikitable | ||
|- | |- | ||
|colspan=8|0xaf| | |colspan=8|0xaf||0xf0 | ||
|- | |- | ||
|1||1||1||1||0||1||0||1||0||0||0||0||1||1||1||1|| | |1||1||1||1||0||1||0||1||0||0||0||0||1||1||1||1|| | ||
Revisió del 16:30, 21 gen 2013
Format disc Ipca
Antecedents
Com que cada cop és més dificil aconseguir unitats de disquet de 3.5, Mayer ha optat per oferir als seus clients una actualització a memòria USB. Per aconseguir això han usat un emulador de unitat de disquet: Ipca USB Floppy Emulator v3. El client substitueix la unitat de 3.5 per aquest emulador i ja pot treballar amb USB.
Emulador USB de disc de 3.5
Aquest emulador intenta simular exactament el HW d'una unitat de 3.5, i sembla que per motius de compatibilitat i/o simplificar el codi del firmware, el format de la imatge de disc l'han fet el màxim de similar possible al format físic d'un disc....
Format de la imatge
Tots els fitxers d'imatge de disc són de exactament 4250000 bytes independentment del disc que es simuli (180K,360K,720K,1440K,1220K,2880K). El fitxer internament està dividit en 170 blocs de 25000 bytes cada un. Cada bloc representa una de les possibles pista del disc de la següent manera:
| Offset | Bloc |
|---|---|
| 0 | Cara 0 Pista 0 |
| 25000 | Cara 0 Pista 1 |
| . . . |
. . . |
| 2100000 | Cara 0 Pista 84 |
| 2125000 | Cara 1 Pista 0 |
| 2150000 | Cara 1 Pista 1 |
| . . . |
. . . |
| 4225000 | Cara 1 Pista 84 |
Dins de cada bloc hi han guardades les dades de la pista en forma d'un vector de bits. Cada bit representa si hi ha hagut un canvi de flux magnètic en el disc (1=canvi de flux, 0=no canvi).
La imatge, no conté enlloc informació sobre quin tipus de disc i/o format les dades representen. Per sort Mayer sempre utilitza discs de 3.5 de 1440K.
Codificació dels blocs/pistes
Per limitacions físiques i tecnològiques, no és pràctic guardar llargues seqüències de només 1 o només 0 en un medi magnètic. Per evitar aquest problema, el FDC (Floppy Disk Controller) codifica les dades abans d'enviar-les a l'unitat de disc, garantint un mínim de transcisions de 0->1 i de 1->0.
La codificació utilitzada és la [[1]]. Que funciona de la següent manera:
| Bit Dades | Codificaició MFM |
|---|---|
| 0 | 00 si BitDades anterior==1 01 Si BitDades anterior==0 |
| 1 | 10 |
Per exemple si codifiquem :
| 0xaf | 0xf0 | |||||||||||||||
| 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
El primer pas, és buscar la seqüència d'inici de bloc, un cop detectada, es pot decodificar el bloc. Existeixen 2 tipus de blocs en el disc:
- Sector Identifier
- Data Block
Cada pista té el següent aspecte:
| Pista | ||||||||
|---|---|---|---|---|---|---|---|---|
| Start Gap | Sector Identifier | Identifier Gap | Data Block | Data Block Gap | Sector Identifier | .... | Data Block | Track Gap |
Per més informació sobre com estan les dades, es pot consultar l'estandard
Ecma-125
.