[Risolto] Problema test dopo implementazione quirks

Ciao, ho appena finito l’implementazione quirks, alla fine del video si fa un test, ma io non so dove prendere quel program e quelli che ci sono sul repo non vanno:

./build/chip8 ./programs/test-ibm-logo.ch8
[INFO] - ROM selected: './programs/test-ibm-logo.ch8'
[INFO] - Allocated CHIP-8 at 0x2768720

[INFO] - Loading ROM: './programs/test-ibm-logo.ch8'


[ERROR] - Unknown opcode '0xf090'

Oppure

./build/chip8 ./programs/invaders.c8
[INFO] - ROM selected: './programs/invaders.c8'
[INFO] - Allocated CHIP-8 at 0x2984c720



[INFO] - Loading ROM: './programs/invaders.c8'
[ERROR] - Unknown opcode '0xf0e0'

questo avviene perche’ per far girare queste rom bisogna completare ancora qualcosa nel progetto?

Dove posso trovare le roms che usano a questo punto dello sviluppo?

Ok ho risolto, avevo lasciano N* come unsigned char e non come unsigned short in piu’ avevo sbagliato nella gestione della memoria su FX33

1 Like

Hey Ciao!

Btw a prescindere dal problema che avevi, ti metto qui a seguire uno zip contenenti le ROM che utilizzo durante il corso:

Lo SHA256 è il seguente

[leo@work ]$ sha256sum chip8-roms.zip
0d8adcc5e42beb7312827f155e72d61af76827d2bb328214004b6f71f1cf33dc  chip8-roms.zip

Dentro ci sono 11 ROM diverse

[leo@work chip8-roms]$ tree
.
├── programs
│   ├── invaders.c8
│   ├── pong2.c8
│   └── tetris.c8
└── tests
├── 1-chip8-logo.ch8
├── 2-ibm-logo.ch8
├── 3-corax+.ch8
├── 4-flags.ch8
├── 5-quirks.ch8
├── 6-keypad.ch8
├── 7-beep.ch8
└── 8-scrolling.ch8

3 directories, 11 files
1 Like

E si sarà capitato un overflow allora ad un certo punto che poi ha invalidato lo stato del CHIP-8 e quindi gli opcode non erano più comprensibili.

Devo aggiungere un modulo finale qui su tecniche di testing, sia testing dei singoli opcode che strategie più generali per capire questo tipo di bug: interger overflow/underflow, corruzione della memoria etc. Ma probabilmente per una tematica del genere avrebbe senso un corso a parte, mentre per finire questo del CHIP-8 avrebbe senso qualcosa di più specifico per il testing del CHIP-8 e dell’implementazione degli opcode.

1 Like