Recréation de disquettes avec protection par 'weak bits'

Tout ce qui concerne le logiciel original et sa sauvegarde avec entre autre la régénération des disquettes ou autres supports physiques.

Modérateurs : Papy.G, fneck, Carl

gotcha
Messages : 2758
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Recréation de disquettes avec protection par 'weak bits'

Message par gotcha »

Je suis en train de jouer avec ma greaseweazle et j"essaye de comprendre jusqu'où on peut aller dans la recréation de disquette originales (avec leur protection d'origine). Je crée un nouveau fil car ce n'est pas spécifique à la greaseweazle car on peut aussi vouloir utiliser un kroflux ou un supercard pro (dans mon cas, j'ai les 3)

Actuellement, je me regarde le monde CPC (format de disquette, format d'images de disquettes, protections etc...).

La première question que je me pose, c'est à propos de la protection par des 'weak bits'. C'est weak bits sont en fait quelque peu aléatoires et une suite de deux lectures doit donner des données différentes (ce que teste le code de protection).

Le format d'image de disquettes tel que l'extended DSK permet d'exprimer ces weak bits et donc un émulateur ou un gotek qui lit directement l'image dsk doivent pouvoir être capable de gérer cette protection.

Mais qu'en est-il pour un CPC avec un vrai lecteur de disquette ? Peut-on recréer une disquette qui a ces weak bits avec les cartes actuelles (greaseweazle, kryoflux, supercard pro) et le lecteur d'origine ? Quand on écrit une disquette avec ces cartes, on va généralement utiliser un fichier image qui contient les infos de flux magnétique (kf raw, scp). Est-ce que ces weak bits peuvent être exprimés dans ces formats et écrits de manière correcte sur la disquette ?
Dernière modification par gotcha le 20 août 2022 11:27, modifié 1 fois.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
gotcha
Messages : 2758
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Recréation de disquettes avec protection.

Message par gotcha »

En cherchant un peu, il semble qu'on arrive à recréer des weak bits directement sur certaines machines, par exemple les BBC micros.
J'imagine que cela va dépendre du contrôleur de floppy et de quel accès on en est donné par le hardware et l'OS.
Dans notre cas, avec les cartes actuelles branchées sur un PC, on doit pouvoir avoir un accès complet au flux magnétique et donc recréer des weak bits :?:

Exemple sur BBC micro:
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Recréation de disquettes avec protection.

Message par 6502man »

En septembre je compte reprendre mes activités ludique autour du Greaseweazle justement ;)

J'ai trouvé un document très intéressant recensant les protections des disquettes Atari ST :
http://dmweb.free.fr/files/Atari-Copy-P ... n-V1.4.pdf
C'est très intéressant et instructif :wink:

Concernant les protections des disquettes je connais mal le monde CPC, mais j'imagine qu'il y à du y avoir beaucoup de
système de protection différent, vue le nombre de softs CPC existant sur support D7 ?

Concernant les Weak bits sur D7 CPC à tu essayer de dumper un original et de refaire une disquette avec les 3 systèmes
pour vérifier justement lesquels savent recréer correctement cette protection ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
gotcha
Messages : 2758
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Recréation de disquettes avec protection.

Message par gotcha »

C'est un sujet très intéressant. Pour CPC, il y a un résumé des protections (peut-être non exhaustif) ici: https://www.cpc-power.com/cpcarchives/i ... les&cat=12

En fait, j'essaie de comprendre aussi les différents formats d'image de disquette pour comprendre dans quelle mesure ils peuvent supporter ces protections. Je commence par le CPC pour lequel on va généralement manipuler des images dsk, hfe, scp et raw kryoflux.

Concernant les différentes cartes, si j'ai trouvé la SuperCardPro utile pour ce qui concerne le monde PC, je la trouve limitée car il manque un outils en 'ligne de commande' grâce auquel on peut manipuler des images non connues par l'interface graphique. Je pense que la Kryoflux et la GreaseWeazle sont plus utiles pour le monde Amstrad entre autre.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17423
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Recréation de disquettes avec protection.

Message par fneck »

Comme on en a déjà longuement parlé dans le topic sur la Greaseweazle, il ne me semble pas qu'un lecteur de disquette soit capable de lire ou d'écrire autre chose que des 0 ou des 1. Et ceci quelque soit le contrôleur qui est utilisé.

C'est un peu long et pas forcément très clair, mais je dirai que ça commence ici: viewtopic.php?p=209760#p209760
Voir tout particulièrement les interventions de Fool-Duplex ou Jeff_HxC2001.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
gotcha
Messages : 2758
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Recréation de disquettes avec protection par 'weak bits'

Message par gotcha »

fneck a écrit : 18 août 2022 19:20 il ne me semble pas qu'un lecteur de disquette soit capable de lire ou d'écrire autre chose que des 0 ou des 1.
@fneck A priori, c'est possible avec certains contrôleurs en créant des zones sans flux magnétique ou en jouant sur le timing du flux magnétique. Le but est de créer de l’indéterminisme. C'est expliqué ici pour les BBC Micro:
https://scarybeastsecurity.blogspot.com ... ction.html

Pour le contrôleur 8271, il crée des zones sans flux:
When WRITE ENABLE is active outside of a command, the disc drive's write head will be energized but no data pulses will be transmitted on the write data pin to the disc drive. The result is that the write head sweeps the disc surface clean of flux transitions. That creates weak bits / a no flux area. With a bit of careful timing, the write head can be energized and de-energized and any point(s) needed on a track to create weak bits where desired.
Sur le contrôleur 1770, il va jouer sur le timing (en changeant la densité d’écriture en cours de route).
The specific trick we use is to start a single density write command and then flip to double density some number of bytes in. Double density (MFM) timing is completely different to single density timing, so reading back the resulting patterns as single density read confuses the disc controller significantly, to the point that non-deterministic read results are returned.
Dans mon cas, le contrôleur qui m’intéresse est le NEC 765 (celui du CPC), donc il faut trouver une solution spécifique.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
dlfrsilver
Messages : 94
Inscription : 17 janv. 2014 02:47

Re: Recréation de disquettes avec protection.

Message par dlfrsilver »

fneck a écrit : 18 août 2022 19:20 Comme on en a déjà longuement parlé dans le topic sur la Greaseweazle, il ne me semble pas qu'un lecteur de disquette soit capable de lire ou d'écrire autre chose que des 0 ou des 1. Et ceci quelque soit le contrôleur qui est utilisé.

C'est un peu long et pas forcément très clair, mais je dirai que ça commence ici: viewtopic.php?p=209760#p209760
Voir tout particulièrement les interventions de Fool-Duplex ou Jeff_HxC2001.
Mais comme je l'ai expliqué, ce n'est pas le lecteur qui importe mais le controleur de disque. C'est lui qui détermine ce que le lecteur peut écrire.
Exemple : si tu veux écrire une disquette au format Amiga sur Atari ST, ou bien des pistes MAC GCR 4us sur Amiga, dans le premier cas c'est impossible puisque le controleur disque de l'Atari ST ne gère que le format IBM. Dans le cas de l'Amiga, le format Amiga, IBM, et MAC sont supportés par le Controleur.

C'est lui qui donne les ordres au lecteur de disquette.

Dans les duplicateurs industriels de l'époque, c'était aussi le controleur de disque qui permettait de tout dupliquer, car capable de générer ou d'écrire tout type de protections contre la copie ou n'importe quel format tant qu'on respecte la longueur max de piste.

Le greasleweasle et la kryoflux font exactement pareil aujourd'hui (Controleur disque ultra flexible permettant d'écrire ce qu'on veut du moment que c'est décrit dans le format).
Répondre