[zxspectrum] Il più incredibile programma di scacchi mai scritto

  • From: Zurillion <zurillion@xxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 12 Aug 2007 23:54:34 +0200

La discussione col mitico EMG, mi ha fatto ricordare del capostipite di tutti i programmi di scacchi sui computer Sinclair: il *mitico* 1K ZX Chess per lo ZX81.


Questo programma viene da molti ritenuto (a ragione) un vero capolavoro dell'assembler, e l'implementazione del gioco degli scacchi più concisa mai programmata su un computer (*). Il programma venne commercializzato dalla Artic e proposto anche nella collana di software distribuiti direttamente dalla Sinclair.

   http://en.wikipedia.org/wiki/1K_ZX_Chess

Cos'era riuscito ad fare entrare il programmatore David Horne in un solo k?

   1. la visualizzazione della scacchiera e dei pezzi:
http://www.zx81stuff.org.uk/zx81/screenshots/0/1KZXChess (Artic).A.ChessQueen.screen.gif (ok, non è PSI Chess, i pezzi sono rappresentati da letttere :-) )
  2. il riconoscimento delle mosse legali
  3. routine per caricare e salvare la partita
4. Un abbozzo di intelligenza artificiale, per cui si poteva giocare contro il computer!!!


Ovviamente c'erano enormi limiti: ad esempio, alcune regole degli scacchi non erano prese in considerazione, nella fattispecie l'arrocco, la presa en passant e la promozione dei pedoni. In questo modo il programma rimane più una curiosità che un oggetto che possa essere preso in considerazione da un giocatore di scacchi (anche dilettante).

Nonostante ciò, il risultato è assolutamente incredibile! Vi rendete conto? 1k... ovvero 1024 byte !!!!! Ah, vedo che qualcuno ha alzato il ditino! Bravi! Infatti mica tutta la memoria dello ZX81 è davvero utilizzabile! C'è la memoria video ....

David Horne aveva a disposizione SOLO 672 bytes !!!! SEICENTOSETTANTADUE BYTES !!!!! AAAARGGGGHHHH!!!!!!

....

Scusate, sono tornato in me. Insomma, io mi inchino al genio di David Horne.

Nel 1983, su Your Computer uscirono alcuni articoli in cui il programmatore illustrava il codice che aveva scritto, vi consiglio di dargli un'occhiata:

   http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

Ciao,
   Giovanni

---------------------

(*) In effetti esiste un antenato di 1K ZX Chess e si chiama Microchess.
Fu scritto nel 1976 per il microcomputer KIM-1, un kit basato su un 6502, cun una tastierina alfanumerica e un display a LED.

    http://www.benlo.com/microchess/microchess1.html

Il programma andava inserito manualmente in esadecimale, e poiché utilizzava codice automodificante, andava reinserito ad ogni partita. Indubbiamente occupava più memoria di 1K ZX Chess, poiché il KIM-1 non aveva alcuna memoria mappata come memoria video. In compenso non aveva le limitazioni (arrocco, presa en passant etc.) di 1K Chess.

Ecco il manuale:

   http://users.telenet.be/kim1-6502/microchess/microchess.html

Other related posts: