Closed bhrousseau closed 3 years ago
Merci pour ces corrections, je vais les prendre en compte. Vous pouvez aussi proposer une pull request si vous le souhaitez.
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 .
Je veux bien que tu fasses un ticket différent pour cet autre problème, merci !
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 + NLe 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 + NCordialement, Benoit Rousseau.