Inscription : 13 Jan 2010, 14:25 Message(s) : 2272
Commandant sPOKE au rapport !
Je viens de retrouver un utilitaire que j'ai codé en BASIC à la fin des années 80. Il pèse plus de 20K, ressemble beaucoup au Copieur de DISCOLOGY (je l'avais d'ailleurs appelé DISCOVERY, même si le nom n'y est pas inscrit) Il permetait de faire des choses qui étaient bien utiles au quotidien avec une disquette... Bref, j'en ai extrait la partie formatage que j'ai remise en forme. (avec un exemple)
Code :
5 ' FORMAT (DATA/VENDOR/IBM) 6 ' DATA type=&C1 (9 sectors/178K) 7 ' VENDOR type=&41 (9 sectors/169K) 8 ' IBM type=&01 (8 sectors/154K) 9 ' Usage: CALL &A100,tracknumber,type
10 MEMORY &A0FF : RESTORE 20 : S=0 : FOR T=&A100 TO &A17F : READ A$ : A=VAL("&"+A$) : S=S+A : POKE T,A : NEXT T : IF S<>11553 THEN PRINT"DATA ERROR" : END
20 DATA FE,02,C0,DD,7E,00,4F,C5,F5,32,5D,A1,3C,32,65,A1, 3C,32,6D,A1,3C,32,75,A1,3C,32,7D,A1,F1,06,05,80, 32,61,A1,3C,32,69,A1,3C,32,71,A1,3C,32,79,A1,DD, 7E,02,32,5B,A1,32,5F,A1,32,63,A1,32,67,A1,32,6B, A1,32,6F,A1,32,73,A1,32,77,A1,32,7B,A1,C1,57,1E
30 DATA 00,21,5B,A1,DF,58,A1,C9,52,C6,07,00,00,C1,02,00, 00,C6,02,00,00,C2,02,00,00,C7,02,00,00,C3,02,00, 00,C8,02,00,00,C4,02,00,00,C9,02,00,00,C5,02,00
40 END
100 ' Test: DATA formatting from track 39 to 0 110 PRINT "Insert a floppy disc and press any key." : CALL &BB18 120 FOR track=39 to 0 step -1 130 PRINT "Formating track" ; track ; CHR$(11) 140 CALL &A100,track,&C1 : NEXT track : PRINT
Attention, les DATA sont sur la même ligne. J'ai du les sectionner pour des raisons d'affichage du forum. Tapez RUN. (le programme doit vous rendre la main sans erreur, sinon corrigez-le) En suite, tapez RUN 100 pour lancer le programme de test de formatage en mode DATA.
Inscription : 13 Jan 2010, 14:25 Message(s) : 2272
Parce qu'il faudrait déjà que je puisse l'envoyer du CPC vers le PC. La, j'ai recopié à la main en fouillant dans le code car je me souvenais que sPOKE parlait de formatage IBM.
Inscription : 23 Juin 2013, 01:05 Message(s) : 438
TotO a écrit :
Parce qu'il faudrait déjà que je puisse l'envoyer du CPC vers le PC. ...
"Simple".
Fait une connection par l'audio ou la din du cpc vers l'entrée ligne (bleue) ou micro (rose) du pc. Envoies ton log en utilisant les commandes ùtape et save", et tu récupères les données sur le pc via CPCTapeXP, en faisant une capture de ta source.
Te reste plus qu'à lancer un émul, charger le fichier .cdt, puis le sauvegarder en .dsk.
_________________ "A L'HEURE OU BLANCHIT LA CAMPAGNE... (COURAGE, FUYONS !!!)"
Inscription : 13 Jan 2010, 14:25 Message(s) : 2272
Je ne peux pas brancher de lecteurs de floppy externes pour le moment, car je n'ai plus d'alim. Et je n'ai pas de câble tape sous la main... Mais je vais regarder ça plus en détail ce week-end ; La, j'ai vraiment fait ça vite fait.
Enfin, j'espère plutôt le transférer via Bluetooth d'ici quelques jours
Commandant sPOKE au rapport ! Je viens de retrouver un utilitaire que j'ai codé en BASIC à la fin des années 80.
Héhé, sympatoche ta petite routine. Je l'ai testée avec WinCPC (F11) et elle fonctionne très bien dans les 3 cas, en v,d,i.
Pour ceux veulent s'initier au langage assembleur, vous pouvez lui ajouter une RSX, par exemple : |Format,i
P.S : si quelqu'un a un lecteur 5 1/4 branché sur son CPC, peut-il me dire s'il est possible de formater une disquette 5 1/4 au format Amstrad IBM (154 Ko) ? et le faire ?
Trouver un possesseur d'IBM 1981 sera bien plus dur, mais je voudrais voir s'il peut lire la disquette formatée sur CPC.
C'est donc l'équivalent de FORMAT.COM, mais sous basic ?
Ca te permet de formater une disquette depuis le BASIC, en utilisant AmsDOS au lieu de CP/M, mais ce n'est pas l'équivalent de Format.com pour une raison simple :
Tu ne peux pas formater une disquette au format Système avec cette routine.
Rappellons que le format Vendor n'a aucun intérêt pour un utilisateur CPC : il est seulement utile à un éditeur qui vend un logiciel tournant sous CP/M, car diffuser CP/M était interdit à l'époque. L'utilisateur le rajoutait lui-même.
Pour l'utilisateur CPC, il y a 2 choix : formater au format Système (s'il souhaite utiliser TYPE par exemple pour visionner ses fichiers texte) ou bien au format DATA s'il n'utilise pas CP/M (99% des utilisateurs)
Mais pour un utilisateur qui veut se perfectionner en assembleur, il peut améliorer la routine de Tot0 et lui adjoindre le format Système : il suffit de demander d'insérer la vraie disquette CP/M et de copier les pistes systèmes. (ce que fait Oddjob si j'ai bonne mémoire).
Prenez la bonne habitude d'utiliser CHKDSK ou DISCCHK de CP/M, car formater, c'est bien, mais vérifier vous évitera bien des erreurs disques par la suite...
Attention à bien être en QWERTY pour utiliser F11. Chez moi, si je suis en AZERTY, les codes ascii changés ne sont pas pris en compte. (si tu arrives à utiliser F11 avec la ROM azerty, ça m'intéresse).
Pour le programme de Tot0, il est très simple à utiliser :
- tu l'exécutes une première fois pour qu'il charge la routine en langage machine en mémoire. le programme se termine alors en ligne 40
- tu fais un RUN 100 pour formater une disquette : ( 140 CALL &A100,track,&C1 )
- tu mets &41 à la place de &C1 pour formater en VENDOR, et &01 pour formater en IBM.
- tu peux aussi formater seulement certaines pistes si tu le souhaites.
si un jour tu apprends l'assembleur, tu pourras créer facilement la RSX ùFormat,i (formatage IBM complet) ou ùFormat,t,d (t=track, d=data)
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 11 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum