Hier is een overzicht van mijn bevindingen na het analyseren van de broncode in src/chip8.c en src/dispatcher.c
- Correctheid (Bugs & Logica)
Kritieke Fout in
Chip8_OpFx29
Er zit een fout in de implementatie van opcode
Fx29
(Set I to location of sprite for digit Vx).
Bestand:
src/chip8.c
Regel: 433
Huidige code: cpu->i = FONTSET_ADDRESS + (5 * cpu->opcode.x);
Probleem: De code gebruikt de index van het register (x) om het karakter te bepalen, in plaats van de waarde in het register (Vx).
Correctie: cpu->i = FONTSET_ADDRESS + (5 * cpu->v[cpu->opcode.x]);
Hier is een overzicht van mijn bevindingen na het analyseren van de broncode in src/chip8.c en src/dispatcher.c
Kritieke Fout in
Chip8_OpFx29
Er zit een fout in de implementatie van opcode
Fx29
(Set I to location of sprite for digit Vx).
Bestand:
src/chip8.c
Regel: 433
Huidige code: cpu->i = FONTSET_ADDRESS + (5 * cpu->opcode.x);
Probleem: De code gebruikt de index van het register (x) om het karakter te bepalen, in plaats van de waarde in het register (Vx).
Correctie: cpu->i = FONTSET_ADDRESS + (5 * cpu->v[cpu->opcode.x]);