Raffaello

Screenshot: raffaello.png Copertina: copertina_raffaello.jpg

raffaello/cassetta_raffaello.jpg
raffaello/custodia_raffaello.jpg

Categoria: logo_systems_extra.png
Inserito: 16 agosto 2004
Crediti: Pixel (Dump) iAN Coog (Packing), Roberto (Scansioni), Zimox (Rivista)
Download: Raffaello
Dimensione: 91,354 Kb
Scansioni: Scansioni Raffaello
Dimensione: 1,124 Mb

"Un programma completo per disegnare, a colori, con il C/64: linee, cerchi, quadrati eccetera. Valido sia per disegno a mano libera che geometrico. Cassetta L.10.000."

Con le parole che avete appena letto veniva venduto, dalla Systems, l'editor di grafica bitmap chiamato Raffaello.

Questo programma era da tempo nella missing list di Ready64, ed è stato recuperato grazie a Pixel, che si è occupato di convertire il nastro in formato .TAP e di inviarlo al sito, affinché potesse essere reso disponibile per tutti.

Sulle qualità di Raffaello non ci vogliamo sbilanciare ma lasciamo invece il compito di descriverlo a Ian Coog che ha avuto modo di analizzarlo a fondo.

Noi ci limitiamo a sottolineare comunque l'importanza storica di questo recupero, indubbiamente meritevole a priori, a prescindere dalla sua qualità intrinseca.

Rispetto alla prima stesura del testo riportato a seguire, è necessario fare qualche precisazione.
Raffaello è un programma acquistato regolarmente dalla Systems e realizzato da un ragazzo inglese (da qui i piccoli problemi relativi alla traduzione).


Raffaello: grandi aspettative portano spesso grandi delusioni

L'analisi tecnica a cura di iAN CooG

Era uno dei programmi più attesi perché introvabile. Ora che l'ho visto, come un bambino a cui hanno finalmente regalato il giocattolo tanto desiderato, scopro che potevo farne tranquillamente a meno.

Trattasi di tal "Picture Painter" prodotto da Challenger Computer Software. Mai sentiti. Nessun riferimento su Google. Poi, più che un "Game That Wasn't" è meglio classificarlo "Game That Would Have Been Better Never To Be" talmente è malfatto... ma procediamo con ordine.

Funzionava solo su cassetta. Tutti i caricamenti dei vari spezzoni del programma erano fissi su device 1, così come il salvataggio e caricamento delle immagini. Già questo a mio avviso lo rende inutilizzabile in modo serio.

Una volta caricato, ci troviamo dinnanzi a un "desktop", poverissimo e con alcune lettere ai lati, e dei colori nella porzione superiore dello schermo. Giocando con la tastiera perché privo di qualsiasi istruzioni, scopro il tasto F8, help interno. Già qua possiamo constatare come la traduzione sia in certi punti approssimativa: che vuol dire quel "SECURA" al centro, in alto? Anziché "caricamento", inoltre, è stato messo un "Visualizza" che concettualmente è un po' diverso, credo.

Le altre opzioni lasciano capire che si può disegnare "a mano libera", fare linee e doppie linee, riempimenti e svuotamenti. Il riempimento lo fa praticamente solo sulle aree considerate vuote, e qua il colore blu corrisponde al vuoto. Ogni altro colore, se usiamo F5 e clicchiamo non produrrà alcun effetto. Simile il comportamento di "svuota" che porta qualsiasi area in cui clicchiamo al colore di svuotamento... peccato che lo fa agendo sull'intera immagine e non solo nell'area circoscritta.

Ogni punto di quel colore, anche se non nell'area cliccata, verrà "svuotato". Davvero geniale. Devo ancora capire se sono io che non ne trovo l'utilità o se davvero sia inutile. L'area di lavoro è limitata al rettangolo centrale, non c'è scrolling, quindi non si può fare editing a pieno schermo, ciò significa niente 160x200. Manca anche lo zoom, che è indispensabile al disegnatore professionale per rifinire le immagini.

Passiamo al salvataggio e al successivo reload dell'immagine. Non ci riesco perché da emulatore non so come salvare e passo direttamente a farne una versione usabile da disco.
Nelle parti/caricatori basic ho aggiunto una

DV=PEEK(186)

all'inizio dei programmi e usato DV anziché 1 come device per i load, così da avere l'ultimo device usato. La routine "MACH PAINTER" l'ho patchata per riflettere questo valore, aggiungendo:

21 POKE3021,DV:POKE3071,DV:POKE3162,DV:POKE3204,DV

in "SUPER" (parte basic del painter) perché le routine di load e save erano nella parte di codice in LM. Le locazioni, che prima contenevano 1 fisso (tape) vengono patchate dopo che le relative parti sono state caricate. Il prg del 2o lato "RAFFAELLO BASIC" carica "MACH LOADER" e poi da' ready... me lo sono dovuto studiare per capire a cosa servisse.
La parte basic setta il vettore di USR() con:


POKE785,32:POKE786,192
a $c020 (49152+32)

Una ?USR(0), dopo una piccola pausa restituiva

?E ERROR

Ma che significa? Sembra un errore nell'errore! Guardo bene, c'è una routine di errore custom che utilizza delle stringhe indicizzate e poi chiama la routine di errore del basic.

Uno di questi indici era pure sbagliato (errore indice 2, doveva dare NAME TOO LONG), corretto il puntatore. Poi guardo ancora meglio il disassemblato e pare che carichi pure qui i 2 file che compongono la pic, sempre e solo da tape. Parte della routine l'ho dovuta modificare per colpa del programmatore originale.

C0D4 A9 01 LDA #$01
C0D6 AA TAX
C0D7 A8 TAY
C0D8 20 BA FF JSR $FFBA

per poterlo modificare avrei bisogno di una LDX #nn ma per risparmiare un byte costui aveva pensato bene di usare una TAX; vabbe' patchato anche questo con una subroutine infilata in una manciata di bytes non utilizzati

C0D4 JSR C2B3
....
C2B3 lda #01
C2B5 ldx $ba
C2B7 rts

Risolto questo problema, rimane da capire come diavolo funziona il programma.
Provando a fare una A$="LEONE":?USR(0) viene fuori un

?ILLEGAL USR VARIABLE ERROR

e a questo punto cedo, servono istruzioni chiare. Che variabile bisogna usare? COME va usato soprattutto? Da quel che ho capito dal resto del codice è che l'immagine viene sempre trasferita a $2000, quindi un eventuale prg in basic deve iniziare a $4101 (come la parte basic del painter), ecco spiegato il perché di:

POKE43,1:POKE44,65:POKE45,3:POKE46,65

nel caricatore basic, per riservare e salvaguardare la ram che occuperà l'immagine. Per quello che ho visto, ora il painter funziona con AR, SpeedDos, JiffyDos e IDE64. Ma l'ultima scoperta, o meglio conferma dei sospetti, è che l'immagine salvata contiene anche l'area del desktop esterna all'immagine, rendendo l'immagine inutilizzabile in programmi esterni al painter stesso.

Invia a dimenticatoio... click!


Il Giallo di Raffaello

(Aggiornamento del 20 Dicembre 2023)

Il 16 agosto 2019, la redazione di Ready64 è stata contattata da Bob Janes, autore di Raffaello.

Siamo quindi venuti a conoscenza di ulteriori retroscena riguardandi lo sviluppo di questo software che possono aiutarci a completare almeno in parte il quadro delle informazioni finora disponibili.

Riportiamo un passaggio dell'intervista rilasciata a Ready64 nel 2008 da Michele di Pisa riguardo il programma in questione che ricostruisce i modi con cui, dopo il contratto iniziale, insorsero alcuni problemi che causarono il mancato proseguimento dei rapporti tra le parti.

"L'occasione per muovere il primo passo me la diede un giovane inglese di cui non riesco a ricordare il nome [Ora sappiamo chiamarsi Bob Janes - n.d.r.], venuto a propormi un suo programma del disegnare col C64. A parte alcuni cad per minicomputer, era il primo programma del genere che vedevo. Ne acquisii i diritti seduta stante. Per il pagamento delle royalty il mio giovane interlocutore mi indicò un numero di conto presso una banca del suo paese. Dopo qualche mese l'effettuazione del bonifico, la banca inglese ci fece sapere che quel conto era stato chiuso e che del titolare non aveva alcuna traccia. Incamerammo l'importo bonificato e lo accantonammo in attesa che qualcuno si facesse sentire. Solo dopo alcuni anni portammo quella cifra a sopravvenienza attiva, per evitare che a qualche zelante ispettore fiscale potesse apparire come una forma di occultamento di utili." 

Nella sua mail, Bob ci ha riferito come negli anni '80 fosse titolare della società Challenger Computer Software, di base nel Regno Unito. 

Il suo contributo al progetto fu la programmazione delle routine per far funzionare il programma di disegno sullo schermo. Ciò venne ottenuto creando codice ibrido, in parte BASIC e in parte linguaggio macchina, affinché la velocità di esecuzione delle routine fosse accettabilmente rapida. 

Successivamente però, spiega Bob, per ragioni ancora da chiarire non avvenne il suo coinvolgimento nel progetto definitivo poi pubblicato da parte del detentore del copyright. Non ebbe perciò il controllo sulla fase di post-produzione, compresa la realizzazione della manualistica allegata al prodotto. Si limitò a scrivere in un Italiano imperfetto alcune informazioni inerenti i comandi da impartire per ottenere alcune funzioni di disegno. Sfortunatamente il prodotto finale che  venne commercializzato non era stato curato sufficientemente bene, tant'è che risultava privo di un'adeguata documentazione di supporto all'utilizzatore finale.

Questo approfondimento non fa luce, per ovvie ragioni, sui motivi per cui i contatti con Systems Editoriale si interruppero e spiega solo in parte le carenze qualitative del software in questione.
Restiamo perciò in attesa di ulteriori sviluppi, seppur senza riporvi troppe speranze. Gli attori coinvolti sono già stati interpellati e probabilmente i molti anni trascorsi dalle vicende qui ricostruite costituiscono uno scoglio difficile da sormontare.

Riferimenti
Intervista a Michele Di Pisa
http://ready64.org/articoli/leggi/idart/32/intervista-a-michele-di-pisa

Altri numeri disponibili in questa collana. I numeri sono progressivi, posiziona il cursore su uno di essi per leggerne il titolo. Oppure, torna all'indice delle categorie.
Commodore 64
Pannello Utente
459 Visitatori, 2 Utenti
Roberto, eregil
Ciao, ospite!
(Login | Registrati)
Merchandising
Ultimo Commento
Clicca per leggere tutti i commenti
Clowns
Uno dei miei primissimi giochi, con tanto di paddles per controllare meglio il tutto! Grafica e sonoro semplicissimi ma tanto divertimento!
leggi »
Re Tucano
Articolo
Intervista a Luciano Merighi (Merifon)
Ottimo articolo… solo una nota all’Autore dell’articolo… tra i programmatori bolognesi “pionieri” c’ero anche io: Andrea Paselli! Con Luca Zarri e Marco Corazza ho realizzato Chuck Rock, Over The Net, Mystere, Halley Adventure… ...
Andrea Paselli
Superlink