[DCMOTO] Sortilèges

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

Modérateurs : Carl, Papy.G, fneck

__sam__
Messages : 6065
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

[DCMOTO] Sortilèges

Message par __sam__ »

Quand j'utilise sortilèges (TO8D, FD) avec la dernière version beta de DCMOTO j'ai droit à un crash sitôt après avoir choisi l'option "2" dans le menu de selection des jeux.

En fouillant mes archives de téléchargement j'ai pu constater que ca marche avec la version 2020.01.26 et qu'avec la 2020.11.08 ca ne marche plus. Il y a donc un truc changé entre les deux dates qui fait planter le jeu Sortilèges sur diskette.

J'ai essayé de sortir une trace d'execution pour trouver le plantage, mais heuu.. c'est difficile car il y a plein d'appels au basic, à l'extramon, au moniteur. Néanmoins j'ai trouvé un truc suspect ici:

Code : Tout sélectionner

0E10 F762B0     STB    $62B0               D=1000 X=0000 Y=E0F0 U=6262 S=6086 DP=60 CC=D5 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
0E13 7F624A     CLR    $624A               D=1000 X=0000 Y=E0F0 U=6262 S=6086 DP=60 CC=D5 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
0E16 3504       PULS   B                   D=1000 X=0000 Y=E0F0 U=6262 S=6086 DP=60 CC=D4 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
0E18 10DE75     LDS    <$75                D=1040 X=0000 Y=E0F0 U=6262 S=6087 DP=60 CC=D4 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
0E1B C147       CMPB   #$47                D=1040 X=0000 Y=E0F0 U=6262 S=0000 DP=60 CC=D4 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
0E1D 2707       BEQ    $0E26               D=1040 X=0000 Y=E0F0 U=6262 S=0000 DP=60 CC=D9 | Banques: SYST=0 ROM=1 RAM=02 MEMO=0 VIDEO=1
Le registre de pile passe à 0 suite à un LDS <$75 (DP=60), et donc l'adresse $6075 ne contient pas ce que la rom attends. Peut-être que cela traduit une anomalie antérieure dans le flux d'execution, mais ce qui est certain est que déjà là ca part en cacahuète.
Dernière modification par __sam__ le 11 juin 2021 11:00, modifié 2 fois.
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 : 14050
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [DCMOTO] Sortilèges

Message par Daniel »

Bien vu ! Plus précisément le problème est apparu entre les versions 2020.05.03 et 2020.06.04 de dcmoto.
C'est une erreur d'initialisation du bit 0 du registre PCR du 6846 (mis à 0 lors du chargement d'une disquette alors qu'il faut le mettre à 1).
Je ne maîtrise pas encore totalement le 6846, c'est un circuit très complexe.

Le problème des régressions après une modification me préoccupe depuis longtemps (pas seulement pour dcmoto), mais je ne sais pas le résoudre. Avec plus de 1000 programmes Thomson, je vois mal comment les tester tous à chaque fois qu'une instruction de l'émulateur est modifiée. C'est pourquoi le signalement des bugs par les utilisateurs est absolument nécessaire. Merci __sam__ 8)

J'ai mis en ligne la version 2021.06.11, en espérant qu'elle n'ait pas d'autres conséquences négatives : http://dcmoto.free.fr/emulateur/index.html
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 6065
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [DCMOTO] Sortilèges

Message par __sam__ »

Arf on s'est croisé. En plus j'ai corrigé le message je parlais du jeu Vampire qui figure aussi sur la diskette mais alors que je voulais parler de Sortilèges.

Bon je teste.. ca a l'air OK :)

Par rapport à l'automatisation des tests de non regression, n'as tu pas pensé aux solutions types autoit qui permette de rejouer le même scenario sur un programme windows en simulant les appels aux menu, les clicks souris, etc. Nous autres pourrions te soumettre des scripts pour reproduire un bug, et par la suite ces mêmes scripts peuvent servir à approvisionner la batterie de tests de non-regression.

Il existe d'autres outils d'automatisation des tests comme Sikuli que j'ai un peu vu (ce n'est pas mon métier, mais les gars de la qualité chez nous l'ont utilisés un temps dans ma boite pour automatiser les tests de non-regression de certains outils.)
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
Répondre