Commodore 64 > Programmazione, Grafica e Musica

Debuggando SLYPPERY SID

(1/1)

Roberto:
L'argomento di questo imprescindibile post è SLIPPERY SID.

Il gioco, che giustamente nessuno conosce, è un TYPE-IN pubblicato sulle pagine della rivista Electronic Games (oppure Elettronica Giovane) del luglio 1985 (pagina 88) edita da Jacopo Castelfranchi editore, all'interno della rubrica "A scuola di computer" curata da Edgardo Di Nicola-Carena.

Se la situazione fosse esaurita in queste poche righe saremmo tutti contenti ma come nelle peggiori favole c'è sempre un'ombra nera in agguato. Ombra nera che in questo caso assume le sembianze di un (un?) BUG.

Inspiegabilmente infatti il gioco pubblicato non funziona. Da un controllo dei numeri successivi della rivista, non risulta alcuna ERRATA CORRIGE del programma, che semplicemente è stato lasciato abbandonato a sé stesso e così giunto fino ai giorni nostri.
La rubrica era affidata ad un autore di dichiarata estrazione spectrumista e la maggior parte degli articoli della rubrica infatti riguardava lo ZX Spectrum. Quindi possiamo presumere che nella versione Commodore64 non sia stata riposta la stessa cura riservata ai programmi dedicati al mostriciattolo di Sir Clive Sinclair.

Lo stesso articolo che presenta il listato verte, più che sul gioco in sé, sul confronto tra le due macchine, con particolare rilievo alla maggiore evoluzione del Basic di cui lo ZX Spectrum effettivamente godeva. La situazione non stupisce particolarmente e si riflette anche in altri ambiti della rivista, ad esempio nella posta, in considerazione che JCE tramite GBC era un importatore/distributore Sinclair.

Il programma nudo e crudo, così come esce dalla digitazione si impianta subito con questo esito



Una volta dimensionato correttamente il vettore - per esempio 1 DIMD$(100,100) -  il gioco prosegue per bloccarsi subito dopo. Infatti, a 2240 è presente un gosub ad una linea inesistente (la linea 100 non esiste).
Provando a correggere il GOSUB in questione reindirizzandolo ad una delle subroutine presenti, il risultato è il seguente:



Ora si nota un certo miglioramento;i caratteri sono ridefiniti ma ancora il gioco non ne vuole sapere. Inoltre c'è un altro goto ad una linea mancante:

8070 GOTO 2000 (La linea 2000 non esiste).

La sensazione è che il gioco abbia più bug che linee corrette.

Sarà mai possibile ottenere una versione funzionante di Slippery SID?

LINK AL GAMEBASE64: https://gb64.com/game.php?id=30141&d=18&h=0
LINK A READY64: https://ready64.org/giochi/scheda_gioco/id/5912/slippery-sid
DOWNLOAD al gioco: https://paradro.id/~gamebase/v19/Games/s2/SLIPPSID_30141_01.zip
LINK alla rivista: https://archive.org/details/Electronic-Games-ita-19/page/n87/mode/2up?view=theater

tsm_carmine:
Il programma comincia con la riga 2100, il che è molto strano. Perché non 2000, se proprio non avevano voglia di partire da un numero più basso? Detto ciò e e considerando che i riferimenti "monchi" puntano tutti a righe di numero inferiore a 2100 (100 e 2000) e che viene usata una matrice mai inizializzata, possiamo ragionevolmente concludere che manca la prima parte del listato.

AndreaP:
Ho dato un'occhiata anche al listato per Spectrum apparso sul numero di aprile 1985, e la conversione Commodore mi pare del tutto incompleta, poiché i rimandi gosub "corrotti" nel primo listato ci sono eccome, intendo le linee dalla 100 alla 2000. Mi pare un adattamento molto trasandato su cui non vale la pena far troppa fatica, basta vedere che che la rem a 8500 è rimasta "data udg", quando sul C64 non ci sono gli udg ma degli sprite veri e propri. Essendo E.G. una rivista della JCE, era per ovvi motivi dalla parte dello Spectrum.

Roberto:
Giuste osservazioni, Carmine e Andrea.
Avevo maturato anche io il sospetto che il programma potesse collocarsi al di là di ogni ragionevole opera di riparazione. E' proprio questo il motivo per cui invece di tentare di risolvere la questione internamente come al solito, coinvolgendo Flavioweb o lo stesso Carmine, ho preferito scrivere un post pubblico.
In questo modo almeno la questione è documentata, aperta a tutti e fa letteratura.
Se ci saranno ulteriori spunti, dunque, saranno senz'altro benvenuti.

Navigazione

[0] Indice dei post

Vai alla versione completa