Corrections / Compléments aux codes du projet

Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -
Number of replies: 8

Afin de trouver plus facilement les corrections / évolutions de versions des codes fournis dans projet (provided), je propose de les regrouper sous ce fil.

Je viens de mettre dans votre provided/ une mise à jour de unit-test-cpu-dispatch.h et de unit-test-cpu-dispatch-week08.c.
Si vous voulez faire le report à la main, seule la modification de unit-test-cpu-dispatch.h est vraiment nécessaire (celle de unit-test-cpu-dispatch-week08.c n'est qu'une petite optimisation sans aucune importance).
In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Deux corrections dans le code fourni :

  • dans gameboy.h :
    la constante (macro) GB_NB_COMPONENTS doit être à 6 et non pas à 5
    (puisqu'au final on vous demande 6 composants :
    WORK_RAM, REGISTERS, EXTERN_RAM, VIDEO_RAM, GRAPH_RAM et USELESS
    )

  • dans test-cpu-week08.c :
    dans le code assembleur fourni comme test, il y a une typo dans l'explication de l'instruction « CP A, L » (ligne 57) : la valeur de F est bien 0x60 en hexa mais l'écriture binaire est 01100000b et non pas 01010000b (laquelle vaut en fait 0x50).
    La raison pour laquelle F est à 0x60 c'est parce que H vaut 1 et C vaut 0 ;
    H vaut 1 parce que l'on fait 0x50 (A) - 0x09 (L) qui nécessite en effet un bit d'emprunt H à 1 (mais pas en C).
Je viens de pousser un patch dans votre provided/
(faites donc git pull avant votre prochain git commit)
mais vous pouvez aussi faire ces corrections directement à la main.
In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Bonjour,

je viens de mettre dans votre `provided/` le matériel pour les semaines 10 à 12. Veuillez donc le mettre à jour via un

git pull

In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Suite à la question de votre camarade (https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=36051), je viens de pousser une nouvelle version de unit-test-bit-vector.c :
au lieu de tester que bit_vector_extract_zero_ext() retourne NULL sur NULL, nous testons maintenant qu'il retourne un vecteur ne contenant que des 0, de taille size (demandée) ; conformément à ce qui était indiqué dans la donnée.

In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Bonjour,

je viens de mettre dans votre `provided/` le matériel pour la semaine 13. Veuillez donc le mettre à jour via un

git pull

In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

et pour éviter d'éventuels soucis d'interface mémoire, l'ordre des champs dans gameboy_t est :
bus
cpu
cycles
timer
cartridge
components
nb_components
bootrom
boot
screen
pad

In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Pour faire suite à une remarque/question de ce matin relative aux bit-vectors (https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=36748#p75816) j'ai rendu plus généraux certains tests de unit-test-bit-vector : les bits non utilisés n'ont pas nécessairement à être forcés à 0.
Faire un

git pull
si vous souhaitez avoir cette nouvelle version des tests (ou gardez l'ancienne si vous voulez vérifiez que vous mettez bien les MSB non utilisés à 0 ; libre à vous de choisir votre implémentation).

In reply to Jean-Cédric Chappelier

Re: Corrections / Compléments aux codes du projet

by Jean-Cédric Chappelier -

Je viens de changer la version de la libcs212gbfinalext.so (et aussi mettre à jour image.c) : j'ai sorti image.o de cette bibliothèque car elle posait soucis avec certaines de vos implémentations de bit_vector_t (cf https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=37135) : il vous faut donc compiler image.c en image.o et faire l'édition de lien avec image.o ET -lcs212gbfinalext.