Logicielsmoto.com

Nous sommes le 29 Mar 2024, 09:26

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 15 messages ] 
Auteur Message
 Sujet du message: k7towav (pour k7 to)
MessagePosté: 18 Jan 2010, 12:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Je ne sais pas si certains ont suivi, mais il y a eu un fil de discussion sur usenet au sujet d'un outil permettant de convertir un fichier K7 to en fichier wav: ici.

Pour MO il existe DCK7TOWAV, mais pour TO, apparement ca n'existe pas ou c'est dur à trouver. Le fil de discussion usenet a abouti à un script python qui réalise l'opération de façon correcte pour les emulateurs (MESS et WAV2K7 sont heureux avec le fichier WAV produit malgrès la présence de plusieurs fichiers dans le ".k7").

Je reproduis ici le code du script qui peut reservir à certains. Le code n'est pas super complexe, sauf que pour le faire marcher dans MESS il a fallu coder une machine a état lisant les blocs logiques sur K7 et introduisant des silences ainsi que des ammorces à 6.3khz aux bons endroits. Sans ces infos là, MESS ne veut pas charger le WAV. Je ne sais pas si la docu du format des K7 TO est dispo (pour les MO elle existe sur le forum dcmoto). Mais il y a des trucs auxquels je ne m'attendais pas comme la séquence ff .. ff 01 3c entre les blocs.

Code:
#!/usr/bin/env python
#
# Converts TO7 K7 files into wav file.
#
# History:
#
# 15/01/2010 Original code by Doug Letougth.
# 16/01/2010 Reworked by Samuel Devulder to speed it up and make it work with
#            http://nostalgies.thomsonistes.org/archives/k7tools-2.1a-dosexe.zip
# 17/01/2010 Reworked by Samuel Devulder. Added a 1sec 6.3khz signal at start of blocks.
#            Also added 1sec pause at end of header and end of file block
#            (to simulate motor start delay). The resulting file works under MESS.
#         
import sys
import os
import wave
import math
import struct

# wav freq
freq = 44100

# number of bits per sample (8 or 16)
nbits = 8

# number of channels (1 = mono, 2 = stereo)
nchans = 1

# transmission rate (bits per seconds)
bps = 900

# relative intensity level for each bit (not necessary but helps reading the curves visualy)
vol0 = 0.9
vol1 = 0.6

# Clear screen (avalibale only on posix systems)
if os.name == "posix":
   print "\x1b[1;1H\033[J"
   # Some ansi escape characters for verbose display
   ansi_esc="\x1b[1;1H"
else:
   # No ansi for non-POSIX compliant systems
   ansi_esc=""

if len( sys.argv ) != 3 :
   exit("Usage : k7towav.py <input .k7 file>  <output .wav file>")
else:
    input_k7 = sys.argv[1]
    output_wav = sys.argv[2]

if not os.path.isfile(input_k7) :
   exit("File not found : " + input_k7)
if os.path.isfile(output_wav) :
   exit("File already exists : " + output_wav)
    # TODO : Add some code here for asking for overwrite

# 2pi
two_pi = 2*math.pi

# length of a bit
samples_per_bit = int(freq / bps)

# 4.5khz signal sample
bit0 = [ math.sin( two_pi*5*x/samples_per_bit ) for x in range(samples_per_bit) ]

# 6.3khz signal sample
bit1 = [ math.sin( two_pi*7*x/samples_per_bit ) for x in range(samples_per_bit) ]

# scale
scale = (2**nbits - 1)/2

# build up string representing the frames for bit0 and bit1 (all channels have the same value).
if nbits==8:
   fmt = 'B'
elif nbits==16:
   fmt = 'H'
else:
   exit("Invalid number of bits: " + str(nbits))
sig_0 = ''
for x in bit0:
   for y in range(nchans):
      sig_0 += struct.pack(fmt, int(scale*max(0,min(2, 1+x*vol0))))
sig_1 = ''
for x in bit1:
   for y in range(nchans):
      sig_1 += struct.pack(fmt, int(scale*max(0,min(2, 1+x*vol1))))
      
# build up strings representing various silence length
inactive_level = 0 # should be -1 according to the docs
silence = ''
for x in range(int(1.00 * freq)):
   silence += struct.pack(fmt, int(scale*max(0,min(2, 1+inactive_level))))
start6300 = ''
for x in range(int(1.00 * freq)):
   start6300 += struct.pack(fmt, int(scale*max(0,min(2, 1+0.4*math.sin(two_pi * x* 6300/freq)))))

# Bit counter (for display purpose)
bitnum=0

# open files
k7 = open(input_k7,"rb")
wav = wave.open(output_wav,"wb")
wav.setparams((nchans, nbits>>3, freq, 0, 'NONE', 'noncompressed'))

# initial bootstrap: silence + 6.3khz
sil_req = 1
s63_req = 1

# block state-machine parameters
state = 0
blk_len = None

while 1 :
   c = k7.read(1)
   if not c:
      break
   byte = ord(c)
   
   # add silence if required
   if sil_req:
      wav.writeframesraw(silence)
      sil_req = 0
   
   # add a 6.3khz signal if required
   if s63_req:
      wav.writeframesraw(start6300)
      s63_req = 0
         
   # Start bit is 0
   wav.writeframesraw(sig_0)
   
   # Byte processing
   acc = byte | 256
   while acc != 1:
      bitnum=bitnum+1
      bit = 1 & acc
      acc >>= 1
      if bit:
         wav.writeframesraw(sig_1)
      else:
         wav.writeframesraw(sig_0)      
      if  bitnum % 5123 == 0:
         print ansi_esc+"Processing bit # "+str(bitnum & 7)+" from byte # "+str(bitnum>>3)+" ("+str(bit)+") "+str(wav.tell()/1024)+" Kbytes"
      
   # Ending bits are 1 (2 bits)
   wav.writeframesraw(sig_1)
   wav.writeframesraw(sig_1)

   # block state machine.
   if state==0:
      # State 0 to 3 looks for specific block starts that matches (ff ff .. ff 01 3c)
      if byte==0xff:
         state=1
      else:
         state=0
   elif state==1:
      if byte==0xff:
         state=1
      elif byte==0x01:
         state=2
      else:
         state=0
   elif state==2:
      if byte==0x3c:
         state=3
      else:
         state=0
   elif state==3:
      # read block type: 00=header, 01=data, ff=end of file
      state=4
      blk_type = byte
   elif state==4:
      # read block length
      blk_len = byte
      state=5
   elif state==5:
      # within block
      blk_len = blk_len-1
      if blk_len<0:
         state = 0
         # add a sep at end of header block or at end of file block
         if blk_type==0 or blk_type==0xff:
            sil_req = 1
            s63_req = 1
# adds silence at end of file
wav.writeframesraw(silence)
k7.close()
wav.close()


Ca ne serait pas trop compliqué d'en faire un code C avec la description du format WAV indiqué ici si besoin.


Dernière édition par Samuel Devulder le 18 Jan 2010, 22:34, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 18 Jan 2010, 17:11 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Voici les différents pointeurs utiles rencontrés dans le fil de discussion:
    * Doc technique TO7 (pages 93-99).
    * Doc du MK-2090-90 (le 1er lecteur K7).
    * Doc du MK-97-070 (le 2eme lecteur K7). Doc beaucoup plus complète que la précédente.
    * Exemple de fichiers K7/WAV produit par MESS.
    * MESS pour émuler du matos Thomson.
    * un wav2k7 pour k7 TO qui marche sous XP.
    * fichier wav réel faussement attribué à un oric alors que c'est du TO7.
    * format des blocs k7 MO5. (Il faudrait avoir un truc équivalent pour TO7.)


Dernière édition par Samuel Devulder le 19 Fév 2012, 01:27, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Jan 2010, 10:18 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour les transferts de cassettes j'ai programmé tous les utilitaires possibles, mais je n'ai pas tout rendu public car certains sont des prototypes difficiles à utiliser.

Bien entendu on peut connecter un magnétophone MO5 sur un TO, et lire les cassettes au format MO5. Il suffit de transposer sur TO les routines de lecture du MO5. Il y des articles sur le sujet dans la littérature (Microtom ou Teo).

On peut aussi enregistrer sur PC le signal digital en sortie du TO, sans le transformer par le circuit du magnétophone TO. Ensuite on peut relire le fichier .wav obtenu sur TO, toujours sans passer par le magnétophone. Ce n'est pas d'une grande fiabilité, mais j'ai réussi à le faire en ajoutant un circuit de mise en forme TTL avec une simple porte NAND. C'est probablement possible avec un magnétophone MO5 (avec les routines standard du TO), mais je n'ai pas encore essayé.

Bien entendu j'ai écrit des programmes de conversions pour transformer les fichiers .k7 TO en fichiers .wav modulés, pour créer des cassettes lisibles avec le magnétophone TO, mais aussi pour convertir des fichiers .k7 en fichiers .wav spéciaux pour entrée directe sur le TO. Et aussi les deux convertisseurs dans l'autre sens.

Toutes ces expériences m'ont permis de faire des liaisons directes PC->TO, TO->PC, PC->MO et MO->PC sans magnétophone.

Au début des années 90 je n'avais pas de carte son. Je faisais les transferts MO5->PC en connectant le magnétophone MO5 sur un signal de contrôle du port parallèle. Il était relu par un programme Basic rudimentaire où les temporisations étaient de simples boucles FOR/NEXT.

Depuis vingt ans je n'ai pas cessé d'améliorer les convertisseurs, d'une part avec des filtres de traitement du signal pour supprimer certains défauts (ronflement, disymétrie, etc.), d'autre part pour contrôler la structure des blocs et les checksums. Pour le format MO5 standard c'est facile, il suffit de s'inspirer des contrôles effectués par le moniteur. Pour les cassettes protégées contre la copie c'est beaucoup plus long, vu le nombre de protections différentes et l'ingéniosité des programmeurs. Le must est sans nul doute la cassette MO5 3D Fight. Sa protection est diabolique et son décryptage a nécessité plus d'une semaine de recherches.

Je n'ai encore jamais rencontré de cassette TO protégée contre la copie par une structure spéciale des en-têtes ou des blocs. Si quelqu'un a connaissance d'une telle protection je suis très intéressé, pour l'ajouter à ma collection de formats spéciaux.

Au total je crois avoir transféré plus de 1000 cassettes, dans les deux sens. Quand je génère un fichier .wav à partir d'un fichier .k7 je l'essaye toujours sur la vraie machine pour vérifier.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Jan 2010, 11:37 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Pour compléter ce que dit Daniel, j'ai aussi pas mal bossé sur ce problème. J'ai d'ailleurs ecrit un soft sous Windows qui permet non seulement l'analyse automatique quand c'est possible, mais egalement d'editer le signal sonore a la main pour interpreter soi-meme ou guider le logiciel dans son analyse. Le logiciel est toutefois inacheve : il ne fonctionne que pour MO5, car c'est pour cette machine que j'en ai le plus besoin, il y a quelques bugs et certaines options ne sont pas implementees. Cote materiel j'ai une platine cassette sur laquelle je peux regler le pitch et les filtres, et une carte son externe a 96KHz/24 bits.

Mais tout cela m'a ete bien utile quelques fois, je pense notamment a une cassette de Pulsar tout a fait fascinante, car elle etait demagnetisee a l'endroit precis ou son precedent utilisateur avait oublie de la rembobiner ... quand on dit qu'il faut rembobiner, c'est pas pour rien.

C'est assez amusant de voir le signal s'attenuer toujours au meme endroit (je me suis amuse a reecrire la cassette avec plusieurs niveaux de frequence pour voir son comportement). En enregistrant un signal a frequence fixe sur toute la bande, on peut analyser son etat physique, ca fait une sorte de carte des zones defectueuse, c'est rigolo.

J'ai eu l'idee de monter ce systeme quand nous avons du commencer a recuperer des cassettes de toutes provenances en volume important au musee Bolo.

Enfin... je radote.

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Jan 2010, 14:58 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Fool-DupleX a écrit:
Enfin... je radote.

Moi aussi, mais c'est toujours bon de se rappeler les souvenirs de jeunesse. L'histoire est un éternel recommencement : ce que nous faisions il y a quinze ou vingt ans revient à la mode, et les mêmes problèmes sont posés. Nous n'avons pas été très bons pour transmettre nos connaissances.

Le coup du cabestan resté appuyé sur la bande, je l'ai eu bien souvent. C'est au moins une vingtaine de bits illisibles à chaque fois. Heureusement les cassettes MO5 sont souvent enregistrées sur les deux faces, les défauts sont très rarement au même octet. En copiant un dixième de seconde de la face B on peut réparer le dixième de seconde défectueux de la face A.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 08 Mar 2010, 12:05 
Hors ligne

Inscription: 28 Jan 2007, 14:00
Messages: 33
Merci pour ces explications.

Tout cela est très hautement fascinant, pour moi.
Je me rappelle avoir lu des explications sur la protection infogrames.
Je crois que c'est un des articles les plus intéressants que j'ai lu.

Je mets les liens, si ca peut intéresser quelqu'un... au pire, ca me servira à retrouver ces informations.

Protection des jeux sur cassettes MO5:
http://regards.sur.sciences.free.fr/his ... ssette.htm

Etude de la protection de Vampire:
http://www.i-services.net/membres/forum ... jet=697387
(quel dommage que Daniel n'a jamais rédigé la suite !)

Interview de William Hennebois:
http://www.logicielsmoto.com/int_whennebois.php


Forums:
http://www.silicium.org/forum/viewtopic.php?t=3448

http://www.i-services.net/membres/forum ... jet=682480

Structure des fichiers sur cassette:
http://www.i-services.net/membres/forum ... 1147&pgi=0

Je vais me relire ces pages. Si tu as des commentaires sur la protection de "3d fight", je serais heureux de te lire !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 09 Mar 2010, 19:07 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour la petite histoire :
Les textes sur la protection des cassettes MO5 ont été publiés au départ dans la section Thomson du forum Silicium. Les membres du forum ont odieusement trollé tous mes posts, avec leur humour de cour de récréation de petite section de maternelle. J'étais tellement excédé que j'ai quitté ce forum en claquant violemment la porte. C'est pourquoi le feuilleton est resté inachevé.
Il a été en grande partie sauvé par le webmaster de regards-sur-la science, à qui j'ai donné l'autorisation de le publier. Je ne crois pas avoir décrit le cryptage de 3DFight car je le gardais pour la fin. C'est le mieux protégé de tous les jeux MO5. Plusieurs semaines de travail acharné ont été nécessaires pour en venir à bout. Mais quelle satisfaction quand on a enfin trouvé la clé :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 09 Mar 2010, 19:44 
Hors ligne

Inscription: 28 Jan 2007, 14:00
Messages: 33
Oui, c'est ce que j'ai compris après avoir lu le post sur silicium.

Toutes ces informations m'ont tellement intéressées, que je suis en train d'étudier la structure des fichiers .K7


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: k7towav (pour k7 to)
MessagePosté: 10 Mar 2010, 22:10 
Hors ligne

Inscription: 30 Aoû 2006, 20:05
Messages: 13
Localisation: Paris (France)
Samuel Devulder a écrit:
Je reproduis ici le code du script qui peut reservir à certains. Le code n'est pas super complexe, sauf que pour le faire marcher dans MESS il a fallu coder une machine a état lisant les blocs logiques sur K7 et introduisant des silences ainsi que des ammorces à 6.3khz aux bons endroits. Sans ces infos là, MESS ne veut pas charger le WAV. Je ne sais pas si la docu du format des K7 TO est dispo (pour les MO elle existe sur le forum dcmoto). Mais il y a des trucs auxquels je ne m'attendais pas comme la séquence ff .. ff 01 3c entre les blocs.


Bonjour.
Désolé pour la réponse tardive.
MESS essaye d'émuler la machine au plus proche. Il prend donc des fichiers WAV. La compatibilité actuelle des cassettes Thomson n'est pas très bonne. L'implémentation est très perfectible. En particulier, le hardware qui démodule le signal en 0 et 1 est émulé par un simple compteur de fronts, sans filtrage ou normalisation (le signal d'entrée doit donc être très propre).
MESS accepte aussi le format K7. En interne, un fichier K7 est transformé en PCM (WAV) à la volée, avec une méthode similaire à la tienne, en particulier le décodage des blocs logiques (BASIC ou autres) afin d'insérer les blancs (suites de 1) de resynchronisation, nécessaires sur la vraie machine (et sous MESS) mais absents des fichiers K7. Ce signal reconstitué passe ensuite par le même canal qu'un fichier WAV. Comme ce signal est par construction très propre, la démodulation se passe bien. C'est plutôt du côté de l'heuristique d'insersion des blancs que ça coince souvent. La taille des blancs et certains formats non-standards de blocs ont été trouvés par tâtonnement.
Le code ainsi que le peu de ce que je sais des formats cassettes sont dans src/mess/formats/thom_cas.c . En théorie, ce code peut servir de base à une conversion K7 -> WAV. Toutefois je ne doute pas que les outils de Daniel sont plus avancés.

Pour le MO5, la mécanisme est similaire. Toutefois, la conversion K5/K7 vers signal se passe généralement beaucoup moins bien, à cause du plus grand nombre de blocs non-standards et, surtout, de nombreux programmes patchés pour contourner les protections, en utilisant souvent des trappes logicielles (opcodes 6809 invalides traités spécialement par l'émulateur). MESS n'émule pas ces trappes. Par contre, les fichies WAV marchent souvent bien mieux. Ils n'ont pas le problème de démodulation du TO7, et les protections passent bien sans besoin de contournement puisque le MO5 croit voir le signal de la cassette originale (par exemple, 3D Fight marche).
L'émulation à partir de WAV est plus fidèle, mais on y perd en compréhension des mécanismes de chargement et de protection (Daniel est donc le seul à connaître les secrets de 3D Fight)!

-
Antoine


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: k7towav (pour k7 to)
MessagePosté: 10 Mar 2010, 22:49 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Antoine a écrit:
Désolé pour la réponse tardive.


Pas de soucis.

Juste une remarque: un truc qui m'a manqué dans MESS pendant le chargement des WAV est d'entendre le son en parallèle comme sur la vraie machine :)

Sans compter que certains soft dont les WAV sont dispo ont une piste audio à coté de la piste digitale, et que ca serait marrant d'entendre cela dans un emul. Mais si je comprends bien, c'est pas facile à mettre en oeuvre du fait des limites des démodulateurs 4.5 et 6.3khz.


Citation:
Le code ainsi que le peu de ce que je sais des formats cassettes sont dans src/mess/formats/thom_cas.c . En théorie, ce code peut servir de base à une conversion K7 -> WAV. Toutefois je ne doute pas que les outils de Daniel sont plus avancés.


Heu.. j'ai pas trouvé les sources des drivers THOMSON sur ton site, est-ce que parce que j'ai mal regardé ? Ah oui ok.. Elles sont fournies dans les sources de MESS lui-même.. héhé.. Je vais devoir changer de lunettes ou être plus attentif dans la lecture :)

sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 11 Mar 2010, 08:27 
Hors ligne

Inscription: 28 Jan 2007, 14:00
Messages: 33
Complétement d'accord.

Entendre le doux son de la bande en même temps que le chargement, ca rajoute un plus indéniable à l'immersion.

Par exemple, SAINT, l'émulateur atari ST spécial démo, a une option pour entre le lecteur de disquette. On se croirait devant un vrai atari avec cet émulateur. C'est clairement quelque chose qui manque aux autres émulateurs.
http://leonard.oxg.free.fr/SainT/saint.html

Et quand on a été bercé à la mélodie des MO[56], c'est quelque chose qu'on aimerait retrouver.
Vu que, comme je l'ai dit plus haut, je vais me pencher sur le format k7/wav, je vais regarder MESS de plus près, peut-être que je pourrais donner un coup de main.

Edit : Bon d'après les sources, il y a bien une option pour entendre le son de la cassette, mais ce n'est pas encore implémenté. Enfin c'est ce que j'ai cru comprendre compris, et je suis tout, sauf un expert en C...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 12 Mar 2010, 08:51 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour info : à la page programme du site dcmoto, les fichiers .k7 des programmes MO5 protégés ont été modifiés, comme l'a dit Antoine, pour permettre leur lecture dans l'émulateur. Certains avaient une routine spéciale de lecture de cassette intégrée au programme, elle a été remplacée par une instruction invalide permettant à l'émulateur de lire les données.

Je suis conscient de l'impossibilité de reconstituer la cassette originale à partir de ces fichiers .k7. J'ai donc ajouté un fichier .wav pour permettre de lire le programme avec un vrai MO5, ou avec les modules Mess d'Antoine. Ce fichier .wav a été "resynthétisé" à partir de l'original, il est donc très propre.

Autre info : suite aux discussions sur les conversions wav->k7 et k7->wav du TO7, j'ai commencé à reprogrammer mes vieux utilitaires DOS dans Windows, et j'espère pouvoir les diffuser dans quelques semaines ou quelques mois. Contrairement à ce que j'avais dit, certains programmes TO7 sur cassette sont protégés par une structure de bloc non standard. Ces protections sont moins sophistiquées que celles du MO5, car le décodage "hard" effectué par le lecteur de cassette TO ne peut pas être contourné. Elles empêchent seulement de copier la cassette avec les fonctions standard du système.

Contrairement aux autres convertisseurs, mes utilitaires ne se contentent pas d'un décodage physique. Ils analysent la logique des blocs et des fichiers, contrôlent leur validité et leurs checksums. Ils doivent donc connaître l'ensemble des formats existants, y compris toutes les protections "diaboliques" de Loriciels et d'Infogrames.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 15 Mar 2010, 09:40 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Pour ceux à qui cela manque, je rappelle que Emul5 en mode "truek7" (commande du meme nom sur la ligne de commande de l'emu) permet d'entendre le son K7 (seulement sous DOS/Win9x sauf erreur), y compris avec des fichiers .k7 non wav. Emul5 est d'ailleurs accompagne d'un outil pour convertir les .k5/.k7 en .wav et regenerer les k7.

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 15 Mar 2010, 12:06 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Fool-DupleX a écrit:
Emul5 est d'ailleurs accompagne d'un outil pour convertir les .k5/.k7 en .wav et regenerer les k7.

K7 au format TO ou MO? C'est assez ambigu ce nom de format K7 quand on parle du MO. Je trouve le K5 plus clair pour ma part.

sam (K6 pour le PC par contre :) )


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 26 Avr 2010, 20:30 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour remplacer mes anciens outils DOS un peu vieillots, j'ai mis en téléchargement sur le site http://dcmoto.free.fr deux nouveaux utilitaires pour transformer les fichiers .k7 en .wav :
- dctok7 2010.04
- dcmok7 2010.04

Egalement un utilitaire de traitement des images de disquettes Thomson au format .fd :
- dcfdutil 2010.04


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 15 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 35 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com