Revenir à Développement

Bug dans WinUAE avec le Copper ? Help pour vérifier

Forums AmigaOS, MorphOS et AROS Développement Bug dans WinUAE avec le Copper ? Help pour vérifier

7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #290869
    Yragael
    Participant
    • Messages : 16

    Hello,

    Il se pourrait que je sois tombé sur un bogue dans la manière dont WinUAE gère l’instruction SKIP du Copper, mais j’aurais besoin d’aide pour le vérifier. En effet, ce bogue me semble se manifester dans un petit programme que je code dans ASM-One sur un A500 émulé avec WinUAE, et je n’ai pas de possibilité de tester sur un vrai A500. Si donc quelqu’un pouvait vérifier que le bogue décrit ci-dessous survient pour savoir si c’est bien un problème de WinUAE ?

    Le fichier ci-joint est l’effet sur lequel je travaille. Il se compile dans ASM-One sans nécessiter de fichiers externes. Son objectif est de produire un écran au Copper à l’aide de successions de MOVE sur COLOR00.

    L’image ci-jointe permet de visualiser le bogue qui survient à une position verticale suspecte : 127. Cela me fait penser qu’il pourrait y avoir un bogue dans la manière dont WinUAE gère la position verticale dans une instruction SKIP du Copper.

    Quelqu’un peut-il compiler ce programme sur un vrai A500 et me dire s’il observe le même problème ? Je saurai alors que cela vient ou non de WinUAE. S’il y a un bogue dans mon code, je ne l’ai pas encore trouvé.

    Merci d’avance.

    Attachments:
    1. skipbug.png
    #290871
    Yragael
    Participant
    • Messages : 16

    Ah, comme le forum ne prend pas les fichiers .S en pièce jointe, vous pouvez récupérer le code du programme ici :

    http://www.stashofcode.fr/code/skipbug.s

    #290888
    Anonyme
    • Messages : 448

    Le bug est aussi présent sur une vraie machine.

    #290889
    __sam__
    Participant
    • Messages : 2215

    Donc c’est pas un bug, mais une feature 🙂

    Samuel.

    Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne
    A1200 (Blizzard-IV/fpu/64Mo) - A500 (+ 1Mo PPS) - A500 Vampire V2+ ^8^
    (mais aussi TO8 - TO8D - TO9. Groupe PULS.)
    Pub >>Teo 1.8.4<<

    #290896
    Sodapop
    Participant
    • Messages : 780

    J’ai pas décortiqué le code, mais si ça arrive à la position verticale 127, y a peut-être un mic-mac avec la manipulation d’un octet / mot / mot long…

    A500 (1.3 / 2.0 / ACA500+) - A2000 - A1200

    #290905
    Yragael
    Participant
    • Messages : 16

    Un grand merci pour la vérification. Je vais chercher ce qui cloche dans mon code. La documentation décrit bien (longuement) une limitation de l’usage de l’instruction SKIP, mais c’est quand on s’appuie sur la possibilité de masquer des bits de la position verticale. Or ce n’est pas le cas dans mon code. Bon, quelques heures de casse-tête en perspective 🙂

    #290909
    Yragael
    Participant
    • Messages : 16

    Ok trouvé. Je tente de masquer la position verticale dans un WAIT pour que le WAIT se résume à attendre une position horizontale. Or le bit 7 de cette dernière ne peut être  masqué dans un WAIT. Quand la position verticale atteint 128, son bit 7 est à 1 et le WAIT n’attend plus, si bien que tout part en sucette.

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.

Forums AmigaOS, MorphOS et AROS Développement Bug dans WinUAE avec le Copper ? Help pour vérifier

Do NOT follow this link or you will be banned from the site!