danirod / chip8

A multiplatform CHIP-8 emulator done in SDL 2. Implements all the opcodes for CHIP and SCHIP specifications.
http://chip8.danirod.es/
GNU General Public License v3.0
56 stars 9 forks source link

Puede ser que las instrucciones 8xy6 y 8xyE esten incorrectas. #1

Closed luischavez closed 9 years ago

luischavez commented 9 years ago

Segun esta pagina [http://mattmik.com/chip8.html] lo correcto seria:

8XY6 - Store the value of register VY shifted right one bit in register VX Set register VF to the least significant bit prior to the shift.

8XYE - Store the value of register VY shifted left one bit in register VX Set register VF to the most significant bit prior to the shift.

danirod commented 9 years ago

Hm, según estas tres páginas SHR y SHL sólo trabajan con VX, no con VY.

Es un poco sospechoso que el código de la instrucción acepte una Y (8XY6 y 8XYE), pero parece que no se trabaja con la Y para nada.

danirod commented 9 years ago

Por cerrar el issue, he encontrado en documentación más seria que inicialmente SHR y SHL sí trabajaban con Vy. Sin embargo las implementaciones actuales únicamente trabajan con Vx. Desconozco si esto puede traer problemas de compatibilidad con ROMs que utilicen el antiguo sistema, pero en cualquier caso el emulador es únicamente compatible con las implementaciones actuales.