Zlika / theodore

Libretro core for Thomson MO/TO emulation / Core Libretro pour l'émulation des ordinateurs Thomson MO/TO.
GNU General Public License v3.0
16 stars 24 forks source link

wrong CMPX cycle count (INDIRECT) #31

Closed bhrousseau closed 3 years ago

bhrousseau commented 3 years ago

Bonjour,

Dans le fichier 6809cpu.c il y a une erreur concernant le nombre de cycles de l'instruction suivante : case 0xac: INDIRECT; Cmpw(&X, GETW(W)); return 4 + N; /* CMPX IX */ le return devrait être 6 + N

Le bug a été corrigé en début d'année sur DCMOTO https://forum.system-cfg.com/viewtopic.php?f=24&p=175131

idem pour : case 0xad: INDIRECT; Pshs(0x80); PC = W; return 5 + N; /* JSR IX */ le return devrait être à 7 + N

Cordialement, Benoit Rousseau.

Zlika commented 3 years ago

Merci pour ces corrections, je vais les prendre en compte. Vous pouvez aussi proposer une pull request si vous le souhaitez.

bhrousseau commented 3 years ago

Merci, je n'ai pas pensé au pull request ... une prochaine fois.

Sinon j'ai une autre demande de correction, je ne sais pas si tu veux que j'ouvre un autre ticket ... dis moi je le ferai. Il s'agit d'un problème de timer.

Voici le fil de discussion de la correction du problème équivalent sous dcmoto : https://forum.system-cfg.com/viewtopic.php?t=5519&start=15

en fait quand on positionne le timer avec un IRQ, le délai n'est pas respecté. de ce fait si on utilise ce timer pour des effets raster ... ça ne fonctionne pas et les lignes défilent.

Tu trouveras en pj un fd de test que sam avait fait à l'époque : Il positionne le timer à 6413µs, ce qui correspond exactement à 13 lignes d'écran. Or 13 est un diviseur exact des 312 lignes verticales. Du coup on doit voir des barres colorées stables sur le tour, et entendre une note à 601Hz (= 1000000/(264*13))

=> or sous theodore les lignes défilent

J'ai aussi des programmes perso qui ont ce problème si besoin mais le code de sam doit être plus simple à suivre sous le debugger.

Cordialement, Benoit Rousseau.

Le mar. 14 sept. 2021 à 20:29, Thomas Lorblanchès @.***> a écrit :

Merci pour ces corrections, je vais les prendre en compte. Vous pouvez aussi proposer une pull request si vous le souhaitez.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Zlika/theodore/issues/31#issuecomment-919410015, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANROXGME7COLNJLPILBIOBTUB6IBPANCNFSM5EAQKCDA .

Zlika commented 3 years ago

Je veux bien que tu fasses un ticket différent pour cet autre problème, merci !