Questions cassettes !

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Xavier

Re: Questions cassettes !

Message par Xavier »

Merci, page mise à jour et corrigée.
Fool-DupleX
Messages : 2363
Inscription : 06 avr. 2009 12:07

Re: Questions cassettes !

Message par Fool-DupleX »

A mon avis, les infos concernant les TO ne sont pas encore justes. Par ailleurs, la sortie du LEP est aussi TTL sur TO. Je n'ai pas le souvenir d'une amorce avec des $FF. Les bits de start et stop me paraissent bizarres aussi mais je ne suis pas un specialiste.

Sur MO6, il y a un autre codage standard : le même que sur MO5, sauf que la vitesse est double : 2400 bps. On peut choisir l'un ou l'autre sur cette machine.
Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Questions cassettes !

Message par Orion_ »

Je profite de ce topic pour éviter d'en créer un autre.
Je vais bientôt recevoir un MO6 et j'aimerais m'amuser un peu avec, en attendant je m'amuse sur DCMOTO :)
J'ai vu qu'on pouvais sélectionner la vitesse de transfert cassette dans le menu du MO6, mais après avoir fait des tests sur DCMOTO, si j'enregistre un programme en vitesse 1200 ou en vitesse 2400, le fichier .k7 généré est identique, je suppose donc que DCMOTO ne tiens pas compte de la vitesse d'enregistrement.
Comment recréer des fichiers .WAV à la bonne vitesse dans ce cas ?
Autre chose, vu qu'on peu choisir la vitesse d'enregistrement j'ai supposé que l'appel K7CO du moniteur devais surement posséder un paramètre pour sélectionner la vitesse.
Malheureusement je n'ai pas trouvé de documentation des appel moniteur spécifique au MO6, et en essayant de comparer la routine K7CO du moniteur MO5 part rapport à celle du MO6, j'ai bien vu qu'il y a une différence, mais je me heurte assez vite a une instruction assembleur non reconnue par le debuggeur de DCMOTO, en effet il y a dès le début, un appel a la routine en $F415, et là on a l'opcode $11 $F1 suivi de RTS, DCMOTO affiche "???"
me voila bien embêter pour continuer :shock:
Je voulais passer par le moniteur afin de garder quelque chose de propre, mais finalement ce n'est pas si évident !

Autre petite question annexe, je n'ai trouvé qu'un assembleur pour 6809 sur le site de puls, "c6809", mais la syntaxe à respecter est assez bizarre (surtout pour le début, (main)nomfichier.asm) et surtout il n'assemble pas certain code que j'ai trouvé, pourtant écrit par PULS ! par exemple le décompresseur exomizer, je me retrouve avec plein de syntax error :/
vous auriez un autre assembleur ou alors une explication à cela ? Merci d'avance.
Programmation rétro ! Orion_'s website
__sam__
Messages : 7983
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Questions cassettes !

Message par __sam__ »

Orion_ a écrit :(...) en effet il y a dès le début, un appel a la routine en $F415, et là on a l'opcode $11 $F1 suivi de RTS, DCMOTO affiche "???"
Je crois que c'est là que DCMoto patche le moniteur pour émuler l'accès aux K7.
Autre petite question annexe, je n'ai trouvé qu'un assembleur pour 6809 sur le site de puls, "c6809", mais la syntaxe à respecter est assez bizarre (surtout pour le début, (main)nomfichier.asm) et surtout il n'assemble pas certain code que j'ai trouvé, pourtant écrit par PULS ! par exemple le décompresseur exomizer, je me retrouve avec plein de syntax error :/
vous auriez un autre assembleur ou alors une explication à cela ? Merci d'avance.
En fait on s'y fait à la syntaxe. Je ne code plus (puls? :wink: ) qu'avec lui parce que le macro-processing m'est indispensable. Le truc c'est qu'un fichier "*.ass" correspond à plein de fichiers ASM sur thomson. C'est un méta fichier, une sorte d'archive. L'assembleur c6809 va le parser, y découvrir les différents (include)<NOM-fichier> et autre (main)<NOM-fichier> pour générer en sortie les fichiers ASM recompilable sur thomson. Le code ASM est compatible avec l'assembleur v3: http://dcmoto.free.fr/programmes/assemb ... index.html. La doc RTF permet de comprendre la syntaxe.

J'ai mis un peu de temps à me mettre à la logique de cette programmation modulaire coté thomson (plein de fichiers ASM) et un gros fichier unique ASS coté PC. Mais c'est pas mal en fait: coté PC il y a plein de ram et notepad++ sait très bien avoir un source de plusieurs centaines de ko. Coté Thomson la mémoire est par contre très limitée et avoir pleins de petits fichiers de quelques ko est pratique.

Pour les syntax error dans le decompresseur exomizer ca m'étonne. Quelles sont ces erreurs? Tu n'aurais pas oublié d'ajouter (main)main.asm au début du source pour indiquer à c6809 de générer le fichier thomson: main.asm ?

Sinon si le but est de compresser des binaires thomson, j'ai fait un petit utilitaire PC qui fait fait ca tout seul et crée un binaire TO7 exomizerisé qui se décompresse tout seul: http://www.logicielsmoto.com/phpBB/view ... 3983#p3983 (exemple: http://www.logicielsmoto.com/phpBB/view ... 3730#p3730)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Questions cassettes !

Message par Daniel »

__sam__ a écrit :Je crois que c'est là que DCMoto patche le moniteur pour émuler l'accès aux K7.
Exactement. Quelques fonctions sont détournées grâce à des codes opération invalides. En voici la liste :

Code : Tout sélectionner

adresse  patch
0xf34c   0x20,0x76,      //detection vitesse cassette
0xf3c5   0x4f,           //lecture octet cassette
0xf3cd   0x7e,           //LEAS -$02,S
0xf3fd   0x11,0xf0,0x39, //lecture bit cassette
0xf415   0x11,0xf1,0x39, //lecture octet cassette
0xf482   0x11,0xf2,0x39, //ecriture octet cassette
0xf82a   0x11,0xf7,0x39, //coordonnees crayon
0xf9d2   0x11,0xfa,0x39, //interface de communication
0xfce2   0x11,0xf9,0x39, //clic souris
0xfcf7   0x11,0xf8,0x39, //coordonnees souris
Le contenu de la ROM originale du MO6 est ici : http://dcmoto.free.fr/emulateur/rom/mo6-rom.zip

Dans les paramètres du MO6 modifiables à partir de l'écran d'accueil, la sélection du mode 1200 bauds ou 2400 bauds ne concerne que l'écriture. En lecture la routine du moniteur détecte automatiquement le débit par analyse de l'en-tête des blocs.

L'utilitaire dcmok7 ne génère que des cassettes 1200 bauds. J'ai fait ce choix car la fiabilité est meilleure qu'à 2400 bauds, en particulier avec les bandes magnétiques vieillissantes et les courroies de magnétophone détendues. Pour créer une cassette à 2400 bauds il suffit de jouer le fichier .wav deux fois plus vite. Pratiquement tous les bons logiciels audio savent le faire.
http://dcmoto.free.fr/emulateur/prog/dcmok7_201004.zip

Notez que dcmok7 génère uniquement des cassettes au format Thomson standard. Il n'est pas capable de créer des cassettes commerciales protégées contre la copie. Pour reproduire un jeu protégé, il faut utiliser les fichiers .wav disponibles sur le site dcmoto à la section Programmes.

Un fichier .k7 ne contient que les données enregistrées sur la bande, indépendamment du procédé utilisé pour coder l'information. En particulier il ne contient aucune notion de débit.

Une dernière remarque : charger un programme MO6 à partir de la cassette est très pénible, à cause du temps nécessaire (une demi-heure pour un jeu utilisant les 128K de mémoire), et du manque de fiabilité. Plus personne n'utilise ce support aujourd'hui.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Questions cassettes !

Message par Orion_ »

donc pour faire lire a 2400Hz le mo6 il suffit simplement de passer le wav en vitesse x2 ? ok c'est cool alors si c'est aussi simple :)

sinon, c'est bien gentil de ce moquer du support k7 mais a part la SD, c'est assez compliquer de trouver le matériel nécessaire pour un lecteur de disquette mo6 :)
une autre chose qui m’embête c'est le systeme de secteur hardcodé dans la SD, je sais que gerer un systeme de fichier FAT n'est pas simple, surtout pour un systeme 8bits, mais je pense que ça vaudrait le coup d'essayer :) (avec gcc6809 pour simplifier peut être)
Enfin, j'ai quand même hâte de construire mon interface SDMOTO et CS90-280, avec le Basic 128 du mo6 ça devrait passer tout seul :)
Programmation rétro ! Orion_'s website
Répondre