Logicielsmoto.com

Nous sommes le 19 Mar 2024, 04:04

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 26 messages ]  Aller à la page Précédente  1, 2
Auteur Message
MessagePosté: 09 Oct 2022, 21:15 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Merci beaucop Daniel

Quelle réactivité et quelle efficacité! A croire que tu as des clones LOL

Je téléchargemrai cette dernière version.

Quant à l'autre bug signalé (pour ce qui est du rafraichissement des fichiers) je verrai à l'usage.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 13 Oct 2022, 10:55 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Bonjour Daniel

J'ai repéré un autre bug qui n'existait pas dans la version de 2018. C'est dans la copie de texte avec "simuler le clavier".

Lors du développement de Demineur Xtreme, j'utiise bcp cette fonction là en recopiant du basic vers le basic 512 via "simuler le clavier". Il semble que dans les nouvelles versions, lors de la copie, certains caractères de copies peuvent être tronqués. Ce qui aboutit parfois à des choses étranges (comme le "G" d'un gosub qui disparait dans la copie...)

Je mets en pièce jointe un exemple Basic pour lequel l'erreur se produit. A tester avec la dernière version de DC Moto et avec une de 2018. Avec celle de 2018, on doit avoir une question demandant le pseudo, mais pas avec la versiobn de 2022.

PS : je n'ai pas vu la dernière correction de DC Moto concernant le problème avec la cartouche...mais peut-être vaut-il mieux attendre...


Fichiers joints:
_Test_DCMOTO.zip [4.17 Kio]
Téléchargé 358 fois
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 13 Oct 2022, 14:36 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Dans la description des bugs il faut être précis, en particulier indiquer la version de dcmoto concernée.
Un bug de simulation du clavier en mode TO8 a été effectivement détecté en version 2022.06.15
Il a été corrigé en version 2022.09.05, comme indiqué dans les notes de version :
Fichier(s) joint(s):
dcmoto.png
dcmoto.png [ 6.01 Kio | Vu 8969 fois ]

Il est toujours préférable de tester les bugs avec la dernière version de développement, elle seule est à jour et elle seule évolue.
Les versions anciennes ne sont jamais modifiées.
Les "Notes de versions" indiquent toutes les nouveautés et toutes les corrections effectuées.

Notez que la vitesse de correction des bugs est en net progrès :
- Le précédent était corrigé 3 heures après avoir été constaté.
- Celui-ci a été corrigé un mois avant d'être signalé.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 13:19 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Daniel Coulom a écrit:
Dans la description des bugs il faut être précis, en particulier indiquer la version de dcmoto concernée.
Un bug de simulation du clavier en mode TO8 a été effectivement détecté en version 2022.06.15
Il a été corrigé en version 2022.09.05, comme indiqué dans les notes de version :
Fichier(s) joint(s):
dcmoto.png

Il est toujours préférable de tester les bugs avec la dernière version de développement, elle seule est à jour et elle seule évolue.
Les versions anciennes ne sont jamais modifiées.
Les "Notes de versions" indiquent toutes les nouveautés et toutes les corrections effectuées.

Notez que la vitesse de correction des bugs est en net progrès :
- Le précédent était corrigé 3 heures après avoir été constaté.
- Celui-ci a été corrigé un mois avant d'être signalé.


Bonjour Daniel,
Merci pour l'ironie mais si j'ai référencé ce bug en octobre c'est bien qu'il y avait une raison encore une fois... J'ai beau chercher PARTOUT sur le site DCMoto, la dernière version téléchargeable est celle du 2022-06-15 (et j'ai bien cliqué sur le bouton "télécharger" qui me propose en nom de fichier "dcmoto_20220615.zip", je ne suis pas stupide quand même.... Voir cette page et celle-ci)

Et j'en profite aussi pour signaler un autre bug de cette version du 2022-06-15 (ne trouvant pas accès à la version de septembre 2022, je ne peux qu'indiquer celle de juin 2022)

Si on exécute ce code basic quelle que soit le basic utilisé
Code:
10 cls:line (2,2)-(7,7)"*":line -(12,2)"*"


Et celui là
Code:
10 cls:line (2,2)-(7,7)"*":line (7,7)-(12,2)"*"


On est sensé avoir la même chose à l'écran et pourtant il y a un décalage du point de départ de la 2ème ligne du premier code (qui est pourtant sensé être en (7,7) et pas en (8,7).

Je retrouve ce même bug avec le pointeur de tortue, je pense...

Dans mon jeu "Démineur Xtreme", le 2ème pointeur de souris qui est sensé dessiner les contours d'un "+", en vérité, le dessine avec des coins arrondis avec cette descripton

Code:
10 pmouse$(1)="R0U1L64U1R64D4R64D2R64D4L64D4R64D2R64D4L64D4R64D2R64D4L64D4R64D2R64D4"
20 cls:turtle 0 ,20,20,pmouse$(1):show1


Normalement, quand on fait un "R64D4" c'est sensé repartir du dernier point de la tortue avant le tracé, hos ce n'est pas le cas, ça décale celui ci. Est ce normal ?


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 14:04 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 432
Localisation: Var
En dessous du bouton download il y a des captures d’écran … et juste après un texte qu’il faut prendre le temps de lire …


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 15:11 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1800
Localisation: Brest
Non tu n'es pas stupide, mais tu sautes aux mauvaises conclusions trop vite sans méthode pour discerner un bug d'une caractéristique (ou feature chez les englische).

Tu es trop impulsif et ne lis pas tout ce qui est marqué comme te le fait remarquer Bentoc. Voici une capture de la page de téléchargement de DCMoto:
Fichier(s) joint(s):
Image1.png
Image1.png [ 34.24 Kio | Vu 8791 fois ]
On trouve donc parfaitement la version de developpement.
Citation:
Si on exécute ce code basic quelle que soit le basic utilisé (...) On est sensé avoir la même chose à l'écran et pourtant il y a un décalage du point de départ de la 2ème ligne du premier code
Avec TEO j'obtiens:
Fichier(s) joint(s):
Image2.png
Image2.png [ 11.1 Kio | Vu 8791 fois ]
==> Ce problème ne vient pas de l'émulateur, comme déjà dit plusieurs fois.

D'ailleurs est-tu certain que ce soit un problème et pas une caractéristique (feature) du dessin de ligne en mode caractère comme suggéré par Pulko ?

En effet le manuel technique indique une bizarrerie dans les routines PLOT et DRAW en mode caractères: Les abscisses démarrent à 1, au lieu de 0 en mode pixel. Du coup la routine qui convertie les coordonnées du dernier pixel/caractère affiché, ajoute 1 au registre PLOTX en sortie pour être compatible avec sa spec. Tu peux vérifier cela sur tous les TO avec le code basic de test suivant:
Code:
10 CLS
20 X=INT(40*RND)
30 PSET(X,10)"*"
40 LOCATE 0,0
50 ? "PLOTX ="; PEEK(&H603D)*256+PEEK(&H603E); "ALORS QU'ON AFFICHE EN X =";X
60 ?"PRESS A KEY..";
70 A$=INPUT$(1): GOTO 10
Du coup la routine DRAW qui repart de la valeur de PLOTX issu du dernier tracé de ligne, redémarre la ligne avec un décalage de 1. Ceci ne se produit pas quand tu donne le point de départ car c'est toi qui mets la bonne valeur (sans le +1) dans PLOTX.

Bref, ce truc est tout à fait logique et est une conséquence des abscisses caractères débutant en 1.

Bon je pense que tu as assez d'éléments pour comprendre que ceci n'est pas un bug, mais une conséquence, une feature, des coordonnées "caractères" vs les coordonnées "pixel".
Citation:
Dans mon jeu "Démineur Xtreme", le 2ème pointeur de souris qui est sensé dessiner les contours d'un "+", en vérité, le dessine avec des coins arrondis avec cette descripton

Code:
10 pmouse$(1)="R0U1L64U1R64D4R64D2R64D4L64D4R64D2R64D4L64D4R64D2R64D4L64D4R64D2R64D4"
20 cls:turtle 0 ,20,20,pmouse$(1):show1

Normalement, quand on fait un "R64D4" c'est sensé repartir du dernier point de la tortue avant le tracé, hos ce n'est pas le cas, ça décale celui ci. Est ce normal ?
Même croix "arrondie" sous TEO.

Le problème, si problème il y a ne vient pas de l'émulateur encore une fois, mais du fais que tu oublies que le dessin des tortues se fait en XOR. Résultat des courses, le point commun à deux lignes consécutives est dessiné deux fois (une fois pour la première linge arrivant sur lui, et une autre fois avec la ligne partant de lui). Or en mode XOR, afficher 2 fois revient à ne rien faire. Résultat: aucun pixel des extrémités de ligne intermédiaires n'est dessiné par défaut.

Citation:
Je retrouve ce même bug avec le pointeur de tortue, je pense...
Ben non, ca n'est pas le même bug. Le 1er est un bug dans le MONITEUR (puisque indépendant du basic). Le 2e est que tu n'a pas compris le fonctionnement XOR du tracé des tortues.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 17:16 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Samuel, je me sers principalement du "Guide du TO8" pour le Basic et malheureusement, ils n'indique pas ce "bug" pour les BOX et LINE en mode caractères. Ils disent que c'est sensé partir du dernier point tracé (mais ils ne précisent pas qu'il y a ce décalage en mode caractère).

Pour moi c'est clairement un Bug par rapport à la fonctionnalité décrite. Pourquoi démarrer l'abcise à 1 ?

Pour la tortue c'est pareil, ya un exemple dans le guide p76 pour retracer la tortue ressemblant grossièrement à un limule (c'est un chélicérate). Et dans la chane de caracère de ce tracé, il n'y a aucun U.

Bon bref j'ai tenu compte de ça et le nouveau pointeur en forme de croix de Démineur Xtreme ressemble vraiment à une croix anguleuse cette fois (et ya quelque jour j'ai corrigé la boite de dialogue pour que le tracé du cadre ne débirde plus avec le color clash)

Je trouve que les forum c'est hyper galère, on est obligé d'être en alerte, tout le temps, c'est pas aussi valable que si on était en interraction en direct avec un groupe (mais là aussi yaurai de sproblèmes puisque ça demanderait un échange à la fois à un instant t)... Les réponses sont éparpillées un peu partout, il n'y a aucun site internet où l'ensemble des truc concrennat l'assembleur le basic et les routnes du moniteur et extra moniteurs sont centralisés. Je sais que ça demanderait du taf. Mais un tel outil serait vraiment précieux pour toute la communauté sur un site web avec des rubriques etc...

Tu vois par Exemple, PULS a des tas de routines assembleur qui seraient intéressant pour tous les développeurs (je parlent de routines génériques pouvant êre utilisés, comme dans la démo "space project" ou alors les routines pour afficher des sprites en transparence en bm16 (widepixel) etc.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 18:08 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1800
Localisation: Brest
Citation:
Pour moi c'est clairement un Bug par rapport à la fonctionnalité décrite. Pourquoi démarrer l'abcise à 1 ?
à cause du code d'échappement de PUTC pour positionner le curseur en X. C'est là aussi des coordonnées entre 1 et 40 et pas 0,39.

Citation:
Pour la tortue c'est pareil, ya un exemple dans le guide p76 pour retracer la tortue ressemblant grossièrement à un limule (c'est un chélicérate). Et dans la chaine de caractère de ce tracé, il n'y a aucun U.
Si on repasse un nombre impair de fois surf un point il ne sera pas effacé. On peut aussi se décaler d'un pixel pour passer en diagonale entre deux pixels adjacents (eux aussi en diagonale). Il y a plein de possibilités autres que de lever le crayon. Il faut parfois beaucoup réfléchir.

J'ai donné dans un de mes messages ici (ne me demande pas lequel, peut-être à l'occasion de démineur extrême), le code Turtle pour faire un gros pointeur souris type Macintosh. J'avais galéré à l'époque pour la dessiner comme il faut à cause de ce XOR. Il faut parfois déborder et repasser dessus pour éviter le soucis du XOR. Il faut aussi s'arranger pour que la chaine ne soit pas trop longue, ou sinon le sprite flashouille.

Je souviens aussi avoir fait une Turtle de type "supercopter" pour faire un jeu. Pareil, grosse galère à dessiner, mais mon "sprite" pouvait zoomer et tourner au final. J'étais fier malgré des débuts difficiles. Les turtle sont difficiles à dompter, mais on fini par y arriver avec du temps.

Citation:
Je trouve que les forum c'est hyper galère, on est obligé d'être en alerte, tout le temps, c'est pas aussi valable que si on était en interraction en direct avec un groupe (mais là aussi yaurai de sproblèmes puisque ça demanderait un échange à la fois à un instant t)... Les réponses sont éparpillées un peu partout, il n'y a aucun site internet où l'ensemble des truc concrennat l'assembleur le basic et les routnes du moniteur et extra moniteurs sont centralisés. Je sais que ça demanderait du taf. Mais un tel outil serait vraiment précieux pour toute la communauté sur un site web avec des rubriques etc...
Comment faisait-on du thomson à une époque où internet n'existait pas ? :p

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 20 Déc 2022, 20:57 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour aider Neotenien et lui permettre de mieux résoudre les problèmes qu'il rencontre, il y a trois conseils importants :

1) Ne jamais faire confiance aux émulateurs. Mess, Teo, dcmoto et tous les autres ont des bugs. Le test des programmes avec la vraie machine est obligatoire.

2) Il y a un bug dans un émulateur si et seulement si le comportement de l'émulateur est différent de celui de la vraie machine.

3) En signalant le bug il faut donner un moyen simple de le reproduire. Mieux le bug est décrit, plus vite il est corrigé. Pour dcmoto le délai de correction varie de quelques minutes à quelques heures, exceptionnellement un peu plus si je suis en déplacement, mais c'est très rare. Seule la dernière version de développement est corrigée, il est donc inutile de signaler des bugs concernant les versions précédentes.


Une remarque concernant le tracé de lignes en mode caractère : Le résultat est effectivement un peu déroutant, mais on peut constater que tous les BASICs de toutes les machines ont le même comportement : Basic 1.0, Basic 128, Basic 512, Basic DOS simple ou double densité, Basic QDOS, et ceci pour les MO comme pour les TO, quel que soit le moniteur système depuis le T900 jusqu'au TO9+ en passant par les MO5E, MO5N, MO5NR, MO6 et j'en passe. Autant de combinaisons de Basic et de moniteurs différents avec le même bug, c'est fort improbable. Donc c'est voulu : après l'affichage d'un caractère le curseur est positionné à la colonne suivante.

On peut reprocher à la documentation de ne pas mentionner explicitement cette particularité, mais ce n'est pas un bug pour autant.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Déc 2022, 08:37 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Je répond à Samuel et Daniel en même temps (et je précise que je me prénomme Bruno LOL)
  • Pour les versions de Basic que tu cites Daniel, je n'ai pas vu pour QBasic, mais j'ai regardé la doc des basic des autres micro 8 bits, et en fait, ces basic là sont beaucoup moins avancés que ceux du Thomson (pas de BOX, pas de LINE...), pour le C64 il faut attendre au moins la version 3.5 du Basic sur C64 pour avoir un box graphique (sans caractère mais avec inclinaison possible!). Et je me souviens quand j'ai fait mes études au CNAM avec Michel Lalos, quand je lui ai parlé du Basic des Thomson, il a dit que c'était un super Basic!
  • Pour la reproduction des bugs Vu que mon TO8 est en panne (même si j'ai encore mon MO5 fonctionnel), c'est un peu compliqué de reproduire les bugs, et c'est quand même nettement plus rapide de reproduire via DCMoto avec un copier coller... Et ton émulateur est vraiment top Daniel. Je pense avoir testé pas mal de trucs déjà et j'ai raporté les quelques rares bugs trouvés (celui du crayon optique, de la copie de texte avec la version de juin 2022, celui de la cartouche Assembleur v3.0, celle du 6309). Si les ROM sont des copies conformes des machines je pense qu'on peut faire confiance à DC Moto (en tous cas c'est un émulateurs qui me permet de créer rapidement des logiciels par des copier/coller). Je me demande, par contre quand valides tu une version officielle de DC Moto ? Le bug avec la copie de code en était un d'important et j'avoure qu'avant avoir trouvé la version "beta" de décembre 2022, je ne pouvais utiliser que la version de 2018. La version de décembre 2022 m'a l'air de bien fonctionner à présent...
  • Pour le dessin de la tortue, comme je disais, j'ai tenu compte des remarques de Samuel et voilà donc le résultat
    Fichier(s) joint(s):
    Screenshot_20221221_082031.png
    Screenshot_20221221_082031.png [ 9.06 Kio | Vu 8772 fois ]
    . J'ai modifié la chaine de caractère en ajoutant des "U1" (pour ne pas dessiner) et diminuant la taille des "Dn". Les "UP" sont une solution Samuel pour éviter le XOR (le shérif de l'espace :D )
    Code:
    pmouse$(1)="L0D2R64U1L0D1R64U1L0D2L64U1L0D2R64U1L0D1R64U1L0D2L64U1L0D2R64U1L0D1R64U1L0D2L64U1L0D2R64U1L0D1R64U1L0D2"

    Je craignais que la chaine ne soit trop longue aussi (limité à 255 caratères je crois ?).
  • Pour le PUTC, je ne sais pas si ça vient vraiment de là, j'ai tenté de modifier le code avec "LINE-()" en précédant par "?CHR$(8);" ou "LOCATE POS-1" mais ça ne change rien au résultat. Je sais que PUTC n'est pas directement lié à PRINT du Basic mais bon...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Déc 2022, 09:12 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1800
Localisation: Brest
Citation:
Pour le PUTC, je ne sais pas si ça vient vraiment de là, j'ai tenté de modifier le code avec "LINE-()" en précédant par "?CHR$(8);" ou "LOCATE POS-1" mais ça ne change rien au résultat.
Bien évidemment! Je l'ai expliqué plus haut.

Ca n'a aucun lien direct avec la position du curseur. Tout le problème réside dans les coordonnées des routines en mode caractères. Cela laisse le registre PLOTX avec un +1 à la sortie du DRAW (routine ASM appelée depuis le basic), et du coup le DRAW suivant part d'une position +1 à droite. Ce registre est en revanche initialisé avec une bonne valeur si on utilise les coordonnées de départ complètes en basic (LINE(x1,y1)-(x2,y2)"*").

Si tu veux comprendre mets un point d'arrêt en execution sur $E80C (DRAW), et en écriture sur $603E (partie basse de PLOTX). Tu verra ce qu'il se passe avec les deux programmes basic.

Il y a un moment où il faut arrêter les suppositions gratuites et mettre la main dans le cambouis et lire la ROM (ici par exemple).

Il n'y a pas de bug, c'est juste logique et comme ca que ca marche à cause du changement du système de coordonnées entre les modes point et caractères.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 26 messages ]  Aller à la page Précédente  1, 2

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 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 à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com