YAS (gioco in stile Snake per CHIP-8) disponibile su itch.io

YAS - screenshot
YAS – Partita in corso (Emulatore Fish’n’Chips)

YAS (Yet Another Snake) è un gioco simile a Snake/Nibbles per CHIP-8, codificato nel 2015 e originariamente incluso nel pacchetto di CHIP-OTTO, la mia macchina virtuale/interprete CHIP-8. Da oggi, YAS è disponibile anche su retrobits.itch.io, sia per il gioco online tramite browser web che per il download. La versione per browser web è basata sull’interprete Octo; se non funziona nel tuo browser, puoi provare con WEB-OTTO, il port HTML5 della mia macchina virtuale.

YAS - cartridge file
Cartridge di YAS per Octo

Buon divertimento!

Read in English

Un giorno alle corse

Non mi riferisco all’album dei Queen A day at the Races o al film dei Fratelli Marx, ma a VIP Animal Race. Si tratta di un divertentissimo gioco per CHIP-8, programmato da Brian Hastle. Cinque animali diversi gareggiano l’uno contro l’altro e devi scommettere su quello vincente. Di solito non mi piace giocare d’azzardo, ma oggi ho fatto un’eccezione 🙂

VIP Animal Race in esecuzione su CHIP-OTTO
VIP Animal Race in esecuzione su CHIP-OTTO (ZX Spectrum Next)

Quando, all’inizio degli anni ’90, furono realizzati gli interpreti CHIP-48 e SUPER-CHIP per la calcolatrice grafica HP 48SX, furono introdotte alcune incompatibilità (spesso indicate come quirks) rispetto all’interprete originale CHIP-8. Quindi, alcuni giochi non girano correttamente su molti interpreti moderni, la cui implementazione è basata sulla documentazione di SCHIP. VIP Animal Race è uno di questi. Puoi trovare maggiori dettagli in alcune discussioni online (vedi ad esempio questa issue di Kiwi8).

Oggi, ho finalmente superato questo problema in CHIP-OTTO, il mio interprete CHIP-8 / SCHIP per ZX Spectrum Next, introducendo una nuova configurazione chiamata Legacy compatibility flags. Impostando alcuni flag nell’apposita maschera di bit nel file di configurazione del gioco, è possibile modificare il modo in cui l’interprete esegue alcuni opcode; in particolare:

  • Bit 0: operazioni di shift (codici operativi 8xy6, 8xyE):
    • 0: Vx è shiftato
    • 1: Vy è shiftato e il risultato viene memorizzato in Vx
  • Bit 1: operazioni di caricamento / memorizzazione (codici operativi Fx55, Fx65):
    • 0: I è incrementato (I = I + x + 1)
    • 1: I non è incrementato
  • Bit 2: overflow della memoria nel codice operativo Fx1E
    • 0: se I > 0xFFF, VF è impostato a 1; altrimenti a 0
    • 1: VF non viene alterato

Quindi, oggi sono stato finalmente in grado di eseguire VIP Animal Race in CHIP-OTTO, come puoi vedere in questo video :

Una partita a VIP Animal Race con CHIP-OTTO (ZX Spectrum Next, emulatore #CSpect)

Puoi scaricare liberamente la tua copia di CHIP-OTTO aggiornata, che include la configurazione per VIP Animal Race, dalla pagina del progetto su itch.io: retrobits.itch.io/chip-otto.

Gioca responsabilmente!

Read in English

Il cerchio in BASIC (C64 vs. ZX Spectrum)

Mi scuso anticipatamente con gli amici Commodoriani e preciso che non ho alcuna intenzione di soffiare sul fuoco della quarantennale flame war che vede contrapposti i fan di Commodore 64 e ZX Spectrum, ma solo di strappare una risata a tutti gli appassionati di retrocomputing! 😄

Non appena ho visto questo meme, che ha come protagonista il simpaticissimo Khaby Lame, mi è immediatamente sovvenuta l’ispirazione per questa idea, che ironizza sulla difficoltà di disegnare un cerchio con il Commodore 64 utilizzando il BASIC, mentre sullo ZX Spectrum è sufficiente una sola istruzione (circle).

A parte lo scherzo, consiglio caldamente la lettura dell’articolo Very basic BASIC: drawing circles the old way (C64), da cui è tratto il listato raffigurato nell’immagine.

E, comunque, è meglio lo Spectrum! 😜