Greetings Professor Falken

Domenica 20 Luglio, 2008

Io ho una tradizione che porto avanti da ben 25 anni! Che festeggio ben volentieri! Dall’ormai lontano 1983, anno della sua uscita, una volta all’anno non posso esimermi dalla visione di WarGames (Giochi di guerra) il film che ha deciso, in qualche modo, il mio destino lavorativo.

WarGames

WarGames, nella sua "attuale" semplicità, fu all’epoca un vero successo, soprattutto tra gli appassionati di informatica. Ancora limitatamente diffusa, l’informatica domestica - concentrata soprattutto nelle console da gioco seguite da riviste specializzate - era ai suoi albori. In italia, poi, il divario con gli stati uniti era enorme (e in parte ancora lo è). La visione del film mi fece innamorare immediatamente di quelle meravigliose tecnologie. A quel tempo acquistavo riviste americane (come Compute! Gazette) che mostravano un mondo affascinante e - a me - totalmente sconosciuto.

Continua a leggere… »

Post correlati

Emulatore Assembler 6502

Mercoledì 14 Marzo, 2007

Visto che siamo in tema di nostalgia, ecco un simpatico emulatore dello storico microprocessore del 6502; montato negli anni '80 in console e computer come l'Apple, Nintendo NS e il Commodore 64 (che poi passo al 6510, ...). Questo simpatico gioiellino è scritto interamente in Javascript, funzionante in pratica su tutti i browser (da Safari a Opera), con il solo difetto di essere leggermente lento. Tuttavia vale la pena provarlo. Sul sito (http://www.6502asm.com/) trovate alcuni simpatici esempi, lenti ma curiosi.

Per gli ex programmatori Assembly Commodore 64 considerate che lo schermo video non visualizza i caratteri, quindi codici come questo qui sotto non funzioneranno:

CODE:
  1. start: LDA #$65
  2.        JSR $FFD2
  3.        RTS

Inoltre va considerato che la mappatura video è differente da quella del Commodore 64, quindi non pensate in questi termini (nemmeno i POKE 53280 e 53281 funzioneranno - $D020 e $D021). In questo emultatore il video parte dall'indirizzo $200 (e non $400, 1024 in decimale) fino a $5ff, come anche l'area video è di 32 x 32 pixel (per un totale di 1024).
Anche gli IRQ non sono implementati, quindi istruzioni come CLI, RTI e SEI non avranno effetto. Ulteriori dettagli su questo emultatore (come timer, input da tastiera, ecc...) sono reperibili all'indirizzo:

Informazioni sull'emultatore

Tutto quello che serve per il 6502

Post correlati

Web Time Machine

Mercoledì 7 Marzo, 2007

Molto probabilmente lo conoscete già, tuttavia io l'ho riscoperto e mi sono divertito ad andare a vedere com'era il Web qualche hanno fa. WebBackMachine è un archivio storico della maggior parte - se non tutti - dei siti Web, archiviati per anno e mese. In pratica potete tornare effettivamente indietro nel tempo e vedere (a grandi linee in quanto i collegamenti alle immagini spesso mancano e alcuni Javascript nei siti li rendono ormai inaccessibili, come gli scripting lato Server) com'era il Web qualche anno fa (la pagina del sito della Apple il 22 ottobre 1996).

All'inizio, sul Web, le pagine erano praticamente tutte statiche; Javascript era appena nato e i linguaggi lato Server erano pressocchè inesistenti e poco usati, salvo in rarissimi casi. In quel tipo di contesto la fotografia di un sito era abbastanza semplice in quanto corrispondeva esattamente al codice HTML recuparato dal GET del protocollo HTTP. Oggi, ovviamente, l'uso di Applet, Flash, PHP, ASP ed quant'altro, rendono il processo di snapping molto più complesso.
Fotografare un sito con tutti i suoi link, quindi, rischia di trasformarsi in un grabber video che farebbe perdere la capacità di riottenere il testo selezionabile e annullerebbe tutte le animazioni (in Flash ma anche un semplice GIF animato) presenti sull'originale.

Archive-it.org è un servizio simile, raggiungibile dalle pagine di WebBackMachine, che si propone di archiviare Internet per le future generazioni. Da quanto ho capito questa versione, per così dire, si differenzia da WebBackMachine per la sottoscrizione; in pratica storicizza un sito Web solo se viene proposto e quindi sottospoto al loro monitoraggio. Progetto ambizioso ma interessante. L'archiviazione dovrebbe avvenire in modo più dettagliato rispetto a quello fatto sino ad ora. Un motore appositamente scritto dovrebbe vagare per la rete, scaricare tutte le dipendenze dei file (immagini, oggetti Flash, ecc...), verificando le differenze con le precedenti versioni.
Un servizio davvero interessante, quindi, che potrebbe essere usato - con i dovuti aggiustamenti - anche come backup per chi sviluppa Web.

Post correlati

Codice per Commodore 64

Lunedì 5 Marzo, 2007

Ho recuperato il mio blocchetto del Commodore 64 per verificare il porting dell'emultatore FC64 proposto quache Post fa! Purtroppo alcune funzionalità della tastiera non sono proprio riuscito a farle funzionare, quindi non ho potuto provare e inserire alcuni listati interessanti (vecchi ricordi nostalgici). Se ricordate, il Commodore 64 aveva combinazioni speciali usate durante la scrittura del codice BASIC, come il simbolo della R in negativo (reverse) o il cuoricino, sempre in negativo, per pulire lo schermo. Se qualcuno trova il modo di farlo... Tuttavia alcune limitazioni possono essere aggirate ricorrendo al comando BASIC CHR$. Ad esempio per pulire lo schermo basta usare PRINT CHR$(147), che corrisponde al cuoricino in negativo!
Altri Tricks, come bloccare e sbloccare la combinazione RUN/STOP RESTORE sono anch'essi fuori dalla mia portata... per ora.

Questa è la lista del codice che ho provate e funziona:

CODE:
  1. POKE 53280,4
  2. SYS 64766

INPUT CON LE VIRGOLETTE

Mette le doppie virgolette dopo la richiesta da tastiera

CODE:
  1. 100 POKE 198,1:POKE 631,34
  2. 110 INPUT A$

LINEA VERTICALE CON LE POKE

Crea una linea animata verticale

CODE:
  1. 100 PRINT CHR$(147)
  2. 110 FOR R = 1 TO 24
  3. 120 POKE 55296+33+40*R,5
  4. 130 POKE 1024+33+40*R,71
  5. 140 NEXT R

RESTRINGIMENTO DELLO SCHERMO

Accesso diretto al VIC Video, permette di restringere orizzonatalmente e verticalmente l'area visibile del Commodore 64. Usato per gli scrool orizzontale e verticale.

CODE:
  1. POKE 53270,32
  2. POKE 53265,23

BLOCCARE IL COMANDO LIST

Scrivere un qualsiasi listato e digitate il seguente codice. Provate ora a digitare LIST e vedrete che il listato non è più visualizzabile, nonostante al RUN il codice funzioni uguale.

CODE:
  1. POKE 775,200

CURSORE LAMPEGGIANTE

CODE:
  1. POKE 788,55

SOSTITUIRE LA SCRITTA READY. CON EDDIE!

Le prime 3 righe copiano il Kernel dalla ROM alla RAM, considerate che ci mette un po', almeno un minutino a copiare il Kernel, ma le vale la pena. Le ultime sostituiscono la scritta "READY." con "EDDIE!". Ricordatevi alla fine di digitare POKE 1,54 - che sposta il puntamento al Kernel dalla ROM alla RAM. Se volete provare con altri caratteri le volte successive basta eseguire le righe di codice dalla 40 in poi, quindi usate RUN 40

CODE:
  1. 10 FOR J = 40960 TO 49151
  2. 20 POKE J, PEEK(J)
  3. 30 NEXT J
  4. 40 FOR J = 41848 TO 41853
  5. 50 READ L$
  6. 60 POKE J, ASC(L$)
  7. 70 NEXT J
  8. 80 DATA E,D,D,I,E,!
  9.  
  10. POKE 1,54

SE ACCIDENTALMENTE DIGITATE "NEW"

Questa riga permette di recuperare un listato in caso si digiti accidentalmente il comando NEW

CODE:
  1. POKE 2050,1:SYS 42291:POKE 45,PEEK(34):POKE 46,PEEK(35):CLR

Ho provato anche codice Assembly, inserendolo come DATA e altre POKE. Tutto sembra funzionare.
Di esempi e codicilli ne ho davvero molti, quindi mi fermo qui - per ora. Spero che quanto prima venga implementato nell'emulatore anche il SID, così da far rivivere tanti effetti e suoni del vecchio - ma sempre meraviglioso - Commodore 64! Anche un Assembly non sarebbe male... ;)

Post correlati

Commodore 64 Web Emulator

Venerdì 2 Marzo, 2007

Se leggete gli ultimi due Post che ho scritto (Net Software e Amiga Web Emulator), questo sembra la diretta conseguenza. Apropos, quindi, di emulatori e Flash 9 con ActionScript 3.0, ecco qualcosa di veramente grandioso, nostalgia a parte. Il progetto si chiama FC64 e vuole essere un'emulatore a basso livello del glorioso Commodore 64! È stato scritto in ActionScript 3.0, quindi per visualizzare il filmato (mi sento strano a chiamare filmato una cosa di questa genere...) dovete installare la versione 9 del plugin di Adobe.


Commodore 64 - Flash 9 Web Emulator

Il progetto non è ancora completato, mancano alcuni dettagli relativi all'implementazione di tutte le parti dell'emultatore, come il SID (Sound Interface Device), i CIA Timer, la collisione degli sprite, ecc... (una lista completa la trovate sul sito FC64 ).
Tuttavia è possibile addirittura caricare una serie di giochini funzionanti, come il mitico ed indimenticabile Galaga!

Post correlati

Amiga Web Emulator

Giovedì 1 Marzo, 2007

Amiga Screen Shot Per tutti i nostalgici come me un simpatico JavaScript emulation engine per Amiga, un'emulazione straordinaria se si pensa che è realizzata interamente tramite uno script Javascript.

Peccato funzioni solo con FireFox, tuttavia provate ad usare anche Internet Explorer 7 e guardate cosa succede... ;)

L'emulazione è sostanzialmente completa (ingrandite l'immagine qui accanto) e comprende anche una Shell.
È possibile inoltre aprire le Preferences (chi non le ricorda?), cambiare losfondo, il tipo di scan-line, attivare demo del campo stellato, ed è presente addirittura un'emulazione del Copper, il boto co-processore grafico montato su tutta la serie Amiga!
Provate a cliccare con il tasto destro del mouse e...

Guru Meditation

Sul Desktop sono presenti alcuni storici programmi Amiga, come Shadow of the Beast. Come ultima chicca, provate a tirare giù lo schermo dell'Amiga, ricordate che si poteva fare?... ecco una nostalgica sorpresa (notare il pointer del mouse rosso)!

Amiga Bouncing Ball

Complimenti agli autori... da provare assolutamente!

Post correlati