Questions cassettes !
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 2363
- Inscription : 06 avr. 2009 12:07
Re: Questions cassettes !
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.
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.
Re: Questions cassettes !
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
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.
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
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
-
- Messages : 7983
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Questions cassettes !
Je crois que c'est là que DCMoto patche le moniteur pour émuler l'accès aux K7.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 "???"
En fait on s'y fait à la syntaxe. Je ne code plus (puls? ) 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.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.
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Questions cassettes !
Exactement. Quelques fonctions sont détournées grâce à des codes opération invalides. En voici la liste :__sam__ a écrit :Je crois que c'est là que DCMoto patche le moniteur pour émuler l'accès aux K7.
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
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.
L'obstacle augmente mon ardeur.
Re: Questions cassettes !
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
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