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 | Ultima modifica: 20 September 2019
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 (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!
 


segue

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.
27
Commodore 64
Pannello Utente
8 Visitatori, 0 Utenti

Ciao, ospite!
(Login | Registrati)
Ready64 Store
Ultimo Commento
Clicca per leggere tutti i commenti
Estate '86
"C'è chi scrive un diario e chi vuole rendere indelebile un periodo della propria vita creando un album fotografico; e poi c'è chi,  come Luigi Recanatese, crea un gioco citando  luoghi e amici, forse protagonisti, assieme a lui, di una ormai ..."
leggi »
- Xandra
Ult. Commento Art.
Le Collane Avventurose in Italia - Parte II: La Catalogazione
"Ciao a tutti, gli inserti della guida per giocare e scrivere avventure, apparsi sui primi sei numeri di Explorer, erano stati riuniti in un pdf nel 2004 sul sito del Progetto Lazzaro, da tempo offline. Mancava il quarto, che fu poi recuperato ..."
- Scritto da Gyrev
RetroCampus