Raffaello
Screenshot: raffaello.png Copertina: copertina_raffaello.jpg
Anteprima Contenuto
ingrandimento disponibile Zoom Copertina

raffaello/cassetta_raffaello.jpg
raffaello/custodia_raffaello.jpg

Categoria:
Inserito: 16 agosto 2004
Crediti: Pixel (Dump) iAN Coog (Packing), Roberto (Scansioni), Zimox (Rivista)
Download: Scarica "Raffaello"
Ultimo download: 06 11 2017 06:21:08 pm
Totale Download: 400
Dimensione: 91Kb.
Scansioni: Scarica

 

"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 mi sbilancio ma lascio invece il compito di descriverlo a Ian Coog che ha avuto modo di analizzarlo a fondo.

Qui mi limito 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 piu' attesi perche' 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, piu' che un "Game That Wasn't" e' meglio classificarlo "Game That Would Better Never Was" talmente e' malfatto... ma procediamo con ordine.

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

Una volta caricato, ci troviamo dinanzi ad un "desktop", poverissimo e con alcune lettere ai fianchi, e dei colori sopra. Giocando con la tastiera perche' privo di qualsiasi istruzioni, scopro il tasto F8, help interno. Gia' qua possiamo constatare come la traduzione sia in certi punti approssimativa: che vuol dire quel "SECURA" al centro, in alto? Anziche' "caricamento", inoltre, e' stato messo un "Visualizza" che concettualmente e' un po' diverso, credo.

Le altre opzioni lasciano capire che si puo' 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 produrra' 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 circostritta.

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

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

DV=PEEK(186)

all'inizio dei programmi e usato DV anziche' 1 come device per i load, cosi' 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) perche' le routine di load e save erano nell'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

Che e'? Sembra un errore nell'errore! Guardo bene, c'e' 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 files 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 sto affare.
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 e' che l'immagine viene sempre trasferita a $2000, quindi un eventuale prg in basic deve iniziare a $4101 (come la parte basic del painter), quindi e' per quello che fa:

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

nel caricatore basic, per riservare e salvaguardare la ram che occupera' 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, e' 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!

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.
26
Commodore 64
Utenti Online
Ciao, ospite!
(Login | Registrati)

Cerca un gioco
Random Game
Ultimo Commento
Clicca per leggere tutti i commenti
Rampage (Versione Europea)
"L'anno prossimo uscirà il film con The Rock, sarà un'americanata, ma il trailer mi ha gasato non poco!!!"
- Scritto da thecoach
Ult. Commento Art.
Alieni, piccioni e palline da golf (parte 2)
"Articolo fantastico! Finalmente sono riuscito ad avere un'idea più chiara di come possano essere contenuti i video nel piccolo spazio offerto dal C64! Grazie davvero per divulgare le tue conoscenze - e il tuo lavoro è davvero notevole! "
- Scritto da MarC-ello
Ospitato su