Autore Topic: Debuggando SLYPPERY SID  (Letto 5732 volte)

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2431
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Debuggando SLYPPERY SID
« il: 27 Febbraio 2024, 13:51:28 »
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
« Ultima modifica: 31 Marzo 2024, 15:16:57 da Roberto »
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

tsm_carmine

  • Redazione
  • Utente
  • ****
  • Post: 519
  • Gioco Preferito: Krakout
Re:Debuggando SLYPPERY SID
« Risposta #1 il: 28 Febbraio 2024, 20:34:58 »
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.
Riusciremo a costruire un mondo dove più nessuno osi pronunciare le parole... "lettore floppy"?

AndreaP

  • Administrator
  • Utente
  • *****
  • Post: 274
    • http://quattrobit.substack.com
Re:Debuggando SLYPPERY SID
« Risposta #2 il: 29 Febbraio 2024, 20:01:50 »
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

  • Administrator
  • Utente
  • *****
  • Post: 2431
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Re:Debuggando SLYPPERY SID
« Risposta #3 il: 01 Marzo 2024, 08:28:49 »
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.
« Ultima modifica: 01 Marzo 2024, 09:37:17 da Roberto »
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php