it regularly difficult to spot, aside from maybe by a genuine Rolex replica history specialist, in light of the fact that the best phony Rolex are 95% made by Rolex. If you want to know how often you should optimally be winding your rolex replica watch, Click Here.

Outil pour copier u...
 
Notifications
Retirer tout

Outil pour copier une disquette?

10 Posts
4 Utilisateurs
4 Reactions
85 Vu
Dbug
 Dbug
(@dbug)
Eminent Member
Inscription: Il y a 5 ans
Posts: 25
Début du sujet  

Je sais qu'il y a des pros de Sedoric ici, je me demandais si quelqu'un avait sous la main (ou savais comment faire) un programme pour copier des disquettes.

En gros j'ai un lecteur Microdisc avec un vrai 3" en lecteur A et un Gotek en lecteur B, et j'aimerais pouvoir créer une disquette réelle a partir d'un fichier HFE stocké sur le Gotek.

Je suppose que je devrait pouvoir trouver du code dans Nibble, mais si quelqu'un à déja fait ca, ca serait sympa.

En gros dans mon cas les disquettes sont au format double face, 42 pistes de 17 secteurs, avec des secteurs de 256 octets et un "sector interleave" de 6.

J'imagine que l'interleave ca se régle pendant la phase de formatage, mais je n'ai pas vu du paramètre pour ca dans la commande INIT, donc je ne sais pas si Sedoric gère ce paramètre (qui a une grosse influence sur la performance quand on lit la disquette).

Idéalement l'outil aurait aussi la possibilité de vérifier la copie, pour détecter les disquettes défectives.

Merci d'avance !


   
Citation
Étiquettes du sujet
Symoon
(@symoon)
Estimable Member Adhérent
Inscription: Il y a 5 ans
Posts: 183
 

Je ne sais pas en détail ce dont tu as besoin, mais si c'est "juste" pour copier du Sedoric, j'avais fait un programme qui sauvait le contenu d'une disquette via le port cassette. Je ne sais plus où j'ai bien pu mettre ça en téléchargement, là je suis pressé mais je te retrouverai ça, au moins ça indique où chercher le format de la disquette (mais ça ne va pas jusqu'aux "interleave", je me fichais de la géométrie des secteurs)


   
Dbug reacted
RépondreCitation
Symoon
(@symoon)
Estimable Member Adhérent
Inscription: Il y a 5 ans
Posts: 183
 

Voilà les petites routines en ASM faites à l'époque pour lire une disquette Sedoric secteur par secteur. La boucle de lecture principale était en basic, et le code est prévu pour une utilisation sous Sedoric (appel à des routines système pour lire les secteurs, etc.)

A noter que ce qui différencie la face 1 de la face 2, c'est le bit 7 du numéro de piste. Autrement dit la piste 0 de la face 1, c'est la piste 0; la piste 0 de la face 2, c'est la piste 128.

Les pistes commencent à 0, les secteurs à 1.
Les drives vont de 0 à 3 (pour les drives A à D).
"BUF2" qui sert à stocker la lecture d'un secteur par Sedoric, est en RAM Overlay, de $C200 à $C2FF.

En espérant que ça aide un peu; pas sûr que je t'apprenne grand chose...

- RECHERCHE INFOS DISK -
9810  20 F2 04    JSR 04F2     passage Ram Overlay
9813  20 4C DA    JSR DA4C     charger la 1ere bitmap dans BUF2
9816  AD 09 C2    LDA C209     nb pistes + nb de faces (bit 7 à 1 si double face)
9819  8D 06 98    STA 9806
981C  AD 07 C2    LDA C207     nb de secteurs par piste
981F  8D 03 98    STA 9803
9822  AD 06 C2    LDA C206     nb de pistes (par face)
9825  8D 02 98    STA 9802
9828  20 F2 04    JSR 04F2     retour de Ram Overlay
982B  60          RTS
982C  EA EA EA EA NOP          (présentation)

- MOVE HAUT -
9830  20 F2 04    JSR 04F2     passage Ram Overlay
9833 à 9886 routine MOVEHAUT (cf. CEO-Mag 133, p.22-23)
9887  20 F2 04    JSR 04F2     retour de Ram Overlay
988A  60          RTS
988B  EA EA EA EA EA NOP       (présentation)

- CHARGER SECTEUR DANS BUF2 -
9890 20 F2 04     JSR 04F2     passage Ram Overlay
9893 AD 01 98     LDA 9801     lire le drive choisi
9896 8D 00 C0     STA C000     l'affecter au drive actif
9899 AD 04 98     LDA 9804     piste en cours de traitement
989C AC 05 98     LDY 9805     secteur en cours de traitement
989F 20 60 DA     JSR DA60     charge dans BUF2 le secteur Y de la piste A
98A2 20 F2 04     JSR 04F2     retour de Ram Overlay
98A5 60           RTS

- CORRIGER BUG CLOAD SEDORIC -
98A6  A5 C1       LDA #C1      placer C1
98A8  8D 0E 04    STA #040E    en 40E
98AB  8D 3A 04    STA #043A    et en 43A
98AE  60          RTS          retour

- CONVERTIR LETTRE EN No DE DRIVE -
LDA lettre du drive choisi (A-D)
38      SEC prépare soustraction (rappel C = 0 au début sous-programme)
E9 41   SBC #41 convertit première lettre en n° de drive (A = 0 etc.)
STA 9801
Ce message a été modifié Il y a 2 semaines 2 fois parSymoon

   
Dbug reacted
RépondreCitation
Dbug
 Dbug
(@dbug)
Eminent Member
Inscription: Il y a 5 ans
Posts: 25
Début du sujet  

J'imagine que pour faire la copie il suffit de rajouter la partie qui sélectionne le lecteur de destination, et sauver le contenu de BUF2 avec la meme information de piste et secteur.

Et probablement rajouter un test pour lire la 1ere bitmap de l'autre disque pour vérifier que le formatage (nombre de pistes, faces et secteurs) est compatible.


   
RépondreCitation
Silicebit
(@silicebit)
Eminent Member
Inscription: Il y a 2 ans
Posts: 23
 

Posté par: @dbug

En gros j'ai un lecteur Microdisc avec un vrai 3" en lecteur A et un Gotek en lecteur B, et j'aimerais pouvoir créer une disquette réelle a partir d'un fichier HFE stocké sur le Gotek.

Bonjour.

Si vous cherchez à copier un disque complet, il existe la commande BACKUP A TO B ou B TO A. Cela fonctionne aussi avec HFE de GOTEK.


   
Dbug reacted
RépondreCitation
Dbug
 Dbug
(@dbug)
Eminent Member
Inscription: Il y a 5 ans
Posts: 25
Début du sujet  

@silicebit Oh, donc je peux juste faire un "init" sur ma disquette de destination pour avoir le bon formatage, et après backup.

Je pensais que BACKUP ne marchait qu'avec les disquettes au format SEDORIC.


   
RépondreCitation
Symoon
(@symoon)
Estimable Member Adhérent
Inscription: Il y a 5 ans
Posts: 183
 

Ah mais donc tu veux pouvoir copier tout type de disquettes, avec un outil Sedoric ?

Dans ce cas il faudrait savoir où trouver le format de chaque type de disquette, ce que je t'avais indiqué n'est que pour les disquettes Sedoric.

J'avais déjà eu cette idée et Christian m'avait déjà répondu sur Jasmin ici ou sur l'ancien forum du CEO ou sur Defence Force (en gros de mémoire: pas d'info sur le disque je crois, mais juste 1 ou 2 formats).

Fabrice dans Readdsk, je crois qu'il lisait jusqu'à obtenir une erreur mais il faudrait revérifier, c'est trop vieux pour que je me souvienne avec précision.


   
RépondreCitation
Symoon
(@symoon)
Estimable Member Adhérent
Inscription: Il y a 5 ans
Posts: 183
 

PS concernant Nibble, il tente de lire la piste qu'on lui indique, donc il ne se soucie pas du format. Et en mode piste, il fait une lecture de piste à partir de la commande du FDC, mais comme c'est buggé avec des octets de synchro, il relit ensuite secteur par secteur (toujours à partir du FDC, et là ce n'est pas buggé) et remplace ce qui avait été lu par la commande de lecture de piste.

Ca limite les erreurs, mais il doit quand même en rester ici ou là dans les intervalles entre les secteurs.


   
RépondreCitation
Dbug
 Dbug
(@dbug)
Eminent Member
Inscription: Il y a 5 ans
Posts: 25
Début du sujet  

Posté par: @symoon

Ah mais donc tu veux pouvoir copier tout type de disquettes, avec un outil Sedoric ?

Dans ce cas il faudrait savoir où trouver le format de chaque type de disquette, ce que je t'avais indiqué n'est que pour les disquettes Sedoric.


Pas tout type de disquette, là ce qui m'intéresse c'est de pouvoir facilement dupliquer mon jeu Encounter sur une vrai disquette, donc vu que j'avais déja un Microdisc et un Gotek ca me semblait le plus simple.

En gros ma disquette c'est double face, 42 pistes, 17 secteurs par piste, et les premiers secteurs sont compatibles OricDOS/Sedoric/Jasmin histoire que ca charge le secteur de boot, mais après c'est mon système FloppyBuilder qui prend la main: Il n'y a pas de FAT/DIRECTORY, c'est juste des données écrites dans les secteurs et le jeu sait que "telle fichier commence a piste 23 sur le 5 eme secteur et ca prend 25 secteurs au total".

D'ou ma question: Est-ce que BACKUP copy n'importe quoi a partir du moment ou il arrive a determiner le nombre de pistes et secteurs, ou bien est-ce que ca ne peu copier que des disquettes au format SEDORIC.

 


   
RépondreCitation
assinie
(@assinie)
Membre
Inscription: Il y a 5 ans
Posts: 59
 

Bonjour,

Je pense que la commande BACKUP ne fonctionnera pas dans ce cas parce qu'elle récupère le format de la disquette source qui est contenu dans le secteur de la bitmap.

Comme floppyBuilder ne génère pas ce secteur, BACKUP va se retrouver avec des informations incohérente et refuser de s'exécuter dans le meilleur des cas.

Sinon, le FTDos contient deux instructions qui permettent de lire et d'écrire un secteur d'une disquette, il "suffit" de reprendre ces deux routines pour pouvoir faire la copie.
Je m'en étais servi pour modifier le Forth K7 publié par Soracom pour qu'il utilise des disquettes avec un lecteur 5"1/4 et un formattage initial MS/DOS ou FTDos.

On doit aussi pouvoir utiliser les routines correspondantes de la commande BACKUP de Sedoric.

Le seul problème est que la disquette cible doit d'abord être formattée de la même façon que la disquette source et qu'il faut connaitre le nombre de pistes et de secteurs à copier.

L'entrelacement de la cible n'est pas modifié puisqu'il s'agit d'une copie secteur par secteur et non piste par piste qui est un peu plus problématique bien que faisable.

On peut aussi tenter de deviner le formattage de la source en lisant les secteurs d'une piste jusqu'à ce que le FDC retourne une erreur, de même pour trouver toutes les pistes mais dans ce cas il faudra aussi que le programme fasse le formattage de la cible et connaisse le facteur d'entrelacement sinon il ne sera pas respecté à moins de faire une copie piste par piste.

Si le formattage doit être fait par l'Oric est qu'il est différent du format de celui de l'OS utilisé en nombre de pistes et/ou de secteurs et/ou d'entrelacement alors il faut aussi faire une commande INIT ou FORMAT en conséquence.

Pour FTDos, le programme de formattage est en Basic donc facile à modifier, pour Sedoric INIT est dans une banque donc il faut modifier la banque si on veut changer l'ordre des secteurs (qui est fonction du numéro de piste en plus du facteur d'entrelacement).


   
Dbug reacted
RépondreCitation
Share: